需要的电子元器件
AT89C51(8051单片机)
8位数码管
10个按键
2个10kΩ的电阻
8个100Ω的电阻
2个470Ω的电阻
2个2N2222的NPN三极管
5V的有源蜂鸣器
1N4007的二极管
10μF的电容
2个33pF的电容
11.0592MHz的晶振
8051单片机烧写工具
5V电源
设计步骤
1.设计电路
2.用软件画电路图
3.使用C语言或汇编语言写程序并用Keil μVision一类的软件来编译
4.将代码烧写进单片机中
5.测试硬件电路
电路设计
抢答器的电路涉及4个主要部分,8051单片机,单刀单掷(SPST)按键开关,蜂鸣器,以及一个共阳极8位数码管。该项目使用的单片机为AT89C51,一个Atmel(如今已被Microchip收购)生产的8位单片机。
重置电路设计:重置电阻处于重置引脚上,穿过它的电压最小要1.2V,且该引脚的脉冲宽度要大于100ms。此处我们选择的是10kΩ的电阻和一个10μF的电容。
振荡电路设计:振荡电路运用了一个11.0592MHz的晶振和2个33pF的陶瓷电容。晶振应连接于单片机的18与19引脚间。
单片机交互设计:8个按键都被安排至单片机的P1端,而蜂鸣器则连接于P3.3。数码管则与P2端相连。
单片机代码:单片机可以用C语言也可以用汇编语言。此处我们给出的代码为C语言,并用Keil来编写。编写步骤如下:
1.在Keil中创立一个新的项目并选择正确的单片机。
2.创建一个新的C文件并编写项目代码。
3.编译代码并创建hex文件。
一旦编译完成并生成hex文件后。下一步就是将代码烧录进单片机中。
代码见底部附件
抢答器的运作原理
一旦电路上电后,编译器会初始化堆栈指针以及有着非零初值的变量,然后再进行其它初始化,最后再运行主要函数。该程序会检测是否有按键按下。
换句话说,单片机会扫描所有P1端的输入引脚,查看它们是处于0还是逻辑低电平。按键按下的情况下,显示模块会显示对应的数字。单片机负责将相关信号传入8位数码管。
单片还会让蜂鸣器启动几秒再关闭它,但数码管上的数字将会持续显示,直到RST按键按下才会重置。
抢答器电路的应用
1.该电路可以用于学校和其它机构组织的测验。
2.可以用于一些游戏场合。
3.可以用于一些公共场所,比如银行,餐馆等地的数字代币显示系统。