八路抢答器课程设计论文(27页).doc

上传人:1595****071 文档编号:37129050 上传时间:2022-08-30 格式:DOC 页数:27 大小:401.50KB
返回 下载 相关 举报
八路抢答器课程设计论文(27页).doc_第1页
第1页 / 共27页
八路抢答器课程设计论文(27页).doc_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《八路抢答器课程设计论文(27页).doc》由会员分享,可在线阅读,更多相关《八路抢答器课程设计论文(27页).doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-八路抢答器课程设计论文-第 27 页前言在飞速发展的当下,从家用电器到办公自动化、工业自动化以及各种智能仪表到智能接口,都少不了单片机的广泛应用。同时,单片机具有体积小、价格低、可靠性高、智能、实时、可塑性好等诸多优点,使其成为开发嵌入式要用心太软和小型智能化产品的首选机种。随着电子技术的飞速发展,微型计算机作为嵌入式控制系统的主体与核心,代替了传统的控制系统的常规电子线路。同时楼宇智能化的发展与成熟,也为基于单片机的照明控制系统的普及与应用奠定了坚实的基础。本设计是以八路抢答为基本理念。考虑到依需设定限时回答的功能,利用80C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定

2、时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。目录前言1第一章 设计目的及要求31.1、设计目的31.2、设计要求3第2章 方案设计42.1、几种常见的抢答模式42.2、研究背景42.3、本文研究的主要内容42.4

3、、方案论证5第3章 主要元器件介绍63.1、AT89C51单片机介绍63.1.1 AT89C51芯片简介63.1.2 引脚说明73.2、7SEG-MPX4-CC简介83.3、SOUNDER蜂鸣器简介93.4、RX8电阻块简介9第4章 硬件电路设计104.1、控制和设置电路104.2、外部振荡电路104.3、复位电路114.4、抢答输入电路124.5、显示电路12第5章 软件设计及主要子程序135.1、软件设计思路135.2、主程模块135.3、查询子程序设计145.4、抢答时间设置子程序设计155.5、发声子程序设计165.6、响铃子程序设计175.7、显示子程序设计17第6章 系统仿真与调试

4、186.1、Keil编译186.2、Protues8仿真平台186.2.1、Protues8仿真简介及部分模块仿真186.2.2、硬件电路总图与仿真19第7章 操作方法22第8章 课程设计总结23附录24汇编程序24PCB原理图36参考文献37第一章 设计目的及要求1.1、设计目的1)掌握51系列单片机的基本硬件结构及工作原理;2)掌握51系列单片机的汇编语言及基本程序设计方法;3)学习并掌握使用51系列单片机开发控制系统的基本步骤及方法。1.2、设计要求1.2.1、课程设计要求 能熟练运用51单片机实现硬件与软件结合完成电子产品的设计,把理论真正运用于实践,会用Keil等软件编程调试运行,熟

5、悉应用Proteus软件仿真。强化编程练习,注意查询方式与中断方式的区别等等。1.2.2、基本设计功能要求主要分为以下几个部分:1)抢答器同时供八名选手或八名代表在比赛中使用,分别用八个按钮s0s7表示;2)设置一个系统清除和抢答控制开关s,该开关由主持人控制;3)抢答器具有定时抢答功能;且一次抢答时间由主持人设定30秒,当主持人启动开始键后,定时器进行显计时,并在数码管上显示计时时间。4)该系统采用2个数码管显示,抢答启动后,首先显示时间,当有人抢答时,显示抢答人员所对应的编号5)抢答器具备锁存与显示功能,当选手按下按钮后,锁存相应的编号,扬声器发生声响提示,并在数码管上显示该选手的编号,选

6、手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。第2章 方案设计2.1、几种常见的抢答模式(一)任意抢答模式:主持人念题过程或出题后说“开始”,选手随时抢答,机器判别抢答成功不判别犯规。 (二)3秒预备全自动抢答模式:指的是主持人出题后说“请准备”,然后按下“抢答启动键”机器自动发出“3 2 1 开始抢答”的语音指令,此时选手就可以抢答,机器会自动判别犯规并屏蔽(可屏蔽多组犯规)。 (三)倒计时继续抢答模式:按“抢答启动”键后机器连续计时,抢答成功暂停,给选手加分或减分确认后继续抢答倒计时知道计时为0为止。(四)半自动(主持人)抢答模式:指的是主持人出题后说:请准备机器发

