0到59秒单片机秒表课程设计报告

  • 格式:doc
  • 大小:47.50 KB
  • 文档页数:11

下载文档原格式

  / 11
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机课程设计报告

设计课题:秒表设计

专业班级:10级电子信息科学与技术4班

学生姓名:马飞杨悬悬夏婷婷董静静

对应学号:080210198080210227 080210248080210257

指教教师:郭玉

设计时间:2012 年6月7日

目录

一、课程设计目的和意义和主要功能

1、目的意义

2、主要功能

二、方案设计与论证

1、时钟电路

2、按钮电路

3、显示电路

4、单片机

页脚内容1

5、参数计算

三、硬件电路设计

1、STC89C52RC单片机的简单介绍

2、接口电路

3、硬件连线图

四、软件设计:数字秒表流程图、数字秒表源程序

五、性能分析

六、结论和心得

附件(源程序)

电子秒表设计

摘要:本次设计主要是用STC89C52RC设计一个2位的数码作为“秒表”。主要是利用单片机的定时器/计数器定时和计数原理来设计简单的计时器系统,拥有正确的启动停止、时间调整、清零功能,启动停止清零通过键盘按键控制,并同时可以用数码管显示数字0-59,每秒自动加1,能正确地进行计时。其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,延时程序等,并在keil中调试运行,硬件系统利用单片机开发板能来实现,简单且易于观察,在现实生活中应用广泛,具有现实意义。

关键字:单片机定时器启动停止清零时间调整数码管键盘

一、课程设计目的和意义和主要功能

1、目的意义

1、通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。

页脚内容2

2、掌握定时器、外部中断的设置和编程原理。

3、通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。

2、主要功能

显示时间为0-59秒,每1秒自动加1,另外设计一个“启动”键、一个“停止”键和一个“清零”键。能用按钮实现秒表启动、停止、清零功能

二、方案设计与论证

1、方案设计

本设计要求进行计时并在数码管上显示时间,分为时钟电路、按钮电路、显示电路和单片机四大部分,这些模块中单片机占主控地位。其模块电路如图2-1所示。

(1)、时钟电路

常用的有内部时钟方式和外部时钟方式,但因为本设计中只需要一片单片机,所以采用内部时钟方式比较简单。

时钟电路如图所示,时钟电路的晶振频率越高,系统的时钟频率越高,单片机的运行速度也就越快。晶振频率根据设计需要设为12MHz,又根据谐振性质,电路中的电容C1、C2选择为30pF左右。该电容的的大少会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。

(2)、按钮电路

主要由S1S2S3三个按键组成,因为开发板自己默认的键盘是矩阵式,而我们的设计中只需要用到三个按键,考虑到按键个数比较少,我们将开发板上的J11跳冒由原来的右边调整到左边,让键盘变成独立式。按钮电路中的“启动”按键由键盘上的S1控制,按钮电路中的“停止”按键由键盘上的S2控制,按钮电路中的“清零”按键由键盘上的S3控制。

(3)、具体按键说明

按“启动”按键,开始计数,数码管显示从00开始每秒自动加1;按“停止”按键,系统暂停计数,数码管显示当时的计数,并且再次按“启动”键后就会继续计时;按“清零”按键,系统暂停计数,数码管显示00,并且再次按“启动”就会重新计时。

页脚内容3

3、显示电路

所用的数码管有共阴和共阳之分,本此设计使用的数码管是共阴极,数码管位控制有P2口控制。由于电路内部已经有74HC138译码器,译码器的A、B、C赋值0~7,因此输出端分别是Y0-Y7置“0”,如p2=0,则Y0=0,及选通第一个数码管,所以当我们要显示某一个数码管时,只要将P2口赋相应的值即可。因为秒表只需用两个数码管,我们选用的是第一个和第二个数码管,及分别给P2口送0和1.而数码管显示的数字段码由P0口控制,每次需要显示的数字段码通过查表找到后直接送给P0口即可,如当P0=3F,就会显示数字“0”。

4、单片机

单片机的程序可用汇编语言也可用C语言,为了提高使用汇编语言的能力,本设计特用了汇编语言了编写程序主程序流程图如下所示,具体程序见附件。主程序流程图见软件设计。

5、参数计算

本设计利用定时器T0的计数原理来实现秒表。定时器T0工作于方式1,寄存器TMOD低四位M1M0应取01,设定为软件启动定时器,故GATE取零,因为用定时功能,C/T取0,定时器方式寄存器TMOD的高四位为无关位,一般都取0,所以TMOD的控制字应取为01H。晶振频率为12MHZ,T机=1US,因为方式1最长的定时时间为65.535MS,达不到1秒的要求,因此采用硬件定时和软件计数相结合的方式来达到1秒定时。取T0的定时时间T定时=50MS,定时器采用中断方式工作,中断20次50MS乘20等于1S,设定寄存器R0为软件计数器,初值为20。秒表的初值存于寄存器R4中,个位数存于20H单元,十位数存于21H单元中。

2、方案论证

方案一:

数字信号处理器(DSP)作为一种可编程专用芯片,是数字信号处理理论实用化过程的重要技术工具,在语音处理、图像处理等技术领域得到了广泛的应用。但对于算法设计人员来讲,利用汇编语言或C语言进行DSP功能开发,具有周期长、效率低的缺点,不利于算法验证和产品的快速开发。需要模数转换;受采样频率的限制,处理频率范围有限。

方案二:

数字电路具有不稳定,容易出问题,很容易受干扰的特点。

页脚内容4

方案三:

单片机具有价格低廉的可擦写1000次以上的16(字)位指令FLASH技术,不再有报废品产生的优点。高速度、低功耗(μA)!具有SLEEP(休眠)功能及CMOS技术,每一指令执行速度可达50ns(20MHZ),而耗电则在1mA~2.5mA间(典型功耗,WDT关闭时为100nA)。AVR运用Harvard结构概念(具有预取指令功能),即对程序存储和数据带有不同的存储器和总线。当执行某一指令时,下一指令被预先从程序存储器中取出,这使得指令可以在每一个时钟周期内被执行。超功能精简指令!具有32个通用工作寄存器(相当于8051中的32个累加器,克服了单一累加器数据处理造成的瓶颈现象)及128-512个SRAM,可灵活使用指令运算并可用功能很强的C语言编程,易学、易写、易移植。

采用STC89C52RC,片内ROM全用FlashROM,能以3V的超低电压工作;同时也与MCS-51系列单片机内部储存器为8KBROM存储空间,同样具有89C51的功能,且具有在线变成可擦除技术,当对电路进行调试时,由于错误修改或对程序的新功能需要烧入程序是,不需要多芯片多次拔插,所以不会对芯片造成损害,最终采用单片机STC89C52RC作为主控系统。

三、硬件设计

1、STC89C52RC单片机的简单介绍

STC89C52RC是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器

(FPEROM-FlashProgrammabl eandEraseabl eReadOnlyMemory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。

主要性能:

8031CPU

与MCS-51微控制器产品系列兼容

4KB字节快速擦写Flash程序存储器,擦写次数1000次

存储数据保存时间为10年

编程频率3MHZ-24MHZ,编程电流1mA,编程电压Vpp为5V或12V,工作电压5V

1个片内振荡器及时钟电路,静态操作模式工作频率0MHZ-24MHZ

页脚内容5