课程设计Ⅳ设计报告书-基于AT89S52单片机的10秒秒表的设计.doc

上传人:来看看 文档编号:5027401 上传时间:2020-01-29 格式:DOC 页数:21 大小:678.50KB
返回 下载 相关 举报
课程设计Ⅳ设计报告书-基于AT89S52单片机的10秒秒表的设计.doc_第1页
第1页 / 共21页
课程设计Ⅳ设计报告书-基于AT89S52单片机的10秒秒表的设计.doc_第2页
第2页 / 共21页
课程设计Ⅳ设计报告书-基于AT89S52单片机的10秒秒表的设计.doc_第3页
第3页 / 共21页
课程设计Ⅳ设计报告书-基于AT89S52单片机的10秒秒表的设计.doc_第4页
第4页 / 共21页
课程设计Ⅳ设计报告书-基于AT89S52单片机的10秒秒表的设计.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《课程设计Ⅳ设计报告书-基于AT89S52单片机的10秒秒表的设计.doc》由会员分享,可在线阅读,更多相关《课程设计Ⅳ设计报告书-基于AT89S52单片机的10秒秒表的设计.doc(21页珍藏版)》请在三一文库上搜索。

1、赣 南 师 范 学 院物理与电子信息学院课程设计设计报告书基于AT89S52单片机的10秒秒表的设计姓名: 班级: 09电子信息工程 学号: 指导老师: 时间: 2012.1.01 目 录内容摘要 1关键词1Abstract1Keywords11绪论22 系统设计22.1 设计任务与要求32.2 方案的选择与论证33 系统硬件设计43.1 AT89C52简介43.2 时钟电路53.3 复位电路53.4 显示电路6 3.5引脚控制 73.6 硬件元件清单74软件设计与仿真74.1主程序设计74.2 仿真软件简介94.3 仿真结果104.4 系统调试11结束语12附录:程序清单14参考文献16内容

2、摘要:本文阐述了基于单片机的数字电子秒表设计。本设计主要特点是计时精度达到0.1s,是各种体育竞赛的必备设备之一。本设计的数字电子秒表系统采用8051单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管设计计时器。其中软件系统采用C语言编写程序,包括显示程序,定时中断服务,延时程。硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。关键字:秒表;单片机AT89S52;硬件;软件;仿真 Abstract:The design of the multi-function stopwatch system uses AT89S

3、52 microcontroller as the central device, and use its timer / counter timing and the count principles, combined with display circuit, LED digital tube, as well as the external interrupt circuit to design a timer. Be able to correctly time at the same time to record a time, and the next time after th

4、e last time the time to search automatically added a second in which software systems using assembly language programming, including the display program, timing, interrupt service, external interrupt service routine, delay procedures, key consumer shaking procedures, and KEIL in the commissioning, o

5、peration, hardware system uses to achieve PROTEUS powerful, simple and easy to observe the cut in the simulation can be observed on the actual working condition.Keyword:Stopwatch;AT89S52 scm;Hardware;Software;Simulation1绪论当今,计算机技术带来了科研和生产的许多重大飞跃,微型计算机的应用已渗透到生产、生活的各个方面。其中单片微型计算机虽然问世不久,然而体积小、价廉、功能强,其销

6、售额以每年近80%的速率增长。他的性能不断提高,适用范围愈来愈宽,在计算机应用领域已占有日益重要的地位。 单片微型计算机简称单片机,又成为控制器。他是在一块半导体上,集成了CPU、ROM、RAM、I/O接口、定时器/计数器、中断系统等功能部件,构成了一台完整的数字计算机。单片机在生产生活中的许多方面得到广泛的应用,例如,生活中五彩变幻的霓虹灯,手机通信,温度检测,流量控制等都涉及到单片机。钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如按时自动打铃、时间程序自动控制、秒表等。所有这些,都是以钟表数字化为基础的。因此,研究电子秒表及扩大其应用,有非常现实的意义

