基于51单片机八路抢答器计课程设计_第1页
基于51单片机八路抢答器计课程设计_第2页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录一 方案的概述. 21.1 设计内容及要求 . 21.1.1 设计内容. 21.1.2 设计要求. 21.2 设计方框图 . 31.3 抢答器的程序流程 . 4二 抢答器单元设计及其说明. 102.1主要芯片的介绍. 102.2程序流程图. 122.3 MAX7219 . 142.3.1 MAX7219引脚说明 . 142.3.2 基本的工作方法. 152.3.3 MAX7219初始化 . 162.3.4 部分程序功能介绍. 162.4LCD简介. 182.4.1LCD和 LED的区别 . 182.4.3显示电路设计和 LCD的引脚功能说明 . 192.4.4液晶显示模块 . 20三抢答

2、器电路原图及仿真. 223.1抢答器原理图. 223.2仿真软件介绍. 233.3仿真测试效果. 24设计总结.错误!未定义书签。参考文献.错误!未定义书签。附录一.错误!未定义书签。附录二.错误!未定义书签。摘 要1备,便于实现编程和时间的精确控制。所用方案电路结构简单,易于实现,它用4性。由于它具有成本低廉,结构简单,且性能优良的诸多优点,必定会得到广泛的应用。关键词:抢答器 ,单片机 ,七段数码管,时间设定一 1.1 设计内容及要求1.1.1 设计内容1 8 名选手或 8 的编号分别是 1、2、3、4、5、6、7、8,各用一个抢答按钮,按钮的编号与选手的编号相对应,分别是 S 、S 、S

3、 、S 、S 、S 、S 、S 。012345672 给节目主持人设置一个控制开关,用来控制系统的清零(编号显示数码管灭灯)和抢答的开始。3 抢答器具有数据锁存和显示的功能。抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在 LED 数码管上显示出选手的编号,同时蜂鸣器给出音响提示。此外,要封锁输入电路,禁止其他选手抢答。优先抢答选手的编号一直保持到主持人将系统清零为止。4 辑框图,正确描述各单元功能,合理选用电路器件,画出完整的电路设计图以及写出设计总结报告1.1.2 设计要求1、如果想调节抢答时间或答题时间 ,按抢答时间调节键或答题时间调节2键进入调节状态,此时会显示现在设定的抢答时间或

