1、11 设计课题任务、功能要求说明及总体方案介绍1.1 设计课题任务(一)设计题目:单片机抢答器课程设计(二)设计任务:通过理论知识的运用和实物制作相结合,写出抢答器汇编程序,做出抢答器实物,掌握和理解单片机技术书本中所学的理论知识和实验方法,掌握一些单片机应用系统的设计方法,掌握 keil 和 proteus 软件的使用方法,提高自己的思维能力、学习能力以及动手实践能力,为以后从事电子电路设计、研发电子产品打下良好的基础。1.2 功能要求说明设计一个具有特定功能的抢答器。该抢答器上电或按键复位后能自动显示系统提示符“P.” , 进入准备工作状态。主持人按下开始按钮后,抢答开始并限定时间30S;
2、10S 内无人抢答,蜂鸣器发出音响;主持人按下开始按钮之前有人按下抢答器,抢答违规,显示器显示违规台号,违规指示灯亮,其它按钮不起作用;正常抢答,显示器显示台号,蜂鸣器发出音响,其它抢答按钮无效;正常抢答下,从按下抢答按钮开始 30S 内,答完按钮没按下,则作超时处理,超时处理时,违规指示灯亮,数码管显示违规台号。蜂鸣器发出音响;各台数字显示的消除,蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位按钮。1.3 设计总体方案介绍设计中采用 AT89S52 芯片、LED 显示器、蜂鸣器、LED 灯、数码管和一些独立式按键构成一个简易六路抢答器。设计中是采用单片机的内部定时器进行定时,原理框图如图
3、 1 所示 A T 8 9 S 5 2单片机芯片独立键盘电路时钟电路独立键盘电路L E D 数码管电路蜂鸣器独立键盘电路图 1 抢答器原理框图2整个抢答器的工作原理是:在正常的供电状态下显示“P.” ,开始抢答时利用单片机倒计时,并由单片机将所需要显示的数据送到 LED 显示器的输入口,当有键按下时则执行相应的键功能程序。32 抢答器的硬件系统的设计2.1 抢答器硬件系统各模块功能简要介绍该抢答器主要由单片机最小系统、按键电路模块、LED 显示电路模块、蜂鸣电路模块和 LED 指示灯电路模块组成。各模块的功能如下:(1)单片机最小系统单片机最小系统包括 AT89S52 单片机如图 2、晶振电路
4、如图 3 所示、复位电路如图 4 所示。只有当单片机有了这些电路才会工作。电源电路给单片机供电,晶振电路给单片机提供计数时间,复位电路可以实现单片机的复位。图 2 AT89S52 单片机芯片图 3 晶振电路4图 4 复位电路(2)独立键盘电路模块 如图 5 所示运用独立键盘电路,设计一段公共接地,另一端通过上拉电阻接到 P1口,当有按键按下,相应的口就会变成低电平,产生一个下降沿。图 5 独立键盘电路(3)LED 显示电路模块如图 6 所示采用两个四位一体共阳型数码管显示器进行显示。由于位控线的驱动电流较大,因此在 P2 口线上接了 8 个 PNP 型三极管提高驱动能力;在单片机的 P1 口线
5、和 P2 口线上接了 16 个 470 的电阻,这些电阻起限流的作用。将段控口 a-dp 接在P0.0-P0.7 上,位控口接在 P2 口线上,实现对显示的控制。LED 显示电路模块主要用来指示第一抢答者,显示倒计时和违规的台号。5图 6 LED 显示电路模块(4)蜂鸣电路模块如图 7 所示单片机 P3.1 口线上接上一个 1K 电阻然后再通过一个 PNP 型三极管与蜂鸣器相连接组成蜂鸣器电路,接入 PNP 型三极管是为了增强蜂鸣器的驱动电流。蜂鸣电路主要完成提示和违规报警功能。图 7 蜂鸣电路模块(5)LED 指示灯电路模块如图 8 所示单片机 P3.2 口线上经过一个 470 的电阻与 L
6、ED 灯的阴极相连接,LED 灯的阳极接正五伏电压。470 的电阻起限流的作用。LED 指示灯电路模块主要用来指示用违规操作发生。6图 8 LED 指示灯电路模块(6)下载口电路模块如图 9 所示下载口的 1 脚接 P1.5 口,2 脚悬空,3 脚接单片机的复位口,4 脚接P1.6 口,5 脚接 P1.7 口,6 脚接地,7、8、8、10 脚接地。图 9 下载口电路2.2 抢答器电路原理图、PCB 图、元器件布局图Proteus 原理图、PCB 顶层图、PCB 底层图 、元器件布局图分别见附录 A 附录B 附录 C 以及附录 D。2.3 抢答器元器件清单元器件清单见附录 E。73 抢答器软件系
7、统的设计3.1 抢答器使用单片机资源的情况该抢答器使用了单片机的定时器的功能,其中具体用到了单片机的定时器 0 和定时器 1,并且让它们都以中断方式工作,没有用到外部中断。寄存器用到了第 0 组,第 1 组,第 2 组。在数据的显示时,采用查表的方法,因此需要将表格、数据存放在单片机的程序存储器上。用到的 LED 显示器接到了单片机的 P0 口线上和 P2 口线上。LED 指示灯和蜂鸣器接在 P3 口线上。3.2 抢答器软件系统各模块功能简要介绍该抢答器所用的软件模块有定时器模块、按键模块、LED 显示模块。(1)定时器模块选择定时器 0,设置定时器定时方式为方式 1 以中断方式工作,设置定时
8、时间为50ms。(2)按键模块采用独立式键盘,共用七个按键对电路进行控制和操作,分别为S1、S2、S3、 S4、S5、S6 、S7 来控制抢答器。S1、S2、S3 、S4、S5、S6 代表选手;S7 为答完键、 S8 为开始键、 S9 为复位键。(3)数码管显示模块抢答器上电显示“P.” ,按开始键开始抢答,显示器显示倒计时 30s,10s 内若无人抢答报警一次,若 30s 内都无人抢答,报警并灯亮。若没按下开始键为无效抢答则显示器显示违规台号并报警。3.3 抢答器软件系统程序流程框图3.3.1 主程序流程框图主程序流程框图如图 10 所示。8控制变量初始化开始开始键是否按下 ?1 号抢答是否
9、按下 ?2 号抢答是否按下 ?3 号抢答是否按下 ?4 号抢答是否按下 ?5 号抢答是否按下 ?6 号抢答是否按下 ?抢答开始 , 倒计时 3 0 秒1 号违规 , 显示 1 号灯亮2 号违规 , 显示 2 号灯亮3 号违规 , 显示 3 号灯亮4 号违规 , 显示 4 号灯亮5 号违规 , 显示 5 号灯亮6 号违规 , 显示 6 号灯亮是否按下复位键 ?是否按下复位键 ?是否按下复位键 ?是否按下复位键 ?是否按下复位键 ?是否按下复位键 ?YNYYYYYYNNNNNNNNNNNYYYYYY图 10 主程序流程框图93.3.2 开始键程序流程框图开始键程序流程框图如图 11 所示。开始开定
10、时器 0 , 标志 2 置 1定时器 0 赋初值 3 0 秒调显示子程序判断 S 1 是否按下 ?定时 3 0 秒无人抢答结束执行 S 1 按键程序判断 S 2 是否按下 ?判断 S 3 是否按下 ?判断 S 4 是否按下 ?判断 S 5 是否按下 ?判断 S 6 是否按下 ?判复位键是否按下 ?执行 S 2 按键程序执行 S 3 按键程序执行 S 4 按键程序执行 S 5 按键程序执行 S 6 按键程序YN执行复位键程序NNNNNNYYYYYY图 11 开始键程序流程框图3.3.3 抢答键程序流程框图10抢答键程序流程框图如图 12 所示。开始判标志 2 是否为 13 0 秒后报警结束显示 P3 0 秒后报警执行打完程序执行违规程序判标志 1 是否为 1判答完键是否按下判复位键是否按下 判复位键是否按下YY YYNNNYN图 12 开始键程序流程框图3.3.4 答完键程序流程框图答完键程序流程框图如图 13 所示。开始结束定时器 0 关闭判断复位键是否按下 ? 执行复位程序YN图 13 答完键程序流程框图