《基于某51单片机八路抢答器课程设计》由会员分享,可在线阅读,更多相关《基于某51单片机八路抢答器课程设计(29页珍藏版)》请在金锄头文库上搜索。
1、word目 录第1章绪论11.1 例题的仿真1.2选题背景、意义31.3八路抢答器的功能简介4第2章系统硬件设计52.1 芯片的选择52.1.1 控制器的选择52.1.2 显示模块的选择52.1.3 键盘的选择62.2.4 芯片最终选择方案62.2 AT89C51单片机简单概述72.2.1 51系列单片机的功能特性72.2.2 AT89C51单片机结构说明82.3 硬件的构成与功能102.3.1 抢答器的硬件图112.3.2 时钟频率控制电路112.3.3 复位电路的设计122.3.4 报警电路的设计132.3.5 显示电路的设计132.3.6 键盘扫描电路的设计14第3章系统软件设计163.
2、1 系统主程序设计163.2 键盘扫描程序设计173.3 显示程序设计18第4章系统调试与软件仿真194.1 硬件调试194.2 Keil uVision2软件调试194.3 Proteus仿真20第5章总结23附录23附录一主程序清单23附录二单片机八路智能抢答器原理图37参考文献38第一章 绪 论1.2 课本例题仿真例题 4-6在Keil uVision2软件中调试程序程序如下:例题 5-1在Keil uVision2软件中调试程序程序如下:1.2 选题背景、意义当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有
3、的速度被单片机智能化控制所取代。单片机具有体积小、功能强、本钱低、应用面广等优点,可以说智能化控制与自动控制的核心就是单片机。目前,抢答器已经作为一种必不可少的工具广泛应用于各种智力和知识竞赛场合,但一般的抢答器可靠性低,使用寿命短,介于这些不方便因素,此次设计提出了用AT89C51单片机为核心控制元件,设计一个简易的八路抢答器。本方案以AT89C51单片机作为主控核心,与晶振、数码管、蜂鸣器等通过外围接口实现的八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时器/计数器等,设计的八路抢答器不仅具有实时显示抢答选手的和抢答时间的功能,同时还利用汇编语言编程,使其实现复位、定时和报
4、警的功能。本次设计的系统实用性强、判断准确、操作简单、扩展功能强。1.3 八路抢答器的功能简介此次设计的抢答器具有同步显示的功能,并且有蜂鸣器的辅助,使得整个设计更加完整。在每次竞赛开始前,主持人读完比赛规如此,可以对抢答器进展的时间进展预设。时间设定按键组共有4个按键,其中一个键为抢答时间修改键,一个为回答时间按键,剩下的两个按键为加一和减一按键。比赛开始,主持人读完题之后按下“开始键,即抢答开始,蜂鸣器提示一次,此时数码管开始显示30s的倒计时;直到有一个选手按下抢答键,对应的会在数码管上显示出该选手的编号和回答剩余的时间,同时蜂鸣器也会发出一次提示音,以示有人抢答此题;如果在规定的30s
5、时间内没有人做出抢答,如此此题作废,开始新一轮的抢答。在抢答和回答时间的最后5s,蜂鸣器都会给予报警提示。在倒计时过程中,主持人可以随时按“停止键完毕本次回答或者抢答。在主持未按下开始键,假如果有人按下抢答键,如此属于犯规抢答,此时,数码管上会显示违规选手的编号,同时蜂鸣器会以1s一次的频率发出警告。在每次抢答前后,主持人都可以按下复位键让系统清零,此时数码管上会显示“FFF。第2章 系统硬件设计硬件电路局部是一个完整电路的关键局部,硬件性能的好坏关系到整个系统的性能。本章节主要介绍了八路抢答器的硬件的选择与电路的设计。2.1 芯片的选择芯片选择的原如此是经济、寿命长、设计简单。对此我们作了详
6、细的论证。2.1.1 控制器的选择控制器主要用于对显示、抢答、音乐、计分等模块进展控制。控制器的选择有以下两种方案。方案一:采用FPGA现场可编程门列阵作为系统的控制器。FPGA可以实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,减小了体积,提高了稳定性,并且可以应用EDA软件仿真、调试,易于进展功能扩展。FPGA采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模实时系统的控制核心。但由于本设计对数据处理的速度要求不高,FPGA的高速处理的优势得不到充分表现,并且由于其集成度高,使其本钱偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和实际焊
7、接的工作。方案二:采用AT89C51作为系统控制器的CPU方案。单片机算术运算功能强、软件编程灵活、自由度大,可以用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和本钱低等优点,使其在各个领域应用广泛。基于以上分析,本次设计我采用方案二。2.1.2 显示模块的选择显示模块主要是显示时间和编号。考虑有以下两种显示方案。方案一:使用液晶屏显示时间。液晶显示屏LCD具有轻薄短小、低耗电量、无辐射危险,平面直角显示以与影像稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强的特点。但由于只需要显示时间和转向、相数这样的数字,信息量比拟少,且液晶屏是以点阵的模式显示各种符
8、号,需要利用控制芯片创建字符库,编程工作量大,控制器的资源占用较多,其本钱也偏高。在使用时,不能有静电干扰,否如此易烧坏液晶显示芯片,不易维护。方案二:使用传统的数码管显示。数码管具有低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高低温,对外界环境要求低,易于维护的优点,同时其精度高,称量快,准确可靠,操作简单。数码显示是采用BCD编码显示数字,程序编译容易,资源占用较少。根据以上的论述,我采用方案二。2.1.3 键盘的选择键盘是单片机不可缺少的输入设备,是实现人机对话的纽带。键盘按结构形式可以分为非编码键盘和编码键盘,前者用软件方法产生键码,而后者如此用硬件方法来产生键码。在单片
9、机中使用的都是非编码键盘,因为非编码键盘结构简单,本钱低廉,非编码键盘的类型很多,常用的有独立式键盘,行列式键盘等。方案一:独立式键盘独立式键盘接口中使用几根I/O线,就有几个按键,这种类型的键盘,其按键比拟少,且键盘中各按键的工作互不干扰。因此可以根据实际需要对键盘中的按键灵活编码。独立式键盘的缺点是需要占用比拟多的I/O口线,当单片机应用系统键盘中需要的按键比拟少或I/O口线比拟富余时,可以采用这样类型的键盘。方案二:行列式键盘行列式键盘是用N条I/O线作为行线,M条I/O线作为列线组成的键盘,按键在行线和列线的每个交叉点上。这种形式的键盘结构,能够有效地提高单片机系统中I/O的利用率。C
10、PU对键盘的扫描可以采用取程序控制的随机方式,即只有在CPU空闲是时才去扫描键盘,响应操作人员的键盘输入,即利用单片机内部定时器每隔一定时间对键盘扫描一次,这样控制方式,不管键盘上有无键闭合,CPU总是定时的关心键盘状态。在大多数情况下,CPU对键盘可能进展空扫描。为了提高CPU的效率而又能与时响应键盘输入,可以采用中断方式,即CPU平时不必扫描键盘,只要当键盘上有键盘闭合时就产生中断请求,向CPU申请中断后,立即对键盘上有键盘进性扫描,识别闭合键,并做相应的处理。根据以上的论述,我采用方案一。2.2.4 芯片最终选择方案根据上几节的论证,通过综合考虑,我们的芯片选择如表2-1。表2-1 器件
11、选择方案详单器件名称规格型号数量微处理器AT89C511电阻220欧姆88K11K1瓷片电容30pF2电解电容10uF1晶振12MHZ1按钮CD401315器件名称规格型号数量七段数码管7SEG-MPX-CC4蜂鸣器12.2 AT89C51单片机简单概述AT89C51单片机属于51系列单片机,本次设计所用的核心元件即为AT89C51,本节主要介绍了AT89C51的管脚功能。2.2.1 51系列单片机的功能特性MSC-51单片机是美国英特尔公司于1980年起推出的第二代产品。与8084相比,8051的硬件结构和指令系统均有很大改良,可支持更大存储空间扩大了更多的I/O功能,速度提高了2-5倍。1
12、. 主要特性:(1) 适于控制应用的8位CPU。(2) 扩展的逻辑处理能力。(3) 4KB片内程序存储空间。其片外可寻址的X围为64KB,主要用于存放已编程的程序,也可存放一些原始数据和表格。(4) 128B的片内数据RAM。其片外数据存储器的寻址X围为64KB用于存放可读写的数据,如运算的中间结果和最终结果。(5) 32根双向可单独寻址的输入输出线。(6) 2个16位定时/计数器,片内时钟发生器。它可以设置为计数方式,对外部事件进展计数,也可以设置为定时方式进展定时。(7) 全双工异步发送/接收器。(8) 具有5个中断源,可编程为两个优先级的中断系统,它可以接收外部中断请求、定时器/计数器中
13、断申请和串行口中断申请。2. 程序指令AT89C51单片机的时序单位有四个,分别是节拍、状态、机器周期和指令周期。节拍与状态:我们把振荡脉冲的周期定义为节拍(P),振荡脉冲经过两个分频后即得到整个单片机工作系统的时钟信号,把时钟信号的周期定义为状态(S),这样一个状态就有两个节拍,前半个周期相应的节拍我们定义为P1,后半周期对应的节拍定义为P2。机器周期:AT89C51有固定的机器周期,规定一个机器周期有6个状态,分别表示为S1-S6,而一个状态包含两个节拍,那么一个机器周期就有12个节拍,即一个机器周期包含12个振荡脉冲,即机器周期就是振荡脉冲的12分频,如果使用12MHZ的时钟频率,一个机
14、器周期就是1us。2.2.2 AT89C51单片机结构说明AT89C51单片机的管脚图如图2-1所示:图2-1 AT89C51单片机管脚图u P0口:P0口是一组8位漏极开路双向I/O口,在访问外部存储器时用作8位低地址线和数据总线。u P1口: P1口是一个带内部上拉电阻的8位双向I/O口,向P1口写入“1时,P1口被内部电路上拉为高电平,可用作输入口。当作为输出口时,被外部拉低的P1口会因为内部上拉电阻的存在而输出电流。u P2口:P2口为一个内部上拉电阻的8位双向I/O口,当P2口被写“1时,其管脚被内部电路上拉为高电平,可作输入口。当作为输出口时,被外部拉低的P2口会因为内部上拉电阻的
15、存在而输出电流。在访问外部程序存储器和外部数据存储器时,P2口可作为地址总线的高八位地址线。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,当P3口写入“1后,它们被内部电路上拉为高电平,并用作输入口。当作为输出口时,被外部拉低的P3口会因为内部上拉电阻的存在而输出电流。P3口也可作为AT89C51的一些特殊功能口,如下表所示:P3.0 RXD串行输入口P3.1 TXD串行输出口P3.2 /INT0外部中断0P3.3 /INT1外部中断1P3.4 T0记时器0外部输入P3.5 T1记时器1外部输入P3.6 /WR外部数据存储器写选通P3.7 /RD外部数据存储器读选通u RST:复位信号输入端。当振荡器工作时,RET引脚出现两个机器周期以上的高电平将使单片机复位。u ALE/PROG:ALE是地址锁存允许信号。它的作用是