功能:从左至右,分2行滚动显示:“www.xjtu.edu.cn”和“WELCOME TO XJTU”
[如果觉得可以就投我一票了,毕竟我也是花了点心思做的!谢谢!(有删节)
#include
#include
#define uchar unsigned char
typedef bit BOOL ;
sbit rs = P2^0;
sbit rw = P2^1;
sbit ep = P2^2;
void delay(uchar);
void lcd_wcmd(uchar);
BOOL lcd_bz();
void lcd_pos(uchar);
void lcd_wdat(uchar);
void display(uchar,uchar *);
uchar code dis1[] = {" www.xjtu.edu.cn"};
uchar code dis2[] = {"WELCOME TO XJTU"};
void longdelay(uchar s) //长延时
{
while(s--)
{
delay(60);
}
}
void delay(uchar ms)
{ // 延时子程序
uchar i;
while(ms--)
{
for(i = 0; i< 250; i++);
}
}
BOOL lcd_bz()
{ // 测试LCD忙碌状态
BOOL result;
rs = 0;
rw = 1;
ep = 1;
result = (BOOL)(P0 & 0x80);
ep = 0;
return result;
}
void lcd_wcmd(uchar cmd)
{ // 写入指令数据到LCD
while(lcd_bz());
rs = 0;
rw = 0;
ep = 0;
P0 = cmd;
ep = 1;
ep = 0;
}
void lcd_pos(uchar pos)
{ //设定显示位置
lcd_wcmd(pos | 0x80);
}
void lcd_wdat(uchar dat)
{ //写入字符显示数据到LCD
while(lcd_bz());
rs = 1;
rw = 0;
ep = 0;
P0 = dat;
ep = 1;
ep = 0;
}
/*---------------
函数名称:display()
功能 :在LCD上显示数组的数据
说明 :先写显示地址,后写显示数据
调用 :lcd_wcmd(), lcd_pos()
入口参数:pos 写入的位置,q指向要写入的数据所在的数组
返回值 :无
----------------*/
main()
{
while(1)
{
display(0x00,dis1);
//display(0x40,dis2);
//display(0x14,dis1);
//display(0x54,dis2);
}
}
用户563753 2011-8-4 10:04
用户52303 2007-8-28 22:10
用户81912 2006-11-21 17:26
博主里面的东西真多呀,我看都看不过来了,这里有太多的好东西,今天受益良多!以后会常来这踩踩,希望博主不要嫌我烦呀,呵呵!感谢了!
用户1295009 2006-11-12 09:16
用户1153233 2006-10-21 23:03
不错
用户176565 2006-10-13 13:09