7、出“321开始抢答”的指令按下抢答按钮,如有犯规机器会自动播报。2.2、研究背景抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。早期的抢答器只由几个三极管、可控硅、发光管等组成,能通过发光管的指示辩认出选手号码。现在大多数抢答器均使用单片机(如MCS-51型)和数字集成电路,并增加了许多新功能,如选手号码显示、抢按前或抢按后的计时、选手得分显示等功能。本课题利用80C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间和选手号码。用

8、开关做键盘输出,扬声器发生提示。智力竞赛抢答器用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成, 采用单片机80C51,它是低功耗、高性能的CMOS 型8 位单片机。片内带有4KB 的存储器,且允许在系统内改写或用编程器编程。该智力竞赛抢答器的准确度很高,其误差主要由晶振自身的误差所造成。本系统采用模块化设计智能抢答器,在抢答比赛中广泛应用,各组分别有一个抢答按钮。主持人有开始和结束、复位键。在后台主持人可以修改,抢答时间和选手回答问题的时间设置,原始状态下抢答时间为0s,回答问题时间为0s。新时间开始有效,主持人按键开始后,选手开始抢答为有效,数码显示屏显示抢答时间倒计时和选手

9、号,在最后扬声器发生提示。 如果主持人没有按下开始键而选手就抢答视为犯规。主持人可按键结束,新一轮抢答开始。2.3、本文研究的主要内容设计内容完全按照前面的设计要求完成,完全满足前面的设计要求。2.4、方案论证方案:设计选用单片机AT80C51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。方案完全按照第1章的基本设计要求设计。 主 控 制 器LED显示声生器键盘显示时钟频率复位电路图2.1 单片机控制方案控制系统主要由单片机应用电路、存储器接口电路、显示接口电路组成。其中单片机80C51 是系统工作的核心,它主要负责控制各个部分协调工

10、作。所需元件:该系统的核心器件是80C51。在其外围接上复位电路、上拉电阻、数码管、按钮及扬声器。元件为:晶振X1、电容C1、C2、C3、 电阻RP1、P3.0 和P3.1 由裁判控制,分别是抢答停止和开始键。P1.0-P1.7 是8 组抢答的输入口, P2.0-P2.3 口为数码管的段选口,位选口用的是P0.0-P0.6 口输出,外部中断0、1 和P3.3,P3.4 为抢答记时调整口,实现的对个队进行计时,并且加减调整,外部中断0,1 实现了答题时间调整.P3.4 P3.5 分别实现了时间的加一和减一.P3.6 为蜂鸣器的控制口。第3章 主要元器件介绍3.1、AT80C51单片机介绍3.1.

11、1 AT80C51芯片简介AT80C51是MCS51系列单片机中的一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。 主要性能:与MCS-51 微控制器产品系列兼容。 片内有4KB可在线重复编程的快闪擦写存储器存储数据保存时间为10年。宽工作电压范围:Vcc可为2.7V到6V全静态工作;可从0Hz至16MHz 程序存储器具有3级加密保护 128*8位内部RAM 32条可编程I/O线、两个16位定时器/计数器、中断结构具有5个中断源和2个优先级、可编程全双工串行通道、空闲状态维持低功耗和掉电

12、状态保存存储内容。80C51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器。它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统各部分功能及说明类似于8951单片机内部结构说明。 特殊功能寄存器共有21个,用于对片内的各功能的部件进行管理、控制、监视。实际上是

13、一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。 由上可见, 80C51单片机的硬件结构具有功能部件种类全,功能强等特点。特别值得一提的是该单片机CPU中的位处理器,它实际上是一个完整的1位微计算机,这个1位微计算机有自己的CPU、位寄存器、I/O口和指令集。1位机在开关决策、逻辑电路仿真、过程控制方面非常有效;而8位机在数据采集,运算处理方面有明显的长处。MCS-51单片机中8位机和1位机的硬件资源复合在一起,二者相辅相承,它是单片机技术上的一个突破,这也是MCS-51单片机设计的精美之处。3.1.2 引脚说明 图3.1是标准的双列直插式集成电路芯片。图3.1 80C51引脚图P0

