////////////////////////////////////////////////////////////////
#include
#include
#define uchar unsigned char
#define uint unsigned int
xdata uchar pa _at_ 0xff00; //8255口地址
xdata uchar pb _at_ 0xff01;
xdata uchar pc _at_ 0xff02;
xdata uchar com_8255 _at_ 0xff03;
uchar code zi[]={
/*-- 文字: 啊 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0xEF,0x7E,0xA9,0x20,0xA9,0x20,0x69,0x2E,0x69,0x2A,0xA9,0x2A,0xA9,0x2A,
0xA9,0x2A,0xAF,0x2A,0xE9,0x2E,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x28,0x20,0x10,};
void hang_scan();
uchar temp,i;
void delay(uint t)
{
uchar a;
while(t--)
{
for(a=0;a<75;a++){;}
}
}
void main()
{
com_8255=0x80; //将8255三个口作为基本输出
temp=0xfe;//初始值第一个
while(1)
{
for(i=0;i<32;i+=2)
{
pa=P1=0xff;//行、清显示0xff;
pb=zi[i]; //列、写数据
pc=zi[i+1];
hang_scan();
}
}
}
void hang_scan()
{
if(i<16) //逐行送数据
{
pa=temp;
temp=_crol_(temp,1);
delay(1);
}
else
{
P1=temp;
temp=_crol_(temp,1);
delay(1);
}
}
//////////////////////////////////////////////////////////////
以上是静态显示,滚动显示怎么改写?
0
|
|
|
|