单片机课程设计报告四路智力抢答器(含程序仿真)

上传人:1777****777 文档编号:36245496 上传时间:2021-10-30 格式:DOC 页数:25 大小:347KB
收藏 版权申诉 举报 下载
单片机课程设计报告四路智力抢答器(含程序仿真)_第1页
第1页 / 共25页
单片机课程设计报告四路智力抢答器(含程序仿真)_第2页
第2页 / 共25页
单片机课程设计报告四路智力抢答器(含程序仿真)_第3页
第3页 / 共25页
资源描述:

《单片机课程设计报告四路智力抢答器(含程序仿真)》由会员分享,可在线阅读,更多相关《单片机课程设计报告四路智力抢答器(含程序仿真)(25页珍藏版)》请在装配图网上搜索。

1、河南理工大学本科课程设计报告河南理工大学单片机课程设计报告Proteus仿真,电路图等,联系153893706四路智力抢答器 姓 名: 利 学 号: 专业班级: 电信04-7班 指导老师: 所在学院:电气工程与自动化学院2007年12月22日摘要本设计是四路智力抢答器。使用51系列单片机,编写应用程序来实现智力抢答功能。设计思路是先等待主持人按键,当有主持人按键时,开始计时一分钟,并显示时间。有人抢答时,报警电路启动,并显示组号,同时计时显示停止。若在计时时间内无人抢答,一分钟到时,无报警,且计时停止,重新开始等待主持人按键,进行下一轮抢答。 软件设计利用中断系统的基本构成原理编写中断服务程序

2、,使用80C51单片机串行接口P1口、P2口、P3口的输入/输出功能向CPU输入信号,其信号由按键电路提供,由CPU响应中断,并输出响应。用到了查询按键模块、定时器模块、显示时间模块、显示组号模块、报警模块等。软件涉及51系列单片机的中断系统、定时器/计数器、串行接口及外围电路的功能。硬件设计使用的是51系列单片机中的80C51,其他部件有74LS48、八段数码显示管、蜂鸣器、LED闪光灯,按键等。硬件设计采通过外部12M的X1提供时钟的脉冲,利用其中断控制程序进行抢答部分的处理,通过多输入与门的控制去申请单片机内部的中断,以达到显示抢答的目的。用分模块设计思想,以CPU为中心逐一设计了时钟电

3、路和复位电路;然后设计了按钮电路为CPU提供输入信号;再次,为数码管选择输入信号电路;还有就是提供了报警电路;最终就是修饰和完善总原理图。显示结果是主持人按键时,数码管显示60,即定时器定从一分钟开始计时,若一分钟内有人抢答,则此时定时器停止计时,数码管显示此时的时间,如计时56秒时有人抢答,数码管就显示56,同时蜂鸣器发出“嘀”声,且警报灯闪烁一下,与此同时显示抢答组的组数。如一分钟内无人按键抢答,计时时间一分钟到时数码管显示00,并停止计时。此时等待主持人按键进行下一轮抢答,若主持人不按键,数码管就一直显示00。目录1 概述- 3 -2 系统总体方案及硬件设计- 4 -2.1系统总体方案-

4、 4 -2.2控制部分80C51的设计- 4 -2.3数码显示部分LED的介绍- 6 -2.4时钟电路的介绍- 6 -2.5复位电路的介绍- 7 -2.6按钮电路- 8 -2.7显示管的输入信号电路- 8 -2.8报警电路- 9 -3.软件设计- 10 -4 Proteus软件仿真- 15 -5心得体会- 19 -参考文献- 19 -附1:源程序代码- 20 -附2:系统原理图- 24 -1 概述使用51系列单片机,编写应用程序来实现智力抢答功能。利用中断系统的基本构成原理编写中断服务程序,使用80C51单片机串行接口P1口、P2口、P3口的输入/输出功能向CPU输入信号,其信号由按键电路提供

