时钟电路如图2所示。
图2 时钟电路
图中C1和C2被称为谐振电容,它们不仅能促使单片机系统快速起振,还具有微调频率的作用,其容值选择与所用的晶体振荡器的频率值有关,两者的搭配合适与否直接影响到自激振荡器频率的稳定性,因此,基于大量的实际应用,两者之间形成了一定的固定搭配。
系统中晶体振荡器的频率的确定应与实际相结合。首先要保证单片机的运算速度,其次要考虑到单片机的外围设备,尽量节约成本,因此本文中的晶体振荡频率设计为12MHz,谐振电容的容值选定为30pF,时钟周期为1/12µs。出于保证振荡器的稳定性与可靠性,晶体振荡器和谐振电容的位置应尽可能地靠近单片机的XTALl和XTAL2引脚。
2.2.2复位模块
系统复位即CPU进入初始状态,并从0000H地址开始执行程序的过程。单片机要实现复位[3],必须配合相应的外部复位电路,可通过给单片机的第9脚RST持续4个机器周期的高电平实现。其电路图如下图3所示。 图3 复位电路
由图中元器件的大小可以算出:电容充电到电源电压的0.7倍3.5V所需要的时间是10K*10uF=0.1S。即在电脑启动的0.1S内,电容两端的电压在0~3.5V增加,10K电阻两端的电压从5V---1.5V减少,串联电路各处电压之和为总电压。所以在0.1S内,RST引脚所接收到的电压是5V---1.5V。又在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号,所以单片机系统自动复位[4]。
系统正常工作时RST处于低电平,当按键按下的时候,开关导通,电容被短路,并开始释放电量,0.1S内从5V释放到1.5V一下,此时10K电阻两端的电压大于3.5V,所以RST引脚又接收到高电平[5]。单片机系统自动复位。
2.3 显示模块
在单片机的应用系统中,LED显示器是常用的输出器件,它由若干个发光二极管组成,我们可以通过控制不同的二极管导通从而显示各种字符。在本设计中根据实际情况采用的是共阳极动态显示方法[6]。4位七段数码管显示电路如图4所示。
图4 智能抢答器显示模块
图4中数码管采用的是4位七段共阳极数码管,其中A-H段分别通过8路3态缓冲驱动器74LS244接到单片机的P0口,由单片机输出的P0口数据来决定段码值,位选码COM1、COM2、COM3、COM4分别接到单片机的P2.0、P2.1、P2.2、P2.3,由单片机来决定当前该显示的是哪一位[7]。在图中还有八个10K的电阻,连接在P0口上,用作P0口的上拉电阻,保证P0口没有数据输出时候处于高电平状态。
2.4 按键输入模块
在单片机应用中键盘可分独立键盘与矩阵键盘,他们各有优缺点。其中独立键盘的各按键相互独立,每个按键单独占用一根I/O口线,且它们的工作状态互不影响,通过检测输入线的电平状态能够快速准确的判断哪个按键被按下了,也因此具有电路配置灵活,软件结构简单等特点,但同时每个按键需占用一根I/O口线,当按键数量较多时,I/O口浪费大且电路结构显得复杂[8]。由于八路智能抢答器设计中按键较少,端口资源丰富,我们采用独立键盘的方式。
本设计中有一个开始按键、一个结束按键、抢答时间调整键、回答时间调整键、加一按键、减一按键等8个抢答按键输入。按键连接图如图5所示。
图5 按键连接图
在图5中8个抢答按键分别接入单片机的P1.0-P1.7端口,单片机通过读取P1.0-P1.7的值来判断当前输入的是8个抢答按键中的哪一个[9]。抢答时间调整和回答时间调整接到单片机的P3.3和P3.4接口,加一及减一按键接到单片机的P3.5和P3.6接口,开始及结束按键接到单片机的10、11脚,这里用到了单片机10、11脚复合功能中的I\O端口功能,单片机通过读取10、11脚的P3.0、P3.1的I\O端口值来判断当前是否处于抢答开始状态或抢答结束状态。 AT89C51单片机数字抢答器设计+源程序+电路原理图(3):http://www.youerw.com/zidonghua/lunwen_1043.html