ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:171.31KB ,
资源ID:4027434      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4027434.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(竞赛抢答器课程设计.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

竞赛抢答器课程设计.docx

1、竞赛抢答器课程设计 竞赛抢答器设计 班 级: 学 号: 姓 名: 指导教师: 设计时间: 目录1.课程设计的目的.32.课程设计的要求.33.总体设计.44.硬件设计.95.软件设计.136.系统操作说明.167.心得体会.168参考文献.18竞赛抢答器设计1.课程设计的目的1、掌握微机系统的开发步骤。2、掌握8259A、8255A、8253数码管的用法。3、掌握汇编程序的设计。2.课程设计的要求设计一个具有8路抢答的抢答器,利用并行接口和开关键。逻辑开关K0-K7代表抢答按钮,当某个逻辑开关闭合时,相当于抢答按钮按下,此时在七段数码管上将其号码显示出来,并使喇叭响一声(或者以发光二极管代替)

2、。2.1中断优先级管理器8259A控制字要求芯片控制字:采用边沿触发,单片8259,要写入ICW4控制字中断类型码控制字:设置IR0IR7的中断类型码依次为08H、09H、0FH方式控制字:优先级设置方式为全嵌套方式即固定优先级方式,主片工作在缓冲方式下,中断结束方式采用中断非自动结束方式,8259工作在80X86系统上。2.2可编程并行接口接口芯片8255A控制字要求A口工作在方式0,做为输入端口用于连接选手按键(PA7PA0依次对应按键18);B口工作在方式0,做为输出端口,经驱动器1连接LED显示器(PB7PB0依次对应连接LED显示器的dp、g、f、e、d、c、b、a七段数码管管脚);

3、C口也必须工作在方式0,高4 位做输入端口(本次设计中只用PC4、PC5,分别用于连接复位键和开始键),低4位做输出端口(PC3PC0,经驱动器2后PC1、PC2、PC3分别用于连接黄、红、绿三个发光二极管,PC0连接到8253的GATE1端,以控制通道1的计数)。2.3可编程定时器计数器8253控制字要求通道0:操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,计数格式为BCD码,计数初值为4000。通道1:操作类型为先读写低字节再读写高字节,工作在方式1即可重触发的单稳态触发器,计数格式为BCD码,计数初值为3000。通道2:操作类型为先读写低字节再读写高字节,工作在方式3即方

4、波发生器,计数格式为BCD码,计数初值为0。3.总体设计3.1基本工作原理主持人按开始键,绿灯这后,选手才可抢答,否则违规。若抢答成功,LED显示器显示选手号码,黄灯亮,扬声器鸣叫;若抢答违规(主持人示按开始键),LED显示器显示违规选手号码,红灯亮,扬声器报警。3.2硬件总体设计3.2.1系统总成方案该竞赛抢答器所要器件:中断优先级管理器8259A、可编程并行接口接口芯片8255、可编程定时器计数器8253,三个一样的驱动器,黄、红、绿三个发光二极管,十三个电阻,一个8输入与非门,一个非门,一个扬声器,一个LED显示器,10个按键。3.2.2内存单元编址(1)、中断优先级管理器8259A的端

5、口地址为20H、21H(2)、可编程并行接口接口芯片8255A的端口地址为80H、81H、82H、83H(3)、可编程定时器计数器8253的端口地址为40H、41H、42H、43H3.2.3键盘、扬声器及显示功能的定义 10个按键中,一个开始键一个复位键,另外8个用做8位选手的抢答按键。扬声器用与黄、红、绿三个发光二极管配合使用,黄灯亮扬声器鸣叫表示抢答成功,红灯亮扬声报警表示抢答违规报警,绿灯亮扬声器不鸣则表示主持人已按下开始键。LED显示器显示的内容与选手号对应,抢答成功或违规都要显示。3.3软件总体设计3.3.1存储单元的分配、标志位的含义表1 定义一个TAB变量用来存储19的字形码信息

6、LED的管脚对应的字形对应存放在内存单元的字形码dp、g、f、e 、d、c、b、a0 0 0 0 0 1 1 00 1 0 1 1 0 1 10 1 0 0 1 1 1 10 1 1 0 0 1 1 00 1 1 0 1 1 0 10 1 1 1 1 1 0 00 0 0 0 0 1 1 10 1 1 1 1 1 1 1 0 1 1 0 1 1 1 112345678906H5BH4FH66H6DH7CH07H7FH6FH定义一个BZ变量作为标志位,用来选手抢答是否违规,BZ=0FFH时表示主持人已经按下开始键选手可以抢答,BZ=00H表示主持人未按下开始按键,选手不可以抢答。3.3.2主程序

7、流程图及清单(带有注释)(1)、主程序流程图如下:图1 主程序流程图(2)主程序清单(带详细注释)DATA SEGMENTTAB DB 06H,5BH,4FH,66H,6DH,7CH,07H,7FH,67H ;19的段码;(字形码)BZ DB 00HDATA ENDSSTACK SEGMENT PARA STACK STACK DB 100H DUP(?)STACK ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODESTART: MOV AX,DATA MOV DS,AX ;8259A初始化 MOV AL,13H ;初始化8259A的ICW1 OUT 20H,AL

8、MOV AL,08H ;送中断类型码基值,8259A的ICW2 OUT 21H,AL MOV AL,0DH ;一般中断结束方式,8259A的ICW4 OUT 21H,AL ;8255A初始化 MOV AL,98H ;置8255A工作方式 OUT 83H,AL XOR AL,AL ;B口、C口初始化 OUT 81H,AL OUT 82H,AL ;8253初始化 MOV AL,37H ;置8253通道0控制字 OUT 43H,AL MOV AL,00H ;置8253通道0计数初值为4000 OUT 40H,AL MOV AL,40H OUT 40H,AL MOV AL,73H ;置8253 通道1

9、控制字 OUT 43H,AL MOV AL,00H ;置8253通道1计数初值为3000 OUT 41H,AL MOV AL,30H OUT 41H,AL MOV AL,B7H ;置8253通道2控制字 OUT 43H,AL MOV AL,00H ;置8253通道2控制字 OUT 42H,AL MOV AL,00H ;置8253通道2计数初值为0 OUT 42H,AL MOV AL,00H OUT 42H,AL ;中断设置 MOV AH,25H ;设置抢答按键中断向量 MOV AL,0AH ;中断类型号为入口参数 MOV BX,SEG KEYINT ;DS:DX指向4字节地址 MOV DS,B

10、X MOV DX,OFFSET KEYINT INT 21H STI ;使IF置1,开放可屏蔽中断;主循环LOPM: IN AL,82H ;检测开始键 TEST AL,20H ;检测C口的PC5端 JZ LOP2 ;开始键未按下即PC5=0,则跳转检测;复位键LOP1: IN AL,82H ;检测开始键是否已经弹起,即PC5=0 TEST AL,20H JNZ LOP1 ;开始键没有弹起再重新检测 MOV AL,00H ;关LED显示器 OUT 81H,AL ;送到B口 MOV AL,08H ;绿灯亮 OUT 82H,AL ;送到C口 MOV BZ,0FFH ;置标志 STI LOP2: IN

11、 AL,82H ;检测复位键 TEST AL,10H ;检测C口的PC4端 JZ LOPM ;复位键未按下即PC4=0,则跳转再检;测开始键LOP3: IN AL,82H ;检测复位键是否弹起,即PC4=0 TEST AL,10H JNZ LOP3 ;位键没有弹起,则重新检测 MOV AL,00H ;关LED显示器、指标灯 OUT 81H,AL OUT 82H,AL MOV BZ,00H ;清标志 STI JMP LOPM ;中断服务子程序CODE ENDS END START4.硬件设计4.1系统所选用各芯片的介绍4.1.1中断优先级管理器8259A4.1.1.1 8259A内部结构8259

12、A采用NMOS工艺制成,有28根引脚,所有输入、输出端与TTL电平兼容,单一电源(Vcc=+5V)供电。8259的内部主要组成部分,包括处理部件(中断请求寄存器IRR、优先级鉴别器PR及现行服务寄存器ISR)、控制部件(控制逻辑及中断屏蔽寄存器IMR)、数据总路线缓冲器、读写逻辑以及级联缓冲器比较器等5个部分。4.1.1.2 8259A主要的外部引脚D0D7:双向数据线,CPU与8259间利用这个数据总路线传送数据及命令。:写控制输入信号,同控制总路线上的信号相连。:读控制输入信号,同控制总路线上的信号相连。A0:地址选择信号,用来对8259A内部的两个可编程寄存器进行选择。:片选输入信号,低

13、电平有效。有郊时可通过数据总路线设置命令并对内部寄存器进行读出。当进入中断响应时序时,该引脚状态与进行的处理无关。INT:由8259A向CPU发出的中断请求信号。:输入信号,接收CPU送来的中断响应信号INTA。IR0IR7:8个中断请求输入信号,高电平或上升沿有效。用于接收外设接口来的中断请求。4.1.1.3 8259A工作方式(1)、优先级设置方式:全嵌套方式(固定优先级方式)、特殊全嵌套方式(可响应同级中断方式)、轮转优先级方式、特殊轮转优先级方式。(2)、中断源屏蔽方式:普通屏蔽方式、特殊屏蔽方式。(3)、中断结束方式:中断自动结束方式、中断非自动结束方式(包括一般中断结束方式、特殊中

14、断结束方式)。(4)、系统总路线连接方式:缓冲方式、非缓冲方式。(5)、中断请求信号触发方式:边沿触发方式、电平触发方式。4.1.2 可编程并行接口接口芯片8255A4.1.2.1 8255A内部结构8255A芯片是一个采用NMOS工艺制造的40引脚双列直插式(DIP)封装组件。8255A有3个8位数据端口,即A口、B口及C口,它们都可以分别作为输入口或输出口使用;A组控制与B组控制;读写控制逻辑;数据总路线缓冲器。4.1.2.2 8255A主要的外部引脚PA7PA0:A口的8条IO线。8条线只能同时作为输入或输出,不能分开使用,可设置成双向口,也只有A口允许这样做。PB7PB0:B口的8条I

15、O线。不可以设置成双向口,其它和A口一样。PC7PC0:C口的8条IO线。不可以设置成双向口,但它可以分拆为两组即高4位和低4位,这两组可以任意设置为输入或输出。除了作为独立的IO线外,C口还经常为A口、B口服务,配合A口、B口作联络线使用。A1、A0:端口地址选择信号。用于选择8255A的3个数据端口和一个控制口。当A1A0=00时,选择端口A;为01时,选择端口B;为10,选择端口C;为11时,选择控制口。4.1.2.3 8255A工作方式(1)方式0:基本的输入输出方式。A口、B口、C口都可以工作在些方式下。(2)方式1:选通输入输出方式(应答方式)。A口、B口工作在此方式下。(3)方式

16、2:双向传输方式。只有A口可以工作在此方式下。4.1.3 可编程定时器计数器82534.1.3.1 8253的内部结构8253采用NMOS工艺制成,有24个引脚,所有输入、输出端均TTL电平兼容,单一电源(Vcc=+5V)供电,最高计数速率为2.6MHz。它包括3个计数器(即计数器0、1、2)、数据总路线缓冲器、读写逻辑以及控制寄存器等4个部分。4.1.3.2 8253的外部引脚A1、A0:地址输入线,用来址8253内部的4个端口,即3个计数器和1个控制字寄存器与CPU系统地址线相连。CLK0、CLK1、CLK2:时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号。CLK可以是系统的时钟脉冲,也可

17、以由系统时钟分频或者其他脉冲源提供。当用于定时时,这个脉冲必须是均匀的、连续的、周期精确的,而用于计数时,这个脉冲可以是不均匀的、断续的、周期不定的。GATE0、GATE1、GATE3:门控输入端,用于外部控制计数器的启动计数和停止计数的操作。两个或两个以上计数器连用时,可用此信号同步,也可用于与外部某信号的同步。OUT0、OUT1、OUT2:计数输出,当计数器从初值开始完成计数操作进,OUT引脚输出相应的信号。4.1.3.3 8253的工作方式(1)方式0:减1计数到0,产生中断请求信号。(2)方式1:减1计数到0,产生可重复触发的单稳态负脉冲信号。 (3)方式2:减1计数到1,分频器(速率

18、信号发生器)。(4)方式3:减1计数到初值的12,方波发生器。(5)方式4:减1计数到0,软件触发产生选通负脉冲信号。(6)方式5:减1计数到0,硬件触发产生选通负脉冲信号。4.2 系统所选用各芯片的工作方式4.2.1 中断优先级管理器8259A的工作方式(1)芯片控制ICW1:采用边沿触发,单片8259,要写入ICW4控制字(2)中断类型码ICW2:设置IR0IR7的中断类型码依次为08H、09H、0FH(3)方式控制ICW4:优先级设置方式为全嵌套方式即固定优先级方式,系统总线连接方式为主片工作在缓冲方式下,中断结束方式采用中断非自动结束方式,8259工作在80X86系统上。4.2.2 可

19、编程并行接口接口芯片8255A的工作方式(1)、A口工作在方式0,做为输入端口用于连接选手按键(PA7PA0依次对应按键18);(2)、B口工作在方式0,做为输出端口,经驱动器1连接LED显示器(PB7PB0依次对应连接LED显示器的dp、g、f、e、d、c、b、a七段数码管管脚);(3)、C口也必须工作在方式0,高4 位做输入端口(本次设计中只用PC4、PC5,分别用于连接复位键和开始键),低4位做输出端口(PC3PC0,经驱动器2后PC1、PC2、PC3分别用于连接黄、红、绿三个发光二极管,PC0连接到8253的GATE1端,以控制通道1的计数)。4.2.3 可编程定时器计数器8253的工

20、作方式(1)、通道0:操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,计数格式为BCD码,计数初值为0。(2)、通道1:操作类型为先读写低字节再读写高字节,工作在方式1即可重触发的单稳态触发器,计数格式为BCD码,计数初值为0。(3)、通道2:操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,计数格式为BCD码,计数初值为0。4.3 系统所选用各芯片的连接4.3.1各芯片与CPU的连接8259A、8255A、8253的数据总线D7D0端、端、端、端、端、INT端分别与CPU的D7D0数据总线、片选端、端、端、端、INTR端。8255A、8253的A1、A0端分别接入C

21、PU地址线的A1、A0端,8259的A0端接到CPU地址线的A0端;4.3.2各芯片之间的连接和与外设的连接8259A的IR2端接选手按键信息输出端;8255A的A口的PA7PA0依次接“按键1”“按键8”,B口的PB7PB0通过驱动器1接到LED显示器,C口的PC4、PC5分别接复位键和开始键,PC3、PC2、PC1经驱动器2分别接绿灯发光二极管、红灯发光二极管、黄灯发光二极管,PC0接到8253的GATE1端;8253的GATE0端接+5V电压,OUT0的输出接入CLK1端,OUT1的输出经反相器后接入GATE2端,CLK0和CLK1接入1MHz的频率发生器,CLK2经驱动器3接扬声器。5

22、.软件设计5.1 子程序流程图图2 子程序流程图5.2子程序的框图和程序清单(带注释)KEYINT PROC FAR PUSH AX ;保护现场 PUSH BX PUSH DX PUSH DS CLI ;并使本次中断压入堆栈中的IF=0;(关中断) IN AL,80H ;从8255的A口获取选手按键信息 NOT AL ;将按键字节信息取反 MOV CX,8 ;计数8次LOP4: SHR AL , 1 ;获取选手号码 LOOPNZ LOP4 MOV AX,CX ;把选手号传给AX MOV BX,OFFSET TAB ;查段码(字形码) XLAT ;将选手号转换成TAB中对应的LED;字形码 OU

23、T 81H,AL TEST BZ,OFFH ;判断标志位是否为FFH JZ LOP5 MOV AL,00H ;置8253通道2计数值 OUT 42H,AL MOV AL,10H OUT 42H,AL MOV AL,03H ;黄灯亮,抢答成功 OUT 82H,AL JMP KKKLOP5: MOV AL,00H ;置8253通道2计数值 OUT 42H,AL MOV AL,20H OUT 42H,AL MOV AL,05H ;红灯亮,抢答违规 OUT 82H,ALKKK: MOV AL,20H ;给8259发中断结束命令,写OCW2 OUT 20H,AL POP AX ;恢复现场 POP BX

24、POP DX POP DS IRET KEYINT ENDP6.系统操作说明启动计算机,计算机自动为系统各芯片进行初始化,抢答器开始工作。比赛开始,在主持人按下开始键,绿灯亮后,选手才可开始抢答,否则违规。若选手抢答成功,LED显示器显示选手号码,扬声器鸣叫。若选手抢答违规(主持人未按开妈键),LED显示器显示违规选手号码,红灯亮,扬声器报警,并根据比赛规则进行对该选手进行扣分。若系统提示某号选手抢答违规,主持人仍未按开始键,此时该号选手又按下抢答键,LED显示器显示该选手的号码。本系统开机后,若主持人既未按复位键又未按开始键,此时有选手按下抢答键,系统提示红灯亮,并报警。注: 1、抢答成功,

25、置8253通道2计数值为1000,扬声器的鸣叫声音频率为1MHz/1000=1KHz。2、抢答失败,置8253通道2计数值为2000,扬声器的鸣叫声音频率为1MHz/2000=0.5KHz。3、扬声器鸣叫或报警的时间为12s。7.心得体会通过本次实验掌握了微机系统的开发步骤,掌握了中断优先级管理器8259A、可编程并行接口接口芯片8255A、可编程定时器计数器8253和数码管的用法,掌握了汇编程序的设计。本次设计需要熟练掌握汇编语言,熟悉中断优先级管理器8259A、可编程并行接口接口芯片8255A、可编程定时器计数器8253的内部结构、外部引脚和功能,熟悉LED显示器的结构及译码方式。中断优先

26、级管理器8259A在本系统中用来管理选手按键中断信息。可编程并行接口接口芯片8255A在本系统中用来连接选手的按键,主持人的开始键和复位键,用来连接黄灯、红灯、绿灯三个发光二极管,用来提示抢答信息,用来连接LED显示器控制显示器的输出,还连接到8253的GATE1端,控制计数器的启动计数和停止计数的操作。可编程定时器计数器8253用来设定扬声器的发声频率和发声时间。LED显示器用来连接到8255A的B口,用来显示选手号。本次设计既没有硬件环境,也没模拟的软件环境,设计起来比较的困难,只能通过查找一些资料和大脑抽象来设计该课程设计。希望学校以后能够提供一些硬件或软件上的支持,让我们能够更好的掌握

27、接口芯片的设计。本人在本本次课程设计中获得了许多收益,通过本次课程设计让我更好的掌握了中断优先级管理器8259A、可编程并行接口接口芯片8255A、可编程定时器计数器8253的工作原理、方式及其应用。通过本次课程设计也学会了如何设计一个简单的微机系统,以及设计一个简单微机系统所需要的步骤和设计中需要注意的地方。本人在设计中遇到很多困难,大都是对和芯片的应用还不是很熟练,还需更加努力更加深入的了解微机系统和芯片功能。 图3 系统原理图8.参考文献1刘红玲,邵晓根. 微机原理与接口技术M . 北京:中国电力出版社,2008. 6:70-932江正战,沈志鸿. 三级偏硬考试教程M . 江苏:东南大学出版社,2009.7: 90-1003阎石. 数字电子技术基础M. 北京:高等教育出版社,2006.8: 235-2404张雪兰,谭毓安. 汇编语言程序设计M. 北京:清华大学出版社,2010.12: 153-1565 唐祎玲,毛月东. 32位微机原理与接口技术实验教程J.西安

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1