图 3。2 复位电路
3。3 显示电路的设计
在本设计中,我使用的是七段数码管显示,通常在数码管显示上我们采用这两种方法: 一种是静态显示驱动,一种是动态显示驱动。其中静态显示驱动的特点是显示稳定并且不 闪烁,程序简单,但占用 I/O 口过多;动态显示驱动的特点是显示稳定性良好,程序复杂, 但是相对静态显示而言占用 I/O 口资源少[4]。所以在本设计中结合实际情况采用的方法是 动态显示驱动。
在这个显示电路中我使用了四位七段共阳数码管,其中数码管的 A-H 段分别接到 AT89C52 单片机的 P0 口,由单片机输出的 P0 口的数据来决定段码值,位选码 COM1、COM2、 COM3、COM4 分别连接到单片机的 P2。7、P2。6、P2。5、P2。4 端口,由单片机来确定现在该 显示的是哪一位,如图 3。3。在图中还有八个 10K 的电阻,连接在 P0 口上,用作 P0 口的 上拉电阻,保证 P0 口在没有任何数据输出时处于高电平状态。
图 3。3 显示电路
3。4 键盘扫描电路的设计
键盘是现在人与单片机打交道的主要设备。关于键盘硬件电路的设计方法也可以在各 种文献、书籍中找到,配合不同的硬件电路,有些书籍中也会提供相应的键盘扫描程序。 但是如今仅仅完成键盘扫描,读取当前的键盘状态是远远不够的,还有很多问题需要解决, 否则,人们在操作键盘的时候就很容易引起误操作和操作失控等现象。因此人们在单片机 应用中用得最多的键盘是独立键盘以及矩阵键盘。
独立键盘和矩阵键盘各有各的特点,其中独立键盘的硬件电路比较简单,而且程序也 不复杂,一般对硬件电路要求不高的简单电路中会普遍使用;而矩阵键盘和独立键盘相比 有很大的区别,首先在硬件电路上矩阵键盘比独立键盘复杂很多,程序也比它更加复杂, 但它的优势是节省 I/O 口的资源,因此矩阵键盘更适合多按键电路[5]。其次就是矩阵键盘 可以消除在按键过程中产生的“毛刺”现象。消除“毛刺”现象最常使用的方法就是延时 重复扫描法,延时法的原理是: “毛刺”脉冲一般持续的时间较短,约为几毫秒,而我 们真正按键的时间远远多于几毫秒,所以当单片机检测到有按键的动静之后再延迟一段时 间之后再判断此时电平是否保持之前的状态,如果是的则视为有效按键,否则为无效。来*自~优|尔^论:文+网www.youerw.com +QQ752018766*
本设计采用 4*3 键盘,有 8 个选手抢答按键输入,一个复位键、一个开始功能键、一 个查分键,两个评判键(对、错按键各一个),此外还有独立的抢答、答题时间调整键。 如图 3。4 所示:
图 3。4 按键电路
3。5 发声电路的设计
我们知道,声音的频谱范围大概在几十到几千赫兹,如果能利用程序来控制单片机某 个端口的高电平或者低电平,则在该端口上就能产生一定频率的矩形波,接上蜂鸣器就能 发出一定频率的声响,若能再利用延时程序来控制高、低电平持续的时间,那么就能改变 波形的输出频率,从而可以改变音调,使蜂鸣器发出不同的声音。