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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机课程设计倒计时牌.docx

1、单片机课程设计倒计时牌单片机课程设计所在院系:机械电子工程学院专业班级:08自动化(1)班姓 名: 舒震宇 学 号: 200810320111 指导老师: 万 军 完成日期: 2011-06-18 目录1、总体设计 2、硬件原理电路图的设计及分析 2.1 模块方框图 2.2 电路图 2.3 .使用说明 3程序设计及分析 3.1 软件系统模块图 3.2各子程序设计 3.2.1主程序 3.2.2转换子程序及显示子程序模块 3.2.3 定时器T0中断 3.2.4 外部中断0: 3.2.5 外部中断1: 3.2.6 延时子程序 4.系统评价 5.心得体会 6.参考文献 7.附:源程序 单片机课程设计任

2、务书姓名 舒震宇 班级 08自动化(1)班 指导老师 万 军 题目: 倒计时牌课题的任务和要求1.1实现日历功能;1.2.显示距倒计时时刻还有多长时间(显示天、时、分、秒);1.3 倒计时的时间可人为设定;设计步骤1、 根据课题,查阅相关资料2、 画出系统原理框图;3、 画出单元电路图;4、 编写相应部分程序;、5、 撰写说明书参考文献1、靳达.单片机应用系统开发实例导航.北京:人民邮电出版社,2003.102、张俊谟.单片机中级教程.原理与应用.北京:北京航空航天大学出版社,2000.63、何立民.MCS-51系列单片机应用系统设计(系统配置与接口技术).前言 在生活和生产的各领域中,凡是有

3、自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。现在尽管单片机的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目,因此,单片机的应用大有想像和拓展空间。 单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安全等。 但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过

4、软件(编程序)方法实现了。这种以软件取代硬件并提高系统性能的控制系统“软化”技术,称之为微控制技术。微控制技术是一种全新的概念,是对传统控制技术的一次革命。随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。 模拟多通道压力系统是利用压力传感器采集当前压力并反映在显示器上,它可以分析压力过量程,并发出报警。并

5、采用电子秤原理可根据输入单价准确的计算出物体的金额。本篇论文讨论了简单的倒计时器的设计与制作 ,对于倒计时器中的四位LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。1、总体设计 本倒计时牌以AT89C51单片机作为核心,最长可以倒计时100天。可以显示距倒计时时刻还有多长时间,显示格式为天(十位,个位)、时(十位、个位)、分(十位、个位)、秒(十位、个位);倒计时的时间可以人为设定;另外还可以显示当前的日历,显示格式为年(四位),月(两位),日(两位)。倒计时设置时间时的位切换、设定数值、启动定时器、切换日历通过外部中

6、断来实现。 倒计时牌天、时、分、秒的计时分别利用100、24、60、60进制自减计数来实现。 倒计时的显示电路由LED数码管组成, 利用8只数码管显示,从左至右依次显示为天(十位,个位)、时(十位、个位)、分(十位、个位)、秒(十位、个位)及年(四位),月(两位),日(两位)。2、硬件原理电路图的设计及分析倒计时牌硬件系统的设计,关键是其显示器接口电路的设计,本设计采用直接利用单片机AT89C51的并行I/O口构成倒计时牌显示接口电路,其硬件系统主要包括单片机(包含晶振、电源)、控制电路(设置初始时间以及日历切换)及显示接口电路。2.1 模块方框图2.2 电路图2.3 .使用说明倒计时牌具有如

7、下工作状态:设置状态和运行状态。倒计时牌上电后,显示为全0。这时要设置倒计时时间,按K1,开始设置时间,这时设置的是秒,按一次K2,秒加1;再按一次K1,设置分,依次类推;设置完天后,按K1则启动定时器,开始倒计时。在倒计时牌运行状态下,按K2,显示当前的日期(年、月、日);再按一次,回到倒计时间显示。注:INT0对应的开关为位切换/启动按钮K1;INT1对应的开关为修改/日历切换按钮K23程序设计及分析3.1 软件系统模块图3.2各子程序设计3.2.1主程序主程序(MAIN)的主要功能是初始化程序、转换子程序和调用延时子程序以及数码管的断码表,其流程图如下:程序代码(加注释)如下:MAIN:

