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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

键盘可调时钟课程设计_精品文档.doc

1、兰州交通大学课程设计(论文)单片机课程设计题 目: 键盘可调时钟 班 级: 自动化081班 姓 名: 王晓杰 学 号: 200808412 指导教师: 李 华 设计时间: 评语: 成绩 摘 要单片计算机即单片微型计算机。(Single-Chip Microcomputer ),是 集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。关键词:单片机,数字时钟目 录摘 要- 2 -1. 引 言- 5

2、 -2. 设计方案及原理- 5 -2.1总体设计方案- 5 -2.2 运算模块- 6 -2.3 校时模块- 6 -2.4 门电路设计- 7 -2.5 键盘及读数原理- 7 -3. 硬件设计- 7 -4. 软件设计- 7 -4.1 流程图- 7 -4.2 Proteus仿真- 10 -5. 总 结- 10 -6. 参考文献- 11 -7. 附 录- 11 -1. 引 言在科技如此发达的今天,社会对人才的要求的不断提升,当代大学生不仅需要扎实的理论知识,还需要过硬的动手能力。作为自动化专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大

3、的功能是对我们专业技能的补充。单片计算机即单片微型计算机。(Single-Chip Microcomputer ),是 集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。而51单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。基于单片机课程的学习,在本次课程设计中利用单片机实现时钟的显示,利用键盘和门电路控制时间的调整,在设计上采用硬件计数与软件计数相结合的方式,并且定时器T0采用了中断方式,优先级最高。然后通过开关的闭合与关断来控制时钟的校正,采

4、用二十四小时制计时。充分利用单片机的资源和空间,较大限度的实现了功能。过实际程序设计和调试,逐步掌握块化程序设计方法和调试技术,通过课程设计,掌握一单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法,通过完成一个包括电路设计和程序设计开发的完整过程,了解开发单片机应用系统的全过程,为今后从事相应工作打下基础。2. 设计方案及原理2.1总体设计方案用8255控制,用数码管的显示功能来设计。显示部分硬件用六只LED为显示管,这些LED发光二极管的阴极是互相连接在一起的,所以称为共阴极数码管。通过在这8只发光二极管的阳极加+5 V或0 V的电压使不同的二极管发光,形成不同的数字。该模块

5、主要是将运算模块和校时块运算出来并存放在内存单元里的十六进制表示的时位、分位和秒位数值转化为十进制,并通过8只数码管显示出来。该模块实现的硬件是DVCC8086JH实验箱中的LED单元,采用软件译码,即在程序中设置一个段选码表。CPU直接往LED输出八段代码,省去了硬件译码器。A0A3作为8段数据输出口,经74LS07驱动后到达各LED。只要做到每送一次段选码时也送一次位扫描码,并且每送一次位扫描码后,位码中的0右移一位作为下一次的位扫描码,即可实现由左向右使6只LED依次出现数字显示。图1 总体原理框图2.2 运算模块该模块的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟

6、的内存单元里,以便显示模块即时地显示出来。该模块可以细分为秒定时模块和运算模块。秒定时模块负责提供中断信号,由于CPU运算模块中的指令消耗一定的时间,所以中断信号最好通过硬件来实现。本实验中用8031定时器/计数器,但因为8031供的信号的周期是毫秒级的,因此必须通过软件的方法在运算模块中设置一个统计中断次数的变量,并且这一变量必须事先在内存里开辟存储单元。中断信号是8051工作方式为方式1,产生一个50ms的脉冲信号。运算模块负责时、分、秒的计算,该模块主要通过8031的IR1号中断来实现,但由于每50ms一次中断请求,所以在中断服务程序必须利用已申请内存单元26H来统计中断请求的次数,只有

7、当26H的值为20时,才能让秒单元内的数值加1。在中断服务程序里,必须对秒、分和时的单元内的数值进行判断,当秒加到60时,分必须加1 、秒清零;当分加到60时,时加1、分清零。当时加到24时,直接清零。然后转到调用处。2.3 校时模块该模块主要功能是修改时、分、秒内存单元的数值。每按一次键,对应的显示值便加1。分、秒加到59后变为00;小时加到23后再按键即变为00.再调校时均不向上一单位进位(例如分加到59后变为00;但小时不发生改变)。注意:在主程序中对时间进行调校前应关闭中断,以防在调校过程中定时中断服务程序也对时间进行修改而造成混淆。2.4 门电路设计为了达到调整时间的快速性与准确性,