14、0P07 P0口8位双向口线(在引脚的3932号端子)。P10P17 P1口8位双向口线(在引脚的18号端子)。P20P27 P2口8位双向口线(在引脚的2128号端子)。P30P37 P3口8位双向口线(在引脚的1017号端子)。1、P0口有三个功能: (1)外部扩展存储器时,用作数据总线(如图中的D0D7为数据总线接口)(2)外部扩展存储器时,用作地址总线(如图中的A0A7为地址总线接口)(3)不扩展时,可做一般的I/O口使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。2、P1口功能:P1口只做I/O口使用,其内部有上拉电阻。3、P2口有两个功能:(1)扩展外部存储器时,当作地

15、址总线使用;(2)做一般I/O口使用,其内部有上拉电阻。4、P3口有两个功能:除了作为I/O口使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。5、ALE/PROG 地址锁存控制信号:在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。PROG为编程脉冲的输入端,在89C51单片机内部有一个4KB的程序存储器(ROM),ROM的作用就是用来存放用户需要执行的程序的,那么我们是怎样把编写好的程序存入

16、进这个ROM中的呢?实际上是通过编程脉冲输入才能写进去的,这个脉冲的输入端口就是PROG。6、PSEN 外部程序存储器读选通信号:在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作:(1)内部ROM读取时,PSEN不动作;(2)外部ROM读取时,在每个机器周期会动作两次;(3)外部RAM读取时,两个PSEN脉冲被跳过不会输出;(4)外接ROM时,与ROM的EA脚相接。7、EA/VPP 访问程序存储器控制信号:(1)接高电平时:CPU读取内部程序存储器(ROM)(2)接低电平时:CPU读取外部程序存储器(ROM)。8031单片机内部是没有ROM的,那么在应用8031单片机时,这个脚

17、是一直接低电平的。8、RST 复位信号:当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作,当复位后程序计数器PC=0000H,即复位后将从程序存储器的0000H单元读取第一条指令码。9、XTAL1和XTAL2 :外接晶振引脚。当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。10、VCC:电源端接+5V电压输入。11、GND:接地端。3.2、7SEG-MPX4-CC简介 采用七段码 7SEG-MPX4-CC 显示,它是共阴极的由高电平点亮。图形如下:图3.2 7SEG-MPX4-CC引脚图3.3、SOUNDER蜂

18、鸣器简介 外部还接有SOUNDER蜂鸣器(由于SPEAKER缺少驱动电路,所以为了方便起见,这里使用带有自驱动的SOUNDER蜂鸣器)用来发出报警音,并且使用LED,使其能看到发声状态。图形如下:图3.2 7SEG-MPX4-CC引脚图3.4、RX8电阻块简介RX8电阻块用于单片机IO用作低电平输入时是提供灌电流,电阻大小的确定一般都是根据你的拉电阻的选择,因为漏极输出的IO内阻相当大,等效电路的电阻就是你的拉电阻,拉电流就是你的外接电源/拉电阻,一般的TTL电平驱动电流在20ma-25ma,可以视情况选择电阻的大小。图形如下:图3.2 RX8电阻块第4章 硬件电路设计硬件电路的设计主要包括控

19、制和设置电路设计、外部震荡电路设计、复位电路设计、抢答输入电路设计和显示电路设计。4.1、控制和设置电路如图所示电路,80C51 单片机由微处理器,存储器,I/O 口以及特殊功能寄存器SFR 等部分构成。其存储器在物理上设计成程序存储器和数据存储器两个独立的空间,片内程序存储器的容量为4KB,片内数据存储器为128 个字节。80C51 单片机有4个8 位的并行I/O 口:P0 口,P1 口,P2 口和P3 口。各个接口均由接口锁存器,输出驱动器,和输入缓冲器组成。P1 口是唯一的单功能口,仅能用作通用的数据输入/输出口。P3 口是双功能口除了具有数据输入/输出功能外,每条接口还具有不同的第二功