8、 MOV TMOD,#01H ;定时器T0设为方式一 MOV R1,#17 ;日历 MOV R2,#00H ;切换显示(日历和倒计时的切换) MOV R5,#0AH ;十次中断产生一秒 MOV R3,#00H ;利用外部中断0对天、时、分、秒进行切换 MOV R4,#00H ;当倒计时开始(R3=5)时对倒计时的初值不能再进行设置 MOV 30H,#00H ;天 MOV 31H,#00H ;时 MOV 32H,#00H ;分 MOV 33H,#00H ;秒 MOV 34H,#20 ;年的前两位 MOV 35H,#09 ;年的后两位 MOV 36H,#06 ;月 MOV 37H,#17 ;日 S

9、ETB EX0 SETB EX1 SETB IT0 ;外部中断0为边沿触发 SETB IT1 ;外部中断1为边沿触发 SETB ET0 SETB EA MOV TH0,#3CH ;定时器T0置初值 MOV TL0,#0B0H/*下面为转换子程序*/LOOP:/*下面为显示程序*/ DISPLY: /*下面为延时程序*/ DL1ms:MOV R7,#02HDL: MOV R6,#0FFHDL6: DJNZ R6,DL6 DJNZ R7,DL RET3.2.2转换子程序及显示子程序模块转换子程序(LOOP)将中断服务程序中产生的天、时、分、秒数据,转换成适应LED数码管显示的数据,并将其存放在缓冲

10、区中;各个要显示的单元都存放在数据缓冲区中,如下表:显示子程序(DISPLY)动态控制数码管的点亮同时显示数据,完成8个LED数码管的动态显示,显示字符通过查表方式实现,在显示过程中调用延时程序;各显示单元显示前须将其数据由存放地址单元拆分后传送至显示缓冲区中,再将其传送至对应的端口。下面是秒的转换子程序和显示模块LOOP: MOV DPTR,#DMB ;段码表首地址放进DPTR MOV A,33H ;对秒进行拆分 MOV B,#10 DIV AB MOVC A,A+DPTR MOV 46H,A ;秒的十位对应的段码放进缓冲区46H MOV A,B MOVC A,A+DPTR MOV 47H,

11、A ;秒的个位对应的段码放进缓冲区47H/*下面为显示程序*/ DISPLY: CLR P2.7 MOV A,47H MOV P1,A LCALL DL1ms SETB P2.7 CLR P2.6 MOV A,46H MOV P1,A LCALL DL1ms SETB P2.63.2.3 定时器T0中断定时器T0溢出中断(IT0P)程序主要用于产生秒的时间基准, 以及在此基础上的天、时、分、秒的正常倒计时以及日期的累加。流程图如下:3.2.4 外部中断0: 外部中断0(INT0P)用于设置倒计时牌时间时切换各个位以及开启定时器,其中切换时以R3为标志位,标志位单元取值实现功能R30初始化值R3

12、1设置秒单元R32设置分单元R33设置时单元R34设置天单元R35启动定时器,开始倒计时其中涉及到标志位R4,标志位单元取值实现功能R40初始化值,此时可以设置时间R41倒计时运行状态,此时不能设置时间其流程图如下:3.2.5 外部中断1:外部中断1(INT1P)程序主要用于天、时、分和秒的修改,按一次加1。其中涉及到标志位R2,工作组寄存器数值功能R20送倒计时时间R21送当前日历R22清0其流程图如下:3.2.6 延时子程序 延时程序(DL1ms)主要用于数码管显示时延时,其流程图如下程序如下:DL1ms:MOV R7,#02HDL: MOV R6,#0FFHDL6: DJNZ R6,DL

13、6 DJNZ R7,DL RET4.系统评价本系统最长可倒计时100天,可通过外部中断设置初始时间,及显示当前日历。本系统在设计时考虑到只需倒计时100天,所以显示的日历只是最近3个月的,并且初始日期是在程序中设置的,即不能任意设定初始值。这是本系统的不足之处。5.心得体会 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。 回顾起此次单片机课程设

14、计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近二个星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元

15、器件的使用方法,对单片机汇编语言掌握得不好通过这次课程设计之后,一定把以前所学过的知识重新温故。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在万军老师的辛勤指导下,终于游逆而解。同时,在万军老师那里我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和万军指导老师再次表示忠心的感谢!6.参考文献1.张毅刚单片机原理及应用(第一版)高等教育出版社,2008年2.王东峰等.单片机C语言应用100例M.电子工业出版社,2009.3.陈海宴.51单片机原理及应用M.北京航空航天大学出版社,2010.4.刘守义等.单片机技术基础M.西安电子科技大学出版社,2007.5.

