单片机用数码管显示的ds1302的时钟C语言程序

单片机用数码管显示的ds1302的时钟C语言程序

ID:40633431

大小:63.50 KB

页数:11页

时间:2019-08-05

单片机用数码管显示的ds1302的时钟C语言程序_第1页
单片机用数码管显示的ds1302的时钟C语言程序_第2页
单片机用数码管显示的ds1302的时钟C语言程序_第3页
单片机用数码管显示的ds1302的时钟C语言程序_第4页
单片机用数码管显示的ds1302的时钟C语言程序_第5页
资源描述:

《单片机用数码管显示的ds1302的时钟C语言程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#defineucharunsignedchar#defineuintunsignedintucharcodetable[]="ME-8051-Gclock";ucharcodetable1[]="--:--:--";ucharcodetable2[]="ALL:00:00:--";ucharcodetable3[]="";ucharclk_time[3];//秒,分,时寄存器初始值sbitT_RST=P1^0;//ds1302-5sbitT_IO=P1^1;//ds1302-6sbitT_CLK=P1^2;//ds1302-7sbiten=P3^4;

2、sbitrw=P3^6;sbitrs=P3^5;sbitled=P2^5;sbitdula=P2^6;sbitwela=P2^7;sbitACC0=ACC^0;sbitACC7=ACC^7;sbitup=P3^0;sbitdown=P3^1;sbitset=P3^2;sbitdid=P2^3;sbitGND=P3^7;ucharnum,clock_ss,clock_sg,clock_fs,clock_fg,clock_ms,clock_mg,b,clock_s,clock_g;charhour,mie,sei,c,nhour,nmie,shour,smie;/*************

3、*****DS1302:写入操作(上升沿)*********************/voidwrite_byte(ucharda){uchari;ACC=da;for(i=8;i>0;i--){T_IO=ACC0;T_CLK=0;T_CLK=1;ACC=ACC>>1;}}/******************DS1302:读取操作(下降沿)*****************/ucharread_byte(void){uchari;for(i=0;i<8;i++){ACC=ACC>>1;T_CLK=1;T_CLK=0;ACC7=T_IO;}return(ACC);}/*********

4、*********DS1302:写入数据(先送地址,再写数据)***************************/voidwrite_1302(ucharaddr,ucharda){T_RST=0;//停止工作T_CLK=0;T_RST=1;//重新工作write_byte(addr);//写入地址write_byte(da);T_RST=0;T_CLK=1;}/******************DS1302:读取数据(先送地址,再读数据)**************************/ucharread_1302(ucharaddr){uchartemp;T_RST=0;

5、//停止工作T_CLK=0;T_RST=1;//重新工作write_byte(addr);//写入地址temp=read_byte();T_RST=0;T_CLK=1;//停止工作return(temp);}/***********************延时程序=a*1ms**************************************/voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidfn(){did=0;delay(120);did=1;delay(120);did=0;delay(120

6、);did=1;delay(120);did=0;delay(120);did=1;delay(120);did=0;delay(320);did=1;delay(400);}voidwrite_com(ucharcom){rs=0;P0=com;delay(5);en=1;delay(5);en=0;}voidwrite_data(uchardate){rs=1;P0=date;delay(5);en=1;delay(5);en=0;}voidmorning(){shour=clock_ss*10+clock_sg;smie=clock_fs*10+clock_fg;if(b==0)

7、{if(nhour==shour){if(smie>=nmie){fn();}}}}voidinit(){b=0;nhour=0;nmie=0;led=0;//关ledrw=0;GND=0;en=0;write_com(0x38);//设置液晶write_com(0x0c);//设光标等write_com(0x06);//写一个字符地址指针加1且光标加1write_com(0x01);//清屏write_com(0x80);//设置s地址指针}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。