




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
题目:基于单片机的电子钟设计 摘要随着科技的发展,单片机的应用正在不断深入,涉及到日常生活的方方面面。本设计是基于单片机AT89S51为控制核心,以液晶为显示的数字时钟。本数字时钟设计的原理相对简单,所以硬件电路也相对简单,难点和重点主要放在C语言的编程上,使用到定时器的子程序、延时程序、时分秒的控制程序、液晶模块和单片机模块的初始化程序、液晶显示的程序等,各个函数交叉调用,配合主程序的运行。关键字:LCD1602 AT89S51 定时器 AbstractWith the development of technology, SCM applications are deepening, involving all aspects of daily life. The design is based on the MCU AT89S52 for the control of the core, the liquid crystal display digital clock. The digital clock design principle is relatively simple, the hardware circuit is relatively simple, difficult, and focused mainly on the C programming language, use the timer subroutine, delay procedures, minutes and seconds of the control program, the LCD module and microcontroller module initialization procedures, procedures for liquid crystal display, cross-each function call, with the main program to run.Keywords: LCD1602 AT89S51 timer 目录1 实验任务12 设计方案12.1 硬件设计1 2.1.1原理框图1 2.1.2 控制模块1 2.1.3 显示模块3 2.1.4按键电路52.2 软件设计5 2.2.1基本资源的使用5 2.2.2程序设计的基本思路53 仿真与调试结果 54 心得体会6附录7 附录1 实物图及说明7 附录2 程序流程图9 附录3 程序清单9 1 实验任务 设计一个多功能LCD电子钟。要求(1)能显示年、月、日、星期、时、分、秒;(2)能对年、月、日、星期、时、分、秒进行预置;2 设计方案21 硬件设计2.1.1原理框图 AT89S52单片机按键模块LCD液晶显示模块复位电路晶振电路2.1.2 控制模块 a. LCD液晶屏显示电路 b.晶振电路 c.复位电路 2.1.3 显示模块 1602LCD主要技术参数:显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm引脚功能说明:1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如下表所示: 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据/命令选择 12 D5 数据 5 R/W 读/写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。硬件连接原理图如下: 2.1.4按键电路 S0设置闹钟(按键1次设置秒,2次设置分,3次设置时,4次设置星期,5次设置日期,6次设置月份,7次设置年份);S1增加一(设置中对所选择变量加一);S2减少一(设置中对所选择变量减一);2.2 软件设计2.2.1基本资源的使用 本次实验采用了AT89S52型单片机,1602LCD液晶显示屏。为了实现时钟,用到了单片机的外部中断,计时器中断,及端口。2.2.2程序设计的基本思路 主程序包括闰年判定,键盘识别控制及液晶屏显示3个子程序,实现时钟的显示,调节功能。另外,还有延时,初始化等子程序。利用定时器0来控制时间,实现分钟,小时,年月的计算。3 仿真与调试结果本实验采用Keil 4和Protues 联合仿真调试 仿真结果: 经过多次的反复测试与分析,掌握了硬件的设计与分析的能力,对所学的知识得到很大的提高与巩固。最终实现功能:(1)能显示阳历年、月、日、星期、小时、分、秒(2)显示模块采用LCD液晶显示,要求能用按键调整日期、时间。4 心得体会本次电子时钟的实验课程设计,学习将理论和实践相结合,对数字器件及集成电路有较深入的认识,初步掌握综合运用所学知识分析和设计一般数字系统的基本方法,增强动手解决实际问题的能力。认识到了自身的许多缺点和不足,初步接触到了如何将硬件和软件相连接来实现一定的自动化。在试验板的焊接过程中,更深地意识到焊接技术的重要性。使我明白现实生活中电子钟的工作原理,锻炼了查找资料的能力。同时也了解到了仿真成功后,实物图连接与仿真图无误,还是可能会存在实际电路无法正常工作的情况,使用器件,芯片前应先做好对器件,芯片的了解工作,知道每一引脚的用途,正确的连接方法,焊接前做好准备工作,设计好电路图,到焊接时可以事半功倍,焊接时也要小心翼翼,最后,也要不断调试,完善电路。附录 附录1实物图及说明 说明1:上2图为上电后,时钟开始显示,每进一日,时钟开始判断有无月份进一,年份进一等情况,同时实现闰年的判断。 说明2:此时进入时钟调节模式,第一次按下调节时间按键后,显示秒钟调节,可进行加一减一,之后是分钟调节,以此类推,时钟,星期,日,月,年,此图显示为月调节。年份调节后,返回时钟显示,正常显示时间。附录2 程序流程图 开始初始化子函数闰年判断 设置按键按下 Y 按键子程序 N调用显示子程序 时钟显示 . . 附录3 程序清单#include#define uchar unsigned char#define uint unsigned intsbit key0=P20; /时间设置sbit key1=P21; /加一sbit key2=P22; /减一 sbit lcdrw=P25;sbit lcdrs=P26;sbit lcden=P27;uint s,f,m,n,t,shis,shig,fens,feng,mias,miag, nian1,nian2,nian3,nian4,yues,yueg,ris,rig,rp;int nian,yue,ri,shi,fen,mia,a;uchar code tab=MonTusWedThuFriSatSun;void delay(uint x)/延时函数uint i,j;for(i=0;ix;i+)for(j=0;j110;j+);void write_cmd(uchar cmd) /读命令lcdrs=0;P0=cmd;delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar dat) /读数据lcdrs=1;P0=dat;delay(5);lcden=1;delay(5);lcden=0;void init()shi=23;fen59;mia=55; /时间显示初值nian=2014;yue=2;ri=27;t=0;f=1;m=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;a=0;lcdrw=0;write_cmd(0x38);write_cmd(0x0c);write_cmd(0x06);write_cmd(0x01);void display()/时钟显示函数write_cmd(0x81);nian1=nian/1000;nian2=(nian%1000)/100;nian3=(nian%100)/10;nian4=nian%10;yues=yue/10;yueg=yue%10;ris=ri/10;rig=ri%10;write_data(nian1+0x30);write_data(nian2+0x30);write_data(nian3+0x30);write_data(nian4+0x30);write_data(0x2d);write_data(yues+0x30);write_data(yueg+0x30);write_data(0x2d);write_data(ris+0x30);write_data(rig+0x30);write_cmd(0x80+0x0c);for(n=a;n18)a=0;display();write_cmd(0x80+0x0d);if(s=5)ri+;if(ri=32)ri=1;display();write_cmd(0x80+0x0a);if(s=6)yue+;if(yue=13)yue=1;display();write_cmd(0x80+0x07);if(s=7)nian+;if(nian9999)nian=0;display();write_cmd(0x80+0x04);if(!key2)delay(5);if(!key2)while(!key2);if(s!=0)if(s=1)mia-;if(mia0)mia=59;display();write_cmd(0x80+0x40+0x0b);if(s=2)fen-;if(fen0)fen=59;display();write_cmd(0x80+0x40+0x08);if(s=3)shi-;if(shi0)shi=23;display();write_cmd(0x80+0x40+0x05);if(s=4)a=a-3;if(a0)a=18;display();write_cmd(0x80+0x0d);if(s=5)ri-;if(ri0)ri=31;display();write_cmd(0x80+0x0a);if(s=6)yue-;if(yue=0)yue=12;display();write_cmd(0x80+0x07);if(s=7)nian-;if(nian18)a=0;ri+;if(rp=1)if(yue=2)if(ri=30)ri=1;yue+;if(yue=13)yue=1;nian+;elseif(yue
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 急诊科医院保安岗位职责
- 快餐行业食品供货应急预案措施
- 农林牧渔培训效果评价范文
- 基层妇女干部培训班学习心得体会
- 学校扶贫安全教育计划
- 中医药健康管理科技应用工作计划
- 文化传媒公司客户投诉流程
- 英语商务邮件范文财务结算
- 湖南文艺出版社六年级音乐上册教学评价计划
- 危险废物处理重大危险源监控措施
- 2025年湖南高速铁路职业技术学院单招职业技能考试题库带答案
- GB/T 15683-2025粮油检验大米直链淀粉含量的测定
- 南瓜订货合同范例
- 装修贷款申请书
- 造林安全文明施工方案
- 《外汇交易基础知识培训》详解课件
- cpk自动计算电子表格表格
- 消化道肿瘤合并恶性腹水诊治新进展
- 进修汇报高压氧舱治疗
- TSG 07-2019电梯安装修理维护质量保证手册程序文件制度文件表单一整套
- 小区停车场管理方案
评论
0/150
提交评论