4、回答时间值,如想加一秒按一下加 1s键,如果想减一秒按一下键,时间 LED上会显示改变后的时间,调整范围为 0s99s, 0s 时再减 1s 会跳到 99,99s 时再加 1s 会变到 0s。2抢答开始键,会有提示音,并立刻进入抢答倒计时(预设30s 抢设 60s 间到小于 5s 会每秒响一下提示音。3停止按键,系统会自动进入准备状态,等待主持人按抢答开始进入下次抢答计时。4、如果主持人未按抢答开始键,而有人按了抢答按键,犯规抢答,LED上不断闪烁 FF和犯规号数并响个不停,直到按下停止 键为止。5、P3.0 为开始抢答,P3.1 为停止,p1.0-p1.7 为八路抢答输入 数码管段选 P0口

5、,位选P2 口低 3 位,蜂鸣器输出为P3.6 口。P3.2 P3.3 回答时间调整,P3.4 为时间加 1 调整,P3.5 为时间减 1 调整。6、当参赛选手在回答问题时要求使用锦囊,则主持人按下抢答开始键,计时重新开始。1.2 设计方框图如图(1-1)所示为八路智力抢答器设计的物理模块划分如下:图 3抢答,显示模块与语音模块应能迅速做出正确回应。如主持人按下开始,语音模块立刻给以语音提示,显示模块立刻显示抢答倒计时;当有选手抢答,显示模块应马上显示最先抢答的选手号,并进入答题倒计时 而这一切,都有赖于本设计的核心模块51 单片机来控制。通过一系列的汇编程序,来控制、实现相应的逻辑功能。本设

6、计中大部分的较为复杂的逻辑控制,都是用相应的汇编程来控制实现的。根据相应的设计要求,对本设计可作如下分析: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 分别控

7、制抢答、答题时间的调整。因此,设计的软件部分可分为工作模块、外部中断0 模块、外部中断1 模块。对流程图的分析,也分三部分来介绍。(1)工作时(非调节时间时)的流程平时正常工作时,程序的流程图绘制如图 1-2:4对工作流程图中的某些部分解释如下:初始化部分:包括对定时计数器的工作方式、初始化数值的设置,还包括对抢答时间与答题时间的预设,另外,还应对外部中断 0、外部中断 1 进行开放。抢答倒计时、回答倒计时部分:由于二者功能的相似性,本设计将二者在一个子程序倒计时程序中一起编写。犯规程序部分:包括对犯规选手号的显示、报警器的间断工作。另外,由于在设计要求主持人能随时对工作过程终止,因此,要不断

8、查询停止键的状态,一旦按下,便回到初始化后的状态;在倒计时过程中还要不断将与 5S比较,当小于 5S 时,还需调用发声程序;小于 5S 后, 又需要不断将与 0 较,当其等于零时,立即返回。5图 (2)外部中断 0(抢答时间调整)流程6外部中断 0(抢答时间调整)的流程图见图 1-3:INT0中断YNYNNNYNY图 一旦因 P3.2 对应键的按下,便进入INT0 中断过程。通过不断对P3.4(加 1s)7和 P3.5(减 1s)进行不断的查询,来对抢答时间进行调整:发现P3.4 按下,就对原抢答时间加 1s, 发现 P3.5 下,就对原抢答时间减 1s 并调用显示程序。根据设计要求,当加至

9、99s 时,若再加 ,则时间变为 0;当减至 0s 后,若再减一秒,时间变为 99s。因此,流程中应该对当前时间于 99s 或 0s 比较,再作出相应处理。另外,在中断过程中还需要不时对停止按钮进行查询,一旦发现其按下,立即中断返回。由于本中断过程在返回前一直是循环执行的,因此,只需要在每次循环末查询一次即可,如流程图所示(3)外部中断 1(答题时间调整)流程外部中断 (答题时间调整)流程与外部中断1 流程大同小异。其程序流程参见图 1-4:与抢答时间调整类似,一旦因 P3.3 对应的按钮按下,便进入 INT1中断过程。通过不断对 P3.4(加 )和 P3.5(减 1s)进行不断的查询,来对抢

10、答时间进行调整:发现P3.4 按下,就对原抢答时间加1s, 发现 P3.5 下,就对原抢答时间减1s 并调用显示程序。当加至 99s 时,若再加 1s,则时间变为 0;当减至 0s 后,若再减一秒,时间变为99s。因此,流程中应该对当前时间于99s 或 0s 比较,再作出相应处理。同上,在中断过程中,也还需要不时对停止按钮进行查询,一旦发现其按下,立即中断返回。8YNYNNNYNY图 9二 2.1主要芯片的介绍AT89SC52的引脚图如图2-1所示图1)主要性能本方案所使用的主要芯片是 AT89SC52, 它与 MCS-51单片机产品兼容 、8K字节在系统可编程 Flash存储器、 1000次

11、擦写周期、 全静态操作: 0Hz33Hz 、 三级加密程序存储器 、 32个可编程 I/O口线 、三个16位定时器 /计数器 八个中断源 、全双工 UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。2)功能特性描述10At89sc52 是一种低功耗、高性能 CMOS8位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上 Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统 可编程

12、 Flash,使得 AT89SC52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节 Flash256字节 RAM,32 位I/O 口线,看门狗定时器, 2 个数据指针,三个 16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。 另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。 空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。 8 位微控制器 8

13、K 字节在系统可编程 Flash AT89S52 。3)P0、P1口介绍P0 口:P0 口是一组 8 位漏极开路型双向 I/O 口, 也即地址 /数据总线复用口。作为输出口用时, 每位能吸收电流的方式驱动 8 个 TTL逻辑门电路,对端口 P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。在 Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口:P1 是一个带内部上拉电阻的 8 位双向 I/O 口, P1 的输出缓冲级可驱动(吸收或输出电

14、流) 4 个 TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与 AT89C51 不同之处是, P1.0 和 P1.1 还可分别作为定时 /计数器 2 的外部计数输入( P1.0/T2)和输入( P1.1/T2EX 2-111表 2-1 P1.0 P2.0 引脚功能特性4)本方案中用到的一些引脚介绍XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。特殊功能寄存器:在 AT89C52 片内存储器中, 80H-FFH 共 128

