- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
代码部分:
#include reg51.h
#include intrins.h //包含_nop_( )空函数指令的头文件
#define uchar unsigned char
#define uint unsigned int
#define out P0
sbit RS=P2^0; //位变量
sbit RW=P2^1; //位变量
sbit E=P2^2; //位变量
void lcd_initial(void); // LCD初始化函数
void check_busy(void); //检查忙标志函数
void write_command(uchar com); //写命令函数
void write_data(uchar dat); //写数据函数
void string(uchar ad ,uchar *s);
void str(uchar h,uchar g); //LCD一个位置固定显示字符函数
void lcd_test(void);
void delay(uint);
uchar tab[]={0,1,2,3,4,5,6,7,8,9};
void main(void) //主程序
{
uchar t1,t2,t3,t4,t5,t6;
lcd_initial( ); //调用对LCD初始化函数
string(0x87,:);
string(0x84,:);
string(0x89,0);
string(0x88,0);
string(0x86,0);
string(0x85,0);
string(0x83,0);
string(0x82,0);
t2=0;t3=1;t4=1;t5=1;t6=1;
while(1)
{string(0x89,tab[t1]);
t2++;
str(0x88,tab[t2]); //秒的十位进1
if(t2==0x6)
{t2=0x0; //秒的十位满5进分的个位
str(0x88,tab[t2]);
str(0x86,tab[t3]);
t3=t3+1;}
if(t30x9) //分的个位满9进分的十位
{t3=0;
str(0x86,tab[t3]);
str(0x85,tab[t4]);
t4++;}
if(t40x5)
{t4=0;
str(0x84,tab[t4]); //分的十位满5进时的个位
str(0x83,tab[t5]);
t5=t5+1; }
if(t50x5)
{t5=0; //时的个位满9进时的十位
str(0x83,tab[t5]);
str(0x82,tab[t6]);
t6=t6+1; }
if(t60x2) //时的十位满2清零
{ t6=0;
str(0x82,tab[t6]);}
}
}
void delay(uint j) //1ms延时子程序
{
uchar i=250;
for(;j0;j--)
{
while(--i);
i=249;
while(--i);
i=250;
}
}
void check_busy(void) //检查忙标志函数
{
uchar dt;
do
{
dt=0xff;
E=0;
RS=0;
RW=1;
E=1;
dt=out;
}while(dt0x80);
E=0;
}
void write_command(uchar com) //写命令函数
{
check_busy();
E=0;
RS=0;
RW=0;
out=com;
E=1;
_nop_( );
E=0;
delay(1);
}
void write_data(uchar dat) //写数据函数
{
check_busy();
E=0;
RS=1;
RW=0;
out=dat;
E=1;
_nop_();
E=0;
delay(1);
}
void LCD_initial(void) //液晶显示器初始化函数
{
write_command(0x38);//写入命令0x38:8位两行显示,5×7点阵字符
write_command(0x0C);//写入命令0x0C:开整体显示,光标关,无黑块
原创力文档


文档评论(0)