微机原理与接口技术研究型实验报告(竞赛抢答器)

上传人:飞*** 文档编号:37437923 上传时间:2018-04-16 格式:DOC 页数:10 大小:72KB
返回 下载 相关 举报
微机原理与接口技术研究型实验报告(竞赛抢答器)_第1页
第1页 / 共10页
微机原理与接口技术研究型实验报告(竞赛抢答器)_第2页
第2页 / 共10页
微机原理与接口技术研究型实验报告(竞赛抢答器)_第3页
第3页 / 共10页
微机原理与接口技术研究型实验报告(竞赛抢答器)_第4页
第4页 / 共10页
微机原理与接口技术研究型实验报告(竞赛抢答器)_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《微机原理与接口技术研究型实验报告(竞赛抢答器)》由会员分享,可在线阅读,更多相关《微机原理与接口技术研究型实验报告(竞赛抢答器)(10页珍藏版)》请在金锄头文库上搜索。

1、微机原理与接口技术研究性综合训练实验报告- 1 -竞赛抢答器设计实验报告学生: 班级: 任课教师: 一、 实验设计设计一个七路抢答器,以模拟竞赛中的抢答器功能。当主持人按开始键后,选手才 可抢 答,否则违规。该抢答器具有如下功能: 1、 该抢答器有一个开始键,由拨动开关控制,由主持人使用; 2、 该抢答器可供 7 人同时抢答,由拨动开关控制,选手使用; 3、 当选手违规时,红灯亮和扬声器报警,数码管显示最先违规的选手号码; 4、 当选手抢答成功,绿灯亮和扬声器鸣叫,数码管显示最先抢答到的选手号码; 5、 抢答前,所有的波动开关必须拨到下方,新一轮的抢答才可以开始。二、 研究方案设计 1、 方案

2、分析 本实验的关键点是如何判断出哪个选手首先抢答成功,可考虑下述方案: 利用标志位和 8255 A 口的状态值作判断。令 PA0 PA7 接 K0K7 拨动开关,其中 PA0PA6 接选手的开关,PA7 接主持人的开关。每次查询 8255 A 口状态时,只有当 PA0PA7 值全为 0,程序才可向下执行,否则将一直处于等待状态。当新一轮抢答 开始, 即由 PA7 由 0 变为 1(主持人拨动开始键时),直到 PA0PA6 中有一个值由 0 变为 1 时 (某个选手最先拨动抢答键时),才会执行 LED 显示、二极管发光和扬声器发生的 程序 段,否则再次处于等待状态。 2、 所需器件 可编程并行接

3、口接口芯片 8255、可编程定时器计数器 8254,红、绿两个发光二 极管,扬声器,LED 八段数码管,8 个拨动开关。 3、 拨动开关、扬声器及显示功能的定义 拨动开关:8 个拨动开关中,K7 作为开始键,另外 K0K6 七个拨动开关用做 7 位 选手的抢答按键。 扬声器:用与红、绿两个发光二极管配合使用。抢答成功时绿灯亮扬声器鸣叫,抢 答违规时红灯亮扬声报警。 LED:显示的内容与选手号对应,抢答成功或违规都要显示。 4、 系统所选用各芯片的工作方式 8255A 编程方法: (1)A 口工作在方式 0,作为输入端口用于连接选手按键(PA7PA0 依次对应拨微机原理与接口技术研究性综合训练实

4、验报告- 2 -动开关 07); (2)C 口工作在方式 0,均作为输出端口(PC2 接绿灯,PC3 接红灯,PC4 连接8253 的 GATE0)。 8253 编程方法: 选择通道 0:操作类型为先读写低字节再读写高字节,工作在方式 3 即方波发 生器。当抢答成功,计数初值设为 1000H;当违规抢答,计数初值设为 2000H。 5、 芯片连接 8255 连接方式: PA0 PA7 接 K0K7 拨动开关;PC2 接绿灯,PC3 接红灯,PC4 连接 8253 的 GATE0 8253 连接方式: CLK0-1MHZ,OUT0-扬声器,GATE0 连接 8255 的 PC4。三、 程序代码编

5、辑思路及具体分析1. 我们小组认真阅读了实验指导书,第一感觉是代码实现不太困难,8255A 实现核 心部分(主要是 PA0 到 PA7 的各开关实现以及与红绿灯、8253 等的连接), 8253 再来实现扬声器部分因此,我们首先完成除了扬声器的部分(也就是 先不使用 8253,只使用 8255A) 2. 我们的思路是把各抢答者的实现部分分开做(即:对于 7 名抢答者而言,代码 片段主要由犯规时的 wrong01wrong07 部分和抢答成功时的 right01 right07 部分组成),然而其实很多代码是重复的这一点老师在点评的时候 有提及,说是我们代码写太多了,我们认为可以改成调用子程序,

6、不过反观整 体代码,虽然看似很多其实核心实现部分既不困难也不复杂,所以我们小组最 后决定并不再做修改 3. 代码编程大体结构是: A 初始化(关闭红绿灯和扬声器并且其他变量、寄存器均置 0) B 首先判断主持人开关 PA07 状态高电平不允许抢答并进入判断(judge) 部分; 低电平允许抢答并进入正式阶段(nextstart) C 如果进入 judge 部分,判断是否有人违规抢答(PA0 到 PA6 是否有高电平), 如果有则进入相应号码的 wrong 处理部分; 如果进入 nextstart 部分,判断是否有人抢答了,如果没有抢答则一直等待 直到有人抢答为止,而且如果有人抢答,则进入相应号