15、 个单元为特殊功能寄存器(SFE并非所有的地址都被定义, 从 80HFFH 共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。不应将数据“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。AT89C52除了与 AT89C51所有的定时/计数器 0 和定时/计数器 1 外,还增加了一个定时/计数器 2/计数器 2 的控制和状态位位于 T2CON,T2MOD,寄存器对(RCAO2HRCAP2L)是定时器2 在 16 位捕获方式或 16 位自动重装载方式下的捕

16、获/自动重装载寄存器。2.2程序流程图12图 132.3 MAX72192.3.1 MAX7219引脚说明引脚说明见表 2-2表 串行数据输入端在 CLK的上升沿数据被锁入芯片内部 16位移位寄存器。8位 LEDLED中吸入电流。地线(两个 GND必须连在一起)。锁入输入的数据在Load上升沿最后的16位串行数据被锁入。时钟输入,最高时钟频率为 10MHZ CLK的上升沿数据被锁入内部移位寄存器,在 CLK的下降沿,数据从 Dout脚被输出。7段驱动和小数点驱动该脚通过一个电阻与 V+相连,设置峰值段电流。电源电压,+5V。 Din的数据在16.5个时钟周期后在 Dout于与级联扩展142.3

17、.2 基本的工作方法MAX7219与 8031单片机连接采用三线串行接口,典型应用电路如表2-3所示。表 D8D11D15LSB DATA MSBADDRESSD7D0:8位数据位,D7最高位,D0最低位;D11D8:4位地址位;D15D12:无关位,通常全取 1。MAX7219通过 D11D84位地址位译码,可寻址14个内部寄存器,分别是8个LED显示位寄存器,5个控制寄存器和 1个空操作寄存器。LED显示寄存器由内部88 静态 RAM构成,操作者可直接对位寄存器进行个别寻址,以刷新和保持数据,只要 V超过 2V(一般为5V)。控制寄存器包括:译码模式,显示亮度调节,扫描限制(选择扫描位数)

18、,关断和显示测试寄存器。MAX7219的驱动程序首先必须对 5个控制寄存器(地址分配见表 2-4)初始设置即初始化,各控制寄存器设置含义如下:译码模式选择寄存器(地址=F9H);共有 4种译码模式供选择,当数据位全 0时选择“非译码方式”。在此方式下,8个数据位分别一一对应 7个段和小数点。通常选择此方式。FBH;用于设置显示的LED18),当D2D1D0111、D7D6D5D4D3无关时,可接 8个 LED管。FAH 16 LED显示亮度的强弱设置。关断模式寄存器:地址FCH;有两种模式选择:一种是关断状态模式(D00);一种是正常操作状态(D01),通常选择正常操作状态。显示测试寄存器:地

19、址FFH;有两种选择用于设置 LED是测试状态还是正常操作状态:当在测试状态时(D01)各位全应亮,一般选择正常操作状态(D0=0)。15表 寄存器名称D15D12D900110011001101D801010101010101译码模式亮度调节扫描限制关断模式显示测试112.3.3 MAX7219初始化表 设置项目显示亮度扫描限制译码方式显示测试关断方式颠倒后的数值(16 位)5F1FHDFEFH9F00HFF00H3F80H非译码方式正常操作正常操作2.3.4 部分程序功能介绍全部程序见附录二,下面仅介绍部分程序由于在读抢答数据口的时候,单片机首先进入倒计时程序,再调用显示程序,16(4ms

20、)延时程序.这样就会导致读数据口出现滞后,造成 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 3

21、3H,#1EHMOVA,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为确定键,如按下跳到 BACKO172.4LCD

22、简介2.4.1LCD和 LED 的区别LED为英文(LightEmittingDiode)的缩写,是发光二极管的一种,LCD是液晶显示器,两者相差太多.但是用 LED的点阵也能组成显示器,适用于户外大屏幕显示,分辨率较低。LCD为英文(Liquid Crystal )的缩写,即液晶显示器,是一种数字显示技术,通过液晶和彩色过滤器过滤光源,在平面面板上产生图象。与传统的阴极射线管 LCD占用空间小,低功耗,低辐射,无闪烁,降低视觉疲劳。LCD技术能够显示更加清晰,明亮的图象。缺点;显示的内容少,一般是数码,LED电子滚动显示,等等,很耗电,控制复杂。由于LCD比LEDLCD作为我们设计的显示器。

23、2.4.2 单片机和分立元件的区别单片机相当于一个集成电路,将一些功能都集成在一个芯片中,在一小块芯片中能实现各种功能的器件。分立元件是指电阻电感电路,他用了一个集成电路,外加一些零件即能实现需要的功能 ,而一般来说,用分立元件也能实现,但体积可能会大一些,可靠性可能也差一些。其系统硬件设计如图 2-318键盘输入图2.4.3显示电路设计和 LCD的引脚功能说明PCB线路板、背光源、结构件等装配在一起的组件。英文名称叫“LCD ModuleLCM 2-4所示,实物图如 2-5所示。VVV驱显O制动示E器器装置19图表2.4.4 液晶显示模块编号91234567810111213141516对比