5、,由CPU响应中断,并输出响应。软件设计用到了查询按键模块、定时器模块、显示时间模块、显示组号模块、报警模块等。硬件设计采通过外部12M的X1提供时钟的脉冲,利用其中断控制程序进行抢答部分的处理,通过多输入与门的控制去申请单片机内部的中断,以达到显示抢答的目的。硬件设计使用的是51系列单片机中的80C51,其他部件有74LS48、八段数码显示管、蜂鸣器、LED闪光灯,按键等。利用硬件电路防止外部在开始及结束的时候出现误操作。最后在Protues下仿真,并测验结果。该设计的功能是当有主持人按键时,开始计时一分钟,并显示时间。有人抢答时,报警电路启动,并显示组号,同时计时显示停止。若在计时时间内无

6、人抢答,一分钟到时,无报警,且计时停止,重新开始等待主持人按键,进行下一轮抢答。 2 系统总体方案及硬件设计2.1系统总体方案下面图1至图7各个功能元件的介绍,体现了本次设计的主线。即把一个完整的设计划分为不同的模块进行分段设计。首先,以CPU为中心设计了时钟电路和复位电路;然后设计了按钮电路为CPU提供输入信号;再次,为数码管选择输入信号电路;还有就是进一步完善设计而提供了报警电路。最终,完善总括电路,得到总设计原理图。利用单片机内部的时钟中断源,外部中断源,利用P3口进行第二功能进行控制。当外部中断输入时,我们利用锁存,稳定输出剩余时间。利用硬件电路防止外部在开始及结束的时候出现误操作。2

7、.2控制部分80C51的设计 本设计中用的是80C51单片机,80C51有40条引脚中有2条专用于主电路,2条外接晶振,4条控制或与其它电源的复用引脚,32条I/O引脚。(1)主电源引脚Vss:接地。Vcc:正常操作、对EPROM编程和验证时接+5V电源。(2)外接晶振引脚XTAL1:接外部晶振的一个引脚。 XTAL2:接外部晶振的一个引脚。(3)控制或与其它电源复用引脚RST/Vpd:当振荡器运行时,在此引脚上出现两个机器周期的高电平将使单机复位。一般在引脚与Vss引脚之间连接一个约8.2K的下拉电阻,本设计使用的下拉电阻为1K。与Vss引脚之间连接一个20uF的电容,以保证可靠复位。复位以

8、后,P0、P3口输出高电平,SP指针重新赋值为07H,其它特殊功能寄存器和程序计数器PC被清0。只要REST保持高电平,80C51就会循环复位。RESET由高电平变为低电平后,80C51初始复位不影响内部RAM的状态,包括工作寄存器R0R7。ALE(/PROG):当访问外部数据存储器时,ALE的输出用于锁存地址低字节,即使不访问外部存储器,ALE仍以不变的频率周期性地出现正脉冲信号,为振荡器频率的1/6,因此可用作对输出的时钟。/PSEN:此输出是外部程序存储器的读选通信信号。在由外部程序存储器取指令周期,每个机器周期两次/PSEN有效。但当访问外部数据存储器时,这两次有效的PSEN信号不出现

9、。/PSEN可以带动8个TTL负载。/EA(Vpp):当/EA保持高电平时访问内部程序存储器,但当PC值超过OFFF或1FFF时,将自动转向执行外部程序存储器的程序。当/EA端保持低电平时,则只访问外部程序存储器,而不管是否有内部程序存储器。(4)输入/输出引脚PO:是一个8位漏极开路的双向输入/输出口。P1:是一个带有内部上拉电阻的8位双向I/O口。P2:是一个带有内部上拉电阻的8位双向输入/输出口,访问外部存储器时送高8位地址。P3:是一个带有内部上拉电阻的8位双向I/O口。在MCS-51中,这8个引脚还用于专门的功能。其中,P3.0为串行输入口,P3.1为串行输出口,P3.2为外部中断0