20、能,如P3.0 是串行输入口线,P3.1 口是串行输出口线。在需要外部程序存储器和数据存储器扩展时,P0 可作为分时复用的低8 位地址/数据总线,P2 口可作为高8 位的地址总线。P3 口也可作为80C51 的一些特殊功能口,同时为闪烁编程和编程校验接收一些控制信号。图4.1 控制和设置电路4.2、外部振荡电路单片机外部振荡电路单片机必须在 80C51 的驱动下才能工作.在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元。外部振荡电路如下:图4.2 外部震荡电路4.3、复位电路外部中断和内部中断并存,单片机有硬件复位端,只要输入持续 4 个机器周

21、期的高电平即可实现复位。硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值,应为本设计功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位。只能用软复位。软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程。复位电路如下:图4.3 复位电路4.4、抢答输入电路采用八个 BUTTON 按钮作为抢答的选择按键如图所示:图4.4 抢答输入电路4.5、显示电路采用七段码 7SEG-MPX4-CC 显示,它是共阴极的由高电平点亮。如下: 图4.5 显示电路第5章 软件设计及主要子程序5.1、软件设计思路系统初始化模块按键模块非法抢答模块正确抢答模块调整抢答时间调整回答时

22、间模块数码显示模块图5.1 软件设计思路5.2、主程模块智力竞赛抢答器要求有计时记忆功能,一次时间设置完,复位后不需重新进行时间设定,通过键盘扫描输出按键信息,再通过单片机将它转换成能在七段数码管上显示字型码。当抢答完毕时,会在数码管上显示抢答者数字号码提示以表示抢答成功。同时显示其分数,分数的加减可由裁判手动进行。 采用独立式键盘,可实现八路抢答。在显示时使用的是七段数码管显示在本设计中根据实际情况采用的是动态显示方法,并通过查表法将其在数码管上显示出来,其中P1口为字型码输入端,P2口低6 位为字选段输入端。通过查表将字型码送给7段数码管显示的数字。软件去抖动,如果“开始键”按下就向下执行

23、,否者跳到开始。采用倒计时程序,使其具有倒计时功能。回答倒计时30秒。抢答时间5 秒。采用发声亮灯警报,起到报警作用。显示FFF 开始键按下?加一键按下?减一键按下?回答时间 调整抢答时间去抖动非法抢答处理显示犯规正常抢答 显示抢答号并倒计时Y YY 初始化图5.2 主程序流程图5.3、查询子程序设计START: MOV R5,#0BHMOV R4,#0BHMOV R3,#0BHACALL DISPLAY ;未开始抢答时候显示FFFJB P3.0,NEXT;dddddddACALL DELAYJB P3.0,NEXT ;去抖动,如果开始键按下就向下执行,否者跳到非法抢答查询ACALL BARK

24、 ;按键发声MOV A,R1MOV R6,A ;送R1-R6,因为R1 中保存了抢答时间SETB OK ;抢答标志位,用于COUNT 只程序中判断是否查询抢答MOV R7,#01H ;读抢答键数据信号标志,这里表示只读一次有用信号MOV R3,#0AH ;抢答只显示计时,灭号数AJMP COUNT ;进入倒计时程序,查询有效抢答的程序在COUNT 里面NEXT: JNB P1.0,FALSE1JNB P1.1,FALSE2JNB P1.2,FALSE3JNB P1.3,FALSE4JNB P1.4,FALSE5JNB P1.5,FALSE6JNB P1.6,FALSE7JNB P1.7,FAL

25、SE8AJMP START5.4、抢答时间设置子程序设计INT0SUB:MOV A,R1MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLAY ;先在两个时间LED 上显示R1JNB P3.4,INC0 ;P3.4 为+1s 键,如按下跳到INCOJNB P3.5,DEC0 ;P3.5 为-1s 键,如按下跳到DECOJNB P3.1,BACK0 ;P3.1 为确定键,如按下跳到BACKOAJMP INT0SUBINC0: MOV A,R1CJNE A,#63H,ADD0 ;如果不是99,R2 加1,如果加到99,R1 就置0,重新加起