8、采用中断响应方式,可以达到这个要求。四个键盘与与门芯片74LS21相连。当四个键盘有一个按下后,就会向CPU发送中断申请这样可以做到实时的调整时间。由于设置定时T0的优先级最高,当CPU响应中断的时候系统仍然在计时。采用这种方法可以提高电子时钟的准确程度,不会产生较大的误差。2.5 键盘及读数原理键盘是人与微机打交道的主要设备,按键的读取容易引起误动作。可采用软件去抖动的方法处理,软件的触点在闭合和断开的时候会产生抖动,这时触点的逻辑电平是不稳定的,如不采取妥善处理的话,将引起按键命令错误或重复执行,在这里采用软件延时的方法来避开抖动,延时时间20ms.3. 硬件设计根据要求,设计一个时钟。能

9、够显示时间格式为 时.分.秒,并且设置键盘,根据按键任意调整时间。利用AT89C51单片机内部定时器0与软件结合来实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。显示部分用共阴极的LED显示等显示。为了提高显示亮度采用了74HC373驱动芯片。设计的电路原理图如图2所示。4. 软件设计4.1 流程图流程图是程序编写的思路,流程图的合理与否,直接关系到程序的对错,因此流程图对于程序设计有这非同寻常的价值。对于电子时钟这个系统来说,应该对各模块进行编写程序,

10、各模块的协调工作才能确保系统的正常运行。主流程图如图3所示,中断流程图如图4所示,显示模块流程图如图5所示,键盘中断和响应程序流程图。图2 硬件原理图 图3 主程序流程图 图4中断程序流程图 图5 显示程序流程图图6 键盘中断和响应程序流程图4.2 Proteus仿真 Proteus是一款功能强大的仿真软件。在该软件中,我们可以模拟实际硬件电路,检测电路设是否正确、合理。根据硬件原理电路,在proteus中的仿真结果如图7所示。设计的电子时钟共有四个按键,分别对应着1小时、10分钟、1分钟和10秒的时间调整。按下1HOUR键时小时加1。超过24小时就溢出回到0小时。其他的按键原理和1HOUR键

11、相同。差别在于溢出数值的不相同。由于系统上电复位以后所有的数值初始化,所以电子时钟每次计时是从0时0分0秒开始的。图7 proteus仿真结果5. 总 结在此次课程设计中,我主要负责硬件接线图和程序流程图的绘制。接近一星期的单片机课程设计,我感慨颇多,的确,从选题到定稿,从理论到实践,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域。在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。这次课程设计使我懂得了理

12、论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好通过这次课程设计之后,一定把以前所学过的知识重新温故。我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机课

13、程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。当然我们在设计中遇到了很多编程问题,最后都在老师的辛勤指导下迎刃而解。此次设计中老师为教导我们很是辛苦,为此我表示感谢!在此,我对给过我帮助的所有同学和指导老师再次表示忠心的感谢!6. 参考文献1 李华,王思明.单片机应用及原理M.兰州:兰州大学出版社,2001.2 李广弟.单片机基础M.北京:北京航空航天大学出版社,1994.3 房小翠.单片机实用系统设计技术M.北京:国防工业出版社,1999.4 贾金铃等编著.微型计算原理及应用M.重庆大学出

14、版社,2006.7. 附 录源程序代码: ORG 0000H AJMP START ORG 0003H LJMP ST1 ORG 000BH AJMP TT0 ORG 0030HSTART: MOV 30H,#00H ;秒个位内存单元 MOV 31H,#00H ;秒十位内存单元 MOV 32H,#00H ;分个位内存单元 MOV 33H,#00H ;分十位内存单元 MOV 34H,#00H ;时个位内存单元 MOV 35H,#00H ;时十位内存单元 MOV TMOD,#01H ;定时器T0,工作方式1, MOV TH0,#3CH ;定时50MS MOV TL0,#0B0H ; MOV R0,#30H ;指针指向显示单元 MOV R5,#0FEH ;选中秒个位 MOV R1,#20 ; MOV 36H,#00H ;时位键盘判断时用 MOV R3,#6

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

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