单片机倒计时秒表课程设计_第1页
单片机倒计时秒表课程设计_第2页
单片机倒计时秒表课程设计_第3页
单片机倒计时秒表课程设计_第4页
单片机倒计时秒表课程设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、课 程 设 计 说 明 书课程名称: 单片机技术 设计题目: 倒计时数字秒表设计 院 系: 学生姓名: 张三 学 号: * 专业班级: * 指导教师: 李四 年 月 日23课 程 设 计 任 务 书设计题目倒计时计数秒表设计学生姓名所在院系电子信息与电气工程学院专业、年级、班设计要求:一、设计一个可倒计时的数字秒表。二、技术参数与要求 1、具有电源开关及指示灯,有复位按键; 2、p2.0-p2.3通过74LS47接2位数码管,p2.4和p2.5分别控制数码管显示的个位和十位,显示0-99秒时间; 3、p3.2接按键1,用于记录时间值; 4、P3.3接按键2,用于显示记录时间值; 5、上电时,显

2、示59并倒计时,按键1用于记录当前值和复位59,按键2用于显示记录值。学生应完成的工作:1、查阅资料,确定实施方案;2、学会识别各种元器件及掌握它们的工作原理;3、熟练画出设计所需的原理图和编写出所需的汇编语言程序;4、学会用Protues仿真及调试自己的单片机课程设计;5、掌握自己动手完成板子的焊接及检错维修的能力;6、学会编写基本的课程设计报告。参考文献阅读:1李广弟.单片机基础M 北京:航空航天大学出版社 2001年1月2迟荣强.单片机原理及接口技术M 北京:高等教育出版社 2004年9月3张毅刚.单片机原理及应用M 北京:高等教育出版社 2008年5月4阎胜利.Protel DXP20

3、04电路设计M 北京:电子工业出版社 2006年7月工作计划:5月9日:查阅资料; 5月10日:硬件设计; 5月11日:软件设计;5月16日:领元器件; 5月175月18日烧程序; 5月19日:焊接电路板;5月205月22日调试任务下达日期:2012 年5月 7 日任务完成日期:2012 年5月 18 日指导教师(签名): 学生(签名): 倒计时秒表摘 要:本次课程设计以AT89S52单片机为核心设计一个倒计时数字秒表,计数初值为59并开始每秒自动减1,当按键1按下时记录当前时间值,当按键2按下时显示当前记录值,显示过之后再次按下按键1时秒表复位为59。本设计硬件部分包括电源电路、复位电路、按

4、键电路、振荡电路、数码管显示电路五部分电路,软件程序部分有定时中断程序、外部中断程序、显示子程序和延时子程序等。软件Proteus画出原理图并进行仿真,依照仿真成功的原理图接线,在万能版上把个个器件焊接好从而实现预期的功能。关键词:倒计时 AT89S52 74LS47 数码管目 录1.设计背景51.1、设计课题的提出51.2、设计作用及意义52.设计方案62.1、可行方案选择62.2、可行方案比较63.方案实施7 3.1、硬件电路的实施7 3.2、软件程序的实施114.结果与结论13 4.1、Proteus仿真运行结果13 4.2、结论145.收获与致谢146.参考文献147.附件15 7.1

5、、附件一(整体电路图)15 7.1、附件二(元件清单图)16 7.1、附件三(程序)17 7.1、附件四(运行实物图)221. 设计背景1.1设计课题的提出计时器日常生活中随处可见,我们手上的电子表,手机上的时间显示等,这些利用数字电路实现的装置,与机械时钟相比具有更高的准确性与直观性,且无机械装置,具有更长的使用寿命。其中重要的组成部分就是计数器模块,是单片机中常见的模块,以计时器为基础还可以设计更多对日常生活密切相关的设备,诸如定时报警、按时自动打铃、时间程序自动控制、定时广播、自动启闭路灯、定时开关烘箱、甚至各种定时电器的自动启用等,都是以计时器为基础的。为了更好的学习定时器模块,掌握基

6、本计数器程序的设计,实现一个功能的基本流程,提高动手能力,更好的掌握所学的知识,我们在本次课程设计中提出了实现倒计时秒表的课题。1.2设计作用及意义通过查阅资料、接口设计、程序设计、安装调试等环节,完成MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用。让我不仅能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,增进对单片机的感性认识,加深对单片机理论方面的理解,掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片

