当前位置:文档之家› 多功能秒表的设计

多功能秒表的设计

多功能秒表系统设计摘要根据相关的单片机材料,利用所学的单片机知识,编写能够实现该项目的软件程序,最后将软、硬件有机的结合起来,进行有效的调试,达到完成该实验课程设计的目的要求。

本设计的多功能秒表系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、电源电路、LED数码管以及键盘电路来设计计时器。

将软、硬件有机地结合起来,使得系统能够实现两位LED显示,显示时间为00~99秒,每秒自动加1,能正确地进行加1,快加,可以同时记录4个相对独立的时间,通过翻页来查看这4个不同的计时值,可谓功能强大。

其中软件系统采用汇编语言编写程序,包括显示程序,加1,计数程序,快加程序,中断,延时程序等,并在WA VE中调试运行,硬件系统利用PROTEUS 强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。

该系统具有显示直观﹑使用方便﹑可靠等优点在系统设计过程中考虑了性价比,选用性价比低﹑性能确定的元器件。

易于观察,在仿真中就可以观察到实际的工作状态。

该系统具有显示直观﹑使用方便﹑可靠等优点在系统设计过程中考虑了性价比,选用性价比低﹑性能确定的元器件。

目录1概述..................................................... - 2 -1.1 课程设计的要求................................................ - 2 -1.2 课程设计的目的意义............................................ - 2 -2 系统总体方案及硬件设计.................................. -3 -2.1设计思路及描述................................................. - 3 -2.2 硬件构成...................................................... - 3 -2.3 显示模块...................................................... - 5 -2.4 开关控制电路模块.............................................. - 6 -3 软件设计................................................. - 7 -3.1主程序......................................................... - 7 -3.2显示程序....................................................... - 8 -3.3开关控制程序................................................... - 8 -3.4记录翻页子程序................................................. - 9 -3.5暂停复位快加子程序............................................. - 9 -3.6中断和加1子程序.............................................. - 10 -4 Proteus软件仿真........................................ - 11 -4.1 单片机加载程序启动仿真后,按下开始键加1计数仿真.............. - 11 -4.2 单片机加载程序启动仿真后,按下暂停键时仿真图.................. - 11 -4.3 单片机加载程序启动仿真后,按下复位键时的仿真图................ - 12 -4.4 单片机加载程序启动仿真后,按下快加键时的仿真图................ - 12 -5 心得体会................................................ - 13 -参考文献.................................................. - 13 -附录...................................................... - 14 -1概述近年来随着科技的飞速发展,单片机的应用正在不断的走向深入,同时带动着传统控制检测技术的更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合,加以完善。

秒表的出现,解决了传统的由于人为因素造成的误差和不公平性. 随着科学技术的发展,人们的时间观念愈来愈强,科学测量的时间精度也越来越高。

现在,以秒为时间的基本单位是国际单位制七个基本单位中精度最高的,已达到10-14的数量级,也就是说三百万年误差不超过一秒。

正因为它的精度高,大大促进科学技术的发展,特别是促进太空技术、计算机技术等领域的发展。

1.1 课程设计的要求(1)能同时对5个四个相对独立的时间分别显示。

(2)两位LED显示,现实时间为00~99秒。

(3)每秒自动加一。

(4)一个开始按键,一个复位按键,一个暂停按钮和一个快加按钮(每十毫秒快速加一)。

(5)翻页按钮查看五个不同的计时值。

1.2 课程设计的目的意义(1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解,掌握定时器、外部中断的设置和编程原理。

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

该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、快加功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义。

2 系统总体方案及硬件设计2.1设计思路及描述本实验设计六个控制按键:其中第一个按键按下去时以1秒加一开始计时,即秒表开始键,第二个按键按下去时暂停计时,使秒表停留在当前的计时值,第三个按键按下去时清0即复位,第四个按键按下去则是以每10ms秒快速加一,第五个键按下时开始计数,第六个键按下时进行翻页查看。

该实验要求进行计时并在数码管上显示时间,则可利用AT89S51芯片的P0.0-P0.7管脚对应了两个接数码管的A,B,C,D,E,F,G和小数点位,P2.6接显示个位数的数码管的选通引角,P2.7则接十位数的。

P2.6和P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,驱动相应的芯片内部和外部电路元器件给数码管相应的位供电,这时只要P0口送出数字的显示代码,数码管就能正常显示需要的数字。

2.2 硬件构成(1)主控模块AT89S51图1 单片机A T89S51芯片AT89S51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效的微控制器。

AT89S51芯片如下:1)主要特性:①与MCS-51 兼容 4K字节可编程闪烁存储器②全静态工作:0Hz-24HZ③三级程序存储器锁定④128*8位内部RAM⑤32可编程I/O线⑥两个16位定时器/计数器⑦5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路2) 振荡器电路MCS--51单片机内部的振荡电路是一个到增益反相放大器,引线XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。

