在显示屏上显示笑脸
#include <REGX52.H>
sbit RCK=P3^5; //定义三根控制输入数据的线
sbit SCK=P3^6;
sbit SER=P3^4;
void write_74HC595_Byte(unsigned char Byte)
{
unsigned char i;
for(i=0;i<8;i++)
{ //使数据能在74HC595中完成IO口的对口输入 准备工作
SER=Byte&(0x80>>i);
SCK=1;
SCK=0;
}
RCK=1;
RCK=0;
}
void Delay1ms(unsigned int xms) //@12.000MHz 定义延迟
{
unsigned char i, j;
while(xms)
{
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
xms--;
}
}
void juzhenlie(unsigned char lie,Data)
{
write_74HC595_Byte(Data); //能写进去
P0=~(0x80>>lie); //选择列
Delay1ms(1); //延时
P0=0xFF; //位清零 防止后一步关联前一步,产生残影
}
void main()
{
SCK=0;
RCK=0; //初始化
while(1)
{ //图形的数据
juzhenlie(0,0x3C);
juzhenlie(1,0x42);
juzhenlie(2,0xA9);
juzhenlie(3,0x85);
juzhenlie(4,0x85);
juzhenlie(5,0xA9);
juzhenlie(6,0x42);
juzhenlie(7,0x3C);
}
}
|