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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机 简易电子时钟设计.docx

1、单片机 简易电子时钟设计单片机简易电子时钟设计1 设计任务与要求1.1 设计背景数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于单片机的定时器功能也可以完成数字钟电路的设计,因此进行数字钟的设计是必要的。在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和

2、设计电路,写程序、调试电路的能力。单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。1.2 课程设计目的(1)巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;(3)过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。1.3 设计要求1)时制式为24小时制。2

3、)采用LED数码管显示时、分,秒采用数字显示。3)具有方便的时间调校功能。4)计时稳定度高,可精确校正计时精度。2 总体方案设计 2.1 实现时钟计时的基本方法利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现时钟计数。(1) 计数初值计算:把定时器设为工作方式1,定时时间为50ms,则计数溢出20次即得时钟计时最小单位秒,而100次计数可用软件方法实现。假设使用T/C0,方式1,50ms定时,fosc=12MHz。则初值X满足(216-X)1/12MHz12s =50000sX=1553600111100101100003CB0H(2) 采用中断方式进行溢出次数累计,计满20次为

4、秒计时(1秒);(3) 从秒到分和从分到时的计时是通过累加和数值比较实现。2.2 电子钟的时间显示电子钟的时钟时间在六位数码管上进行显示,因此,在内部RAM中设置显示缓冲区共8个单元。LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED137H 36H 35H 34H 33H 32H 31H 30H时十位 时个位 分隔 分十位 分个位 分隔 秒十位秒个位2.3 电子钟的时间调整电子钟设置3个按键通过程序控制来完成电子钟的时间调整。A键调整时;B键调整分;C键复位2.4 总体方案介绍2.4.1 计时方案利用AT89S51单片机内部的定时/计数器进行中断时,配合软件延时实现

5、时、分、秒的计时。该方案节省硬件成本,且能使读者在定时/计数器的使用、中断及程序设计方面得到锻炼与提高,对单片机的指令系统能有更深入的了解,从而对学好单片机技术这门课程起到一定的作用。2.4.2 控制方案AT89S51的P0口和P2口外接由八个LED数码管(LED8LED1)构成的显示器,用P0口作LED的段码输出口,P2口作八个LED数码管的位控输出线,P1口外接四个按键A、B、C构成键盘电路。AT89S51 是一种低功耗,高性能的CMOS 8位微型计算机。它带有8K Flash 可编程和擦除的只读存储器(EPROM),该器件采用ATMEL的高密度非易失性存储器技术制造,与工业上标准的80C

6、51和80C52的指令系统及引脚兼容,片内Flash 集成在一个芯片上,可用与解决复杂的问题,且成本较低。简易电子钟的功能不复杂,采用其现有的I/O便可完成,所以本设计中采用此的设计方案。3 系统硬件电路设计根据以上的电子时钟的设计要求可以分为以下的几个硬件电路模块:单片机模块、数码显示模块与按键模块,模块之间的关系图如下面得方框电路图1所示。图1 硬件电路方框图图2 硬件电路图4、系统软件设计4.1 软件设计分析在编程上,首先进行了初始化,定义程序的的入口地址以及中断的入口地址,在主程序开始定义了一组固定单元用来储存计数的时.分.秒,在显示初值之后,进入主循环。在主程序中,对不同的按键进行扫

7、描,实现秒表,时间调整,复位清零等功能,系统总流程图如下图7:图 7 系统总体流程图4.2 源程序清单 ORG 0000H MOV 30H,#1 设置时钟的起始时间12.00.00,分配显示数据内存 MOV 31H,#2 MOV 32H,#0 MOV 33H,#0 MOV 34H,#0 MOV 35H,#0 MOV TMOD,#01 启动计数器XS0: SETB TR0 使 TRO位置1 MOV TH0,#00H 计数器置零 MOV TL0,#00HXS: MOV 40H,#0FEH 扫描控制字初值 MOV DPTR,#TAB 取段码表地址 MOV P2,40H 从P2口输出 MOV A,30

8、H 取显示数据到A MOVC A,A+DPTR 查显示数据对应段码 MOV P0,A 段码放入P0中 LCALL YS1MS 显示1MS MOV P0,#0FFH PO端口清零 MOV A,40H 取扫描控制字放入A中 RL A A中数据循环左移 MOV 40H,A 放回40H地址段内 MOV P2,40H MOV A,31H ADD A,#10 进位显示 MOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A MOV 40H,A MOV P2,40H MOV A,32H MOVC A,A+DPTR MOV P0,A LCA

9、LL YS1MS MOV P0,#0FFH MOV A,40H RL A MOV 40H,A MOV P2,40H MOV A,33H ADD A,#10 MOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A MOV 40H,A MOV P2,40H MOV A,34H MOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A MOV 40H,A MOV P2,40H MOV A,35H MOVC A,A+DPTR MOV P0,A LCALL YS1MS

10、 MOV P0,#0FFH MOV A,40H RL A MOV 40H,A JB TF0,JIA 如果TF0为1时,则执行JIA,否则顺序执行 JNB P1.0,P100 为0则 转移到P100 JNB P1.1,P1000 为0则 转移到P1000 JNB P1.2,P10000 为0则 转移到P10000 AJMP XS 跳转到 XSP100: MOV 30H,#0 清零程序 MOV 31H,#0 MOV 32H,#0 MOV 33H,#0 MOV 34H,#0 MOV 35H,#0JIA: CLR TF0 TF0清零 MOV A,35H 秒单位数据到A CJNE A,#9,JIA1 与

11、 9进行比较,大于9就转移到JIA1 MOV 35H,0 秒个位清零 MOV A,34H 秒十位数据到A CJNE A,#5,JIA10 与5进行比较,大于5就转移到JIA10 MOV 34H,#0 秒十位清零P10000: JNB P1.2,P10000 为0则 转移到P10000 MOV A,33H 取分的个位到A CJNE A,#9,JIA100 与 9进行比较,大于9就转移到JIA100 MOV 33H,#0 分的个位清零 MOV A,32H 分十位数据到A CJNE A,#5,JIA1000 与5进行比较,大于5就转移到JIA1000 MOV 32H,#0 分的十位清零P1000:

12、JNB P1.1,P1000 为0则 转移到P1000 MOV A,31H 时个位数据到A CJNE A,#9,JIA10000 与 9进行比较,大于9就转移到JIA10000 MOV 31H,#0 时的个位清零 MOV A,30H 时十位数据到A CJNE A,#2,JIA100000 与2进行比较,大于5就转移到JIA100000 MOV 30H,#0 时的十位清零 AJMP XS0 转移到 XSOJIA100000: INC 30H 加1 AJMP XS0 跳转到 XS0JIA10000: CJNE A,#3,JIAJIA 与3进行比较,大于则转移到JIAJIA MOV A,30H 将时

13、的十位放到 A CJNE A,#02,JIAJIA 与2进行比较,大于则转移到JIAJIA MOV 30H,#0 时段清零 MOV 31H,#0 AJMP XS0 跳转到XSOJIAJIA: INC 31H 加一 AJMP XS0 JIA1000:INC 32H AJMP XS0JIA100: INC 33H AJMP XS0 JIA10: INC 34H AJMP XS0JIA1: INC 35H AJMP XS0 RET 返回YS1MS: MOV R6,#9H 延时程序YL1: MOV R7,#19H DJNZ R7,$ DJNZ R6,YL1 RETTAB:DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H 共阳段码表DB 040H,079H,024H,030H,019H,012H,002H,078H,000H,010H END6 心得体会

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2