7、内外存贮器、I/O口、串行口通信等。了解和掌握单片机应用系统的软硬件设计过程、方法及实现,强化单片机应用电路的设计与分析能力。提高学生在单片机应用方面的实践技能和科学作风;培育学生综合运用理论知识解决问题的能力,实现理论结合实际,学以至用的原则。用所学的知识和自身课外的拓展学习加深对专业课的理解和学习;锻炼综合运用电路设计及相关电子仪器、单片机软硬件结合的理论,结合生产实际分析和解决工作工程实际问题的能力,加固、加深和扩展有关电子类,汇编语言,相关电子电路和仿真软件方面的知识和能力。通过本次课程设计,应加强培养如下能力:(1)加强自身独立的动手能力和思考解决问题的能力,提高创造能力;(2)学会

8、使用软件Proteus画原理图和仿真调试。2.设计方案2.1可行方案选择以AT89S52单片机为核心元件,利用两位7 段共阳极数码管作为显示器件。在此设计中共接入2个两位一体7段共阳LED 数码管,来显示实时数字,其中1个用于显示十位,1个用于显示个位,通过查表指令分别动态显示个位和十位。2个LED数码管显示范围可达到O-99 。上电时,显示59并开始自动每秒自动减1,当按键1按下时记录当前时间值,当按键2按下时显示当前记录值,显示过之后再次按下按键1时秒表复位为59。方案一利用查询端口实现记录通过不断的查询P2.4和P2.5的电平来判断是否记录当前时间值,当P2.4按下时记录当前时间但并不显

9、示,当P2.5按下时则显示记录下的时间,当P2.5再次按下时则复位为59,等待下次计时。用延时程序来实现1秒的延时,通过数据区来记录记录值,通过显示子程序来显示倒计时和记录值。方案二 利用中断实现记录本方案在方案一的硬件基础上采用74LS47译码器硬件译码来方便实现显示,同时利用单片机的外部中断0和外部中断1来实现记录和显示,把记录处理和显示处理做成分别做成外部中断0和外部中断1的中断服务程序,通过中断服务程序处理不同的动作。利用T0做一个1秒的中断,从而实现倒计时。另外通过数据区来记录记录值。通过显示子程序来显示当前倒计时和记录值。2.2方案的选取如果使用方案一需要不停的查询端口的电平,单片

10、机还要不停的去执行显示程序,另外还要执行延时程序,单片机在同一个时刻只能做一件事情,所以会对记录造成较大的误差,所以方案一误差较大如果使用方案二,因为方案二是利用外部中断,所以不必不停查询端口电平,当按键按下时,即使程序处于显示程序中也可以立即中断去执行按键按下所需要的处理动作,由于定时1秒是采用定时器来实现,单片机可以边执行程序边实现定时,所以可以实现较精确的计时,另外外部中断均处于高级中断,可以较准确的记录记录值。综上比较,本设计采用方案二作为此次课程设计的首选方案。3. 方案实施3.1硬件电路的实施(1)整体设计框图本硬件设计总共包括五部分电路:显示电路、振荡电路、复位电路、电源电路、按

11、键电路。总体设计框图如图3.1所示。AT89S52单片机电源电路振荡电路复位电路显示电路按键电路图3.1 整体框图(2)电源电路 本设计采用整流桥墩2W10进行整流,然后用电解电容进行滤波,用7805进行稳压,最后输出+5V稳压直流电源。其中C1、C4为1000PF的电解电容,C2、C3为104瓷片电容,R1为1K的电阻。其电路图如3.2所示。图3.2 电源电路(3)振荡电路本模块用了一个11.0592HZ的晶振外加两个33pf的电容,电路图用如图3.3所示。图3.3 振荡电路(4)复位电路复位电路图如图3.4所示,其中C3是带极性的电解电容,R1、R2是阻值为1K的电阻图3.4 复位电路(5

12、)显示电路本设计的显示电路采用动态显示,动态显示,是指无论任何时刻只有一个LED数码管处于显示状态。若要各个数码管能同时显示出与本位相应的显示字符,就必须采用动态的“扫描显示方式”。即在某一时刻,只让某一位的位选线处于选通状态,而其它各位的位选线处于关闭状态,同时,段码线上输出相应位要有显示的字符的段码,这样,在同一时刻,2位数码管中只有被选通的那一位显示出字符。如此循环下去就可以显示出要显示的字符。虽然这些字符是不同时刻显示的,但由于LED数码管的余辉和人眼的“视觉暂留”作用,只要每位显示间隔足够短,则可以造成“多位同时亮的假象”,达到同时显示的效果。动态显示的优点是硬件电路简单,显示器越多

