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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

ds1302+lcd1602程序.docx

1、ds1302+lcd1602程序#include#include#define uint unsigned int#define uchar unsigned char/*1602液晶显示位定义*/#define lcd_data P0sbit rs=P17;sbit rw=P16;sbit en=P24;void write_1602_cmd(uint);void write_1602_dat(uint);void delay1ms(uint);void lcd1602_init();uchar nyx16= 2011-00-00 MON ;uchar sfm13 = 00:00:00 ;/

2、*ds1302的位定义*/sbit rst=P22;sbit sclk=P14;sbit io=P15;void write_ds1302_byte(uint);void lcd_busy_wait();void write_ds1302(uint,uint);uint read_ds1302(uint);void init_time();void read_time();void xieshijian2(uint add,uint shu);void xieshijian1(uint add,uint shu);void xiexingqi(uint add,uint shu);void t

3、ime_bcd(uint x);uint time_wadd=0x8c,0x88,0x86,0x8a,0x84,0x82,0x80;uint time_radd=0x8d,0x89,0x87,0x8b,0x85,0x83,0x81;uint time_init7=11,0,0,1,0,0,0;uint time_shuzhi7=0,0,0,0,0,0,0;uchar xingqi73=MON,TUS,WEN,THU,FRI,STA,SUN; /按键定义sbit key1=P10;sbit key2=P11;sbit key3=P12;/标志位定义void keyscan(); uint gn_

4、flag;/程序开始void main() uint num; lcd1602_init(); init_time(); write_1602_cmd(0x80); for(num=0;num16;num+) write_1602_dat(nyxnum); write_1602_cmd(0x80+0x40); for(num=0;num0;i-) for(j=110;j0;j-);/*ds1302的时序操作*/void write_ds1302_byte(uint date) uint i; for(i=0;i=1; sclk=1; void write_ds1302(uint cmd,uin

5、t date) rst=0; _nop_(); sclk=0; _nop_(); rst=1; _nop_(); write_ds1302_byte(cmd); write_ds1302_byte(date); rst=0; _nop_(); io=1; sclk=1; uint read_ds1302(uint add) uint shu,i; rst=0; _nop_(); sclk=0; _nop_(); rst=1; _nop_(); write_ds1302_byte(add); for(i=0;i=1; sclk=0; if(io) shu|=0x80; sclk=1; rst=0

6、; _nop_(); io=1; sclk=1; return shu;void init_time() uint i,a,b; for(i=0;i7;i+) a=time_initi/10; b=time_initi%10; time_initi=a*16+b; write_ds1302(0x8e,0x00); for(i=0;i7;i+) write_ds1302(time_waddi,time_initi); write_ds1302(0x8e,0x80); void read_time() uint i; for(i=0;i7;i+) time_shuzhii=read_ds1302(

7、time_raddi); void xieshijian2(uint add,uint shu) uint a,b; a=shu/16; b=shu%16; write_1602_cmd(0x80+0x40+add); write_1602_dat(0x30+a); write_1602_dat(0x30+b); void xieshijian1(uint add,uint shu) uint a,b; a=shu/16; b=shu%16; write_1602_cmd(0x80+add); write_1602_dat(0x30+a); write_1602_dat(0x30+b);voi

8、d xiexingqi(uint add,uint shu) uint i; write_1602_cmd(0x80+add); for(i=0;i3;i+) write_1602_dat(xingqishu-1i); void time_bcd(uint x) uint a,b; a=time_shuzhix/16; b=time_shuzhix%16; if(b=0x0a) a+; b=0; time_shuzhix=a*16+b; /*按键设置时间*/void keyscan() uint i; if(key1=0) delay1ms(5); if(key1=0) while(!key1

9、); gn_flag+; if(gn_flag=8) gn_flag=0; write_1602_cmd(0x0c); write_ds1302(0x8e,0x00); for(i=0;i7;i+) write_ds1302(time_waddi,time_shuzhii); write_ds1302(0x8e,0x10); switch(gn_flag) case 1 : write_1602_cmd(0x80+0x40+11); write_1602_cmd(0x0f);break; case 2 : write_1602_cmd(0x80+0x40+8);break; case 3 :

10、write_1602_cmd(0x80+0x40+5);break; case 4 : write_1602_cmd(0x80+14);break; case 5 : write_1602_cmd(0x80+10);break; case 6 : write_1602_cmd(0x80+7);break; case 7 : write_1602_cmd(0x80+4);break; default: break; if(key2=0) delay1ms(5); if(key2=0) while(!key2); switch(gn_flag) case 1 : time_shuzhi6+; ti

11、me_bcd(6); if(time_shuzhi6=0x59) time_shuzhi6=0 ; xieshijian2(10,time_shuzhi6); write_1602_cmd(0x80+0x40+11); break; case 2 : time_shuzhi5+; time_bcd(5); if(time_shuzhi5=0x59) time_shuzhi5=0 ; xieshijian2(7,time_shuzhi5); write_1602_cmd(0x80+0x40+8); break; case 3 : time_shuzhi4+; time_bcd(4); if(ti

12、me_shuzhi4=0x12) time_shuzhi4=0 ; xieshijian2(4,time_shuzhi4); write_1602_cmd(0x80+0x40+5); break; case 4 : time_shuzhi3+; time_bcd(3); if(time_shuzhi3=0x8) time_shuzhi3=1 ; xiexingqi(12,time_shuzhi3); write_1602_cmd(0x80+14); break; case 5 : time_shuzhi2+; time_bcd(2); if(time_shuzhi2=0x30) time_sh

13、uzhi2=0 ; xieshijian1(9,time_shuzhi2); write_1602_cmd(0x80+10); break; case 6 : time_shuzhi1+; time_bcd(1); if(time_shuzhi1=0x13) time_shuzhi1=1 ; xieshijian1(6,time_shuzhi1); write_1602_cmd(0x80+7); break; case 7 : time_shuzhi0+; time_bcd(0); if(time_shuzhi6=0x50) time_shuzhi6=0 ; xieshijian1(3,time_shuzhi0); write_1602_cmd(0x80+4); break; default : break;

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

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