基于MCS51单片机控制的八路答器设计

上传人:沈*** 文档编号:100861752 上传时间:2022-06-03 格式:DOC 页数:19 大小:184.50KB
返回 下载 相关 举报
基于MCS51单片机控制的八路答器设计_第1页
第1页 / 共19页
基于MCS51单片机控制的八路答器设计_第2页
第2页 / 共19页
基于MCS51单片机控制的八路答器设计_第3页
第3页 / 共19页
点击查看更多>>
资源描述
- 摘 要抢答器是一种常见的电子产品,尤其是在各类智力竞猜中,为了实现选手的公平性,性能优良的抢答器往往更能得到各单位的青睐。这里通过两种设计方案的比照,最终选定了用单片机实现抢答器电路。由于单片机具有可编程定时器和中断设备,便于实现编程和时间的准确控制。所用方案电路构造简单,易于实现,它用4个七段数码管来显示,且具有简单精准的报警电路。所选方案的一个很重要的特点在于具有灵活性,主持人可以根据题目难易进展时间设定,这样进一步保证了公平性。由于它具有本钱低廉,构造简单,且性能优良的诸多优点,必定会得到广泛的应用。关键词:抢答器 ,单片机 ,七段数码管,时间设定 目 录一绪论11.1 课程设计任务11.2 原理示意图1 1.3抢答器的程序流程2二抢答器单元设计及其说明82.1主要芯片的介绍82.2程序流程图102.3 MA*7219122.3.1 MA*7219引脚说明122.3.2 根本的工作方法132.3.3 MA*7219初始化142.3.4 局部程序功能介绍142.4LCD简介16和LED的区别16显示电路设计和LCD的引脚功能说明17液晶显示模块18三 设计总结 19四参考文献20五 元件清单20. z-一 绪论1.1 课程设计要求(1) 抢答器同时为8组选手分别提供抢答按钮,按钮分别为PB1、PB2、PB3、PB4、PB5、PB6、PB7、PB8; (2) 设置一个复位按钮PB9,实现系统电路的复位,由主持人控制; (3) 设置一个启动按钮PB10,由主持人控制;(4) 设置一个限时开关PB11,由主持人控制;(5) 当主持人翻开启动开关PB10后,在设定时间T0 内,如果*一组抢先按下抢答按钮,则驱动音效电路发出声响,指示灯L1 亮,并且在七段LED显示出抢答成功的组号,此时电路实现互锁,其它组再按下抢答按钮为无效; (6) 如果在时间T0 内,无人应答,则驱动音效电路发出声响,指示灯L2 亮,表示抢答者均放弃该题; (7) 在抢答成功后,主持人翻开限时开关PB11,启动定时器,显示倒计时时间,在设定的时间T1内答复有效,当到达设定时间T1 时,驱动音效电路,指示灯L3 亮,表示答题时间到。1.2 原理示意图如图1-1所示为八路智力抢答器设计的物理模块划分如下:单片机抢答模块八路输入控制模块主持人操作显示模块倒计时、选手号语音提示模块 图1-1 设计物理框图通过主持人的相关操作包括开场、停顿、调时、锦囊使用等,以及选手的抢答,显示模块与语音模块应能迅速做出正确回应。如主持人按下开场,语音模块立刻给以语音提示,显示模块立刻显示抢答倒计时;当有选手抢答,显示模块应马上显示最先抢答的选手号,并进入答题倒计时 而这一切,都有赖于本设计的核心模块51单片机来控制。通过一系列的汇编程序,来控制、实现相应的逻辑功能。本设计中大局部的较为复杂的逻辑控制,都是用相应的汇编程来控制实现的。根据相应的设计要求,对本设计可作如下分析:1、 由设计要求1,本设计应具有抢答时间调整和答复时间调整程序,并由相应引脚来控制:P3.2抢答时间调整,P3.3答复时间调整,P3.4为加1s,P3.5为减1s; 2、根据设计要求2,本设计应具有抢答、答复倒计时功能,即倒计时程序。通过查询开场键的状态来决定是否进入抢答倒计时,开场键按下后有人抢答便立即进入答复倒计时,倒计时小于5s时,调用发声程序;3、程序中应不断查询停顿 键的状态,一旦其按下,应立即退出,并进入查询程序用来查询开场键与八路抢答键的状态;4、 为使本设计具有锦囊功能,在答复倒计时过程中,假设按下开场键,答复倒计时重新开场。1.3 抢答器的程序流程本设计采用P3.2、P3.3分别接抢答时间调节和答题时间调节按钮,即通过外部中断0、外部中断1分别控制抢答、答题时间的调整。因此,设计的软件局部可分为工作模块、外部中断0模块、外部中断1模块。对流程图的分析,也分三局部来介绍。1工作时非调节时间时的流程平时正常工作时,程序的流程图绘制如图1-2:对工作流程图中的*些局部解释如下:初始化局部:包括对定时计数器的工作方式、初始化数值的设置,还包括对抢答时间与答题时间的预设,另外,还应对外部中断0、外部中断1进展开放。抢答倒计时、答复倒计时局部:由于二者功能的相似性,本设计将二者在一个子程序倒计时程序中一起编写。犯规程序局部:包括对犯规选手号的显示、报警器的连续工作。另外,由于在设计要求主持人能随时对工作过程终止,因此,要不断查询停顿键的状态,一旦按下,便回到初始化后的状态;在倒计时过程中还要不断将与5S比较,当小于5S时,还需调用发声程序;小于5S后, 又需要不断将与0较,当其等于零时,立即返回。图1-2 工作流程图2外部中断0抢答时间调整流程外部中断0抢答时间调整的流程图见图1-3:INT0中断Y显示当前抢答时间P3.4按下.P3.5按下.抢答时间加1sNYN结果为100s?结果置0N结果为0s?结果置100抢答时间减1sYYN停顿键按下.中断返回NY图1-3 INT0流程图一旦因P3.2对应键的按下,便进入INT0中断过程。通过不断对P3.4加1s和P3.5减1s进展不断的查询,来对抢答时间进展调整:发现P3.4按下,就对原抢答时间加1s, 发现P3.5下,就对原抢答时间减1s并调用显示程序。根据设计要求,当加至99s时,假设再加1s,则时间变为0;当减至0s后,假设再减一秒,时间变为99s。因此,流程中应该对当前时间于99s或0s比较,再作出相应处理。另外,在中断过程中还需要不时对停顿按钮进展查询,一旦发现其按下,立即中断返回。由于本中断过程在返回前一直是循环执行的,因此,只需要在每次循环末查询一次即可,如流程图所示3外部中断1答题时间调整流程外部中断1答题时间调整流程与外部中断1流程*小异。其程序流程参见图1-4:与抢答时间调整类似,一旦因P3.3对应的按钮按下,便进入INT1中断过程。通过不断对P3.4加1s和P3.5减1s进展不断的查询,来对抢答时间进展调整:发现P3.4按下,就对原抢答时间加1s, 发现P3.5下,就对原抢答时间减1s并调用显示程序。当加至99s时,假设再加1s,则时间变为0;当减至0s后,假设再减一秒,时间变为99s。因此,流程中应该对当前时间于99s或0s比较,再作出相应处理。同上,在中断过程中,也还需要不时对停顿按钮进展查询,一旦发现其按下,立即中断返回。INT1中断Y显示当前答题时间P3.4按下.P3.5按下.答题时间加1sNYN结果为100s?结果置0N结果为0s?结果置100答题时间减1sYYN停顿键按下.中断返回NY图1-4 INT1流程图二 抢答器单元设计及其说明2.1主要芯片的介绍AT89SC52的引脚图如图2-1所示图2-1 AT89SC52芯片引脚图1) 主要性能本方案所使用的主要芯片是AT89SC52, 它与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、 全静态操作:0Hz33Hz 、 三级加密程序存储器 、 32个可编程I/O口线 、三个16位定时器/计数器 八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。2) 功能特性描述At89sc52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89SC52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断构造,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停顿工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停顿,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52。3) P0、P1口介绍P0 口:P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1时,可作为高阻抗输入端用。在外部数据存储器或程序存储器时,这组口线分时转换地址低8 位和数据总线复用,在期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动吸收或输出电流4 个TTL 逻辑门电路。对端口写“1,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,*个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入P1.0/T2和输入P1.1/T2E*,参见表2-1表2-1 P1.0 P2.0 引脚功能特性4) 本方案中用到的一些引脚介绍*TAL1:振荡器反相放大器的及内部时钟发生器的输入端。*TAL2:振荡器反相放大器的输出端。特殊功能存放器:在AT89C52 片内存储器中,80H-FFH 共128 个单元为特殊功能存放器SFE。并非所有的地址都被定义,从80HFFH 共128 个字节只有一局部被定义,还有相当一局部没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丧失。不应将数据“1写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0。AT89C52除了与AT89C51所有的定时/计数器0 和定时/计数器1 外,还增加了一个定时/计数器2。定时/计数器2 的控制和状态位位于T2CON,T2MOD,存放器对RCAO2H、RCAP2L是定时器2 在16 位捕获方式或16 位自动重装载方式下的捕获/自动重装载存放器。2.2程序流程图 图2-2 程序流程图2.3 MA*72192.3.1 MA*7219引脚说明引脚说明见表2-2表2-2 MA*7219引脚说明引脚号名称功能说明1Din串行数据输入端在CLK的上升沿数据被锁入芯片内部16位移位存放器。DIG0DIG78位LED位选线,从共阴极LED中吸入电流。49GND地线两个GND必须连在一起。12Load锁入输入的数据在Load上升沿最后的16位串行数据被锁入。13CLK时钟输入,最高时钟频率为10MHZ,在CLK的上升沿数据被锁入内部移位存放器,在CLK的下降沿,数据从Dout脚被输出。1417 2023SegASegG.DP7段驱动和小数点驱动18Iset该脚通过一个电阻与V+相连,设置峰值段电流。19V+电源电压,+5V。24Dout串行数据输出。输入到Din的数据在16.5个时钟周期后在Dout脚发出,该脚用于与级联扩展 根本的工作方法MA*7219与8031单片机连接采用三线串行接口,典型应用电路如表2-3所示。Y&FeN;y-jGuest表2-3 16位数据包的数据格式如下:D0D7D8D11D12D13D14D15LSB DATA MSBADDRESSD7D0:8位数据位,D7最高位,D0最低位; D11D8:4位地址位; D15D12:无关位,通常全取1。MA*7219通过D11D84位地址位译码,可寻址14个内部存放器,分别是8个LED显示位存放器,5个控制存放器和1个空操作存放器。LED显示存放器由内部88静态RAM构成,操作者可直接对位存放器进展个别寻址,以刷新和保持数据,只要V超过2V一般为5V。a y6i/e8G(rW0nGuest控制存放器包括:译码模式,显示亮度调节,扫描限制选择扫描位数,关断和显示测试存放器。 EETOP专业博客-电子工程师自己的家园1wm0-?7B-v&Lt PGueste(|o*U )vGuestMA*7219的驱动程序首先必须对5个控制存放器地址分配见表2-4初始设置即初始化,各控制存放器设置含义如下:译码模式选择存放器地址=F9H;5G)sJwGm+CGuestEETOP专业博客-电子工程师自己的家园. z-*G/U9Y3O|共有4种译码模式供选择,当数据位全0时选择“非译码方式。在此方式下,8个数据位分别一一对应7个段和小数点。通常选择此方式。1Qeb*k qGuestk54q6Y+vGuest扫描限制存放器:地址FBH;用于设置显示的LED个数18,当D2D1D0111、D7D6D5D4D3无关时,可接8个LED管。EETOP专业博客-电子工程师自己的家园9rB3Dw*Y0*亮度调节存放器:地址FAH;CB!iae rp-qGuest共有16级选择,用于LED显示亮度的强弱设置。EETOP专业博客-电子工程师自己的家园99l. z-ia(8D$hw 关断模式存放器:地址FCH;EETOP专业博客-电子工程师自己的家园K_*aVSI有两种模式选择:一种是关断状态模式D00;一种是正常操作状态D01,通常选择正常操作状态。EETOP专业博客-电子工程师自己的家园bjA|Q显示测试存放器:地址FFH;有两种选择用于设置LED是测试状态还是正常操作状态:当在测试状态时D01各位全应亮,一般选择正常操作状态D0=0。. z- 表2-4 存放器地址分配表存放器名称地址D15D12D11D10D9D8空操作0000Digit00001Digit10010Digit20011Digit30100Digit40101Digit50110Digit60111Digit71000译码模式1001亮度调节1010扫描限制1011关断模式1100显示测试1111 MA*7219初始化表2-5 初始化设置各项的选择及对应数值设置工程选择颠倒后的数值16位显示亮度17/325F1FH扫描限制07位DFEFH译码方式非译码方式9F00H显示测试正常操作FF00H关断方式正常操作3F80H2.3.4 局部程序功能介绍 全部程序见附录二,下面仅介绍局部程序由于在读抢答数据口的时候,单片机首先进入倒计时程序,再调用显示程序,最后才检测按键口,然而在检测按键口时动态扫描要调用三次(4ms)延时程序.这样就会导致读数据口出现滞后,造成1号优先最高.8号最低.故采用在延时子程序中加了读数据口程序.保证了灵敏度和可靠性,程序如下:=加减时间延时(起到不会按下就加N个数)=DELAY1: MOV 35H,*08HLOOP0: ACALL DISPLAYDJNZ 35H,LOOP0RET;=延时4236个机器周期(去抖动用到)=DELAY: MOV 32H,*12HLOOP: MOV 33H,*0AFHLOOP1: DJNZ 33H,LOOP1DJNZ 32H,LOOPRET;=延时4236个机器周期(显示用到)=DELAY2: MOV 32H,*43HLOOP3: MOV 33H,*1EHMOV A,R7 ;每隔6070个机器周期读一次P1口,全为1时为无效数据,继续读,有一个不为1时,转到正常抢答处理JNZ AAAA1 ;没读到有效数据时继续转到AAAA1LOOP2: DJNZ 33H,LOOP2DJNZ 32H,LOOP3RET;=读抢答按键数据口程序= 主持人时间设定程序如下:ACALL DISPLAY;先在两个时间LED上显示R1JNB P3.4,INC0;P3.4为+1s键,如按下跳到INCOJNB P3.5,DEC0;P3.5为-1s键,如按下跳到DECOJNB P3.1,BACK0;P3.1为确定键,如按下跳到BACKO2.4LCD简介2.4.1LCD和LED的区别LED为英文Light Emitting Diode的缩写,是发光二极管的一种,LCD是液晶显示器,两者相差太多.但是用LED的点阵也能组成显示器,适用于户外大屏幕显示,分辨率较低。LCD为英文Liquid Crystal Display的缩写,即液晶显示器,是一种数字显示技术,通过液晶和彩色过滤器过滤光源,在平面面板上产生图象。与传统的阴极射线管LCD占用空间小,低功耗,低辐射,无闪烁,降低视觉疲劳。 LCD技术能够显示更加清晰,明亮的图象。 LED是发光二极管 特点:自发光,从远处可以看见,价格相对较低缺点;显示的内容少,一般是数码,LED电子滚动显示,等等,很耗电,控制复杂。由于LCD比LED的效果好,所以本设计我们选择了LCD作为我们设计的显示器。 2.4.2单片机和分立元件的区别单片机相当于一个集成电路,将一些功能都集成在一个芯片中,在一小块芯片中能实现各种功能的器件。分立元件是指电阻电感电容等器件。这是相对于集成电路来说的,比方一个电路,他用了一个集成电路,外加一些零件即能实现需要的功能,而一般来说,用分立元件也能实现,但体积可能会大一些,可靠性可能也差一些。通过两者的比较,单片机明显优于分立元件,所以本设计我们选择了用单片机。其系统硬件设计如图2-3键盘输入单片机液晶显示比照度控制图2-3 单片机系统硬件设计显示电路设计和LCD的引脚功能说明液晶显示模块是一种将液晶显示器件、连接件、集成电路、PCB线路板、背光源、构造件等装配在一起的组件。英文名称叫“LCD Module,简称“LCM,中文称为“液晶显示模块,其流程图如2-4所示,实物图如2-5所示。LCD控制器VSSVDDDVORSR/WEDB0DB7LCD驱动器LCD显示装置如图2-4 LCD流程图图2-5 LCD1602实物图2.4.4液晶显示模块表2-6 LCD引脚功能编号符号引脚说明编号符号引脚说明1VSS电源地9D2双向数据口2VDD电源正极10D3双向数据口3VL比照度调节11D4双向数据口4RS数据/命令选择12D5双向数据口5R/W读/写选择13D6双向数据口6E模块使能端14D7双向数据口7D0双向数据口15BLK背光源地8D1双向数据口16BLA背光源正极VDD:电源正极,4.55.5V,通常使用5V电压;VL:LCD比照度调节端,电压调节*围为05V。接正电源时比照度最弱,接地电源时比照度最高,但比照度过高时会产生“鬼影,因此通常使用一个10K的电位器来调整比照度,或者直接串接一个电阻到地;RS:MCU写入数据或者指令选择端。MCU要写入指令时,使RS为低电平;MCU要写入数据时,使RS为高电平;R/W:读写控制端。R/W为高电平时,读取数据;R/W为低电平时,写入数据;E:LCD模块使能信号控制端。写数据时,需要下降沿触发模块。D0D7:8位数据总线,三态双向。如果MCU的I/O口资源紧*的话,该模块也可以只使用4位数据线D4D7接口传送数据。本充电器就是采用4位数据传送方式;BLA: LED背光正极。需要背光时,BLA串接一个限流电阻接VDD,BLK接地,实测该模块的背光电流为50mA左右;BLK: LED背光地端。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元多一个小数点显示;按能显示多少个“8可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极()的数码管。共阳数码管在应用时应将公共极接到+5V,当*一字段发光二极管的阴极为低电平时,相应字段就点亮。当*一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极()的数码管。共阴数码管在应用时应将公共极接到地线GND上,当*一字段发光二极管的阳极为高电平时,相应字段就点亮。当*一字段的阳极为低电平时,相应字段就不 三 设计总结 此次课程设计要求我们在*教师的指导下独立进展查阅资料,设计方案与组织实验等工作,并写出报告。这次实验对于提高我们的素质和科学实验能力非常有益,为以后从事电子电路方面的设计,研制电子产品打下根底。通过这一周的学习,发现了自己的很多缺乏,自己知识的很多漏洞,看到了自己的实践经历还是比较缺乏,理论联系实际的能力还急需提高。通过这次毕业设计,为完成这次毕业设计我们确实很辛苦,但苦中仍有乐,和团队人员这一周的日子,让我们有说有笑,相互帮助,配合默契,多少人间欢乐在这里洒下,大学里两年的相处还赶不上这两个月的实习,我感觉我和同学们之间的距离更加近了。这个工程确实很累,但当我们仿真实验成功的时候,当我们连好线,按下按钮,LED亮了起来,喇叭响起的是我一生以来最好听的声音,我们的心中就不免兴奋,不免冲动。对我们而言,知识上的收获重要,精神上的丰收更加可喜。在此要特别感谢我的指导教师对我们的指导,在此向教师说一声,教师您辛苦了!当然我也要感谢我们同组的人的积极合作。在教师的启发和我们共同的努力下,我们才能顺利的完成毕业设计。在以后的工作中,我一定会更加努力的学习,充分的发挥自己的特长。四 参考文献1 朱运利. 单片机技术应用. :机械工业, 2005年1月第一版.2 *大彪. 电子技能与实训. :电子工业, 2004年7月.3 韩全力,赵德申. 微机控制技术及应用. :机械工业, 2004年1月第一版.4 阎 石. 数字电子电路. :中央播送电视大学, 1993.5 *毅坤,陈善久,龚雪红. 单片微型计算机原理应用. *:*电子科技大学, 2003.6 田 良,黄正瑾,陈建元. 综合电子设计与实践. *:东南大学.7 杨素行. 模拟电子电路. :中央播送电视大学, 1994.8 康平光. 电子技术根底. :高等教育, 2003.9 李 华. MCS-51单片机接口技术及应用. :航天航空大学. 五 元件清单序号元件名称型号规格 单位数量1电阻10K欧姆只7400欧姆只74.7k欧姆只32瓷片电容30pF只20.01uF只13晶振12MHz只14三极管8550只45单片机AT89C51块16集成电路插座40脚块17接线柱2位只28按钮独立式只1494位一体数码管共阳只110线路板单面覆铜板块1设计总结: 此次课程设计在*教师的指导下独立地进展了查阅资料,设计方案等工作,并写出了报告。这次实验对于提高我们的素质和科学实验能力非常有益,为以后从事电子电路方面的设计,研制电子产品打下根底。通过这一周的学习,发现了自己的很多缺乏,自己知识的很多漏洞,看到了自己的实践经历还是比较缺乏,理论联系实际的能力还急需提高。通过一次课程设计能学到不少平时教科书上学不到的知识,能够更好地了解本专业,提高自己的实践能力,同时更好地激发了自己学习更多知识的动力。在以后的学习生活中,我会结合本次课程设计的经历,更为广泛地学习实践专业相关知识,争取成为一名优秀的电子设计领域的工作人员!考核成绩及评语指导教师签字 年 月 日系(教研室)意见系(教研室)主任签字 年 月 日. z
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!