湖南工程学院2014单片机电子表.doc_第1页
湖南工程学院2014单片机电子表.doc_第2页
湖南工程学院2014单片机电子表.doc_第3页
湖南工程学院2014单片机电子表.doc_第4页
湖南工程学院2014单片机电子表.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

等级: 湖南工程学院应用技术学院课 程 设 计课程名称 单片机原理与应用 课题名称 电子表 专 业 电气工程及其自动化 班 级 学 号 姓 名 指导教师 周向红、李晓秀、汪超、肖峰2014年月日湖南工程学院应用技术学院课程设计任务书课程名称 单片机原理与应用 课 题 电子表 专业班级 学生姓名 学 号 指导老师 周向红、李晓秀、汪超、肖峰审 批 任务书下达日期 2014年 月 日任务完成日期 2014 年 月 日设计内容与设计要求设计内容:本课题要求以单片机为核心设计一个多功能电子表,具有电子时钟、时钟设置和跑表功能。做时钟时在6位LED 显示器上显示时、分、秒,做跑表时显示范围000.0秒999.9秒,并具有时钟启动、时钟停止、跑表启动、跑表复位、时钟调整功能键。要求焊接好开发板,在开发板上进行调试。设计要求:1)确定系统设计方案; 2)进行系统的硬件设计;3)完成必要元器件选择;4)开发板焊接及测试5)系统软件设计及调试;6)系统联调及操作说明7)写说明书主 要 设 计 条 件1、 MCS-51单片机实验箱1台;2、 PC机及单片机调试软件,仿真软件proteus;3、 开发板1块; 4、 制作工具1套;5、系统设计所需的元器件。说 明 书 格 式封面课程设计任务书目录第1章、概述第2章、系统总体方案设计第3章 硬件设计第4章 开发板焊接及其测试第5章 软件设计与说明(包括流程图)第6章 调试步骤、结果、使用说明第7章 设计总结第8章 参考文献附录:系统电路原理图(用PROTEL99制作)、系统程序清单。电气与信息工程系课程设计评分表进 度 安 排设计时间分为二周第一周星期一、上午:布置课题任务,课题介绍及讲课。下午:借阅有关资料,总体方案讨论。星期二、分班级焊接开发板星期三、确定总体方案,学习与设计相关内容。星期四、各部分方案设计,各部分设计。星期五、设计及上机调试。星期六、设计并调试第二周星期一:设计及上机调试。星期二:调试,中期检查。星期三:调试、写说明书。星期四-星期五上午:写说明书、完成电子版并打印成稿。星期五下午:答辩。参 考 文 献1、 王迎旭编.单片机原理与应用M.机械工业出版社.2、 楼然苗编.51系列单片机设计实例M.北京航空航天大学出版社.3、 黄勤编.计算机硬件技术基础实验教程M.重庆大学出版社4、刘乐善编.微型计算机接口技术及应用M.华中科技大学出版社.5、陈光东编.单片微型计算机原理及接口技术M.华中科技大学出版社.6、周向红 编51系列单片机应用与实践教程M.北航出版社目 录第一章 绪论1第二章 系统总体方案设计22.1 课程设计内容要求22.2 设计思路分析2第三章 硬件设计33.1 系统框图33.2 单片机型号的选择33.3 显示器选择43.4 时钟电路43.5 显示电路53.6 总体电路原理图5第四章开发板焊接及测试6第五章 软件设计与说明75.1 软件总体框图75.2 主程序设计75.3 子程序设计85.4 跑秒程序设计框图8第六章 调试和使用说明9使用说明9第七章 总结与体会11参考文献12附录12电路图12系统程序清单13第一章 绪论单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。通过本次课程设计对51单片机的学习以及应用,已经对单片机有了初步的了解和简单的应用能力。 数字电子表是采用数字电路实现对时,分,秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字表的精度,远远超过老式的钟表,钟表的数字化给人们生产带来了极大的方便,而且大大的拓展了钟表的报时功能。数字表已经成为人们日常生活中的必须品,广泛应用于家庭,车站,码头,剧院,办公场所等,给我们的生活和学习,工作带来了极大的方便。本课程设计设计了一个基于AT89C51单片机的电子表。并且通过一个控制按键来实现时间的调节和是否进入省电模式,并且在数码管上显示相应的时间。应用Proteus的ISIS软件实现了单片机电子表系统的设计与仿真。此方法仿真效果真实、准确,并且节省了硬件资源。第二章 系统总体方案设计2.1 课程设计内容要求本课题要求以单片机为核心设计一个多功能电子表,具有电子时钟、时钟设置和跑表功能。做时钟时在6位LED 显示器上显示时、分、秒,做跑表时显示范围000.0秒999.9秒,并具有时钟启动、时钟停止、跑表启动、跑表复位、时钟调整功能键。要求焊接好开发板,在开发板上进行调试。2.2 设计思路分析电子表的电路由多个部分组成,如控制按键的输入电路,单片机的时钟电路,复位电路,LED显示器段码驱动电路,LED显示器位码驱动电路,显示器电路和跑表时钟电路组成。然后通过对以上电路的产生和调整设计出总的电路框图。所以可根据上述条件作出相应的实时时钟电路总的框图。然后开始设计内部驱动程序,按照相应的程序实现特定的功能个,之后按照程序的设计,将相应的管脚连接调试,看是否能实现预定的功能。利用MCS-51内部的定时/计数器进行中断定时,配合软件延时实现时、分、秒的计时。配合软件监控实现运行,停止,调时,调分,调秒。该方案节省硬件成本,软件设计做够灵活,且能够使人在定时/计数器的使用、中断及程序设计方面得到锻炼与提高,能够准确走时并实现多功能。因此,本课题采用该方案。第三章 硬件设计3.1 系统框图图3.13.2 单片机型号的选择 通过对多种单片机性能的分析,最终认为89C51是最理想的电子表开发芯片。89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,而且它与MCS-51兼容,且具有4K字节可编程闪烁存储器和1000写/擦循环,数据保留时间为10年等特点,是最好的选择。图3.23.3 显示器选择LED显示器的选择,在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此生产厂家就生产了多种位数、尺寸、型号不同的LED显示器。在我们的设计中,选择6位一体的时钟型LED显示器。 6位7段共阳显示器:六位是同时显示六位阿拉伯数字,而每一个数字又是七段码显示的;七段是指一个数码显示的阿拉伯数字是由七位二进制数控制的,共阳是指相应的二进制为1时不亮,为0时亮。在实验中显示器的作用是显.示时间。3.4 时钟电路图3.43.5 显示电路 图3.53.6 总体电路原理图图3.4第五章 软件设计与说明5.1 软件总体框图图5.15.2 主程序设计主程序的初始化内容:所谓初始化,是对将要用到的51系列单片机内部部件或扩展芯片进行初始工作设定。51系列单片机复位后,设置特殊功能寄存器。5.3 子程序设计子程序包括了:时钟暂停显示程序,时钟运行显示程序,时钟溢出入口程序,跑秒暂停及循环显示程序,跑秒运行循环显示程序等等。 代码转换程序:由于人们日常习惯使用十进制数,而计算机的键盘输入,输出以及显示都采用二进制编码的十进制数或ASCII码。因此,在程序设计时常常要代码转换。 LED动态显示程序:采用动态扫描方式时,要使得LED显示得比较均匀和有足够的亮度,需要设置适当的扫描频率。扫描频率在70Hz左右时,能够产生足够的图形和较好的显示效果。5.4 跑秒程序设计框图图5.4第六章 调试和使用说明 本系统可以先在电脑上使用Proteus仿真软件进行电路的仿真进行仿真,编程使用keil、调试工具并生成可执行文件加载到单片机中,在Proteus中点击运行,查看运行结果是否与预期要求相符,如果仿真成功,便可以到实验板上进行实物实验。使用说明按钮开关图如下图6.1仿真按下开始后时钟开始计时时间设定 点击PAUSE/START后进入设定模式,点击SEC/MIN RESET TIMER进行设置,点击一下增加一。完成以后点击PAUSE/START,即可保存并进行下一项设置,依次下去便可以设置秒、分和时。设置秒设置分设置时设置时间后,程序继续将在设置时间的基础上继续运行跑秒功能第七章 总结与体会在这一次课程设计当中,我进行了多方面的学习和实践,虽然当中遇到了许多的困难,但最终还是把它们一一地克服了。学习就是这样的,要做好每一件事,都有很多的因素影响制约着我们,我们必须快速准确的适应这样的环境,通过改变自己来更快的融入社会。有了这份经历,我觉得自己少了一分浮躁,多了一份沉稳。我深深地感到要有科学的思维方法和学习方法是极其重要的。刚刚拿到课程设计的题目时真不知道从哪里开始动手,课题名称里的芯片根本就没听说过。通过上网查找资料,弄清楚了它的功能,才真正开始了设计。但这个东西包括了几个部分,所以一定要把握好它的整体设计思路,在其框架之下,对各部分的单元电路进行分析和设计,最后经过电路的修改,参数的确定,将各个部分连接起来,形成总的电路图。 书到用时方恨少,在这次课程设计过程中遇到了很多大大小小的难题,这时才发现在知识的海洋里自己是多么的渺小,但这也激起了我学习的热情,我进行了多方面的学习和实践,最终还是把它们都克服了。在这次课程设计过程中我还学会了与同学交流和沟通,这样才能把自己在设计过程中学到的知识进行交流,在交流中进一步巩固自己的知识。这次课程设计只有两个星期的时间,时间比较紧张,提高工作、学习效率是唯一的办法。有了这份经历,更让我觉得知识海洋的广博,驱使怀着好奇之心的我进一步努力学习告诉我为了填满好奇心,无时无刻不需要学习。每一次新的认识,总是疑问重重,不断的分析解决问题、解决问题,等到最后回想起来都是如此的简单。能学习能提高不容易,更重要的是我学会了如何解决问题,这次课程设计让我增加了自信心,懂得的越来越多,又感觉在以后的路上明白了很多知识。同时也感谢老师的指导和共同探讨研究问题的同学们,希望在以后的学习和工作中能够进一步提高对单片机的认识和应用能力。参考文献1、王迎旭编.单片机原理与应用M.机械工业出版社.2、楼然苗编.51系列单片机设计实例M.北京航空航天大学出版社.3、黄勤编.计算机硬件技术基础实验教程M.重庆大学出版社4、刘乐善编.微型计算机接口技术及应用M.华中科技大学出版社.5、陈光东编.单片微型计算机原理及接口技术M.华中科技大学出版社.6、周向红 编51系列单片机应用与实践教程M.北航出版社附录电路图系统程序 ORG 0000HLJMP STARTORG 000BHLJMP INIT0 START:MOV R0,#70H;主程序开始MOV R7,#0CH INIT:MOV R0,#00HINC R0DJNZ R7,INITMOV 72H,#10;对连字符进行装值MOV 75H,#10MOV TMOD,#01H;选择定时器/计数器T0的方式1MOV TL0,#0B0H;对低位赋初值MOV TH0,#03CH;高位赋初值SETB EASETB ET0SETB TR0 START1:LCALL SCANLCALL KEYSCANSJMP START1 DL1MS:MOV R6,#14H;延时1子程序 DL1:MOV R7,#19H DL2:DJNZ R7,DL2DJNZ R6,DL1RET DL20MS:ACALL SCAN;延时20ms子程序ACALL SCANACALL SCANRET ;数码管显示程序开始 SCAN:MOV A,78HMOV B,#0AHDIV AB ;时间秒的十位送给A,时间秒的个位送BMOV 71H,A;时间秒要显示的十位MOV 70H,B;时间秒要显示的个位MOV A,79HMOV B,#0AHDIV AB;时间分的十位送给A,时间分的个位送BMOV 74H,A;时间分要显示的十位送地址MOV 73H,B;时间分要显示的个位送地址MOV A,7AHMOV B,#0AHDIV AB;时间时的十位送给A,时间时的个位送BMOV 77H,A;时间时显示的十位送地址MOV 76H,B;时间时要显示的个位送地址MOV R1,#70HMOV R5,#0FEHMOV R3,#08H SCAN1:MOV A,R5;数码管的显示程序MOV P2,AMOV A,R1MOV DPTR,#TABMOVC A,A+DPTR;对字段表取值显示MOV P0,AMOV A,R5LCALL DL1MSINC R1MOV A,R5RL AMOV R5,ADJNZ R3,SCAN1MOV P2,#0FFHMOV P0,#0FFHRET ;09和-的字段表TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH ;定时/计数器T0中断程序 INIT0:PUSH ACCPUSH PSWCLR ET0CLR TR0MOV TL0,#0B0HMOV TH0,#03CHSETB TR0INC 7BHMOV A,7BHCJNE A,#14H,OUTT0;50ms是否到20次,没有到就继续执行50ms的延时MOV 7BH,#00INC 78HMOV A,78HCJNE A,#3CH,OUTT0;一秒的延时是否计到60次,没有就继续执行 MOV 78H,#00INC 79HMOV A,79HCJNE A,#3CH,OUTT0MOV 79H,#00INC 7AHMOV A,7AHCJNE A,#18H,OUTT0;60分钟的延时是否计到24次,没有就继续执行程序MOV 7AH,#00 OUTT0:SETB ET0;启动定时器T0POP PSWPOP ACCRETI;按键处理程序 KEYSCAN:CLR EAJNB P1.0,KEYSCAN0;P1.0有按键按下则跳转到子程序JNB P1.1,KEYSCAN1;P1.1有按键按下则跳转到子程序JNB P1.2,KEYSCAN2;P1.2有按键按下则跳转到子程序 KEYOUT:SETB EARET KEYSCAN0:LCALL DL20MS;20ms的延时消抖JB P1.0,KEYOUT WAIT0:JNB P1.0,WAIT0;判断按键是否松手, 松手就往下执行程序INC 7CHMOV A,7CHCLR ET0CLR TR0CJNE A,#03H,KEYOUT;按下第一次和第二次对时、分选定MOV 7CH,#00;按下第三次时就启动计时SETB ET0SETB TR0SJMP KEYOUT KEYSCAN1:LCALL DL20MS;按键加一的程序JB P1.1,KEYOUT WAIT1:JNB P1.1,WAIT1MOV A,7CHCJNE A,#0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论