10、输入,P3.3为外部中断1输入,P3.4为定时器0的外部输入,P3.5为定时器1的输入,P3.6为外部数据存储器的写选通信号,P3.7为外部存储器的读选通信号。图1 80C51引脚图2.3数码显示部分LED的介绍LED显示器是目前最常用的一种数显示器件。发光二极管是由半导体材料制成的,能将电信号转换成光信号的结型电致发光器件。如果把发光二极管制成条状,再按照一定方式连接,组成数字“8”,就构成LED数码管。使用时按规定使某些笔段上的发光二极管发光,即可组成0-9的一系列数字,如图2:图2 数码管原理图本设计使用的是7SEG-COM-AN-GRN型数码管。图3 本设计使用的数码管引脚图2.4时钟

11、电路的介绍51系列单片机内部有一个用于构成振荡器的高增益反相放大器,此放大器的输入和输出分别是引脚XTAL1和XTAL2,在XTAL1和XTAL2上外接时钟源即可构成时钟电路。CPU的一系列动作都是在控制电路部件下工作的。本设计采用的是内部时钟产生方式,即是在引脚XTAL1和XTAL2两端跨接晶体或陶瓷振荡器,与内部反相器构成稳定的自激振荡器。其发出的脉冲直接送给片内定时控制部件。图4 时钟电路2.5复位电路的介绍复位是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。51系列单片机通常采用上电自动复位、按钮电平复位、上电+按钮电平复位、上电+按钮电平复位、程序运行监视复

12、位等方式。本设计采用上电自动复位方式,其实质是一阶充放电电路,系统上电时该电路提供有效的复位信号RST(高电平)直至系统电源稳定后撤销复位信号(低电平)。同时应注意保证加在RST引脚上的高电平持续两个机器周期,才能使单片机可靠复位。图5 上电自动复位电路2.6按钮电路本设计使用的是机械按钮,按钮电路主要用来为CPU串行口提供输入信号。在实际应用中机械按钮的抖动应该考虑的,可用软件的设计来消除机械抖动。本设计使用的按钮和按钮电路图如下:图6 机械按钮图7 抢答按钮电路2.7显示管的输入信号电路本设计使用的输入信号电路主要是74LS48,八段数码显示管的输入信号是八位数,而CPU提供的信号是三位的

13、,通过74LS48把三位的信号转化为八位的信号。图8 显示管的输入信号电路2.8报警电路该报警电路的作用是在参赛人员按键时进行报警。当主持人发出抢答信号,而有人员抢答就有报警。此时报警灯闪烁一次,蜂鸣器发出报警声,提示主持人有人要答题。图9 报警电路3.软件设计软件的主程序框图如下开始CPU系统初始化定时器初始化开始计时输出警报信号开中断等主持人按键等选手按键输出显示信号显示管显示终止输入键值警报器警报源程序:ORG 0000HLJMP START ;主程序跳转ORG 0003H ;外部中断0入口地址LJMP INT_0 ;跳转至其服务程序ORG 0013H ;外部中断1入口地址LJMP IN

14、T_1 ;跳转至其服务程序定时器T1服务程序:ORG 001BH ;定时器1中断入口地址MOV TL1,#0F0H ;定时器1赋初值MOV TH1,#0D8H DJNZ R0,QQ ;(R0)=1跳转至QQMOV R7,34HLCALL DEC1MOV P0,AMOV 34H,AMOV R0,#100DJNZ R1,QQMOV R1,#60SETB 00HQQ:RETIORG 0100H 主程序:START:SETB P3.7 ;写入准备 SETB P3.7 MOV 34H,#60HMOV IP,#04HMOV SP,#4FHMOV IE,#8DHMOV P2,#0FFHSETB IT1SET

15、B IT0CLR 01HLOOP:MOV A,34HCLR TR1JNB TR1,$MOV P0,ALCALL DELAY60S AJMP LOOPORG 0200H延时程序 : DELAY60S:MOV TMOD,#10H MOV TH1,#0D8H MOV TL1,#0F0H MOV IE,#8DH SETB TR1 MOV R0,#100 MOV R1,#60 CLR 00H JNB 00H,$ CLR TR1 SETB P3.7 CLR P3.6RET ORG 0700H显示调整程序:DEC1:MOV A,#99H ADD A,R7DA ARET ORG 0800H中断1服务程序,抢答