24、度调节数据/命令选择读/写选择模块使能端双向数据口双向数据口BLKBLAD1背光源正极VDD:电源正极,4.55.5V,通常使用 5V电压;VL:LCD对比度调节端,电压调节范围为 05V。接正电源时对比度最弱,接 10K的电位器来调整对比度,或者直接串接一个电阻到地;RS:MCU写入数据或者指令选择端。MCU要写入指令时,使 RS为低电平;MCU要写入数据时,使 RS为高电平;R/W:读写控制端。R/W为高电平时,读取数据;R/W为低电平时,写入数据;20E:LCD模块使能信号控制端。写数据时,需要下降沿触发模块。D0D78位数据总线,三态双向。如果MCU的 I/O口资源紧张的话,该模块也可

25、以只使用 4位数据线 D4D7接口传送数据。本充电器就是采用 4位数据传送方式;BLA: LED背光正极。需要背光时,BLA串接一个限流电阻接 VDD,BLK接地,实测该模块的背光电流为 50mA左右;BLK: LED背光地端。发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为12位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极 COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码

26、管是指将所有发光二极管的阴极接到一起形成公共阴极的数码管。共阴数码管在应用时应将公共极 COM接到地线 GND为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。21三 抢答器原理图抢答器电路原理框图如图 3-1 4 示输出部分,左上部分是钟控部分,除了S1-S8 是选手控制按钮,其余按钮式主持人控制系统。 9-图 3-1 抢答器电路原理框图各按键功能介绍如下:SET 键为复位键,按下复位键系统进入就绪状态;B1、B2 分别为 30s、60s 预置时间键;“+”、“-”键可以调节时间;EN 键用来确定自设时间;ON 键用来确定一切就绪,按下它系统就进入倒计时抢答;为8223

27、.2仿真软件介绍1)Proteus软件简介Proteus SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。 ISIS是 Proteus系统的中心,它远不仅是一个图表库。它是具有控制原理图画图的外观设计环境 。Proteus软件是一种低投资的电子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达 30多个元件库。Proteus软件提供多种现实存Proteus还提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能减少仪器对测量结果的影响,Proteus软件提供丰富的

28、测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。提供 Schematic Drawing、SPICE仿真与 PCB设计功能,同时可以仿真单片机和周边设备,可以仿真51系列、AVRPIC等常用的MCU,并提供周边设备的仿真,例如 373、led、示波器等。Proteus提供了大量的元件库,有 RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分 SPI器件、部分 IIC器件,编译方面支持 Keil和MPLAB等编译器。一台计算机、一套电子仿真软件,在加上一本虚拟实验教程,就可相当于一个设备先进的实验室。以虚代实、以软代硬,就建立一个完善的虚拟实验室。在计算机上学习电工基础,模

29、拟电路、数字电路、单片机应用系统等课程,并进行电路设计、仿真、调试等。2)基本操作步骤1打开 PROTEUS 操作界面。2 OK。3在编辑区画电路图,修改元件参数。4进行电路仿真。3)使用 Proteus软件的便利。1培养学习者实验设计能力,并降低科研投入,不担心烧坏设备和元器件。2支持创新性设计。233培养团队合作能力。4提高实验质量,扩展学习者的思路和提高学习者的学习兴趣。3.3仿真测试效果 LED 果。操作说明:主持人按下复位键 SET,如果题目比较容易调节抢答时间为 22s,按下 B1 键,然后调节“-”按钮,显示从30 的倒计时,等显示时间减到22 时,停止按动“-”按钮,再按 EN

30、 键确定,然后按下 ON 开始抢答,同时扬声器响,显示如图 3-2 所示;5 号选手按下键抢答成功,立即进入倒计时答题状态如图 3-3 所示;如果在所设时间内选手未能按时答题,则发出报警,如图3-4 和 3-5 所示。若8 位选手均未能在设定时间内正常抢答,系统同样进入报警状态,本系统所有的报警时间都设置为 5s。 9-图 24 10k10pfXTAL1CRYSTALXTAL2RST10pf9+22uFP1.3P1.4P1.5P3.5/T1-P1.6P1.7AT89C52LED-RED图 +-图 25R8R7R2C2U1X1C19SET-S3S4S5S6S7ONEN图 26总结品打下基础。看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。仍有乐,和团队人员这一周的日子,让我们有说有笑,相互帮助,配合的实习,我感觉我和同学们之间的距离更加近了。这个工程确实很累,但当我们仿真实验成功的时候,当我们连好线,按下按钮,LED 亮了不免激动。会更加努力的学习,充分的发挥自己的特长。27参考文献1 朱运利. 单片机技术应用. 北

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论