求DS1302数字时钟,LCD1602显示 #includeincludetypedef unsigned char BYTE;typedef unsigned int WORD;typedef bit BOOL;sbit rs=P2^5;sbit rw=P2^6;sbit ep=P2^7;BYTE code dis1[]={\"welcome\"};BYTE code dis2[]={\"www.cqmcu.com\"};delay(BYTE ms){/延时子程序BYTE i;while(ms-){for(i=0;i;i+){nop_();nop_();nop_();nop_();}}}BOOL lcd_bz(){/测试LCD忙碌状态BOOL result;rs=0;rw=1;ep=1;nop_();nop_();nop_();nop_();result=(BOOL)(P0&0x80);ep=0;return result;}lcd_wcmd(BYTE cmd){/写入指令数据到LCDwhile(lcd_bz());rs=0;rw=0;ep=0;nop_();nop_();P0=cmd;nop_();nop_();nop_();nop_();ep=1;nop_();nop_();nop_();nop_();ep=0;}lcd_pos(BYTE pos){/设定显示位置lcd_wcmd(pos|0x80);}lcd_wdat(BYTE dat){/写入字符显示数据到LCDwhile(lcd_bz());rs=1;rw=0;ep=0;P0=dat;nop_();nop_();nop_();nop_();ep=1;nop_();nop_();nop_();nop_();ep=0;}lcd_init(){/LCD初始化设定lcd_wcmd(0x38);delay(1);lcd_wcmd(0x0c);delay(1);lcd_wcmd(0x06);delay(1);lcd_wcmd(0x01);清除LCD的显示内容delay(1);}main(){BYTE i;lcd_init();初始化LCDdelay(10);lcd_pos(4);设置显示。
ds1302单片机实现数字钟秒表/时钟转换功能 我的是1602显示的,很容易改成数码管的,给你参考一下。includeincludedefine uchar unsigned chardefine uint unsigned intsbit lcrs=P2^2;数据/命令sbit lcwr=P2^1;读/写sbit lcden=P2^0;使能sbit SCLK=P2^5;DS1302时钟口P1.0sbit IO=P2^4;DS1302数据口P1.1sbit RS=P2^3;DS1302片选口P1.2sbit key1=P4^4;sbit key2=P4^5;sbit key3=P4^1;sbit key4=P4^6;秒 分 时 日 月 星期 年uchar init[]={0x45,0x40,0x20,0x018,0x04,0x03,0x12};uchar now[7];uchar code table[]={48,49,50,51,52,53,54,55,56,57};uchar dis[16];uchar H;定义小时uchar Mi;定义分钟uchar S;定义秒uchar Y;定义年uchar Mo;定义月uchar D;定义日期uchar W;定义星期uchar key=0;uchar bcdto(uchar temp);void delayms(uint ms);void DS1302_Initial();void DS1302_SetTime(uchar*p);void DS1302_GetTime(uchar*p);延时子程序/void delayms(uint ms)/在11.0592M晶振下,单周期指令的ms级延时{uint i;while(ms-){for(i=0;i;i+);}}1062/void ydelay(uchar x){uint a,b;for(a=x;a>;0;a-)for(b=10;b>;0;b-);}void write_com(ucharcom){P0=com;lcwr=0;lcrs=0;lcden=0;。
DS1302与单片机组成的数字时钟显示乱码什么原因 首先呢,你用什么显示的啊》?数码管还是 液晶》》》?数码管还好说点,就几位七段,比较好看是不是向数码管发的数据代码有错,液晶的话,也是一样的,就是比较难看点,再者,如果代码对的话,那么就是你单片机问题喽,不然不可能有错误的
DS1302与单片机组成的数字时钟显示乱码什么原因 首先呢,你用什么显示的啊》?数码管还是液晶》》》?数码管还好说点,就几位七段,比较好看是不是向数码管发的数据代码有错,液晶的话,也是一样的,就是比较难看点,再者。
基于DS1302的51单片机数字时钟程序(可设置时间)。亲~程序借参考下~ 仅供参考,不懂再问我,哈哈…includeincludeinclude\"clock.hinclude\"daima.huchar t_hour=0x16;uchar t_min=0x23;uchar t_mon=0x07;uchar t_day=0x09;uchar t_year=0x11;flag1=0;引脚定义sbit T_RST=P1^5;sbit T_CLK=P1^3;sbit T_IO=P1^4;sbit ACC0=ACC^0;sbit ACC7=ACC^7;bit flag1=0;uchar x=0x10,y=0x30;闹钟初始化uchar idata t_sec,sec1,sec2;uchar idata mon1,mon2;uchar idata min1,min2;uchar idata hour1,hour2;uchar idata day1,day2;uchar idata year1,year2;uchar week,week0;uchar code week1[]=\"一;uchar code week2[]=\"二;uchar code week3[]={0xc8,0xfd};三的内码失效,该代码等效为“三”uchar code week4[]=\"四;uchar code week5[]=\"五;uchar code week6[]=\"六;uchar code week7[]=\"日;向1302写一个字节void input_BYTE(uchar dat){uchar i;ACC=dat;for(i=8;i>;0;i-){T_IO=ACC0;T_CLK=1;T_CLK=0;ACC=(ACC>;>;1);}}1302读出一个字节uchar output_BYTE(){uchar i;for(i=8;i>;0;i-){ACC=(ACC>;>;1);ACC7=T_IO;T_CLK=1;T_CLK=0;}return(ACC);}写数据void write_1302(uchar add,uchar dat){T_RST=0;T_CLK=0;T_RST=1;input_BYTE(add);input_。
采用DS1302实现数字时钟,硬件电路如下: 下 DS1302例程,就有了