AT89C52 有 40 个引脚,32 个外部双向 I/O 口,同时包含 2 个外部中断口,3 个 16 位 可编程定时计数器,2 个全双工串行通信口,2 个读写口。AT89C52 可以按照常规的方法来 进行编程,但是不支持在线编程。AT89C52 单片机将通用的微处理器和 Flash 存储器结合在 一起,可有效地降低开发成本。
综合以上分析,本设计采用的主控芯片是 AT89C52 单片机。
2。2。2 显示部分的方案选择
1。 液晶显示方式。液晶显示效果虽然很良好,可以运用菜单项方便操作,但是在显 示时,特别是使用秒表功能时扫描速度跟不上,屏幕会有明显的闪烁。
2。 数码管显示方式。相比液晶显示,数码管虽然操作比液晶显示略微复杂,但可视 范围十分宽,而且成本很低,也不需要很复杂的驱动程序。所以本设计最后选择数码管显 示方案。
综上所述,按照八路抢答器系统功能设计的要求,确定硬件系统由主控制器、显示模 块、按键模块这 3 个模块组成,总体系统构成框图如下图所示。
图 2。1 总体系统构成框图
3 系统硬件的设计
本设计分为,硬件和软件设计这两者相互结合,不可分离。从时间上看,硬件设计的 绝大部分工作量是在最初阶段,到后期往往还要做一些修改。只要技术准备充分,硬件设 计的修改返工是比较少的,软件设计的任务在整个设计过程中贯彻始终,到设计的中后期 基本上都是软件设计任务,随着集成电路技术的快速发展,各种功能越来越强大的芯片被 设计出来,使硬件电路的集成度越来越高,所以硬件设计的工作量在整个设计项目中所占 的比重逐渐下降。
3。1 时钟频率电路的设计
单片机必须在时钟的驱动下才能工作。单片机内部存在一个时钟振荡电路,要能产生 一定的时钟信号送到单片机内部,只需要外接一个振荡源就可以实现,时钟频率电路的设 计决定着单片机的工作速度[2]。时钟电路如图 3。1 所示。
图 3。1 时钟振荡电路
本设计选用石英晶体振荡器。所设计的时钟振荡电路在加电后大约延迟 10ms 后振荡 器起振,在 XTAL2 引脚产生幅度为 3V 左右的正弦波时钟信号,其振荡频率主要由石英晶 体振荡器的频率决定。电路中电容 C1,C2 的作用有以下两点:一是帮助石英晶体振荡器 起振;二是对石英晶体振荡器的频率进行微调。
时钟周期指的是单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制 逻辑单元的时钟信号的周期。时钟周期大小是时钟信号频率的倒数,常用 fosc 表示。图 3。1 中时钟频率为 12MHz,即 fosc=12MHz,则时钟周期为 1/12µs。
3。2 复位电路的设计
AT89C52 单片机的第 9 脚 RST 脚为硬件复位端,该端需要持续至少 2 个机器周期的高 电平便可以实现复位,复位后单片机恢复到初始化状态,其电路图如图 3。2 所示。复位电 路由电解电容 C3 和电阻 R20 构成。由于单片机是高电平复位,所以当单片机的 9 脚 RST 管脚处于高电平时,单片机处于复位状态[3]。当复位按键按下后,由于电容的缓慢充电, 单片机的 RST 脚电压逐步由高向低转变,经过一段时间后,单片机的 RST 脚处于稳定的低 电平状态,此时单片机复位完毕,系统程序从 0000H 开始执行。
另外,在本设计当中还使用了软件复位功能,抢答和答题时间的倒计时的记忆功能实 现的条件就是不能对单片机进行硬件复位,所以在本设计中还设定了软件复位功能。软复 位就是当程序执行完毕之后,通过一条跳转指令让将程序指针跳转到这个程序执行的起始 地址。文献综述