DS1302实时时钟模块,1602显示

上传人:ni****g 文档编号:473819530 上传时间:2023-04-26 格式:DOC 页数:17 大小:33.50KB
返回 下载 相关 举报
DS1302实时时钟模块,1602显示_第1页
第1页 / 共17页
DS1302实时时钟模块,1602显示_第2页
第2页 / 共17页
DS1302实时时钟模块,1602显示_第3页
第3页 / 共17页
DS1302实时时钟模块,1602显示_第4页
第4页 / 共17页
DS1302实时时钟模块,1602显示_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《DS1302实时时钟模块,1602显示》由会员分享,可在线阅读,更多相关《DS1302实时时钟模块,1602显示(17页珍藏版)》请在金锄头文库上搜索。

1、/*阐明:*将实时时钟数据通过LCD602显示-基于51单片机*/include#incd iri.hdfe ucharunsigneharfe uintuned intucharis_tmef1=0;/LCD1引脚定义/采用8位并行方式,DB0D7连接至LCDAA0LCDDATA7sbiRS=P2;bit R=P21;sbit =2;define CDDATP0/D02引脚定义sRT=13;sit O=P12;sbit SCK=1;/10地址定义#define ds3sec_ad0x0/秒数据地址#defids1302miadd0x82/分数据地址#efie d3hr_add0x84/时数据

2、地址#define ds1302_ate_d0x6/日数据地址#fid02_month_ddx8/月数据地址#dfin 13ay_ad08a/星期数据地址#dfi ds2_yr_ad0xc/年数据地址in s1302onrol_add0xe/控制数据地址#fids02chger_add0x9 #dfne ds102lsadd0xbe初始时间定义chrtim_buf= 0x20,0,006,x,x23,0x59,x55,0x02;/初始时间6月号点9分55秒 星期二/功能:延时毫秒/入口参数:/出口参数:无/阐明:当晶振为12M时,112;当晶振为11.0592时,2voi Dayxm(un x

3、) uint i,; f(=0;x;+) r(0;t-) _nop(); 控制L写时序void CD_enrit(vo) CS1; Dely_x(0); CS=0; Delayxu(20); 写指令函数oi rtIntruc(charcoman) S=0; RW=0;CS=1; LCDDAA=comand; CD_enie();写入指令数据/写数据函数vd Wie_Da(ca Waa) RS=; RW=0; CS=1; LCDTA=Wda; D_eie();/写入数据/字符显示初始地址设立vi LCT_Y(uhaX,ucaY) ucr addres; if(Y=) adss00+X;/=,表达

4、在第一行显示,地址基数为0x80 else adrss=0x0+;/Y非0时,表时在第二行显示,地址基数为xC0 ieInstruction(address);/写指令,设立显示初始地址/在第X行列开始显示Wat所相应旳单个字符 LCD_wriecar(char X,uhar ,hr Wdata) LCD_SET_X(,);/写地址 r_Dta(daa);/写入目前字符并显示/清屏函数voi CDclea(void) Writ_Istructon(0x01); lay_xm();/显示屏初始化函数vid C_init(od) Write_Insructi(38);/8bit intefce,2

5、,5*dotsDelay_x();Wri_Insructn(038);Delay_xms(5);Wrie_Insrcin(x8);rte_Instruct(0x0);/关显示,不显光标,光标不闪烁Wrte_Instucion(0x01);/清屏Deayxms();ritentrcto(0x04);/写一字符,整屏显示不移动/rte_Intt(x05);/写一字符,整屏右移/Write_Itrtio(0x06);/写一字符,整屏显示不移动/Wite_ntructin(x07);/写一字符,整屏左移Delayxm(5);/WriteInsrution(0B);/关闭显示(不显示字符,只有背光亮)e

6、Instcon(0xC);/开显示,光标、闪烁都关闭/ie_struction(0);/开显示,不显示光标,但光标闪烁/Write_Instructn(0x0);/开显示,显示光标,但光标不闪烁WitInstuction(0x0);/开显示,光标、闪烁均显示/D3初始化函数vo ds0_init(d) RST=;RST脚置低SCK0;/SCK脚置低/向DS1302写入一字节数据voidd132_wrie_yte(chaad, ucar d) uri;RST=;/启动DS1302总线/写入目旳地址:dradr= adr & xFE; /最低位置零,寄存器0位为时写,为1时读fr(=0;i ; +

7、)i (add&001) O=1;ese IO0;SCK=1; /产生时钟C=;d addr 1;/写入数据:dfo (i 0;i 8; i ) (d0x0)I=1;ele I=0;SCK; /产生时钟SCK0;d = 1;RS=0;/停止DS02总线从DS1302读出一字节数据uhar 12_rea_yte(cha adr) ar ,tp;RS=1;/启动1302总线/写入目旳地址:adar dr| x01; 最低位置高,寄存器0位为0时写,为1时读fr (i 0;i 1;/输出数据:mfor (i = 0;i ;if (O)tem 080;ese & 0x7F;SCK=;CK=;ST;停止

8、S0总线retun mp;/向S02写入时钟数据voids102_wrttime(void) d1302tete(ds132_conrol_d,x00);/关闭写保护d1302rit_be(ds130sec_dd,0x0);/暂停时钟/ds0_wriebe(s1302hag_ad,0xa); /涓流充电 ds10_rte_be(d1302_y_ad,ime_bf1);/年 d130rit_byte(ds3_month_add,tiebu2);/月 ds130_write_bt(s102atedd,t_buf);/日 d132write_ye(ds130_r_ad,ti_uf4);/时ds102

9、_wrte_bte(ds1302in_d,time_uf5);/分ds1302_wie_bt(d130_sc_ad,me_u6);/秒ds1302rie_t(ds1_da_add,tim_b7);/周 30write_y(s130_cotrol_add,x80);/打开写保护 从D02读出时钟数据o1302_ad_ie(voi) tim_buf1=d302_ed_by(ds3_earadd);/年tme_buf2ds130_read_byt(d1302_montd);/月 time_bufds302_rad_te(d1302_dte_dd);/日timbf4s13_reayt(ds1302hr_add);/时 tu5=d1302_read_bye(ds130minadd);/分time_f6=(d1_reabye(d102_se_a))&07f;/秒,屏蔽秒旳第7位,避免超过5tme_bu7=

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号