7、码的 right 处理部分 D 无论是进入哪个号码对应的 right 或者 wrong 部分,都是首先在数码管上显 示对应号码(通过查书上表可得对应值),right 部分则亮绿灯,wrong 部 分则亮红灯再添加了扬声器部分(即 8253 参与之后),如果是 right 部分则用计数初值为 1000H 的方波来产生扬声器声音,如果是 wrong 部分则 用 2000H 的 E 最后的复位部分的实现,其实是通过检查当前 PA0 到 PA7 的情况来跳转的最 初的 starting 部分四、 实验结果及分析通过全组成员几天的编程设计与实验平台上的实践,最终成功达到了本实验的设计微机原理与接口技术研

8、究性综合训练实验报告- 3 -要求与功能要求! 其中遇到的问题有: 1. 如何让数码管上显示对应的号码 2. 扬声器应该如何使用 3. 如何在多人接连抢答或犯规的情况下,保证数码管只会一直显示第一个抢答或 犯规的选手的号码 4. 开始键(主持人键)状态无法复位; 5. 如何正确复位并且关闭红绿灯以及扬声器 附件: 程序代码code segment assume cs:code start: begin: mov dx,203h ;8255A 控制端口地址为 203h mov al,10010000b ;8255A 工作方式:A 口 0 方式输入,B 口 0 方式输出,C 口输出 out dx,

9、al starting: mov dx,202h mov al,0 out dx,al ;一开始的时候,无论是绿灯还是红灯都不让亮,并且让扬声器关闭 mov dx,210h mov al,0 out dx,al ;一开始的时候,数码管不显示 mov dx,211h mov al,00000001b out dx,al mov dx,200h ;A 口地址为 200h in al,dx and al,10000000b cmp al,0 ;判断 PA7 是否为 0(PA7 对应主持人键) jz nextstart ;为 0 表示主持人允许开始抢答 jnz judge ;不为 0 表示主持人没说开

10、始,不许抢答,并开始判断是否有人违规judge: mov dx,200h in al,dx cmp al,10000001b jz wrong01 ;1 号抢答违规 cmp al,10000010b jz wrong02 ;2 号抢答违规 cmp al,10000100b jz wrong03 ;3 号抢答违规 cmp al,10001000b jz wrong04 ;4 号抢答违规微机原理与接口技术研究性综合训练实验报告- 4 -cmp al,10010000b jz wrong05 ;5 号抢答违规 cmp al,10100000b jz wrong06 ;6 号抢答违规 cmp al,1

11、1000000b jz wrong07 ;7 号抢答违规 jmp starting ;虽然没有开始,但也没有人犯规,则返回到初始化部分 wrong01: mov dx,210h ;数码管地址为 210h mov al,06h ;显示出 1 out dx,al mov dx,211h ;让数码管第一位显示 mov al,00000001b out dx,al mov dx,202h ;C 口地址为 202h mov al,00011000b ;红灯接 PC3,报警 out dx,al call ring02 ;并且让扬声器报警 CW1: ;复位操作的判断(要求 PA6 到 PA0 置低) mov

12、 dx,200h in al,dx cmp al,80h jz starting cmp al,00h jz starting jnz CW1 wrong02: mov dx,210h ;数码管地址为 210h mov al,5bh ;显示出 2 out dx,al mov dx,211h ;让数码管第一位显示 mov al,00000001b out dx,al mov dx,202h ;C 口地址为 202h mov al,00011000b ;红灯接 PC3,报警 out dx,al call ring02 ;并且让扬声器报警 CW2: ;复位操作的判断(要求 PA6 到 PA0 置低)

13、 mov dx,200h in al,dx cmp al,80h jz starting cmp al,00h jz starting jnz CW2 wrong03: mov dx,210h ;数码管地址为 210h mov al,4fh ;显示出 3 out dx,al mov dx,211h ;让数码管第一位显示 mov al,00000001b微机原理与接口技术研究性综合训练实验报告- 5 -out dx,al mov dx,202h ;C 口地址为 202h mov al,00011000b ;红灯接 PC3,报警 out dx,al call ring02 ;并且让扬声器报警 CW

14、3: ;复位操作的判断(要求 PA6 到 PA0 置低) mov dx,200h in al,dx cmp al,80h jz starting cmp al,00h jz starting jnz CW3 wrong04: mov dx,210h ;数码管地址为 210h mov al,66h ;显示出 4 out dx,al mov dx,211h ;让数码管第一位显示 mov al,00000001b out dx,al mov dx,202h ;C 口地址为 202h mov al,00011000b ;红灯接 PC3,报警 out dx,al call ring02 ;并且让扬声器报

15、警 CW4: ;复位操作的判断(要求 PA6 到 PA0 置低) mov dx,200h in al,dx cmp al,80h jz starting cmp al,00h jz starting jnz CW4 wrong05: mov dx,210h ;数码管地址为 210h mov al,6dh ;显示出 5 out dx,al mov dx,211h ;让数码管第一位显示 mov al,00000001b out dx,al mov dx,202h ;C 口地址为 202h mov al,00011000b ;红灯接 PC3,报警 out dx,al call ring02 ;并且让扬声器报警 CW5: ;复位操作的判断(要求 PA6 到 PA0 置低) mov dx,200h in al,dx cmp al,80h jz starting cmp al,00h jz starting jnz CW5微机原理与接口技术研究性综合训练实验报告- 6 -wrong06: mov dx,210h ;数码管地址为 210h mov al,7dh ;显示出 6 out dx,al mov dx,211h ;让数码管第一位显示 mov al,00000001b out dx

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

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号