26、。MOV R1,#00HACALL DELAY1AJMP INT0SUBADD0: INC R1ACALL DELAY1AJMP INT0SUBDEC0: MOV A,R1JZ SETR1 ;如果R1 为0, R1 就置99,DEC R1ACALL DELAY1AJMP INT0SUBSETR1: MOV R1,#63HACALL DELAY1AJMP INT0SUBBACK0: RETI5.5、发声子程序设计BARK: SETB RINGACALL DELAY1ACALL DELAY1CLR RING ;按键发声RET5.6、响铃子程序设计T0INT: MOV TH0,#0ECHMOV TL

27、0,#0FFHJNB RING,OUT;CPL P3.6 ;RING 标志位为1 时候P3.6 口不短取反使喇叭发出一定频率的声音OUT: RETI5.7、显示子程序设计DISPLAY:MOV DPTR,#DAT1;查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出, MOV A,R3 MOVC A,A+DPTR MOV P2,#0feH MOV P0,A ACALL DELAY2 MOV DPTR,#DAT2 MOV A,R5 MOVC A,A+DPTR MOV P2,#0fdH MOV P0,A ACALL DELAY2 MOV A,R4 MOVC A,A+DPTR MOV P

28、2,#0fbH MOV P0,A ACALL DELAY2 RETDAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H ;灭,1,2,3,4,5,6,7,8,9,灭,FDAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H;第一个为零,其他与上相同,因为十位如果为零显示熄灭第6章 系统仿真与调试6.1、Keil编译Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势, Ke

29、il提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。如果使用C语言编程,那么Keil几乎就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。本次设计采用汇编语言编程,生成.hex文件以供装载到Protues中的单片机进行仿真。6.2、Protues8仿真平台6.2.1、Protues8仿真简介及部分模块仿真Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能

30、,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。迄今为止是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。在编译方面,它也支持IAR、Keil和MATLAB等多种编译。目标代码的加载方法为,在Protues编辑环境双击AT89C51,弹出下图所示的对话框,

31、在PROGRAM FILM一栏中单击打开按钮,选中Keil中生成的lzy.hex文件,在CLOCK FREQUENCY栏中设置系统工作频率为12MHZ,单击OK完成目标代码的加载。图6.1 程序代码加载6.2.2、硬件电路总图与仿真点击运行按钮启动系统仿真,为了保护密码的隐蔽,输入密码时不显示数字而是显示一横线。硬件总图如下:图6.2 总图五号违规抢答:图6.3 五号违规抢答时间调整:图6.4 时间增加图6.5 时间减少七号正在答题:图6.6 七号正在答题第7章 操作方法点击运行:1、如果想调节抢答时间或答题时间,按抢答时间调节键或答题时间调节键进入调节状态,此时会显示现在设定的抢答时间或回答