16、计组程序:INT_1: CLR IE1CLR TR1MOV A,P2CPL AJZ LL0LCALL DL10MOV A,P2CPL AJZ LL0查询按键:JB ACC.3,K2_30 JB ACC.2,K2_20JB ACC.1,K2_10JB ACC.0,K2_00K2_40:AJMP K2_4K2_30:AJMP K2_3K2_20:AJMP K2_2K2_10:AJMP K2_1K2_00:AJMP K2_0LL0:AJMP LLK2_4:MOV P1,#05HMOV A,P2CPL AJNZ K2_4CLR EX1LJMP INT_1K2_3:MOV P1,#04HMOV A,P2

17、CPL AJNZ K2_3CLR EX1LJMP INT_1K2_2:MOV P1,#03HMOV A,P2CPL AJNZ K2_2CLR EX1LJMP INT_1K2_1:MOV P1,#02HMOV A,P2CPL AJNZ K2_1CLR EX1LJMP INT_1K2_0:MOV P1,#01HMOV A,P2CPL AJNZ K2_0CLR EX1LJMP INT_1LL:MOV A,P2CPL AJZ EXIT_INT_0AJMP INT_1EXIT_INT_0:RETIORG 0A00H 主持人按键即外部中断0服务程序:INT_0:JNB P3.2,$ MOV P1,#00H

18、SETB EX1CLR IE0CLR 00HCLR P3.7SETB P3.6MOV TL1,#0F0HMOV TH1,#0D8HMOV R0,#100MOV R1,#60MOV 34H,#60HMOV A,34HMOV P0,ASETB TR1RETI ORG 0B00HDL10:PUSH PSW PUSH ACCMOV R6,#125DEL1:MOV R5,#50DEL2:DJNZ R5,DEL2DJNZ R6,DEL1POP ACCPOP PSWRETEND 4 Proteus软件仿真图10 系统仿真图1当主持人按键即与P3.2断口相连的按键,抢答开始,若有人有人按键就显示抢答组的组数,

19、同时显示此时时间。且警报电路动作,蜂鸣器发出“嘀”声,LED灯闪烁一次。图10表示在9秒时,即计时器从60秒计时到51秒时,第四组抢答成功。 图11 系统仿真图2 当主持人按键即与P3.2断口相连的按键,定时器开始计时,若一分钟内无人抢答,一分钟时间到时,显示抢答组数为0,定时器停止计时,一直显示时间为00,直到主持人再次按键,开始下一轮抢答。图11就是在这种情况下的等待状态。 图12 系统仿真图3当主持人按键即与P3.2断口相连的按键,定时器从60秒开始计时,数码管显示60,如图12图13 系统仿真图4若有选手在支持人按键之前就按键抢答,则此时警报电路发出警报,即蜂鸣器发声,LED闪烁,说明

20、本轮抢答无效。如图135心得体会由于一直以来做课程设计时马马虎虎,而听说这次老师的要求很是严格,这无疑让我认识到本次设计的严格性和重要性。因为要考研,刚开始对此不理解,认为这有点浪费时间,毕竟现在是复习的紧张时期。在这段时间我不敢怠慢,学累了就看看单片机课本和课设,有时自己实在看不懂时,就约好几个同学一起讨论。可是大家时间都很紧,而有些人又要上辅导班,也不能讨论太长时间,所以整个课设期间我都很紧张,也很努力。我用了整整七天,当然也强烈地认识到自己单片机方面知识的欠缺。每当有程序看不明白时,心情就不是很好,受到影响整个考研进度也与计划有偏差。最后有了感觉,就很好的进入了设计状态。当同学聚在一起,