7、。电子秒表是一种用数字电路技术实现秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 电子秒表从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。电子科技日新月异,人们对现代电子设备的智能化和微型化及其精度提出了更高的要求,而单片机因其具有稳定可靠、 体积小、 价格低廉等特点,成为设计智能化仪器仪表的首选微控制器,因此本次我没有选用传统的专用的时钟芯片,而是采用了AT89C52芯片,此款单片机可以使用软件对其进行在线编程,其灵活性和可靠性都相对提高。通过此次课程设计,增强了我们的动手能力,把理论与实践融合在一起。同时

8、,也进一步加深了对单片机的硬件结构的理解和巩固,编程能力也得到了提高。在此将秒表制作过程中用到的知识进行了一些总结,希望自己今后能注意。2 系统设计2.1 设计任务与要求2.1.1 设计任务1、掌握数码管显示控制系统的显示原理,学习数码管显示数字和字符的编程方法. 2、试设计一简易秒表,使得七段符显示管的a-g分别接在单片机的P口上,输出低电平时,显示管点亮, 要求从数字“0”显示到数字“9”,延时间隔为1秒。2.1.2 设计要求1显示时间范围0.0-9.9s;2按键开关按下,电路复位。2.2 方案的选择与论证2.21总体设计方案方案1:在方案1中,我们所选用的是软件定时,即用for循环来定时

9、1秒进行显示的变化。方案2:在方案2中,采用的是硬件定时,即用单片机内部的定时器T0。先将时钟初始化,赋入初值50ms定时,循环20次来进行1秒定时。2.22:选择与论证方案比较:我们从两方面进行两种方案的比较,第一,由于此次课程设计要求是秒表,则在定时时要求比较精确,所以采用硬件的定时器定时时比较准确的。第二,由于秒表的定时程序是很小的,在利用软件定时占用的CPU并不是很多,不能显现出来,但真正大程序时会很占用资源的,所以在用定时中断过程中是非常节省资源的。综合上述两种比较,我们选用了第二种方案。3 系统硬件设计本系统由控制器模块、复位模块、LED显示模块组成,系统硬件组成框图如图1所示。系

10、统总体电路原理图如图1所示。图1 系统电路原理图3.1 AT89S52简介(1) 与MCS-51产品相兼容;(2) 具有8KB可改写的Flash 内部程序存储器,可写/擦1000次;(5)256字节内部RAM;(6) 32根可编程I/O口;(7) 3个16位定时器/计数器。 (8) 8个中断源;(9) 可编程中串行口;(10) 低功耗空闲和掉电方式。它的价格便宜,功能强大,能耗低。很大程度上减少总电路的复杂性,提高了所设计系统的稳定性。其芯片引脚图如图2所示。图2 单片机AT89S52引脚图3.2时钟电路下图所示为时钟电路原理图,在AT89S52芯片内部有一个高增益反相放大器,其输入端为芯片引

11、脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。3.3复位电路就是在RST端(9脚)外接的一个电路,目的是当单片机上电开始工作时,内部电路从初始状态开始工作,或者在工作中要想人为的让单片机重新从初始状态开始工作。在时钟工作的情况下,只要AT89S52的复位引脚高电平保持两个机器周期以上的时间,AT89S52便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且从地址0000H处开始读入程序代码而执行程序。3.4

12、显示电路 数码管显示电路3.5引脚控制 P0.0P0.7对应两个数码管的A、B、C、D、E、F、G和小数点位;P2.5控制数码管个位的显示,P2.6控制数码管十位;P3.6、P3.7分别接按键3.6硬件元件清单系统元器件清单见下表系统元器件清单器件数量器件数量AT89S521电容(10uF)1按键开关1电容(22pF)2共阴数码管2电阻(10K)1排阻(4.7k)1晶振片14软件设计与仿真本系统程序包括主程序、据子程序等。主程序用于系统初始化,子程序调度等。4.1主程序设计主程序流程图如下图:判断是否中断初始化Count+Count=20?NYSecond+Second=99?Second=0

13、数码管显示当前值NY等待NY4.2 仿真软件简介Proteus是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:(1)实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。(2)支持主流单片机系统的仿真。目前支持的单片机类型有:ARM7(LPC21xx)、 8051/52系列、AVR系列、PIC10/1

