可任意启动停止的电子秒表设计.docx
《可任意启动停止的电子秒表设计.docx》由会员分享,可在线阅读,更多相关《可任意启动停止的电子秒表设计.docx(10页珍藏版)》请在冰豆网上搜索。
可任意启动停止的电子秒表设计
可任意启动/停止的电子秒表设计
学院:
应用技术学院
年级专业:
08电信(仪器仪表)
学号:
200815194101
姓名:
幸俊夫
2011.9.12
1设计目的及要求
1.1设计目的和意义
当今,计算机技术带来了科研和生产的许多重大飞跃,微型计算机的应用已渗透到生产、生活的各个方面。
其中单片微型计算机虽然问世不久,然而体积小、价廉、功能强,其销售额以每年近80%的速率增长。
他的性能不断提高,适用范围愈来愈宽,在计算机应用领域已占有日益重要的低位。
秒表应用于我们生活、工作、运动等需要计时的方面。
钟表的数字化给人们生产生活带来了极大的方便,而且大大的扩展了钟表原先的报时功能。
它由刚开始的机械式秒表发展到今天所常用的数字式秒表。
秒表的计时精度越来越高,功能越来越多,构造也日益复杂。
电子科技日新月异,人们对现代电子设备的智能化和微型化及其精度提出来更高的要求,本次采用了AT89C52单片机,其灵活性和可靠性都相对提高。
鉴于以上要求,我利用proteus仿真软件,设计了一款基于AT89C52单片机的可启动/暂停的秒表计时系统。
1.2设计任务与要求
系统要求6位LED数码显示,计时单位为1/100秒。
利用功能键进行启/停控制。
其功能为:
上电后计时器清0,当第一次(或奇数次)按下启/停键时开始计数。
第2次(或偶数次)按下该键时停止计时,再一次按启/停键时清零后重新开始计时。
2硬件电路设计
2.1总体方案设计
电子秒表系统主要完成对计时实时的显示,精度达到1/100s,以及通过功能键可以使当前计时暂停或重新计时。
系统主要包括晶振电路、复位电路、按键电路以及数码管显示电路。
系统采用六个共阴极数码管,其中八位数据口与单片机的P0口通过74LS245双向总线收发器相接,可增加P0的驱动能力。
6个片选信号连接单片机P1口的低六位。
该电路可满足对计时时间的显示,最后一个最小显示单位为0.01s,溢出则向前进位,显示时间的范围为0~9999.99s。
本系统按键采用外部中断的方式,因此按键接入单片机的P3.2口,通过下降沿触发方式来控制计时器的启停。
系统的整体框图如图1所示:
图1系统整体框图
2.2功能模块电路设计,
2.2.1单片机的选型
由于本系统只需要单片机完成对计时的显示以及处理由按键产生的中断。
对于I/O资源以及处理速度无特殊要求,故选择ATMEL公司生产的AT89C52单片机,AT89C52增加了在线调试功能,即程序可以通过JTAG接口下载,调试和固化,因而该芯片的开发不再需要昂贵的硬件仿真器,可实现实时仿真,所有的资源都可以为用户所使用,可以在线编程或在系统编程,更进一步地说,在线编程或在系统编程是开发的系统具有了通过网络进行升级、维护的潜在功能。
AT89C52的性能及特点[1]:
●与MCS-51系列单片机兼容。
●
●片内有8K可在线重复编程的快速内
●
存可擦写存储器(FlashMemory)。
●存储器可循环写入/擦写10000次以上。
●
●存储器数据保存时间为10年以上。
●
●宽工作电压范围:
Vcc可为2.7V-6.5V。
●
●全静态工作:
可从0Hz-24MHz。
●
●程序存储器具有三级加密保护。
●
●256字节的内部RAM。
●
●32条可编程I/O口线。
●
●三个16位定时器/计数器。
●
●中断结构具有5级(6级)中断源和两个优下级。
●
●可编程全双工串行通讯。
●
●空闲维持低功耗和掉电状态保护存储数据。
●
AT89C52引脚图如图2所示。
图2AT89C52引脚图
VCC:
+5V电源输入
GND:
接地
P0口是一个双向8位三态I/O口,每个口可独立控制。
使用时需外接上拉电阻。
P1口是一个准双向8位I/O口,它的功能是单一的,只能用作数据的输入或者输出。
P2口是一个准双向8位I/O口,输出时,从P2.x端口可输出CPU写到锁存器上的信号。
当该接口用做数据输入接口是,应先向该位写1,然后,读该位即可读入输入数据。
P3口是具有第二功能的准双向8位I/O口。
ALE/PROG:
地址所存/编程信号线。
当P0口工作在第二功能时从该端口可复用工作,某时刻该端口可以送出地址信号A0~A7,而另外的时刻该端口传送的是数据信号D0~D7。
利用ALE可以将地址信号A0~A7锁存到地址锁存器。
/VPP:
该控制信号线也具有双重功能,是允许访问片外ROM/编程高电压引线。
:
程序存储器允许输出控制端,常用作片外ROM的读控制信号,低电平有效。
RESET:
复位引脚,当该端加上超过24个时钟周期的高电平时,可是8051复位。
系统复位电路如图2.3所示。
X1、X2:
外接时钟引脚。
X1为片内振荡电路的输入端,X2为片内振荡电路的输出端。
2.2.2振荡电路设计
AT89C52内部有一个用于构成片内振荡器的高增益反相放大器,振荡器产生的信号送到CPU,作为CPU的时钟信号,驱动CPU产生执行指令功能的机器周期。
引脚XTAL1和XTAL2是此放大器的输人端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器,振荡电路的连接如图所示图8所示,外接石英晶体或陶瓷谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。
对外接电容C1和C2的值虽然没有严格的要求,但电容的大小多少会影响振荡器频率的高低、振荡器的稳定性、起振圈内部振荡的接法的快速性和温度稳定性。
外接石英晶体时,C1和C2一般取(40pF-10pF),外接的是石英晶体,所以,C1、C2选择标称值30pF[2]。
系统振荡电路如图3所示。
图3振荡电路
2.2.3复位电路设计
单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。
无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。
89系列单片机的复位信号是从RST引脚输人到芯片的施密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚有一个高电平并维持2个机器周期(24个振荡周期),则CPU就可响应并且将系统复位。
复位分为手动复位和上电复位。
本设计系统采用的是上电自动复位。
系统复位电路如图4所示。
图4复位电路
2.2.4数码管显示电路设计
本系统使用了6只集成式共阴极数码管(7SEG-MPX6-CC-BLUE),所有数码管a引脚并联在一起,b,c,d,e,f,g,dp也是分别并联的,任何时候发送的段码均会传送到所有的数码管上,所有数码管共阴极是独立的。
为了使不同的数码管显示不同字符,这种集成式多位数码管常用的动态扫描显示技术,它利用了人的视觉暂留特征,宣统第1只数码管时,发送1的段码;选通第2只数码管时,发送2的段码;选通第3只数码管时,发送3的段码。
每次仅选通一只数码管,发送对应的段码,每次切换选通下一数码管并发送相应段码的时间间隔非常短,视觉惰性使人感觉不到字符是一个接一个显示在不同数码管上的,而会觉得所有字符很稳定的同时显示在不同数码管上[3]。
数码管电路如图5所示。
图5数码管显示电路
2.2.5按键电路设计
本系统的计数按键连接单片机的P3.2(INT0),程序中将INT0的中断触发方式设置为下降沿触发,这样使得计数按键按下时,P3.2上由高到低的跳变会触发中断,如果按下后没有释放,中断则不会持续触发,只有在释放按键后再次按键时,才会因为又出现高电平到低电平的跳变而再次触发中断,这样会使计数值仅在计数键每次重新按下时累加。
按键电路如图6所示。
图6按键电路
2.3总电路设计
系统总电路图如图7所示。
图7系统总电路图
3软件系统设计
3.1软件系统总体方案设计
系统软件由主程序模块、测温程序模块、键盘扫描程序模块以及液晶驱动程序模块组成。
软件总体框图如图8所示。
图8软件总体框图
3.2软件流程图设计
系统软件流程图如图9所示。
图9系统软件流程图
4系统调试
程序在KeiluVision4环境下编写,编译通过后生成.hex文件加载到Protuse下可正常运行。
程序刚运行前数码管显示初值为0000.00,接通电源后系统开始计时,程序中每0.01s进入一次定时中断,故精度可达到0.01s。
在程序运行过程中若按下一次功能键,则系统暂停计时,数码管显示计时截至状态;若再次按下功能键,系统自动清零并重新开始计时,如此重复进行下去。
图10为第一次按下功能键后的状态。