ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:16.10KB ,
资源ID:24294668      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24294668.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(12864液晶显示实时时钟.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

12864液晶显示实时时钟.docx

1、12864液晶显示实时时钟12864液晶显示实时时钟 DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。 下面是一段12864液晶显示实时时钟的程序:/*时间:2012.11.30晶振:11.0592MHz芯片:STC89C52RC功能描述:在12864上显示年、月、日、星期、时、分和秒等时间信息*/#include;#define uchar unsign

2、ed charsbit CLK=P14; /DS1302引脚定义sbit IO=P15;sbit CE=P16;sbit ACC0=ACC0;sbit ACC7=ACC7;sbit RS=P24; /12864引脚定义 数据口为P0sbit RW=P25;sbit EN=P26;sbit PSB=P21;sbit RET=P23;void Input_1byte(uchar TD)/DS1302输入一字节数据uchar i;ACC=TD;for(i=8;i;0;i-)IO=ACC0;CLK=1;CLK=0;ACC=ACC;1;uchar Output_1byte(void) /DS1302输出

3、一字节数据uchar i;for(i=8;i;0;i-)ACC=ACC;1;ACC7=IO;CLK=1;CLK=0;return(ACC);void Write_DS1302(uchar add,uchar dat)/向DS1302写CE=0;CLK=0;CE=1;Input_1byte(add);Input_1byte(dat);CE=0;uchar Read_DS1302(uchar add)/从DS1302读uchar inf; /信息临时存储变量CE=0;CLK=0;CE=1;Input_1byte(add);inf=Output_1byte();CE=0;return(inf);/*

4、DS1302初始化*/void init_1302()if(Read_DS1302(0xd1)=0x55) /判断内存单元的内容,是否进行初始化 return; else Write_DS1302(0x8e,0x00); /关闭写保护 Write_DS1302(0x90,0x00); /电池充电设置 Write_DS1302(0x80,0x00); /秒 Write_DS1302(0x82,0x54); /分 Write_DS1302(0x84,0x20); /时 Write_DS1302(0x86,0x30); /日 Write_DS1302(0x88,0x11); /月 Write_DS1

5、302(0x8a,0x05); /星期 Write_DS1302(0x8c,0x12); /年 Write_DS1302(0xd0,0x55); /写RAM Write_DS1302(0x8e,0x80); /打开写保护 /*延时函数*/void DelayUs2x(unsigned char t) while(-t); void DelayMs(unsigned char t) while(t-) /大致延时1mS DelayUs2x(245); DelayUs2x(245); /*12864判忙*/void check_busy()RS=0;RW=1;EN=1;while(P0&0x80)

6、=0x80);EN=0;/*12864写指令*/void write_com(uchar com)check_busy();RS=0;RW=0;EN=1;P0=com;DelayUs2x(250);EN=0;DelayUs2x(250);/*12864写数据*/void write_data(uchar dat)check_busy();RS=1;RW=0;EN=1;P0=dat;DelayUs2x(250);EN=0;DelayUs2x(250);/*12864初始化函数*/void init() DelayMs(40); /大于40MS的延时程序 PSB=1; /设置为8BIT并口工作模式

7、 DelayMs(1); /延时 RET=0; /复位 DelayMs(1); /延时 RET=1; /复位置高 DelayMs(200); write_com(0x30); /选择基本指令集 DelayUs2x(250); /延时大于100us write_com(0x30); /选择8bit数据流 DelayUs2x(200); /延时大于37us write_com(0x0c); /开显示(无游标、不反白) DelayUs2x(250); /延时大于100us write_com(0x01); /清除显示,并且设定地址指针为00H DelayMs(200); /延时大于10ms writ

8、e_com(0x06); /指定在资料的读取及写入时,设定游标的移动方向及指定显示的移位,光标从右向左加1位移动 DelayUs2x(250); /延时大于100us /*清屏*/void clrscreen()write_com(0x01);DelayMs(15);/* 主函数 */ void main()uchar sec,sec1,sec2;uchar min,min1,min2;uchar hour,hour1,hour2;uchar date,date1,date2;uchar mon,mon1,mon2;uchar day;uchar year,year1,year2;uchar

9、table1="年月日时分秒星期温度摄氏" /长度24uchar table2=0XD2,0XBB, 0XB6,0XFE, 0XC8,0XFD, 0XCB,0XC4, 0XCE,0XE5, 0XCE,0XF9, 0XC8,0XD5; /长度14 uchar table3="0123456789" /长度10init();/液晶初始化clrscreen();DelayMs(200);init_1302(); /1302初始化 只初始化一下就可以 需要下载两次DelayMs(50);write_com(0x80); /显示20write_data(2);wr

10、ite_data(0);write_com(0x82); /显示年write_data(table10);write_data(table11);write_com(0x84); /显示月write_data(table12);write_data(table13);write_com(0x86); /显示日write_data(table14);write_data(table15);write_com(0x91); /显示时write_data(table16);write_data(table17);write_com(0x93); /显示分write_data(table18);wri

11、te_data(table19);write_com(0x95); /显示秒write_data(table110);write_data(table111);write_com(0x88); /显示星期write_data(table112);write_data(table113);write_data(table114);write_data(table115);while(1)sec=Read_DS1302(0x81); /读秒sec1=sec&0x0f;/个位sec2=sec;4;/十位min=Read_DS1302(0x83); /读分min1=min&0x0f;/个位min2=m

12、in;4;/十位hour=Read_DS1302(0x85); /读时hour1=hour&0x0f;/个位hour2=hour;4;/十位date=Read_DS1302(0x87); /读日date1=date&0x0f;/个位date2=date;4;/十位mon=Read_DS1302(0x89); /读月mon1=mon&0x0f;/个位mon2=mon;4;/十位year=Read_DS1302(0x8d); /读年year1=year&0x0f;/个位year2=year;4;/十位day=Read_DS1302(0x8b); /读星期write_com(0x94); /送显示内

13、容write_data(table3sec2);/秒write_data(table3sec1);write_com(0x92);write_data(table3min2); /分write_data(table3min1);write_com(0x90);write_data(table3hour2); /时write_data(table3hour1);write_com(0x85);write_data(table3date2); /日write_data(table3date1);write_com(0x83);write_data(table3mon2); /月write_data(table3mon1);write_com(0x81);write_data(table3year2); /年write_data(table3year1);write_com(0x8a);write_data(table22*day-2); /星期write_data(table22*day-1);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1