16、钟富昭等.8051单片机典型模块设计与应用M.人民邮电出版社,2007.7.附:源程序 /*该程序最多可产生100天的倒计时,采用6MHZ的晶振,外部中断0对初值设置时 的各单元进行切换,同时还控制T0的开始;外部中断1对相应的单元设置初值, 每按一次该单元增加1。R3=1设置秒单元,R3=2设置分单元,R3=4设置时单元, R3=4设置天单元,R3=5,T0开始计时。*/ ORG 0000H LJMP MAIN ORG 0003H LJMP INT0P ORG 00BH LJMP IT0P ORG 0013H LJMP INT1P ORG 0100HMAIN: MOV TMOD,#01H ;

17、定时器T0设为方式一 MOV R1,#17 ;日历 MOV R2,#00H ;切换显示(日历和倒计时的切换) MOV R5,#0AH ;十次中断产生一秒 MOV R3,#00H ;利用外部中断0对天、时、分、秒进行切换 MOV R4,#00H ;当倒计时开始(R3=5)时对倒计时的初值不能再进行设置 MOV 30H,#00H ;天 MOV 31H,#00H ;时 MOV 32H,#00H ;分 MOV 33H,#00H ;秒 MOV 34H,#20 ;年的前两位 MOV 35H,#09 ;年的后两位 MOV 36H,#06 ;月 MOV 37H,#17 ;日 SETB EX0 SETB EX1

18、 SETB IT0 ;外部中断0为边沿触发 SETB IT1 ;外部中断1为边沿触发 SETB ET0 SETB EA MOV TH0,#3CH ;定时器T0置初值 MOV TL0,#0B0HLOOP: MOV DPTR,#DMB ;段码表首地址放进DPTR MOV A,33H ;对秒进行拆分 MOV B,#10 DIV AB MOVC A,A+DPTR MOV 46H,A ;秒的十位对应的段码放进缓冲区46H MOV A,B MOVC A,A+DPTR MOV 47H,A ;秒的个位对应的段码放进缓冲区47H MOV A,32H ;对分进行拆分 MOV B,#10 DIV AB MOVC A

19、,A+DPTR MOV 44H,A ;分的十位对应的段码放进缓冲区44H MOV A,B MOVC A,A+DPTR MOV 45H,A ;分的个位对应的段码放进缓冲区45H MOV A,31H ;对时进行拆分 MOV B,#10 DIV AB MOVC A,A+DPTR MOV 42H,A ;时的十位对应的段码放进缓冲区42H MOV A,B MOVC A,A+DPTR MOV 43H,A ;时的个位对应的段码放进缓冲区43H MOV A,30H ;对天进行拆分 MOV B,#10 DIV AB MOVC A,A+DPTR MOV 40H,A ;天的十位对应的段码放进缓冲区40H MOV A

20、,B MOVC A,A+DPTR MOV 41H,A ;天的个位对应的段码放进缓冲区41H MOV A,37H ;对日期进行拆分 MOV B,#10 DIV AB MOVC A,A+DPTR MOV 4EH,A ;日期的十位对应的段码放进缓冲区4EH MOV A,B MOVC A,A+DPTR MOV 4FH,A ;日期的个位对应的段码放进缓冲区4FH MOV A,36H ;对月份进行拆分 MOV B,#10 DIV AB MOVC A,A+DPTR MOV 4CH,A ;月份的十位对应的段码放进缓冲区4CH MOV A,B MOVC A,A+DPTR MOV 4DH,A ;月份的个位对应的段

21、码放进缓冲区4DH MOV A,35H ;对年的后两位进行拆分 MOV B,#10 DIV AB MOVC A,A+DPTR MOV 4AH,A ;年的后两位的十位对应的段码放进缓冲区4AH MOV A,B MOVC A,A+DPTR MOV 4BH,A ;年的后两位的个位对应的段码放进缓冲区4BH MOV A,34H ;对年的前两位进行拆分 MOV B,#10 DIV AB MOVC A,A+DPTR MOV 48H,A ;年的前两位的十位对应的段码放进缓冲区48H MOV A,B MOVC A,A+DPTR MOV 49H,A ;年的前两位的个位对应的段码放进缓冲区49H /*下面为显示程