51单片机的时钟产生方式有两种,分别为:内部时钟方式和外部时钟方式。

在MCS-51单片机一般常用内部时钟方式,也就是在XTAL1和XTAL2之间连接晶体震荡器与电容构成稳定的自激振荡器,用示波器可以观察到XTAL2输出的时钟信号。

晶体和电容决定了单片机的工作时间精度为1微秒。

晶体可在1.2-12MHz之间选择。

MCS-51单片机在通常应用情况下,使用震荡频率为6MHZ的石英晶体,而12MHZ频率的警惕主要是在高速串行通信情况下才使用,在这里我用的是12MHZ石英晶体。

对电容无严格要求,但它的取值对振荡频率输出的稳定性、大小及振荡电路起振速度有一点影响。

外部时钟方式是把外部震荡信号源直接接入XTAL1或XTAL2,有时还要接一个上拉电阻。

在XTAL1和XTAL2之间连接晶体震荡器与电容构成稳定的自激振荡器,电路图如下:图2 晶体振荡电路3) 复位电路:MCS-51单片机的复位是靠外部电路实现的。

MCS-51单片机工作之后,只要在他的RST引线上加载10ms以上的高点平,单片机就能有效地复位。

MCS-51单片机通常有上电自动复位﹑按键复位﹑手动加按钮复位﹑脉冲复位四种方式,本设计采用了自动上电复位方式。

复位电路如下图:图3 AT89S51上电自动复位电路上电瞬间,RC电路充电,RST引线出现正脉冲,只要RST保持10ms以上的高电平,就能使单片机有效的复位。

2.3 显示模块显示电路既可以选用液晶显示器,也可以选用数码管显示。

数码管主要是用于数字的显示。

数码管有共阴和共阳的区分,单片机都可以进行驱动,但是驱动的方法不同。

而数码管显示又有静态和动态两种显示方式,其中静态显示程序简单,显示比较稳定,但占用I\O口较多;动态显示的程序比较复杂,所使用的端口较少,可以节省I/O口,在本设计中采用的是动态显示。

显示所用两位数码管及循环电路图如下:表一,共阴极数码管的段码表:(CC)“0”3FH “8”7FH“1”06H “9”6FH“2”5BH “A”77H“3”4FH “b”7CH“4”66H “C”39H“5”6DH “d”5EH“6”7DH “E”79H“7”07H “F”71H图4 LED 数码管显示电路2.4 开关控制电路模块P1.0P1.1P1.2P1.3P1.4P3.3\INT1R210k R310k R410k R510k R610k复位快加计数翻页开始暂停图5 开关控制电路图3 软件设计该系统主要有主程序﹑中断子程序﹑显示子程序﹑加1子程序﹑记录翻页子程序﹑快加子程序组成。

3.1主程序完成硬件的初始化﹑子程序调用等功能:1)对定时器T 1﹑T0的工作模式进行设定,分别设定为工作模式一,并对两个工作定时器初始化,分别赋初值定时10.其中GATE=0, C/¯T=0, M1M2=01 即TMOD=00010001=11HD7D6D5D4D3D2D1GATE C/¯T M1 M0 GATE M1 M0模式一:M=216 =65536初值的计算:用T1定时10ms,计数初值为:X1=216-10*10-3*12*106/12=65536-10000=55536=D8F0H 2)在主程序中设置了九个工作寄存区,分别为:20H,用于00~99秒的记数暂存区;30H,31H分别用于寄存要显示的十位和个位的两个数字,40H﹑50H用于存储循环记数个数,41H﹑42H﹑43H﹑44H作为记录四个相对独立时间的工作寄存区另外还用了一个间接寄存器R1,用于访问以上四个工作寄存区。

相关主题