13、,优势越明显。本次设计的显示电路有三部分组成:译码电路、驱动电路、LED数码管显示电路。其中译码电路用的是芯片74LS47,74LS47是BCD-7段数码管驱动器,它的功能用于将BCD码转化成数码块中的数字,通过它解码, 可以直接把数字转换为数码管的显示数字, 从而简化了程序,节约了单片机的I/O开销。74LS47译码器原理: 译码为编码的逆过程。它将编码时赋予代码的含义“翻译”过来。实现译码的逻辑电路成为译码器。译码器输出与输入代码有唯一的对应关系。74LS47是输出低电平有效的七段字形译码器,它在这里与数码管配合使用,其部分真值表如表3.1.1所示。表 3.11A3A2A1A0a*b*c*

14、d*e*f*g*00000000001000110011110010001001000110000110010010011000101010010001101100000011100011111000000000010010001100 分析表格3.1.1易知74LS47为4-7译码器,并且是等数译码。即当输入为0000即0时,数码管显示也为0,一次类推,当输入为1001即9时,数码管显示也为9。驱动电路很简单,就是用两个9013即NPN型三极管去驱动共阳极数码管。显示电路的第三部分数码管显示电路,本次设计用的是两位共阳极数码管。显示电路模块用如图3.2所示。图3.5 显示电路(6)按键电路

15、本实验要求开关BUTTON1和BUTTON2按下时触发两个对应的中断,所以两个按键接到外部中断0和外部中断1管脚上。其Proteus仿真电路图如图3.6所示。图3.6 按键电路3.2软件程序实施本程序采用定时器T0产生1秒定时来实现秒表的倒计时,采用外部中断0来记录不同的记录值,通过外部中断1来显示已经记录的记录值。在主程序中初始化各个数值并且仅仅循环执行显示程序,有中断来时才转去做相应的中断服务程序。(1)主程序流程图开始初始化显示等待中断(2)外部中断0流程图(3)定时器TI流程图开始初始化T1清外部中断请求标志开外部中断返回(4)T0定时器1秒中断定时器开中断计数到1S?R0与R1中数值

16、减1Y中断次数到50?NY将R2重新设置为50将标志位F0置1调用显示子程序N中断返回开始(5)显示流程图DATA1送A10送BDIVYA=0?N高位显示延时低位显示延时返回4. 结果与结论4.1 Proteus仿真运行结果我们设计好系统后,首先在proteus上进行了仿真,仿真结果可以正常运行,当上电时秒表从59开始倒计时,每当按下BUTTON1时,系统会记录当前时间值,按下BUTTON2时系统会显示原来记录的时间值。再次按下BUTTON1时系统会复位59等待下次倒计时,并且如果没有记录值,按下BUTTON2并不起作用。硬件结果经过半天的焊接,我们把硬件焊好后上电结果表明,我们的设计要求都达

17、到了,硬件结果和proteus仿真结果完全一样。各项功能完整可用。仿真图如附件所示。4.2结论通过软件仿真和硬件运行,我们的系统完全的达到了设计要求。5. 收获与致谢通过本次的课程设计,我认识和了解了基本的单片机设计的开发过程。期间,我学会了分析课题的要求,查阅资料用怎样的元器件来实现,学会用Protues软件来绘制原理图,用汇编来编写源程序,最终仿真成功。在用实际器件实现系统时,还学会了怎样合理布局元器件,学会2位数码管各个管脚的分布和接法,熟识了硬件驱动数码管动态显示的基本原理和程序编写,提高了将单个电子器件组合到一起构成所需电路系统的能力。在课程设计期间也遇到很多问题,在使用74LS47

18、的连线时忘记给译码器加电源,在仿真时,程序编写有语法错误,在焊接时电阻弄错,阻值过大结果数码管很暗,引脚焊接出错。焊接完成通电调试时,按键不灵,经丁老师指导,在程序中添加去抖程序。除此之外,组员之间相互配合,在整个过程中有过争论,有过互助,最终圆满完成任务。在设计过程中,要是遇到问题,一定要有耐心,有错误就耐心查找,程序或实物系统出错就慢慢调试,要有永不服输的精神。在此要特别感谢学校老师们为我们安排这次课程设计,为我们精心挑选课题,在万忙之中抽出时间指导我们,对于我们的问题,老师耐心的解答,一遍不行,再讲一遍。还不辞劳苦的给我们买需要的任何元器件。这次课程设计收获很多,为以后毕业设计打下基础,

19、培养我们实际的动手能力,对以后的学习、工作中一定会有很大的帮助。再次感谢所有老师。6. 参考文献1李广弟.单片机基础M 北京:航空航天大学出版社 2001年1月2迟荣强 .单片机原理及接口技术M 北京:高等教育出版社 2004年9月3张毅刚.单片机原理及应用M 北京:高等教育出版社 2008年5月4阎胜利.Protel DXP2004电路设计M 北京:电子工业出版社 2006年7月7. 附件7.1整体电路图图7.1 整体电路图7.2元器件清单表7.1 元器件清单元器件名称型号规格数量备注单片机AT89S521晶振11.0592MHz1电解电容1000Uf3瓷片电容1042瓷片电容332桥堆2W

