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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于c51功能最全的电子钟程序lcd1602.docx

1、基于c51功能最全的电子钟程序lcd1602功能最全的电子钟【单片机】c51数字时钟(带年月日显示)摘要:本设计以单片机为核心,lcd1602显示。采用独立键盘输入能任意修改当前时间日期和设定闹钟时间。具有显示年月日(区分闰年和二月),闹钟报警和整点报时功能主程序:/* lcd1602电子钟 */# include # include lcd16024.hsbit key1 = P20; /调整sbit key2 = P21; /加1sbit key3 = P22; /减1sbit speaker = P23; /蜂鸣器sbit key4 = P24; /闹钟设计bit cal_year =

2、1; /进入判断闰年标志位bit leap_year; /闰年标志位bit calculate = 0; /日加一标记bit run = 0; /闹钟标志bit beep = 0; /整点报时标志/uint8 num = 0; /调整是给的脉冲uint8 code str1 = D: ;uint8 code str2 = T: ;uint8 code str3 = Wek;uint8 daystr=2013-07-29 ; /年月日格式uint8 timestr=21:30:59 N; /时分秒格式uint8 daystr1=2013-07-29 ; /闹钟年月日格式uint8 timestr

3、1=21:30:59 N; /闹钟时分秒格式uint8 numweek = 0; /星期加1标记char week = 1; /星期char sec = 53; /秒char min = 50; /分char hour = 23; /时uint8 day = 30; / 日uint8 month = 9; /月uint16 year = 2013; /年char week1 = 1; /闹钟星期 char sec1 = 58; /闹钟秒char min1 = 50; /闹钟分char hour1 = 23; /闹钟时uint8 day1 = 30; /闹钟日uint8 month1 = 9;

4、/闹钟月uint16 year1 = 2013; /闹钟年uint8 WeekData1; /闹钟星期标记uint8 number = 0; /定时uint8 WeekData; /星期标记uint8 speaker_num; /整点报时次数 uint8 scan_key(void); /函数声名 /* 更新LCD时间分离读取 */void TimeChange()/时分秒 timestr7 = sec%10+0; timestr6 = sec/10+0; timestr4 = min%10+0; timestr3 = min/10+0; timestr1 = hour%10+0; times

5、tr0 = hour/10+0;/年月日 daystr9 = day%10+0; daystr8 = day/10+0; daystr6 = month%10+0; daystr5 = month/10+0; daystr3 = year%10+0; daystr2 = year/10%10+0; daystr1 = year/100%10+0; daystr0 = year/1000+0;/星期 WeekData = week+0;/* 闹钟更新LCD时间分离读取 */void TimeChange1()/时分秒 timestr17 = sec1%10+0; timestr16 = sec1

6、/10+0; timestr14 = min1%10+0; timestr13 = min1/10+0; timestr11 = hour1%10+0; timestr10 = hour1/10+0;/年月日 daystr19 = day1%10+0; daystr18 = day1/10+0; daystr16 = month1%10+0; daystr15 = month1/10+0; daystr13 = year1%10+0; daystr12 = year1/10%10+0; daystr11 = year1/100%10+0; daystr10 = year1/1000+0;/星期

7、 WeekData1 = week1+0;/* 初始化系统定时器0 */void systimer0_init(void) TMOD |=0x01;/设置为1时用或(|) TMOD &=0xfd;/设置为0时用与(&) TH0 = 0xDC; / 定时10ms TL0 = 0x00; EA = 1; ET0=1; TR0=1; EX0 = 1;/* 闹钟时间设置 */void naozhong() uint8 number = 1; uint8 a = 0; uint8 b = 0; if(0 = key4) Delay1Ms(5); if(0 = key4) a = 1; LCD_write

8、_command(0xc0+9); LCD_write_command(0x0f); while(!key4); while(a) if(0 = key4) Delay1Ms(5); if(0 = key4) a = 0; run = run; while(!key4); if(run) timestr9 = Y; else timestr9 = N; if(0 = key1) Delay1Ms(5); if(0 = key1) b = 1; while(!key1); while(b) if(0 = key1) Delay1Ms(5); if(0 = key1) number+; if(4 = number) b = 0; while(!key1); if(number = 1) LCD_write_command(0xc0+9); LCD_write_command(0x0f); if(number = 2) LCD_write_command(0xc0+6); LCD_write_command(0x0f); if(number = 3) LCD_write_command(0xc0+3); LCD_write_command(0x0f); swi

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

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