基于51单片机DS1302LCD1602数字时钟显示.docx

上传人:啊飒飒 文档编号:10823772 上传时间:2021-06-05 格式:DOCX 页数:5 大小:260.94KB
返回 下载 相关 举报
基于51单片机DS1302LCD1602数字时钟显示.docx_第1页
第1页 / 共5页
基于51单片机DS1302LCD1602数字时钟显示.docx_第2页
第2页 / 共5页
基于51单片机DS1302LCD1602数字时钟显示.docx_第3页
第3页 / 共5页
基于51单片机DS1302LCD1602数字时钟显示.docx_第4页
第4页 / 共5页
基于51单片机DS1302LCD1602数字时钟显示.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于51单片机DS1302LCD1602数字时钟显示.docx》由会员分享,可在线阅读,更多相关《基于51单片机DS1302LCD1602数字时钟显示.docx(5页珍藏版)》请在三一文库上搜索。

1、 #include #include #include #define uint unsigned int#define uchar unsigned charuchar code table=I LIKE MCU!;sbit RS=P20;sbit RW=P21;sbit EN=P22;sbit IO=P10;sbit sclk=P11;sbit rst=P12;uchar *week=SUN,*,MON,TUS,WEN,THU,FRI,SAT;uchar lcd_buffer1=TDEA00-00-00 ;uchar lcd_buffer2=TIME 00:00:00;uchar date

2、time7;void delay(uchar ms)uchar i;while(ms-)for(i=0;i120;i+); /忙检测uchar busy()uchar test;RW=1;RS=0;EN=1;test=P0;EN=0;return test;/写 LCD 命令void writecmd(uchar cmd)while(busy()&0x80)=0x80);RS=0;RW=0;P0=cmd;EN=1;delay(5);EN=0;/发送数据void writedata(uchar dat)while(busy()&0x80)=0x80);RW=0;RS=1;P0=dat;EN=1;

3、delay(5);EN=0;void init()writecmd(0x38);delay(5);writecmd(0x01);delay(5);writecmd(0x06); delay(5);writecmd(0x0c);delay(5);void write_a_byte_tods1302(uchar x)uchar i;for(i=0;i1;uchar get_a_byte_fromds1302()uchar i,b=0x00;for(i=0;i8;i+)b|= _crol_(uchar)IO,i);sclk=1;sclk=0;return b/16*10+b%16;uchar rea

4、d_data(uchar addr)uchar dat;rst=0;sclk=0;rst=1;write_a_byte_tods1302(addr);dat=get_a_byte_fromds1302();sclk=1;sclk=0;return dat;void gettime()uchar i,addr=0x81;for(i=0;i8;i+)datetimei=read_data(addr);addr=addr+2; void set_pos(uchar p)writecmd(p|0x80);void dispaly_string(uchar p,uchar *s)uchar i;set_

5、pos(p);for(i=0;i16;i+)writedata(si);delay(5);void zhuanhuan(uchar d,uchar *a)a0=d/10+0;a1=d%10+0;void main()init();while(1)gettime();zhuanhuan(datetime6,lcd_buffer1+5);zhuanhuan(datetime4,lcd_buffer1+8);zhuanhuan(datetime3,lcd_buffer1+11);strcpy(lcd_buffer1+13,weekdatetime5);zhuanhuan(datetime2,lcd_buffer2+5);zhuanhuan(datetime1,lcd_buffer2+8);zhuanhuan(datetime0,lcd_buffer2+11);dispaly_string(0x00,lcd_buffer1);dispaly_string(0x40,lcd_buffer2);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1