资源简介
该代码运用protues仿真,通过LCD显示一段字,使之滚动显示!附有源代码
代码片段和文件信息
/*************** writer:shopping.w ******************/
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit RS = P2^0;
sbit RW = P2^1;
sbit EN = P2^2;
void Delayms(uint ms)
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
uchar Busy_Check()
{
uchar LCD_Status;
RS = 0;
RW = 1;
EN = 1;
Delayms(1);
LCD_Status = P0;
EN = 0;
return LCD_Status;
}
void Write_LCD_Command(uchar cmd)
{
while((Busy_Check()&0x80)==0x80);
RS = 0;
RW = 0;
EN = 0;
P0 = cmd;
EN = 1;
Delayms(1);
EN = 0;
}
void Write_LCD_Data(uchar dat)
{
while((Busy_Check()&0x80)==0x80);
RS = 1;
RW = 0;
EN = 0;
P0 = dat;
EN = 1;
Delayms(1);
EN = 0;
}
void Initialize_LCD()
{
Write_LCD_Command(0x38);
Delayms(1);
Write_LCD_Command(0x01);
Delayms(1);
Write_LCD_Command(0x06);
Delayms(1);
Write_LCD_Command(0x0c);
Delayms(1);
}
void ShowString(uchar xuchar yuchar *str)
{
uchar i = 0;
if(y == 0)
Write_LCD_Command(0x80 | x);
if(y == 1)
Write_LCD_Command(0xc0 | x);
for(i=0;i<16;i++)
{
Write_LCD_Data(str[i]);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 14773 2011-06-07 22:24 滚动显示\12
文件 5421 2011-06-07 22:24 滚动显示\12.hex
文件 70 2011-06-07 22:24 滚动显示\12.lnp
文件 17580 2011-06-07 22:24 滚动显示\12.M51
文件 1763 2011-06-07 23:02 滚动显示\12.Opt
文件 207 2011-06-07 23:02 滚动显示\12.plg
文件 2065 2011-06-07 22:26 滚动显示\12.Uv2
文件 1762 2011-06-07 22:26 滚动显示\12_Opt.Bak
文件 2207 2011-03-05 20:17 滚动显示\12_Uv2.Bak
文件 41720 2011-06-23 09:59 滚动显示\1602字符液晶滚动演示程序.DSN
文件 1169 2011-06-07 22:00 滚动显示\LCD1602.c
文件 3491 2011-06-07 22:24 滚动显示\LCD1602.LST
文件 5340 2011-06-07 22:24 滚动显示\LCD1602.OBJ
文件 37 2011-06-07 22:24 滚动显示\LCD1602.__i
文件 2596 2011-06-07 22:48 滚动显示\main.c
文件 7298 2011-06-07 21:54 滚动显示\main.LST
文件 11620 2011-06-07 21:54 滚动显示\main.OBJ
文件 34 2011-06-07 21:54 滚动显示\main.__i
文件 6376 2005-03-23 06:22 滚动显示\STARTUP.A51
文件 14049 2009-08-12 16:48 滚动显示\STARTUP.LST
文件 749 2009-08-12 16:48 滚动显示\STARTUP.OBJ
目录 0 2011-10-25 16:12 滚动显示
----------- --------- ---------- ----- ----
140327 22
评论
共有 条评论