21、相互求教问题时,大家也感到了无比的快乐。现在回想起来也是很感慨,毕竟这种现象只在临近考试时才有的。有时闭着眼睛就能看到一根根总线和CPU。现在终于做完了,我的心情真是无法形容,整个身心获得了巨大的满足。这次设计我收获了不少,我想最大的收获就是心情,我现在有信心面对考研过程中的干扰。我要带着这份珍重起航。参考文献1 余发山.单片机原理及应用技术.徐州:中国矿业大学出版社,2003.21-2092 周航慈.单片机应用程序设计技术. 北京:北京航空航天大学出版社.2004.26-473 李华.MCS-51系列单片机实用接口技术.北京:北京航空航天大学出版社.1993.36-584 赫建国,郑燕,薛延

22、侠.单片机在设计电路中的应用.北京:清华大学出版社.2006.35-525 全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品汇编.北京:北京理工大学出版社.2004.1-23附1 源程序代码ORG 0000HLJMP START ;主程序跳转ORG 0003H ;外部中断0入口地址LJMP INT_0 ;跳转至其服务程序ORG 0013H ;外部中断1入口地址LJMP INT_1 ;跳转至其服务程序ORG 001BH ;定时器1中断入口地址MOV TL1,#0F0H ;定时器1赋初值MOV TH1,#0D8H DJNZ R0,QQ ;(R0)=1跳转至QQMOV R7,34HLCA

23、LL DEC1MOV P0,AMOV 34H,AMOV R0,#100DJNZ R1,QQMOV R1,#60SETB 00HQQ:RETIORG 0100H START:SETB P3.7 ;写入准备 SETB P3.7 MOV 34H,#60HMOV IP,#04HMOV SP,#4FHMOV IE,#8DHMOV P2,#0FFHSETB IT1SETB IT0CLR 01HLOOP:MOV A,34HCLR TR1JNB TR1,$ ;TR1=0死循环,等待外部中断0MOV P0,ALCALL DELAY60S AJMP LOOPORG 0200HDELAY60S:MOV TMOD,#

24、10H ;延时程序,赋初值 MOV TH1,#0D8H MOV TL1,#0F0H MOV IE,#8DH SETB TR1 ;启动定时器T1 MOV R0,#100 MOV R1,#60 CLR 00H JNB 00H,$ CLR TR1 SETB P3.7 CLR P3.6RET ORG 0700HDEC1:MOV A,#99H ADD A,R7DA ARET ORG 0800HINT_1: ;中断1服务和抢答器计组程序 CLR IE1CLR TR1MOV A,P2CPL AJZ LL0LCALL DL10MOV A,P2CPL AJZ LL0JB ACC.3,K2_30 JB ACC.2

25、,K2_20JB ACC.1,K2_10JB ACC.0,K2_00K2_40:AJMP K2_4K2_30:AJMP K2_3K2_20:AJMP K2_2K2_10:AJMP K2_1K2_00:AJMP K2_0LL0:AJMP LLK2_4:MOV P1,#05HMOV A,P2CPL AJNZ K2_4CLR EX1LJMP INT_1K2_3:MOV P1,#04HMOV A,P2CPL AJNZ K2_3CLR EX1LJMP INT_1K2_2:MOV P1,#03HMOV A,P2CPL AJNZ K2_2CLR EX1LJMP INT_1K2_1:MOV P1,#02HMO

26、V A,P2CPL AJNZ K2_1CLR EX1LJMP INT_1K2_0:MOV P1,#01HMOV A,P2CPL AJNZ K2_0CLR EX1LJMP INT_1LL:MOV A,P2CPL AJZ EXIT_INT_0AJMP INT_1EXIT_INT_0:RETIORG 0A00HINT_0:JNB P3.2,$ ;外部中断0服务程序MOV P1,#00HSETB EX1CLR IE0CLR 00HCLR P3.7SETB P3.6MOV TL1,#0F0HMOV TH1,#0D8HMOV R0,#100MOV R1,#60MOV 34H,#60HMOV A,34HMOV P0,ASETB TR1RETI ORG 0B00HDL10:PUSH PSW PUSH ACCMOV R6,#125DEL1:MOV R5,#50DEL2:DJNZ R5,DEL2DJNZ R6,DEL1POP ACCPOP PSWRETEND附2 系统原理图 - 24 -

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

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

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


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