单片机课程设计-秒表系统设计(共23页)_第1页
单片机课程设计-秒表系统设计(共23页)_第2页
单片机课程设计-秒表系统设计(共23页)_第3页
单片机课程设计-秒表系统设计(共23页)_第4页
单片机课程设计-秒表系统设计(共23页)_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上中南科技大学 课程设计(论文)题 目 名 称 基于单片机的秒表系统设计 课 程 名 称 单片机原理及在电气测控学科中的应用 学 生 姓 名 学 号 系 、专 业 电气工程系、09电气测控类 指 导 教 师 2011年 月 日邵阳学院课程设计(论文)任务书年级专业09电气测控学生姓名 学 号 题目名称 基于单片机的秒表系统设计设计时间课程名称单片机原理及在电气测控学科中的应用课程编号设计地点数字控制与PLC实验室(一、 课程设计(论文)目的课程设计是在校学生素质教育的重要环节,是理论与实践相结合的桥梁和纽带。单片机课程设计,要求学生更多的完成软硬结合的动手实践方案,解决

2、目前学生课程设计过程中普遍存在的缺乏动手能力的现象。单片机课程设计是继电子技术、和单片机原理与应用课程之后开出的实践环节课程,其目的和任务是训练学生综合运用已学课程“电子技术基础”、“单片机原理及应用”的基本知识,独立进行单片机应用技术和开发工作,掌握单片机程序设计、调试和应用电路设计、分析及调试检测。二、 已知技术参数和条件1、89C51系列单片机,LED数码管等;2、KEIL 软件;Wave软件;Proteus仿真软件;3、THKSCM-1型单片机实验系统。三、 任务要求1、 设计一个精度为0.1s的秒表系统 ;2、 具有启动、停止、清零的功能;3、 设计每到一秒有声音提醒功能,可以通过按

3、钮打开及关闭该提醒功能;4、 其他功能(创新部分)。注:1此表由指导教师填写,经教研室审批,指导教师、学生签字后生效;2此表1式3份,学生、指导教师、教研室各1份。四、参考资料和现有基础条件(包括实验室、主要仪器设备等)1、单片机课程设计指导,中南大学出版社,张一斌等2009年9月2、单片机实验与实践教程,北京航空航天大学出版社,何立民等2004年7月3、童诗白.模拟电子技术基础,高等教育出版社,2001年4、THKSCM-1型单片机实验系统实验指导书、KEIL 软件,WAVE 软件5、数字控制与PLC实验室”THKSCM-1型单片机实验系统”。五、进度安排2011年6月7日:收集和课程设计有

4、关的资料,熟悉课题任务何要求2011年6月8日:总体方案设计2011年6月9日-10日:硬件电路设计2011年6月11日-12日:软件设计2011年6月13日-15日:系统调试改进2011年6月16日:整理书写设计说明书2011年6月17日:答辩并考核六、教研室审批意见教研室主任(签名): 年 月 日七、主管教学主任意见 主管主任(签名): 年 月 日八、备注指导教师(签字): 学生(签字):邵阳学院课程设计(论文)评阅表学生姓名 学 号 系 专业班级 09电气测控一班 题目名称 基于单片机的秒表系统设计 课程名称 单片机原理及在电气测控学科中的应用 一、学生自我总结 通过这次设计,我学到了许

5、多课外的东西,加深了对单片机等知识的了解,提高了应用思考和设计能力, 同时也发现了自己的许多不足,在设计中遇到了很多问题,比如对知识掌握不够牢固,学的不够深,以及对一些器件的不了解等。在设计中我明白了我们作为一名工科学生,仅仅掌握好课堂上的知识是远远不够的,我们还需要更深入的进行扩展延伸,并加强自己的实际动手能力,只有理论与实践相结合才是真正的掌握知识。 学生签名: 年 月 日二、指导教师评定评分项目平时成绩论文答辩综合成绩权 重304030单项成绩指导教师评语: 指导教师(签名): 年 月 日注:1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面;2、

6、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。专心-专注-专业摘要 近年来随着科技的飞速发展,单片机的应用正在不断的走向深入。本文阐述了基于单片机的电子秒表设计。本设计主要特点是计时精度达到0.1s,解决了传统的由于计时精度不够造成的误差和不公平性,是各种体育竞赛的必备设备之一。本设计是基于AT89C51单片机设计的,我们是分为几个模块来设计的。首先对秒表的硬件进行了设计,它包括时钟电路设计、复位电路设计以及外部显示电路。利用89C51单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。计时精度为0.1s。其次是软件进行了设计,软件系

7、统采用汇编语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等。最后通过仿真调试,在proteus环境下建立了仿真模型,仿真结果表明本设计是正确的。 关键词:单片机;秒表;系统设计 目录摘要 I1 课题内容要求及目的11.1课题内容11.2课题要求11.3 课题目的12 硬件设计22.1 AT89C51单片机简介2 2.2设计思路22.3硬件电路设计33软件设计53.1程序设计53.2源程序64系统调试与仿真114.1 proteus简介114.2仿真调试125总结13参考文献14致谢151 课题内容要求及目的1.1课题内容用AT89C51设计一个秒表,该秒表课可显示0.05

8、9.9秒的时间,进行相应的单片机硬件电路的设计并进行软件编程利用单片机定时器/计数器中断设计秒表,从而实现秒、十分之一秒的计时。综合运用所学的单片机原理与应用理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。通过本次系统设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握。本系统利用单片机的定时器/计数器定时和记数的原理,通过采用proteus仿真软件来模拟实现。模拟利用AT89C51单片机、LED数码管以及控件来控制秒表的计数以及计位!其中有三位数码管用来显示数据,显示秒(两位)和十分之一秒,十分之一秒的数码管计数从09,满十进一后显示秒的数码管的数字

9、加一,并且十分之一秒显示清零重新从零计数。计秒数码管采用三位的数码管,当计数超过范围是所有数码管全部清零重新计数。1.2课题要求本课题是基于单片机的秒表系统设计,它的具体要求有以下几点:(1) 用单片机AT89C51实现;(2) 以0.1秒为最小单位进行显示;(3) 秒表量程为0.0-59.9秒,用 LED显示;(4) 有清零、开始、停止功能、每到一秒有声音提示;1.3课题目的通过课程设计,进一步熟悉和掌握AT89C51单片机的结构及工作原理,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。通过完成一个包括电路设计和程序开发的完整过程,进一步了解开发一单片机应用系统的全

10、过程,通过此综合训练,为以后毕业设计打下一定的基础。(1)通过本次课程设计加深对单片机课程的全面认识。(2)掌握定时器、外部中断的设置和编程。(3)该实验通过单片机的软件延时设计,设计简单的计时器系统,能正确的计时。(4)通过本次课程设计能够对程序进行编辑,校验。 2.硬件设计2.1 AT89C51单片机简介 AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-Flash Programmable and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与89C51引脚和指令系统完全兼容。

11、引脚分别如图2.1所示。图2.1 单片机引脚分布图图2.1所示的单片机是引脚双列直插封装方式,电源引脚40脚与接地脚20。P0口作输入口使用时,应先向口锁存器写入1。P1口是一个带有内部上拉电阻的8位双向I/O端口。P1的输出缓存可驱动4个TTL输入。P2口是一个带有内部上拉电阻的8位双向I/O端口。P3口也是一个带有内部上拉电阻的8位双向I/O端口,P3端口还用于一些复用功能。2.2设计思路这次的试验要求进行计时并且在数码管上显示时间,先要基本了解硬件内在结构,确定用p2并行端口进行数码管控制输入,使用P1.6,P1.5,P1.4进行选择0.1秒位,秒位,十位秒位,以P3.0为开始控制,P3

12、.1为停止控制,P3.2为清零控制。 本次实验设计的基本思路是要求借助AT89C51单片机做出一个0-59.9s的秒表从十位秒到0.1位秒数这些计时的位数是存在一个内嵌的结构,就是0.1秒位满足条件然后进行跳位使秒位加一的过程,当0.1s到0.9s时该位自动清零并且秒位加一,秒位达到9时也自动清零并向十秒位加一。当计数超过范围是所有数码管全部清零重新计数。其次开始控制,停止控制,清零控制等功能,我们采用蜂鸣器进行提示,该信号由P1.0输出由7406非门与外加电源驱动,通过一个延时子程序加以控制。最后就是根据硬件的条件进行编程,要求软硬件相互兼容。这也是设计的关键之处。因此需查阅相关书籍。2.3

13、硬件电路设计(1)时钟电路与复位电路 利用12分频的晶振的一个机器周期为一微妙,通过循环延时产生0.1秒的延时,晶振电路原理及单片机复位电路图如图2.2所示。 图2.2 时钟与复位电路图单片机的时钟信号用来提供单片机内各种微操作的时间基准,89C51片内设有一个由反向放大器所构成的振荡电路,XTAL1和 XTAL2分别为振荡电路的输入和输出端,89C51单片机的时钟信号通常用两种电路形式得到:内部振荡方式与外部振荡方式。外部方式的时钟很少用,若要用时,只要将XTAL1接地,XTAL2接外部振荡器就行。对于复位操作,我们采用手动复位,通过按钮开关使单片机进入复位状态,这是单片机能否正常工作的关键

14、。 (2)硬件电路设计 使用proteus软件设计的硬件电路包含了三个功能控制键和一个单片机复位按钮及蜂鸣器控制开关。具体如图2.3所示。图2.3 硬件电路连接图时钟电路与复位电路已在前边介绍,在此主要介绍端口电路,对于外显电路的设计我们采用四位数码管,事实上根据要求只用到三位,我们利用p1.4、p1.5、p1.6对数码管进行位选。对于按钮开关电路,我们利用p3.0、p3.1、p3.2分别作为开始、停止及清零功能的电路接口。对于声音提示我们采用蜂鸣器装置,信号由p1.0口接入经过非门和驱动电源构成。 3软件设计 3.1程序设计 根据课题内容,可做出主程序流程图如图3.1所示。开 始有进位吗?初

15、始化有暂停指令吗?Y有清零指令吗?0.1秒位加一NNNY有进位吗?NY秒位加一十秒位加一Y有进位吗?NY声音提示图3.1 主程序流程图 流程图体现着设计程序的思路程序,开始后首先进行数据初始化然后是条件判断满足条件或不满足则进行对应的处理,如首先依次判断是否暂停是否清零,然后十分之一妙位计数,再判断是否进位,若是秒位就加一,秒位加一后进行声音提示,接着再判断是否有进位,若有则十秒位加一,若十秒位产生进位则重新计时。3.2源程序:HAOMIAO EQU 34HMIAO EQU 35HSHIMIAO EQU 36HORG 0000HAJMP STARTORG 0030HSTART: CLR C S

16、ETB P1.6 SETB P1.5 SETB P1.4 MOV HAOMIAO,#0 MOV MIAO,#0 MOV SHIMIAO,#0 MOV DPTR,#TABLE MOV A,#00H MOVC A,A+DPTR CLR P1.6 MOV P2,A MOV A,#00H MOVC A,A+DPTR CLR P1.4 MOV P2,A MOV DPTR,#TABLE1 MOV A,#00H MOVC A,A+DPTR CLR P1.5 MOV P2,A LCALL KAISHI LCALL MAIN SHIWEI : SETB P1.5 MOV DPTR,#TABLE ;十秒位显示 M

17、OV MIAO,#0 ;使秒位从零位重新循环 INC SHIMIAO MOV A,SHIMIAO CLR C SUBB A,#6 JZ START AJMP MAIN RET TINGZHI: MOV A,#00H ;判断是否有清零指 MOV A,P3 ANL A,#04H JZ START MOV A,#00H ;判断是否有停止指令 MOV A,P3 CLR C ANL A,#02H LCALL YANSHI JZ MAIN LJMP TINGZHI START1 : LJMP START SHIWEI1: LJMP SHIWEI MAIN : SETB P1.5 SETB P1.4 SET

18、B P1.6 MOV A,#00H ; 判断是否有清零指令 MOV A,P3 ANL A,#04H JZ START1 MOV A,#00H ; 判断是否有停止指令 MOV A,P3 CLR C ANL A,#02H JZ TINGZHI MOV DPTR,#TABLE ; 0.1位秒显示 I NC HAOMIAO ;加一,可查下一位数据 MOV A, HAOMIAO ; 判断是否进位 CLR C SUBB A,#10 JZ MIAOZHEN LCALL YANSHI ;延时0.1秒 AJMP MAIN RET ;继续计时MIAOZHEN: SETB P1.4 MOV DPTR,#TABLE1

19、 ;秒位显示 MOV HAOMIAO,#0 ;使0.1秒从零重新循环 INC MIAO ;加一,可查下一位数据 MOV A,MIAO ;判断是否进位 CLR C SUBB A,#10 JZ SHIWEI1 LCALL SND AJMP MAIN ;返回0.1秒计YANSHI: MOV R6,#30 DL2: MOV A,#00H ;判断是否有清零指令 MOV A,P3 ANL A,#04H JZ START1 MOV DPTR,#TABLE MOV A,SHIMIAO MOVC A,A+DPTR CLR P1.6 MOV P2,A ACALL YIHAOMIAO SETB P1.6 MOV A

20、,HAOMIAO MOVC A,A+DPTR CLR P1.4 MOV P2,A ACALL YIHAOMIAO SETB P1.4 MOV DPTR,#TABLE1 MOV A,MIAO MOVC A,A+DPTR CLR P1.5 MOV P2,A ACALL YIHAOMIAO SETB P1.5 DJNZ R6,DL2 RET YIHAOMIAO: MOV R7,#250 CV:NOP NOP DJNZ R7,CV RET KAISHI: MOV A,#0 MOV A,P3 ANL A,#01H JNZ KAISHI RETSND: SETB P1.0 MOV R1,#1EHDL: M

21、OV R0,#0F9HDL1: DJNZ R0,DL1 DJNZ R1,DL CLR P1.0 RET TABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH, 6FH;0,1,2,3,4,5,6,7,8,9TABLE1:DB0BFH,086H,0DBH,0CFH,0E6H,0EDH,0FDH, 087H,0FFH,0EFH END 4系统调试与仿真4.1仿真软件简介 (1)Proteus是英国Labcenter electronics公司出版的仿真软件。它不仅具有其它仿真软件的仿真功能,还能仿真单片机及外围器件,它是目前最好的仿真单片机及外围器件的工具。受到单

22、片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 (2)在Proteus绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在Proteus的原理图中看到模拟的实物运行状态和过程。Proteus不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能。 4.2仿真调试(1) 经过对程序的运行,并用wave软件编译后,用proteus仿真软件进行仿真,按下“开始”按钮之前

23、,可以看到数码管上数字子显示为零如图4.1所示。图4.1 开始状态图由图4.1可以清楚的看到,秒表的初始状态,三位数码管都显示为零。进行位选的端口也都处于低电位,蜂鸣器也未工作。单片机复位端为低电平。(2) 当按下“开始”时秒表开始计时,秒表开始计时,其状态如图4.2所示。图4.2 开始计时图由图4.2可以看到,开始计时后,数码管数字在变化,图中为十分之一秒位的数码管显示情况。(3) 当按下“停止”时秒表停止计时,数码管显示的数字不再变化,如图4.3所示。图4.3 停止状态图由图4.3可以看到按下“停止”按钮后各个数码管的数字不再变化蜂鸣器也停止工作。(4) 当按下“清零”时秒表无论是在计时还是在停止状态都一律清零各数码管全为零,回到初始状态。5 总结本文主要从硬件和软件两个方面结合说明设计的总体思路和实现过程,预期的设计目的是:能够实现计时的基本功能,正常显示计时。在设计过程中,曾经遇到很多的障碍,设计图经过许多次的修改最后才定下来,但在调试的过程中又出现了问题需要修改原理图;在编程那里花费的时间是最多的,编程的过

温馨提示

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

评论

0/150

提交评论