22、序*/ DISPLAY: CLR P2.7 CJNE R2,#00H,S7 MOV A,47H SJMP S77S7: MOV A,4FH S77: MOV P1,A LCALL DL1ms SETB P2.7 CLR P2.6 CJNE R2,#00H,S6 MOV A,46H SJMP S66S6: MOV A,4EHS66: MOV P1,A LCALL DL1ms SETB P2.6 CLR P2.5 CJNE R2,#00H,S5 MOV A,45H SJMP S55S5: MOV A,4DHS55: MOV P1,A LCALL DL1ms SETB P2.5 CLR P2.4 C

23、JNE R2,#00H,S4 MOV A,44H SJMP S44S4: MOV A,4CHS44: MOV P1,A LCALL DL1ms SETB P2.4 CLR P2.3 CJNE R2,#00H,S3 MOV A,43H SJMP S33S3: MOV A,4BHS33: MOV P1,A LCALL DL1ms SETB P2.3 CLR P2.2 CJNE R2,#00H,S2 MOV A,42H SJMP S22S2: MOV A,4AHS22: MOV P1,A LCALL DL1ms SETB P2.2 CLR P2.1 CJNE R2,#00H,S1 MOV A,41H

24、 SJMP S11S1: MOV A,49HS11: MOV P1,A LCALL DL1ms SETB P2.1 CLR P2.0 CJNE R2,#00H,S0 MOV A,40H SJMP S00S0: MOV A,48HS00: MOV P1,A LCALL DL1ms SETB P2.0 LJMP LOOP IT0P: MOV TH0,#3CH MOV TL0,#0B0H DJNZ R5,RETURN MOV R5,#0AH MOV A,33H DEC A MOV 33H,A CJNE A,#0FFH,RETURN MOV 33H,#3BH MOV A,32H DEC A MOV 3

25、2H,A CJNE A,#0FFH,RETURN MOV 32H,#3BH MOV A,31H DEC A MOV 31H,A CJNE A,#0FFH,RETURN MOV 31H,#17H MOV A,30H DEC A MOV 30H,A PUSH ACC MOV A,37H INC A INC R1 MOV 37H,A CJNE R1,#31,GO1 MOV 36H,#07H MOV 37H,#01HGO1: CJNE R1,#62,GO2 MOV 36H,#08H MOV 37H,#01HGO2: CJNE R1,#93,GO3 MOV 36H,#09H MOV 37H,#01HGO

26、3: CJNE R1,#123,GO4 MOV R1,#17 MOV 36H,#06H MOV 37H,#17 GO4: POP ACC CJNE A,#0FFH,RETURN CLR TR0 MOV 30H,#00H MOV 31H,#00H MOV 32H,#00H MOV 33H,#00HRETURN:RETI DL1ms:MOV R7,#02HDL: MOV R6,#0FFHDL6: DJNZ R6,DL6 DJNZ R7,DL RET /*外部中断0,天、时、分、秒的切换及开始倒计时*/INT0P:PUSH PSW INC R3 CJNE R3,#05H,RETURN1 SETB T

27、R0 MOV R3,#00H MOV R4,#01H RETURN1:POP PSW RETI /*外部中断1的调整程序*/ INT1P:PUSH PSW PUSH ACC CJNE R4,#00H,NEXT CJNE R3,#00H,ADD0 SJMP RETURN2ADD0: CJNE R3,#01H,MM ;秒单元调整 INC 33H MOV A,33H CJNE A,#60,RETURN2 MOV 33H,#00H SJMP RETURN2MM: CJNE R3,#02H,HH INC 32H MOV A,32H CJNE A,#60,RETURN2 MOV 32H,#00H SJMP

28、 RETURN2HH: CJNE R3,#03H,DD INC 31H MOV A,31H CJNE A,#24,RETURN2 MOV 31H,#00H SJMP RETURN2DD: CJNE R3,#04,RETURN2 INC 30H MOV A,30H CJNE A,#100,RETURN2 MOV 30H,#00H SJMP RETURN2 NEXT: INC R2 CJNE R2,#02H,RETURN2 MOV R2,#00H RETURN2: POP ACC POP PSW RETI DMB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;段码表END

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

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