收藏 分销(赏)

51单片机八路抢答器.doc

上传人:二*** 文档编号:4748727 上传时间:2024-10-11 格式:DOC 页数:40 大小:355KB 下载积分:5 金币
下载 相关 举报
51单片机八路抢答器.doc_第1页
第1页 / 共40页
本文档共40页,全文阅读请下载到手机保存,查看更方便
资源描述
. . . 51单片机 八路抢答器计课程设计 设计题目: 八路抢答器 学院系别: 电气工程学院 班级: 电气1001 设计学生: xxxx 指导老师: xxx 设计时间:2012年6月4日-6月10日 摘 要 抢答器是一种常见的电子产品,尤其是在各类智力竞猜中,为了实现选手的公平性,性能优良的抢答器往往更能得到各单位的青睐。这里通过两种设计方案的对比,最终选定了用单片机实现抢答器电路。由于单片机具有可编程定时器和中断设备,便于实现编程和时间的精确控制。所用方案电路结构简单,易于实现,它用4个七段数码管来显示,且具有简单精准的报警电路。所选方案的一个很重要的特点在于具有灵活性,主持人可以根据题目难易进行时间设定,这样进一步保证了公平性。由于它具有成本低廉,结构简单,且性能优良的诸多优点,必定会得到广泛的应用。 关键词:抢答器 ,单片机 ,七段数码管,时间设定 目 录 一方案的概述1 1.1 设计容与要求1 1.1.1 设计容1 1.1.2 设计要求1 1.2 设计方框图2 1.3 抢答器的程序流程3 二抢答器单元设计与其说明8 2.1主要芯片的介绍8 2.2程序流程图10 2.3 MAX721912 2.3.1 MAX7219引脚说明12 2.3.2 基本的工作方法13 2.3.3 MAX7219初始化14 2.3.4 部分程序功能介绍14 2.4LCD简介16 2.4.1LCD和LED的区别16 2.4.3显示电路设计和LCD的引脚功能说明17 2.4.4液晶显示模块18 三  抢答器电路原图与仿真20 3.1抢答器原理图20 3.2仿真软件介绍21 3.3仿真测试效果22 设计总结25 参考文献26 附录一27 附录二38 37 / 40 一 方案的概述 1.1 设计容与要求 1.1.1 设计容 1设计一个智力竞赛抢答器,可同时供8名选手或8个代表队参加比赛,他们的编号分别是1、2、3、4、5、6、7、8,各用一个抢答按钮,按钮的编号与选手的编号相对应,分别是S0、S1、S2、S3、S4、S5、S6、S7。 2给节目主持人设置一个控制开关,用来控制系统的清零(编号显示数码管灭灯)和抢答的开始。 3抢答器具有数据锁存和显示的功能。抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号,同时蜂鸣器给出音响提示。此外,要封锁输入电路,禁止其他选手抢答。优先抢答选手的编号一直保持到主持人将系统清零为止。 4用中小规模集成电路组成智力竞赛抢答器电路,画出各单元电路图和总体逻辑框图,正确描述各单元功能,合理选用电路器件,画出完整的电路设计图以与写出设计总结报告 1.1.2 设计要求 1、如果想调节抢答时间或答题时间,按"抢答时间调节"键或"答题时间调节" 键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下"加1s"键,如果想减一秒按一下"-1s"键,时间LED上会显示改变后的时间,调整围为0s~99s, 0s时再减1s会跳到99,99s时再加1s会变到0s。 2、主持人按"抢答开始"键,会有提示音,并立刻进入抢答倒计时(预设30s抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设60s抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。倒数时间到小于5s会每秒响一下提示音。 3、如倒计时期间,主持人想停止倒计时可以随时按"停止"按键,系统会自动进入准备状态,等待主持人按"抢答开始"进入下次抢答计时。 4、如果主持人未按"抢答开始"键,而有人按了抢答按键,犯规抢答,LED上不断闪烁FF和犯规号数并响个不停,直到按下"停止" 键为止。 5、P3.0为开始抢答,P3.1为停止,p1.0-p1.7为八路抢答输入 数码管段选P0口,位选P2口低3位,蜂鸣器输出为P3.6口。P3.2抢答时间调整整,P3.3回答时间调整,P3.4为时间加1调整,P3.5为时间减1调整。 6、当参赛选手在回答问题时要求使用锦囊,则主持人按下抢答开始键,计时重新开始。 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按下? 抢答时间加1s N Y N 结果为100s? 结果置0 N 结果为0s? 结果置100 抢答时间减1s Y Y N 停止键按下? 中断返回 N Y 图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按下? 答题时间加1s N Y N 结果为100s? 结果置0 N 结果为0s? 结果置100 答题时间减1s Y Y N 停止键按下? 中断返回 N Y 图1-4 INT1流程图 二 抢答器单元设计与其说明 2.1主要芯片的介绍 AT89SC52的引脚图如图2-1所示 图2-1 AT89SC52芯片引脚图 1) 主要性能 本方案所使用的主要芯片是AT89SC52, 它与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、 全静态操作:0Hz~33Hz 、 三级加密程序存储器 、 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/T2EX),参见表2-1 表2-1 P1.0 P2.0 引脚功能特性 4) 本方案中用到的一些引脚介绍 XTAL1:振荡器反相放大器的与部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。 特殊功能寄存器: 在AT89C52 片存储器中,80H-FFH 共128 个单元为特殊功能寄存器(SFE)。 并非所有的地址都被定义,从80H—FFH 共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。不应将数据“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。 AT89C52除了与AT89C51所有的定时/计数器0 和定时/计数器1 外,还增加了一个定时/计数器2。定时/计数器2 的控制和状态位位于T2CON,T2MOD,寄存器对(RCAO2H、RCAP2L)是定时器2 在16 位捕获方式或16 位自动重装载方式下的捕获/自动重装载寄存器。 2.2程序流程图 图2-2 程序流程图 2.3 MAX7219 2.3.1 MAX7219引脚说明 引脚说明见表2-2 表2-2 MAX7219引脚说明 引脚号 名称 功能说明 1 Din 串行数据输入端在CLK的上升沿数据被锁入芯片部16位移位寄存器。 2.3.5~8.10.11 DIG0~DIG7 8位LED位选线,从共阴极LED中吸入电流。 4.9 GND 地线(两个GND必须连在一起)。 12 Load 锁入输入的数据在Load上升沿最后的16位串行数据被锁入。 13 CLK 时钟输入,最高时钟频率为10MHZ,在CLK的上升沿数据被锁入部移位寄存器,在CLK的下降沿,数据从Dout脚被输出。 14~17 20~23 SegA~SegG.DP 7段驱动和小数点驱动 18 Iset 该脚通过一个电阻与V+相连,设置峰值段电流。 19 V+ 电源电压,+5V。 24 Dout 串行数据输出。输入到Din的数据在16.5个时钟周期后在Dout脚发出,该脚用于与级联扩展 2.3.2 基本的工作方法 MAX7219与8031单片机连接采用三线串行接口,典型应用电路如表2-3所示。Y&FeN;y-jGuest 表2-3 16位数据包的数据格式如下: D0~D7 D8~D11 D12 D13 D14 D15 LSB DATA MSB ADDRESS ⅹ ⅹ ⅹ ⅹ D7~D0:8位数据位,D7最高位,D0最低位; D11~D8:4位地址位; D15~D12:无关位,通常全取1。 MAX7219通过D11~D84位地址位译码,可寻址14个部寄存器,分别是8个LED显示位寄存器,5个控制寄存器和1个空操作寄存器。LED显示寄存器由部8×8静态RAM构成,操作者可直接对位寄存器进行个别寻址,以刷新和保持数据,只要V+超过2V(一般为+5V)。 a y6i/e8G(rW0n~Guest控制寄存器包括:译码模式,显示亮度调节,扫描限制(选择扫描位数),关断和显示测试寄存器。 EETOP专业博客---电子工程师自己的家园1w}m0@-?7B`-v&{Lt PGueste(|o'x*U `)vGuestMAX7219的驱动程序首先必须对5个控制寄存器(地址分配见表2-4)初始设置即初始化,各控制寄存器设置含义如下:译码模式选择寄存器(地址=F9H); 5G)sJ'wGm+C[GuestEETOP专业博客---电子工程师自己的家园\xG/U9Y3O|共有4种译码模式供选择,当数据位全0时选择“非译码方式”。在此方式下,8个数据位分别一一对应7个段和小数点。通常选择此方式。 1Qe{b#k qGuestk5{4q6Y+vGuest扫描限制寄存器:地址=FBH;用于设置显示的LED个数(1~8),当D2D1D0=111、D7D6D5D4D3无关时,可接8个LED管。EETOP专业博客---电子工程师自己的家园9rB3}Dw#Y0X亮度调节寄存器:地址=FAH;CB!iae rp-qGuest共有16级选择,用于LED显示亮度的强弱设置。EETOP专业博客---电子工程师自己的家园9^9lia(}8D$hw ^关断模式寄存器:地址=FCH;EETOP专业博客---电子工程师自己的家园K_*{aV@SI有两种模式选择:一种是关断状态模式(D0=0);一种是正常操作状态(D0=1),通常选择正常操作状态。EETOP专业博客---电子工程师自己的家园bj@A|}Q显示测试寄存器:地址=FFH;有两种选择用于设置LED是测试状态还是正常操作状态:当在测试状态时(D0=1)各位全应亮,一般选择正常操作状态(D0 =0)。 表2-4 寄存器地址分配表 寄存器名称 地址 D15~D12 D11 D10 D9 D8 空操作 ⅹⅹⅹⅹ 0 0 0 0 Digit0 ⅹⅹⅹⅹ 0 0 0 1 Digit1 ⅹⅹⅹⅹ 0 0 1 0 Digit2 ⅹⅹⅹⅹ 0 0 1 1 Digit3 ⅹⅹⅹⅹ 0 1 0 0 Digit4 ⅹⅹⅹⅹ 0 1 0 1 Digit5 ⅹⅹⅹⅹ 0 1 1 0 Digit6 ⅹⅹⅹⅹ 0 1 1 1 Digit7 ⅹⅹⅹⅹ 1 0 0 0 译码模式 ⅹⅹⅹⅹ 1 0 0 1 亮度调节 ⅹⅹⅹⅹ 1 0 1 0 扫描限制 ⅹⅹⅹⅹ 1 0 1 1 关断模式 ⅹⅹⅹⅹ 1 1 0 0 显示测试 ⅹⅹⅹⅹ 1 1 1 1 2.3.3 MAX7219初始化 表2-5 初始化设置各项的选择与对应数值 设置项目 选择 颠倒后的数值(16位) 显示亮度 17/32 5F1FH 扫描限制 0~7位 DFEFH 译码方式 非译码方式 9F00H 显示测试 正常操作 FF00H 关断方式 正常操作 3F80H 2.3.4 部分程序功能介绍 全部程序见附录二,下面仅介绍部分程序 由于在读抢答数据口的时候,单片机首先进入倒计时程序,再调用显示程序,最后才检测按键口,然而在检测按键口时动态扫描要调用三次(4ms)延时程序.这样就会导致读数据口出现滞后,造成1号优先最高.8号最低.故采用在延时子程序中加了读数据口程序.保证了灵敏度和可靠性,程序如下: ===加减时间延时(起到不会按下就加N个数)====== DELAY1: MOV 35H,#08H LOOP0: ACALL DISPLAY DJNZ 35H,LOOP0 RET ;=====延时4236个机器周期(去抖动用到)===== DELAY: MOV 32H,#12H LOOP: MOV 33H,#0AFH LOOP1: DJNZ 33H,LOOP1 DJNZ 32H,LOOP RET;=====延时4236个机器周期(显示用到)===== DELAY2: MOV 32H,#43H LOOP3: MOV 33H,#1EH MOV A,R7 ;每隔60~70个机器周期读一次P1口,全为1时为无效数据,继续读,有一个不为1时,转到正常抢答处理 JNZ AAAA1 ;没读到有效数据时继续转到AAAA1 LOOP2: DJNZ 33H,LOOP2 DJNZ 32H,LOOP3 RET;=====读抢答按键数据口程序===== 主持人时间设定程序如下: ACALL DISPLAY;先在两个时间LED上显示R1 JNB P3.4,INC0;P3.4为+1s键,如按下跳到INCO JNB P3.5,DEC0;P3.5为-1s键,如按下跳到DECO JNB P3.1,BACK0;P3.1为确定键,如按下跳到BACKO 2.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 单片机系统硬件设计 2.4.3显示电路设计和LCD的引脚功能说明 液晶显示模块是一种将液晶显示器件、连接件、集成电路、PCB线路板、背光源、结构件等装配在一起的组件。英文名称叫“LCD Module”,简称“LCM”,中文称为“液晶显示模块”,其流程图如2-4所示,实物图如2-5所示。 LCD 控 制 器 VSS VDDD VO RS R/W E DB0~DB7 LCD 驱 动 器 LCD 显 示 装 置 如图2-4 LCD流程图 图2-5 LCD1602实物图 2.4.4液晶显示模块 表2-6 LCD引脚功能 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 双向数据口 2 VDD 电源正极 10 D3 双向数据口 3 VL 对比度调节 11 D4 双向数据口 4 RS 数据/命令选择 12 D5 双向数据口 5 R/W 读/写选择 13 D6 双向数据口 6 E 模块使能端 14 D7 双向数据口 7 D0 双向数据口 15 BLK 背光源地 8 D1 双向数据口 16 BLA 背光源正极 VDD:电源正极,4.5-5.5V,通常使用5V电压; VL:LCD对比度调节端,电压调节围为0-5V。接正电源时对比度最弱,接地电源时对比度最高,但对比度过高时会产生“鬼影”,因此通常使用一个10K的电位器来调整对比度,或者直接串接一个电阻到地; RS:MCU写入数据或者指令选择端。MCU要写入指令时,使RS为低电平;MCU要写入数据时,使RS为高电平; R/W:读写控制端。R/W为高电平时,读取数据;R/W为低电平时,写入数据; E:LCD模块使能信号控制端。写数据时,需要下降沿触发模块。 D0-D7:8位数据总线,三态双向。如果MCU的I/O口资源紧的话,该模块也可以只使用4位数据线D4-D7接口传送数据。本充电器就是采用4位数据传送方式; BLA: LED背光正极。需要背光时,BLA串接一个限流电阻接VDD,BLK接地,实测该模块的背光电流为50mA左右; BLK: LED背光地端。 数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。 三  抢答器电路原图与仿真 3.1抢答器原理图 抢答器电路原理框图如图3-1所示,其中右上部分是4个七段数码管,作为显示输出部分,左上部分是钟控部分,除了S1-S8是选手控制按钮,其余按钮式主持人控制系统。 图3-1 抢答器电路原理框图 各按键功能介绍如下: ①SET键为复位键,按下复位键系统进入就绪状态; ②B1、B2分别为30s、60s预置时间键; ③“+”、“-”键可以调节时间; ④EN键用来确定自设时间; ⑤ON键用来确定一切就绪,按下它系统就进入倒计时抢答; ⑥S1-S8为8个抢答按键。 3.2仿真软件介绍 1) Proteus软件简介 Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以与自动布线来实现一个完整的电子设计系统。 ISIS是Proteus系统的中心,它远不仅是一个图表库。它是具有控制原理图画图的外观设计环境 。 Proteus软件是一种低投资的电子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。Proteus软件提供多种现实存在的虚拟仪器仪表。此外,Proteus还提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能减少仪器对测量结果的影响,Proteus软件提供丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。提供Schematic Drawing、SPICE仿真与PCB设计功能,同时可以仿真单片机和周边设备,可以仿真51系列、AVR、PIC等常用的MCU,并提供周边设备的仿真,例如373、led、示波器等。Proteus提供了大量的元件库,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,编译方面支持Keil和MPLAB等编译器。 一台计算机、一套电子仿真软件,在加上一本虚拟实验教程,就可相当于一个设备先进的实验室。以虚代实、以软代硬,就建立一个完善的虚拟实验室。在计算机上学习电工基础,模拟电路、数字电路、单片机应用系统等课程,并进行电路设计、仿真、调试等。 2)基本操作步骤 1.打开PROTEUS 操作界面。 2.选择“P”,从元件库中提取需要的元器件(选中双击),选择完点OK。 3.在编辑区画电路图,修改元件参数。 4.进行电路仿真。 5.保存文件。 3)使用Proteus软件的便利。 1.培养学习者实验设计能力,并降低科研投入,不担心烧坏设备和元器件。 2.支持创新性设计。 3.培养团队合作能力。 4.提高实验质量,扩展学习者的思路和提高学习者的学习兴趣。 3.3仿真测试效果 经测试达到了设计的效果,下面用发光LED代替报警系统,则可以看到测试效果。 操作说明:主持人按下复位键SET,如果题目比较容易调节抢答时间为22s,按下B1键,然后调节“-”按钮,显示从30的倒计时,等显示时间减到22时,停止按动“-”按钮,再按EN键确定,然后按下ON开始抢答,同时扬声器响,显示如图3-2所示;5号选手按下键抢答成功,立即进入倒计时答题状态如图3-3所示;如果在所设时间选手未能按时答题,则发出报警,如图3-4和3-5所示。若8位选手均未能在设定时间正常抢答,系统同样进入报警状态,本系统所有的报警时间都设置为5s。 图3-2 抢答器抢答状态 图3-3 抢答器倒计时答题状态 图3-4 抢答器报警状态 图3-5 抢答器报警状态终 总结 此次毕业设计要求我们在老师的指导下独立进行查阅资料,设计方案与组织实验等工作,并写出报告。这次实验对于提高我们的素质和科学实验能力非常有益,为以后从事电子电路方面的设计,研制电子产品打下基础。 通过这一周的学习,发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。 通过这次毕业设计,为完成这次毕业设计我们确实很辛苦,但苦中仍有乐,和团队人员这一周的日子,让我们有说有笑,相互帮助,配合默契,多少人间欢乐在这里洒下,大学里两年的相处还赶不上这两个月的实习,我感觉我和同学们之间的距离更加近了。这个工程确实很累,但当我们仿真实验成功的时候,当我们连好线,按下按钮,LED亮了起来,喇叭响起的是我一生以来最好听的声音,我们的心中就不免兴奋,不免激动。 对我们而言,知识上的收获重要,精神上的丰收更加可喜。在此要特别感我的指导老师对我们的指导,在此向老师说一声,老师您辛苦了!当然我也要感我们同组的人的积极合作。在老师的启发和我们共同的努力下,我们才能顺利的完成毕业设计。在以后的工作中,我一定会更加努力的学习,充分的发挥自己的特长。 参考文献 [1] 朱运利. 单片机技术应用. :机械工业, 2005年1月第一版. [2] 大彪. 电子技能与实训. :电子工业, 2004年7月. [3] 全力,德申. 微机控制技术与应用. :机械工业, 2004年1月第一版. [4] 阎 石. 数字电子电路. :中央广播电视大学, 1993. [5] 毅坤,善久,龚雪红. 单片微型计算机原理应用. :电子科技大学, 2003. [6] 田 良,黄正瑾,建元. 综合电子设计与实践. :东南大学. [7] 素行. 模拟电子电路. :中央广播电视大学, 1994. [8] 康平光. 电子技术基础. :高等教育, 2003. [9] 华. MCS-51单片机接口技术与应用. :航天航空大学. 附录一 完整的源程序: OK EQU 20H;抢答开始标志位 RING EQU 22H;响铃标志位 ORG 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ORG 000BH AJMP T0INT ORG 0013H AJMP INT1SUB ORG 001BH AJMP T1INT ORG 0040H MAIN: MOV R1,#30;初设抢答时间为30s MOV R2,#60;初设答题时间为60s MOV TMOD,#11H;设置未定时器/模式1 MOV TH0,#0F0H MOV TL0,#0FFH;越高发声频率越高,越尖 MOV TH1,#3CH MOV TL1,#0B0H;50ms为一次溢出中断 SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1;允许四个中断,T0/T1/INT0/INT1 CLR OK CLR RING SETB TR1 SETB TR0; START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY;未开始抢答时候显示FFF P3.0,NEXT;ddddddd ACALL DELAY P3.0,NEXT;去抖动,如果"开始键"按下就向下执行,否者跳到非法抢答查询 ACALL BARK;按键发声 MOV A,R1 MOV R6,A;送R1->R6,因为R1中保存了抢答时间 SETB OK;抢答标志位,用于COUNT只程序中判断是否查询抢答 MOV R7,#01H ;读抢答键数据信号标志,这里表示只读一次有用信号 MOV R3,#0AH;抢答只显示计时,灭号数 AJMP COUNT;进入倒计时程序,"查询有效抢答的程序"在COUNT里面 NEXT: JNB P1.0,FALSE1 JNB P1.1,FALSE2 JNB P1.2,FALSE3 JNB P1.3,FALSE4 JNB P1.4,FALSE5 JNB P1.5,FALSE6 JNB P1.6,FALSE7 JNB P1.7,FALSE8 AJMP START;=====非法抢答处理程序===== FALSE1: MOV R3,#01H AJMP ERROR FALSE2: MOV R3,#02H AJMP ERROR FALSE3: MOV R3,#03H AJMP ERROR FALSE4: MOV R3,#04H AJMP ERROR FALSE5: MOV R3,#05H AJMP ERROR FALSE6: MOV R3,#06H AJMP ERROR FALSE7: MOV R3,#07H AJMP ERROR FALSE8: MOV R3,#08H AJMP ERROR;=====INT0(抢答时间R1调整程序)===== INT0SUB:MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY;先在两个时间LED上显示R1 JNB P3.4,INC0;P3.4为+1s键,如按下跳到INCO JNB P3.5,DEC0;P3.5为-1s键,如按下跳到DECO JNB P3.1,BACK0;P3.1为确定键,如按下跳到BACKO AJMP INT0SUB INC0: MOV A,R1 CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起。 MOV R1,#00H ACALL DELAY1 AJMP INT0SUB ADD0: INC R1 ACALL DE
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服