20、10178051发光二极管1红电阻1K12按键3拨动开关174LS471数码管1两位共阳7.3源程序;*;功能:;外部中断0用于记录不同的秒表数值;外部中断1用于显示不同的记录数值;外部中断0用于复位;如果没有记录秒表数值,则外部中断1不起作用;可以判断是否显示到最后一个数,显示的是最后一个记录值则保持显示而不再改变;*;变量分配DATA1 EQU 40H ;DATA1用于储存显示的值DATA2 EQU 42H ;DATA2用于储存记录的时间的个数TCNT EQU 41H ;TCNT用于判断定时是否到1秒MOD1 BIT 00H ;MOD1用于记录计数值是否到0MOD2 BIT 01H ;MO

21、D2用于指示初始化成59标志MOD3 BIT 02H ;MOD3用于记录外部中断1MOD4 BIT 03H ;MOD4用于记录是否储存了记录值;主程序 ORG 0000H ;开始 LJMP START ; ORG 0003H ; LJMP INT_0 ; ORG 000BH ; LJMP INT_T0 ; ORG 0013H LJMP INT_1 ORG 001BH LJMP INT_T1 ORG 0050H START: MOV SP,#70H ;设置堆栈 CLR MOD1 ;初始化标志位 CLR MOD2 ; CLR MOD3 ; CLR MOD4 ; MOV TCNT,#0 ;定时器初始

22、化,16位定时方式 定时50MS,总定时1S MOV TMOD,#11H ; MOV TH0,3CH ; MOV TL0,#0B0H ; CLR P2.4 ; CLR P2.5 ; SETB PX1 ;中断设置 外部中断1和0为高级中断,跳沿触发 SETB EX1 ;定时器T0为低级中断 SETB PX1 ; SETB PT1 ;定时器1设置为高级中断 SETB ET1 ;开定时器1 MOV TH1,#0FFH ;赋初值 MOV TL1,#0FFH ; SETB IT1 ; SETB PX0 ; SETB IT0 ; SETB ET0 ; SETB EX0 ; SETB EA ; SETB T

23、R0 ; MOV R1,#50H ;初始化R1为50H MOV DATA1,#59D ;初值是十进制59 LOOP1: LCALL DISPLAY ;循环显示 SJMP LOOP1 ;定时器T0中断 INT_T0: MOV TH0,#3CH ; MOV TL0,#0B0H ; INC TCNT ; MOV A,TCNT ; CJNE A,#20,RETURN ; MOV TCNT,#0 ; JB MOD1,RETURN ;到0秒直接返回不再减1 DEC DATA1 ;减1 MOV A,#0 ;判断DATA1是否到0 CJNE A,DATA1,RETURN ;不到0直接返回 SETB MOD1

24、;到0则置位MOD1标志位 RETURN: RETI ;外部中断0 INT_0: CLR EX0 ;关外部中断0 SETB TR1 ;启动定时器T1 H5: JNB MOD2,H0 ;如果不是初始化59则判断是否到0 MOV TH0,#3CH ;是初始化59则初始化T0 MOV TL0,#0B0H ; SETB TR0 ; CLR MOD2 ;清除初始化59标志 SJMP RETURN4 ; H0: JNB MOD1,H1 ;如果不到0则判断上次是否是储存值显示 H3: MOV DATA1,#59D ;是到0则初始化59 MOV R1,#50H ;数据指针初始化为50 SETB MOD2 ;初

25、始化59标志 CLR MOD1 ;清除其它标志位 CLR MOD3 ; CLR MOD4 ; CLR TR0 ; SJMP RETURN4 ;返回 H1: JNB MOD3,H2 ;上次不是储存值显示则储存当前值 SJMP H3 ;上次是储存值显示则初始化59 H2: MOV R1,DATA1 ;当前值存入记录值数据区 SETB MOD4 ; INC R1 ;指针加1 MOV DATA2,R1 ;储存记录数值个数RETURN4: RETI ;返回T1中断INT_T1: CLR TR1 ;关闭定时器 MOV TH1,#0FFH ;重赋值 MOV TL1,#0FFH ; CLR IE0 ;清除中断请求标志位 CLR IE1 ; SETB EX0 ;开中断0 SETB EX1

温馨提示

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

评论

0/150

提交评论