用定时器计数器设计一个简单的秒表互联网

上传人:汽*** 文档编号:479392564 上传时间:2022-10-10 格式:DOC 页数:20 大小:582KB
返回 下载 相关 举报
用定时器计数器设计一个简单的秒表互联网_第1页
第1页 / 共20页
用定时器计数器设计一个简单的秒表互联网_第2页
第2页 / 共20页
用定时器计数器设计一个简单的秒表互联网_第3页
第3页 / 共20页
用定时器计数器设计一个简单的秒表互联网_第4页
第4页 / 共20页
用定时器计数器设计一个简单的秒表互联网_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《用定时器计数器设计一个简单的秒表互联网》由会员分享,可在线阅读,更多相关《用定时器计数器设计一个简单的秒表互联网(20页珍藏版)》请在金锄头文库上搜索。

1、目录摘要I1 Proteus简介12 主要相关硬件介绍22.1 AT89C52简介22.2 四位数码管42.3 74LS139芯片介绍53 设计原理54 电路设计64.1 电路框图设计64.2 电路模块介绍74.2.1 控制电路74.2.2 译码电路74.2.3 数码管显示电路74.3 仿真电路图85 设计代码86 仿真图127 仿真结果分析148 实物图149 心得体会15参考文献16ckwd2摘要 现在单片机的运用越来越宽泛,大到导弹的导航装置、飞机上各种仪表的控制、计算机的网络通讯与数据传输、工业自动化过程的实时控制和数据处理,小到广泛使用的各种智能IC卡、各种计时和计数器等等。本次课设

2、我们要设计一个能显示计时状态和结果的秒表,它是基于定时器/计数器设计一个简单的秒表。本次设计的数字电子秒表系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现四位LED显示,显示时间为099.99秒,计时精度为0.01秒,能正确地进行计时,并显示计时状态和结果。其中软件系统采用汇编或者C语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,并在keil中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状

3、态。关键词:秒表,AT89C51,proteus,C语言ckwd21 Proteus简介Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编

4、译器。Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:1原理布图2PCB自动或人工布线3SPICE电路仿真4互动的电路仿真5仿真处理器及其外围电路Proteus拥有丰富的资源,它体现在:1Proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。2Proteus可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。3除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信

5、号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。4Proteus可提供的调试手段 Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。 Proteus不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。 课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提

6、供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。2 主要相关硬件介绍2.1 AT89C52简介AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容

7、标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。AT89C52单片机参数如下:1、兼容MCS51指令系统2、8kB可反复擦写(大于1000次)Flash ROM;3、32个双向I/O口;4、256x8bit内部RAM;5、3个16位可编程定时/计数器中断;6、时钟频率0-24MHz;7、2个串行中断,可编程UART串行通道;8、2个外部中断源,共8个中断源;9、2个读写中断口线,3级加密位;10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求

8、。AT89C52工作原理与AT89C51单片机工作原理类似,AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。

9、P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能,详细端口分布见图2-1图2-1 AT89C52端口图2.2 四位数码管四位数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c

10、、d、e、f、g及dp(小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点),如下图2-2所示。通过控制各个LED的亮灭来显示数字。图2-2 四位数码管2.3 74LS139芯片介绍74LS139 为两个2线4 线译码器,共有 54/74S139和 54/74LS139 两种线路结构型式,当选通端(G1)为低电平,可将地址端(A、B)的二进制编码在一个对应的输出端以低电平译出。 若将选通端(G1)作为数据输入端时,139 还可作数据分配器。具体的端口图见图2-3.图2-3 74LS139引脚图3 设计原理利用AT89S5

11、2单片机的定时器,使其能精确计时。利用中断系统使其实现启动、暂停以及复位清零的功能,P0口输出段码数据,P2.0P2.2连上译码器作为位选,P3.2和P3.3接口的两个按钮分别实现启动/暂停和复位功能。计时器采用T0中断实现,定时溢出中断周期为1ms,当溢出中断后向CPU发出溢出中断请求,每发出10次中断请求就对10ms位(即最后一位)加一,达到100次就对100ms位加一,以此类推,直到99.99s为止。再看按键的处理。两个按键采用中断的方法,设置外部中断0和外部中断1位脉冲边沿触发方式,这样一来每当按键按下时便会触发中断,从而实现启动/暂停和复位。开始键和暂停键使用了外部中断,所以需要连到

12、单片机的P3.2和P3.3引脚上,这两个I/O口的第二功能是单片机的外部中断0端口和外部中断1端口。 显示电路由四位数码管组成,采用动态显示方式,因此有8位段控制和4位位控制,8位段接控制接P0口,P0.0P0.7分别控制数码管的a b c d e f g dp显示,位控制接在P2.0和P2.1两个口,在通过一个24译码器实现位控制。4 电路设计4.1 电路框图设计译码器四位数码管控制电路AT89C51单片机图4-1 电路设计框图4.2 电路模块介绍4.2.1 控制电路图4-2控制模块 本次课设设计了两个按钮,一个为开始和暂时按钮,另外一个为复位按钮,当按下按钮时,会根据程序中的相应中断程序来

13、实现相关功能。4.2.2 译码电路图4-3 2-4译码电路2-4译码电路通过74LS139芯片来实现译码功能,其中A口接单片机P2.0口,B口接P2.1口,E口接地,Y0Y3口接数码管的1234口,2-4译码电路实现了对数码的位选功能。4.2.3 数码管显示电路图4-4 数码管显示电路 本次显示使用的数码管为八段数码管,共有8八二极管显示单元,其中一个为小数点了,A、B、C、D、E、F、G、DP口接单片机上的P0.0P0.7口,来进行段选,14口接上文的译码电路。完成对秒表记时的显示。4.3 仿真电路图图4-2 仿真电路5 设计代码#includeunsigned int data table

14、=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /显示码值unsigned int i,j,k,l,count;char sw=0;void delay(unisigned int z) /延时程序unsigned int x,y;for(x=z;x!=0;x-)for(y=110;y!=0;y-);void main()TMOD=0x01; /设置定时器为模式1TH0=(65536-1000)/256; /给定时器赋定时初值TL0=(65536-1000)%256; EA=1; /开中断EX0=1;/打开外部中断0中断EX1=1;/打开外部中断1中断ET0=1;/打开T0中断IT0=1; /设置外部中断位脉冲边沿触发方式 IT1=1; /跳变沿触发方式INT1上电平从从高到低的负跳变有效while(1) / 数码显示P2=0x03;P0=tablei;delay(1);P2=0x02;P0=tablej;delay(1)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号