2 总体方案设计
2.1 系统框图
本文所设计的是一个自动报时系统,它不仅具有数字电子时钟的各种功能,如具有较时、调时、定时、闹钟等功能,而且还具有驱动电铃,定点报时等功能。总体设计框图如图2.1所示:
图2.1 系统框图
2.2 设计方案介绍
由于本文考虑到用C语言来做自动报时系统的设计比较简单。对于程序我的设计思路是:
1.要有主程序,主程序一般是显示和中断的初始化。
2.要有显示子程序,当键入一个时间值时显示程序要把这个键入的时间值给显示出来。
3.要有中断服务程序,功能,走时,判断是否到定时时间等等。
3 硬件设计
3.1 硬件的选择方案
因为我设计的是一个自动报时系统,它需要准确的走时、较时、调时、定时、定点报时等,所以我选用的是AT89C52单片机芯片,再配以DS1302、、晶振电路、复位电路以及LCD动态显示器,就可以实现。采用AT89C51的P0接口外接8路反相三态缓冲器74LS240作LCD动态扫描的段码控制驱动信号,用P2接口的P2.0-P2.5外接一片集电极开路反相门电路7406做为6位LCD的位选信号驱动口,6个数码管的8根段选线分别接74LS240的输出,DS1302实时时钟由P1.0、P1.1、P1.2来控制。
3.2 AT89C52单片机最小系统设计
3.2.1 AT89C52单片机
AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
主要功能特性:
兼容MCS51指令系统 • 8k可反复擦写(>1000次)Flash ROM
32个双向I/O口 • 256x8bit内部RAM
• 3个16位可编程定时/计数器中断 • 时钟频率0-24MHz
• 2个串行中断 • 可编程UART串行通道
• 2个外部中断源 • 共6个中断源
• 2个读写中断口线 • 3级加密位
• 低功耗空闲和掉电模式 • 软件设置睡眠和唤醒功能
AT89C52的管脚如图3.1所示:
图3.1 AT89S52的管脚
1)VCC:40脚,供电电压,一般接+5V电压。
2)GND:20脚,接工作地。
3)P0口:1~8脚,P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上电阻。但是P0口在程序校验作为输出指令字节时,需要外部加上拉电阻,一般上拉电阻选4.7K~10K为宜。本设计中用5.1K的排阻对P0口进行上拉电平。
4)P1口:32~39脚,P1口是一个内部具有上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1端口写入“1”后,被内部上拉电阻把端口拉高,此时可以作为作输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。 AT89C52单片机的车站自动报时系统设计+仿真电路图(4):http://www.youerw.com/zidonghua/lunwen_5929.html