一绪论《单片机原理及应用技术》是一门技术性,应用性、实践性很强的学科。
课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的和任务就是配合单片机的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。
在实际生活中有好多地方都用到了单片机,因此学习好这门课程有着十分重要的意义。
随着科学技术的不断发展,促使人们学科学、学技术、学知识的手段多种多样。
抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。
抢答器是为智力竞赛参赛者答题时进行抢答而设计的一种优先判决器电路,广泛应用于各种知识竞赛、文娱活动等场合。
能够实现抢答器功能的方式有多种,可以采用前期的模拟电路、数字电路或模拟与数字电路相结合的方式,但这种方式制作过程复杂,而且准确性与可靠性不高,成品面积大,安装、维护困难。
本节介绍一种利用51单片机作为核心部件进行逻辑控制及信号产生的八路抢答器。
近年来,随着单片机档次的不断提高,功能的不断完善,其应用日趋成熟、应用领域日趋扩大,特别是工业测控、尖端武器和日用家电等领域更是因为有了单片机而生辉增色。
单片机应用技术已成为一项新的工程应用技术。
本次课程设计我们做的是八路抢答器,我们采用AT89C51单片机实现抢答功能,性能更稳定,更易操作调试。
目前大多数抢答器均使用单片机及外围接口实现,基于单片机的智力竞赛抢答器系统框图如下图所示。
1.2设计目的通过设计学习单片机最小系统的基本设计方法,掌握单片机应用系统的开发调试过程。
(1)学习单片机开发工具功能、特点和使用方法。
(2)学会单片机控制系统程序的编制和编制和调试方法。
(3)设计单片机抢答器硬件电路,绘制出电路原理图。
(4)编制并调试出键盘扫描程序和显示驱动程序。
(5)掌握单片机定时器的基本用法,编制出定时器的中断程序。
二设计任务和要求2.1基本要求智力竞赛抢答器的设计设计一个供8 名选手参加比赛的智力竞赛抢答器,要求:(1)每名选手有一个抢答按钮,按钮的编号与选手的编号相对应;(2)抢答器具有第一个抢答信号的鉴别和数据锁存、显示的功能。
抢答开始后,若有选手按抢答按钮,则该选手指示灯亮,并在数码管上显示相应编号,扬声器发出音响提示。
同时,电路应具备自锁功能,禁止其他选手再抢答,优先抢答选手的编号一直保持到主持人将系统清0 为止;(3)抢答器具有计分、显示功能。
预置分数可由主持人设定,并显示在每名选手的计分牌上,选手答对加10 分,答错扣10 分;(4)抢答器具有定时抢答的功能。
一次抢答的时间由主持人设定,在主持人发出抢答指令后,定时器立即进行减计时,并在显示器上显示,同时扬声器发出短暂声响,声响时间持续0.5s 左右;(5)选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器显示选手编号和抢答时刻的时间,并保持到主持人将系统清0 为止;(6)如果定时抢答的时间已到,却没有选手抢答时,本次抢答无效,系统进行短暂的报警,并禁止选手超时后抢答,定时显示器上显示00;(7)抢答器具有犯规提示功能。
对提前抢答和超时抢答的选手,扬声器发出报警信号,并在显示器上显示其编号。
三设计方案3.1方案论证智力竞赛抢答器用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成, 采用单片机AT89C51,它是低功耗、高性能的CMOS型8位单片机。
片内带有4KB的Flash 存储器,且允许在系统内改写或用编程器编程。
该智力竞赛抢答器的准确度很高,其误差主要由晶振自身的误差所造成。
3.2硬件设计方案设计根据课程设计要求可以大概构思出硬件电路图:发光二极管与单片机的P1.0——P1.7 口相连接;P3.2 口与蜂鸣器相连接;用以AT89C51 为核心的单片机控制方案,通过相应的程序,并通过按键来进行电平识别,再由单片机输出相应的程序,并将相应数值通过数码来显示。
用单片机来制作的抢答器,硬件电路主要是用8279键盘显示接口电路,极大地减轻了单片机的负荷。
3.3 软件设计方案1)键盘扫描及锁存功能的实现方案一:利用外部中断法,将键盘接至外部中断P3.2或P3.1,当有键盘按下后,进入中断程序,用软件编写进行相关操作来控制各个按键怎样按下。
对于这种方法,当要锁存电路时,在中断程序中关中断即可实现锁存功能。
方案二:采用读键值函数扫描法,建一个读键值函数,每当要查询键盘时调用此函数,读取一次键值,由于程序是循环执行的,这样即使本次调用此函数没有读取到键值,但循环执行,调用读键值函数很快,相当于在扫描键盘。
对于此种方案,当读取以为选手键值后,设定一个标志值,使在下次循环程序执行到此处时,先查询此标志是否已被设置,一旦设置,则跳过此段读取键值函数,直接进行下一步处理。
实现了锁存电路的功能。
显然,方案一虽然看上去思路明了,但由于根据按下键值不同,相应处理不一样,所以中断执行程序会很复杂,甚是麻烦。
而方案二只需要根据读键值函数返回值不同,直接在主程序中用选择语句来分路执行即可,因此选择方案二。
2)定时功能的实现采用定时器T0中断实现定时功能,设初值为50毫秒。
循环20次就减一秒,知道秒数为零后执行相应报警操作。
3)数码管的显示方案一:采用静态显示,是指当数码管显示某一字符时,七段数码管的对应段的发光二极管被选中,在这种显示方式下,每段LED 都对应一个单片机口线。
方案二:采用动态显示,对于多位数码管显示时,每一位数码管轮流显示,当显示间隔时间较短时人眼就分辨不出是动态显示,而是每一位都是一直都在显示。
比较二者,静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU 才去执行显示更新子程序,这样既节约了CPU 的时间,又提高了CPU 的工作效率。
其不足之处是在需要用于显示的数码管较多时占用硬件资源较多,每个LED 数码管需要独占8 条输出线。
随着显示器位数的增加,需要的I/O 口线也将增加。
动态显示器的优点是节省硬件资源,成本较低,但是要保证显示器正常显示,CPU 必需每隔一段时间执行一次显示子程序,占用CPU 大量时间,降低了CPU 的工作效率,同时显示亮度较静态显示器低。
通过以上分析,结合本课题只提供八位数码管,所以采用方案二。
4)抢答信号指示灯对于这八位LED 灯的闪烁可以通过软件程序的编写,当P1管脚送出电平高低控制其灭亮。
3.2设计原理抢答器的工作原理是采用单片机最小系统,用程序查询方式采用动态显示组号。
主持人按下开始抢答键才可以抢答。
主持人没有按下开始抢答按纽,有人抢答则抢答违规,报警并显示组号,主持人按下开始抢答开关重新抢答。
主持人按下开始抢答按纽后,数码管30秒倒计时抢答,30秒内有人抢答,则蜂鸣器响声提示并显示他的组号,并且开始60秒倒计时(60秒内必须回答完问题),最后五秒倒计时警报。
单片机最小系统、抢答按键模块(四位并行数码显示)、显示模块、显示驱动模块、抢答开关模块、蜂鸣器音频输出模块。
四硬件系统说明与电路原理图4.1控制系统及所需元件控制系统主要由单片机应用电路、存储器接口电路、键盘显示接口电路组成。
其中单片机AT89C51和8279是系统工作的核心,它们主要负责控制各个部分协调工作和电路的主要功能。
1.AT89C51单片机由微处理器,存储器,I/O口以及特殊功能寄存器SFR等部分构成。
其存储器在物理上设计成程序存储器和数据存储器两个独立的空间,片内程序存储器的容量为4KB,片内数据存储器为128个字节。
89C51单片机有4个8位的并行I/O口:P0口,P1口,P2口和P3口。
各个接口均由接口锁存器,输出驱动器,和输入缓冲器组成。
P1口是唯一的单功能口,仅能用作通用的数据输入/输出口。
P3口是双功能口除了具有数据输入/输出功能外,每条接口还具有不同的第二功能,如P3.0是串行输入口线,P3.1口是串行输出口线。
在需要外部程序存储器和数据存储器扩展时,P0可作为分时复用的低8位地址/数据总线,P2口可作为高8位的地址总线。
P3口也可作为AT89C51的一些特殊功能口,同时为闪烁编程和编程校验接收一些控制信号。
本次实验中P1.0-P1.7同于控制八位选手对应的指示灯亮或灭。
P3.2用蜂鸣器的控制口。
2. 8279可按其功能分为:键盘功能块、显示功能块、控制功能块;与CPU接口功能块控制功能块包括控制和定时寄存器,定时和控制,扫描计数器三部分,它主要用来控制键盘和显示功能块工作.控制和定时寄存器:用于存贮来自CPU的编程命令,CPU对8279编程以确定键盘与显示器工作方式和其它工作条件时,先把命令控制数据放到数据总线上,然后使A0=1,WR=0CS=0,并在WR 上升沿把命令键存在控制和定时寄存器中,并经译码,建立适当的功能.定时和控制:它含基本的定时计数器,第一个计数器是一个分频系数为2-31的前置定时器, 分频系数可由程序预置,使内部频率为100KHz,从而能给出5.1ms键盘扫描时间和10.3ms 反跳时间,其它计数器将此基本频率分频后,提供适当的按键扫描.行扫描.键盘阵列扫描.以及显示器扫描次数.扫描计数器:扫描计数器有两种工作方式,在编码工作方式时,计数器提供一种二进制计数, 通过管脚SL0-SL3输出后经外部译码才能提供给键盘和显示器的扫描作用,在译码工作方式时,扫描计数器对最低二位进行译码,SL0-SL3输出4选1的译码信号,作为显示器和键盘的译码扫描.键盘功能块包括:返回缓冲器,键盘反跳及控制,8x8 FIFO传感器RAM,FIFO/传感器RAM 状态.2.蜂鸣器当至P3.2低电平有效。
3.8279键盘及显示电路4.发光二极管电路晶振的频率为12MHZ,提供89C51的时钟脉冲使89C51工作,在此次课程设计电路中当一个问题结束主持人后按下复位开关后进行下一题的准备。
6.系统电路原理图五软件系统设计智力竞赛抢答器要求有计时记忆功能,一次时间设置完, 复位后不需重新进行时间设定,通过键盘扫描输出按键信息,再通过单片机将它转换成能在七段数码管上显示字型码.当抢答完毕时,会在数码管上显示抢答者数字号码提示以表示抢答成功.同时显示其分数,分数的加减可由裁判手动进行. 采用2*8式键盘,可实现8路抢答. 在显示时使用的是七段数码管显示在本设计中根据实际情况采用的是动态显示方法. 并通过查表法将其在数码管上显示出来,硬件去抖动,如果"开始键"按下就向下执行,否者跳到开始。
采用倒计时程序,使其具有倒计时功能。
回答倒计时90秒。
抢答时间30秒。