32、时间值,如想加一秒按一下加2s键,如果想减一秒按一下-2s键,时间LED 上会显示改变后的时间,调整范围为0s99s, 0s 时再减2s 会跳到99,99s 时再加2s 会变到0s。主持人按抢答开始键,会有提示音,并立刻进入抢答倒计时(预设30s 抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设60s 抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。倒数时间到小于5s 会每秒响一下提示音。如倒计时期间,主持人想停止倒计时可以随时按停止按键,系统会自动进入准备状态,等待主持人按抢答开始进入下次抢答计时。4、如果主持人未按抢答开始键,而有人按了抢答按键,犯

33、规抢答,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 调整。第8章 课程设计总结通过这次用单片机对八路抢答器的设计与仿真,让我对电子产品的设计程序与步骤牢牢把握,也让我对51单片机的基本原理与设计理念有深刻的理解,第一次用Proteus做仿真,开始很茫然不知道从什么地方下手,在软件上经常找不到自己想要的元器件,下载了一个教程学习后很

34、快着手。短短的一个星期,从开始选题到完成设计,虽然碰到的很多让我头痛的问题,但是通过查阅资料,温习了以前所学过的知识,用理论联系实际并结合单片机原理与接口技术课程解决实际问题,巩固、加深和扩展了有关单片机设计方面的知识,尤其重要的是让我明白无论做什么事情都不能自认为简单或是困难,需要去实践以后才会真正理解,才能真正的解决问题。单片机课程设计是一门很实用,很难的设计。这个设计用到了单片机,电路等方面的知识,通过这次课程设计,使我对单片机及其附属电路有了一定的了解,对课本上的知识有了近一步的掌握,也深刻明白了自己的不足。完成本次课程设计的过程,是一个从无到有的过程,经历了兴奋、自信、失落、奋发、所

35、悟、完成几个过程。刚做做课程设计时,仔细阅读设计的题目和要求,以为没什么困难的,所用的知识书上都有。可是当我动手开始做的时候,才发现其中的算法,设计是那么繁琐。经过一天的努力,毫无结果。失落的心情油然而生。于是,再到图书馆和网上查找资料,在经过借鉴很多类似的资料,文献后,总算是有点眉目了。埋头苦干的过程是痛苦的,尤其是在思考算法和程序框架时,迷茫,烦躁,特别是当苦思出来一个结果,又被自己推翻,心痛的无法言绘。在痛苦中挣扎,建立,推翻,参考别人的思路,建立,再次在推翻,在这不断循环中,终于最后完善了程序。其中的煎熬是很痛苦的,深刻明白攻克自己“未知领域”的困难。但当课程设计完成时,那感觉是甜蜜的

36、,没有耕耘,哪来得收获的喜悦,不懂付出怎么能知道回报的快乐,一分耕耘一分收获,有付出才会有回报,就在这样的痛与快乐的交换中,我学到了知识,学到了做人的道理。通过这短短一周的实践,我感觉到自己从课本上学到的理论知识和实践仍有很大的差距。最少很多元器件根本不知道有什么功效,在仿真仪器中是什么代码。有的知识,自己感觉已经掌握得差不多了,但是实际操作起来就有问题出现了。我遇到了不少问题,花费了很多的时间。这让我重新反思我们的学习,深刻领悟到我们这个专业动手,实践的重要性。理论不经过实践考验,是没法实施的,就像我们编的程序,很多方面考虑的都不够,几乎没有涉及到实际应用时的防范方法措施。这次的课程设计,让

37、我学到了很多书本上学不到的东西,学到了实际应用时,是取用成本的最小化,做设计不仅要考虑大的方面,小的方面也必须做到完美。最大的收获是 C51 语言(虽然最后还是用汇编语言编写的,但是,我也试着学用了C51)的应用有了深刻的了解。附录汇编程序;电气123班-胡舒怡-2012012146;八路抢答器源程序OK EQU 20H ;抢答开始标志位RING EQU 22H ;响铃标志位ORG 0000HAJMP MAINORG 0003HAJMP INT0SUBORG 000BHAJMP T0INTORG 0013HAJMP INT1SUBORG 001BHAJMP T1INTORG 0040HMAIN

38、: MOV R1,#30 ;初始抢答时间30sMOV R2,#60 ;初始答题时间60sMOV TMOD,#11H ;设置未定时器/模式1MOV TH0,#0F0HMOV TL0,#0FFH ;发声频率越高,声音越尖MOV TH1,#3CHMOV TL1,#0B0H ;50ms为一次溢出中断SETB EASETB ET0SETB ET1SETB EX0SETB EX1 ;允许四个中断,T0/T0/INT0/INT1CLR OKCLR RINGSETB TR1SETB TR0 ;运行定时器,开始显示F FF .若重新计数,重置TH1/TL1;查询程序:START: MOV R5,#0BHMOV

39、R4,#0BHMOV R3,#0BHACALL DISPLAY ;未开始时显示F FF JB P3.0,NEXTACALL DELAYJB P3.0,NEXT ;去抖动,若按下开始就向下执行,否者跳转非法抢答程序ACALL BARK ;按键发声 MOV A,R1MOV R6,ASETB OKMOV R7,#01H MOV R3,#0AH ;抢答只显示计时AJMP COUNT ;进入倒计时程序,查询有效抢答程序在COUNT里NEXT:JNB P1.0,FALSE1JNB P1.1,FALSE2JNB P1.2,FALSE3JNB P1.3,FALSE4JNB P1.4,FALSE5JNB P1.

40、5,FALSE6JNB P1.6,FALSE7JNB P1.7,FALSE8AJMP START;非法抢答处理程序:FALSE1: MOV R3,#01HAJMP ERRORFALSE2: MOV R3,#02H AJMP ERRORFALSE3: MOV R3,#03H AJMP ERRORFALSE4: MOV R3,#04H AJMP ERRORFALSE5: MOV R3,#05H AJMP ERRORFALSE6: MOV R3,#06H AJMP ERRORFALSE7: MOV R3,#07H AJMP ERRORFALSE8: MOV R3,#08H AJMP ERROR;IN

41、T0(抢答时间R1调整程序):INT0SUB:MOV A,R1MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLAY ;先在两个时间LED显示R1JNB P3.4,INC0 ;+1sJNB P3.5,DEC0 ;-1sJNB P3.1,BACK0 ;确定键AJMP INT0SUBINC0: MOV A,R1CJNE A,#63H,ADD0 ;如果不是99,R2加1,若到99,R1置零MOV R1,#00HACALL DELAY1AJMP INT0SUBADD0: INC R1ACALL DELAY1AJMP INT0SUBDEC0: M

42、OV A,R1JZ SETR1 ;如果R1为0,R1就置99DEC R1ACALL DELAY1AJMP INT0SUBSETR1: MOV R1,#63HACALL DELAY1AJMP INT0SUBBACK0: RETI ;INT1(抢答时间R2调整程序):INT1SUB: MOV A,R2MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLAYJNB P3.4,INC1JNB P3.5,DEC1JNB P3.1,BACK1AJMP INT1SUBINC1: MOV A,R2CJNE A,#63H,ADD1MOV R2,#00HAC

43、ALL DELAY1AJMP INT1SUBADD1: INC R2ACALL DELAY1AJMP INT1SUBDEC1: MOV A,R2JZ SETR2DEC R2ACALL DELAY1AJMP INT1SUBSETR2: MOV R2,#63HACALL DELAY1AJMP INT1SUBBACK1: RETI ;倒计时程序(抢答倒计时和回答倒计时):REPEAT: MOV A,R2MOV R6,ACLR RING COUNT: MOV R0,#00H ;重置定时器中断次数MOV TH1,#3CHMOV TL1,#0B0H ;重置定时器RECOUNT: MOV A,R6 ;R6保

44、存倒计时时间,之前时间给R6MOV B,#0AHDIV ABMOV 30H,A ;除十分出个位/十位MOV 31H,BMOV R5,30HMOV R4,31HMOV A,R6SUBB A,#07HJNC LARGER ;大于5s跳到LARGER,小于等于5s会提醒MOV A,R0CJNE A,#0AH,FULL ;1s中0.5s向下运行CLR RING AJMP CHECKFULL: CJNE A,#14H,CHECK ;下面是1s情况SETB RINGMOV A,R6JZ QUIT ;计时完毕MOV R0,#00HDEC R6 ;1s标志位减1AJMP CHECKLARGER: MOV A,

45、R0 CJNE A,#14H,CHECK ;若1s向下运行DEC R6MOV R0,#00HCHECK: JNB P3.1,QUIT ;按下停止键退出JNB OK,CHECKK ;只在回答倒计时才有效AJMP NEXTTCHECKK: JNB P3.0,REPEAT NEXTT: ACALL DISPLAYJB OK,ACCOUT ;锁抢答AJMP RECOUNTACCOUT: MOV A,36HJNB ACC.0,TRUE1JNB ACC.1,TRUE2JNB ACC.2,TRUE3JNB ACC.3,TRUE4JNB ACC.4,TRUE5JNB ACC.5,TRUE6JNB ACC.6,TZ1JNB ACC.7,TZ2AJMP RECOUNTTZ1: JMP TRUE7TZ2: JMP TRUE8 QUIT: CLR OK ;按下停止键执行程序CLR RINGAJMP START;正常抢答程序:TRUE1: ACALL BARKMOV A,R2MOV R6,A ;抢答时间R2送R6MOV R3,#01

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