14、2/16/18系列、HC11系列以及多种外围芯片。(3)提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2、MPLAB等软件。(4)具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。Proteus7.5是目前最好的模拟单片机外围器件的工具,可以仿真51系列、AVR、PIC等常用的MCU及其外围电路(如LCD、RAM、ROM、键盘、马达、LED、AD/DA、部分SPI器件

15、、部分IIC器件等)。软件编译采用KEIL C51软件,Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。4.3 仿真结果 4.4 系统调试在调试过程中主要是

16、对程序的修改和对线路的修改来使系统正常的工作结束语本次的课程设计,使关于51系列单片机的,正是我们刚刚学到的51单片机,在平时课程的学习中,我们仅限于理论知识的讲解,即使知识是很扎实的,实际应用并不是这样的。开始时我也觉得自己的理论知识已经够了,但当我拿到课题时,在脑海里想的是非常好的,但真正编成和控制时,理论和实际结合不到一起,甚至于51芯片的使用我都感觉很迷茫,还是经过搜集大量资料才将理论与实际结合到一起了。本次课程设计我主要负责编程,这次不仅锻炼了我C语言的知识,更加我们正在学习的51的定时与中断结合在一起,进行了实际的操作,让我的知识掌握得更加牢固。本次的实际经验之后,让我对单片机定时

17、赋初值有了更新的认识,对程序的循环顺序、结构类型都有了非常深刻的认识,对真正硬件的连接也有了认识,不再将自己的知识局限于自己狭隘的空间中。通过这次课程设计秒表/时钟计时器,使我又重新开始学习C语言,因为C语言是大一学的,至从学完就再也没用过,所以开始很陌生,我又找了有关资料来了解,才有了一点眉目。刚开始以为可以用汇编很容易就写出来,因为我们正在学习汇编语言,以为学的很明白了,但是用汇编时才发现原来都不怎么熟练,编了一会程序发现只有一种感觉举步维艰啊!还是放弃汇编选择C语言吧!对于单片机,我们课本学习的是80C51,但是这次做课程设计用的是89C51,这样不仅使我们掌握了80C51,而且对89C

18、51也有了一定的了解了,在课堂上学习的都理论的,跟实际永远有一定的差距,不实践就不会发现问题。通过这次课程设计使我把课堂上学习的东西都用到了实践中,例如:定时/计数器的应用与中断。学习的时候不怎么理解,但是在实践中应用了以后就自然了解了。这次课程设计使我受益匪浅,而且都是实际的东西。附录:程序清单#include sbit key=P37;unsigned char duanma=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;static unsigned char k;void delay(unsigned char t);void de

19、layms(unsigned char t);void INTO_Timer0();void main()static unsigned char b=0;P0=duanma0;P2=duanma0;while(1)if(!key) delayms(10); if(!key) b+; if(b=1) INTO_Timer0(); if(b=2) TR0=0; if(b=3) b=0;k=0; P0=duanma0; P2=duanma0; while(!key); void INTO_Timer0()TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-5000

20、0)%256;EA=1;ET0=1;TR0=1;void isr_Timer0() interrupt 1static unsigned char i;i+;if(i=2)i=0;k+;if(k=100) k=0;P0=duanmak/10;P2=duanmak%10;void delay(unsigned char t)while(t-);void delayms(unsigned char t)while(t-)delay(245);delay(245);参考文献1电子技能与EDA技术 主编:韩克 柳秀山2数据电路设计报告3电子控制电路实例 主编:陈尔绍4数字电子技术基础与综合训练 主编:

21、卢庆林5数字电子技术基础高等教育出版社 6单片机原理与应用及C51程序设计主编:谢维成 7单片机基础M北京:北京航空航天大学出版社,李广第,朱月秀,王秀山.2001.10单片机原理及应用M电子工业出版社,张鑫.2005. 赣南师范学院 2011 2012 学年第一学期课程设计行政班级: 09电信本 学号:090802015 姓名:匡远熹 课程论文题目: 10秒秒表的设计设计要求:1、掌握数码管显示控制系统的显示原理,学习数码管显示数字和字符的编程方法. 2、试设计一简易秒表,使得七段符显示管的a-g分别接在单片机的P口上,输出低电平时,显示管点亮, 要求从数字“0”显示到数字“9”,延时间隔为1秒。教师评语:教师签字:年 月 日选课班级: 电子信息工程 任课教师: 刘小燕 成绩: 19

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1