资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
原理图:源程序:/*标题:LCD1602时钟效果:在LCD1602屏上显示时分秒,能调节时间作者:皖绩小挺说明:RS:P1.0 RW:P1.1 E:P1.3 数据端口:P0 key1:P3.7 key2:P3.6 key3:P3.5 key4:P3.6 key5;P3.3 */#include#define uchar unsigned char /宏定义#define uint unsigned intsbit lcdrs=P10; /定义LCD1602端口sbit lcdrw=P11;sbit lcden=P12;sbit key1=P37; /定义按键端口sbit key2=P36;sbit key3=P35;sbit key4=P34;sbit key5=P33;uchar tt;/设置全局变量uchar hour,minute,second;uchar table=HELLO WORLD ; /第一行字符(11个)uchar table1=00:00:00;/第二行字符(8个)/* 延时函数*/void delay(uint z)/delay(1)约1ms uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);/* LCD1602写命令*/void write_lcdcom(uchar lcd_com) lcdrs=0; /rs低电平为选择指令寄存器lcdrw=0; /rw低电平进行写操作P0=lcd_com; delay(5);lcden=1;delay(5);lcden=0;/*LCD1602写数据*/void write_lcddata(uchar lcd_data) lcdrs=1; /rs高电平为选择数据寄存器lcdrw=0;P0=lcd_data;delay(5);lcden=1;delay(5);lcden=0;/* LCD1602读命令*/void read_lcdcom(uchar lcd_com) lcdrs=0;lcdrw=1; /rw高电平进行读操作P0=lcd_com;delay(5);lcden=1;delay(5);lcden=0;/* LCD1602读数据*/void read_lcddata(uchar lcd_data) lcdrs=1;lcdrw=1;P0=lcd_data;delay(5);lcden=1;delay(5);lcden=0;/* 系统初始化*/void lcdinit() uchar i;lcden=0;write_lcdcom(0x01); /清屏delay(5);write_lcdcom(0x38); /4位,双行显示,5X7点阵delay(5);write_lcdcom(0x06); /光标右移,不整屏移动delay(5);write_lcdcom(0x0c); /显示屏幕,光标不显示delay(5);hour=0; /赋系统时间初值minute=0;second=0;key1=1;key2=1;key3=1;key4=1;key5=1;write_lcdcom(0x80+2);/显示第一行for(i=0;i11;i+)write_lcddata(tablei);/delay(5);write_lcdcom(0x80+0x44);/显示第二行for(i=0;i24)/当减到00时再减的数不是24)minute=59;write_hms(7,minute);delay(200);TR0=1;if(key5=0) /秒钟清零delay(5);if(key5=0)TR0=0;second=0;write_hms(10,second);TR0=1;/*
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号