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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于51单片机的简易电子表.docx

1、基于51单片机的简易电子表基于51单片机的简易电子表/* 阿斌独家制作: 电子表 1602液晶显示 带有闹钟功能 每天到指定时间后闹钟提醒 闹钟响后按s4键关闭闹钟 如果闹钟响后大约20秒未检测到s4键按下,则闹钟自动关闭 */主程序:#include#define uchar unsigned char#define uint unsigned int sbit lcden=P22;sbit lcdrw=P21;sbit lcdrs=P20;sbit s1=P30;sbit s2=P31;sbit s3=P32;sbit s4=P33;sbit rd=P37;sbit beep=P12;ui

2、nt nian,a;uchar count,s1num,i,xq,ri,yue,flag;char shi,fen,miao,shia,fena,miaoa;uchar code table= 2012-11-19 MON;uchar code table1= 00:00:00;uchar code xq1=MON;uchar code xq2=TUE;uchar code xq3=WED;uchar code xq4=THU;uchar code xq5=FRI;uchar code xq6=SAT;uchar code xq7=SUN;void delay(uint z) uint x,y

3、; for(x=z;x0;x-) for(y=110;y0;y-);void didi() beep=1; delay(5); beep=0; delay(5); beep=1; delay(5); beep=0; delay(5); void write_com(uchar com) lcdrs=0; lcden=0; lcdrw=0; P0=com; delay(5); lcden=1; delay(5); lcden=0;void write_date(uchar date) lcdrs=1; lcden=0; lcdrw=0; P0=date; delay(5); lcden=1; d

4、elay(5); lcden=0;void init() uchar num; lcden=0; xq=1;ri=19;yue=11;nian=2012; a=1000;flag=0; shia=00;fena=00;miaoa=05; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); for(num=0;num16;num+) write_date(tablenum); delay(5); write_com(0x80+0x40); for(num=0;num12;num+

5、) write_date(table1num); delay(5); TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1;void write_sfm2(uchar add,uint date) uchar qian,bai,shi,ge; qian=date/1000; bai=date%1000/100; shi=date%100/10; ge=date%10; write_com(0x80+add); write_date(0x30+qian); write_date(0x30+bai);

6、 write_date(0x30+shi); write_date(0x30+ge);void write_sfm1(uchar add,uchar date) uchar shi,ge; shi=date/10; ge=date%10; write_com(0x80+add); write_date(0x30+shi); write_date(0x30+ge);void write_sfm(uchar add,uchar date) uchar shi,ge; shi=date/10; ge=date%10; write_com(0x80+0x40+add); write_date(0x30

7、+shi); write_date(0x30+ge);void write_xq() write_com(0x80+13); switch(xq) case 1: for(i=0;i3;i+) write_date(xq1i); delay(5); break; case 2: for(i=0;i3;i+) write_date(xq2i); delay(5); break; case 3: for(i=0;i3;i+) write_date(xq3i); delay(5); break; case 4: for(i=0;i3;i+) write_date(xq4i); delay(5); b

8、reak; case 5: for(i=0;i3;i+) write_date(xq5i); delay(5); break; case 6: for(i=0;i3;i+) write_date(xq6i); delay(5); break; case 7: for(i=0;i3;i+) write_date(xq7i); delay(5); break; default: break; void keyscan1() if(s4=0) delay(5); if(s4=0) while(!s4); flag=1; void keyscan() rd=0; if(s1=0) delay(5);

9、if(s1=0) s1num+; while(!s1); if(s1num=1) TR0=0; write_com(0x80+0x40+10); write_com(0x0f); if(s1num=2) write_com(0x80+0x40+7); if(s1num=3) write_com(0x80+0x40+4); if(s1num=4) write_com(0x80+13); if(s1num=5) write_com(0x80+10); if(s1num=6) write_com(0x80+7); if(s1num=7) write_com(0x80+2); if(s1num=8)

10、s1num=0; write_com(0x0c); TR0=1; if(s1num!=0) if(s2=0) delay(5); if(s2=0) while(!s2); if(s1num=1) miao+; if(miao=60) miao=0; write_sfm(10,miao); write_com(0x80+0x40+10); if(s1num=2) fen+; if(fen=60) fen=0; write_sfm(7,fen); write_com(0x80+0x40+7); if(s1num=3) shi+; if(shi=24) shi=0; write_sfm(4,shi)

11、; write_com(0x80+0x40+4); if(s1num=4) xq+; if(xq=8) xq=1; write_xq(); write_com(0x80+13); if(s1num=5) ri+; switch(yue) case 1: case 3: case 5: case 7: case 8: case 10: case 12: if(ri=32) ri=1; break; case 4: case 6: case 9: case 11: if(ri=31) ri=1; break; case 2: if(nian%4=0&nian%100!=0|nian%400=0)

12、if(ri=30) ri=0; else if(ri=29) ri=0; break; write_sfm1(10,ri); write_com(0x80+10); if(s1num=6) yue+; if(yue=13) yue=1; write_sfm1(7,yue); write_com(0x80+7); if(s1num=7) nian+; if(nian=2100) nian=2000; write_sfm2(2,nian); write_com(0x80+2); if(s3=0) delay(5); if(s3=0) while(!s3); if(s1num=1) miao-; i

13、f(miao=-1) miao=59; write_sfm(10,miao); write_com(0x80+0x40+10); if(s1num=2) fen-; if(fen=-1) fen=59; write_sfm(7,fen); write_com(0x80+0x40+7); if(s1num=3) shi-; if(shi=-1) shi=23; write_sfm(4,shi); write_com(0x80+0x40+4); if(s1num=4) xq-; if(xq=0) xq=7; write_xq(); write_com(0x80+13); if(s1num=5) r

14、i-; switch(yue) case 1: case 3: case 5: case 7: case 8: case 10: case 12: if(ri=0) ri=31; break; case 4: case 6: case 9: case 11: if(ri=0) ri=30; break; case 2: if(nian%4=0&nian%100!=0|nian%400=0) if(ri=0) ri=29; else if(ri=0) ri=28; break; write_sfm1(10,ri); write_com(0x80+10); if(s1num=6) yue-; if

15、(yue=0) yue=12; write_sfm1(7,yue); write_com(0x80+7); if(s1num=7) nian-; if(nian=1999) nian=2099; write_sfm2(2,nian); write_com(0x80+2); void set_alarm() if(shi=shia&fen=fena&miao=miaoa) while(a-) didi(); keyscan1(); if(flag=1) flag=0; break; a=1000; void main() init(); while(1) keyscan(); set_alarm

16、(); void timer0() interrupt 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; count+; if(count=18) count=0; miao+; if(miao=60) miao=0; fen+; if(fen=60) fen=0; shi+; if(shi=24) shi=0; xq+; if(xq=8) xq=1; write_xq(); ri+; switch(yue) case 1: case 3: case 5: case 7: case 8: case 10: case 12: if(ri=32) ri

17、=1; break; case 4: case 6: case 9: case 11: if(ri=31) ri=1; break; case 2: if(nian%4=0&nian%100!=0|nian%400=0) if(ri=30) ri=0; else if(ri=29) ri=0; break; default: break; if(ri=31|ri=30|ri=29|ri=28) yue+; if(yue=13) yue=1; nian+; if(nian=2099) nian=2000; write_sfm2(2,nian); write_sfm1(7,yue); write_sfm1(10,ri); write_sfm(4,shi); write_sfm(7,fen); write_sfm(10,miao);

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

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