《2022年微机接口技术课程方案竞赛抢答器.docx》由会员分享,可在线阅读,更多相关《2022年微机接口技术课程方案竞赛抢答器.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用微 机 原 理 与 接 口 技 术课程设计报告姓 名:小白学 号: 08080808 姓 名:小黑学 号: 09090909 指导老师:白加黑日 期: 2022.12 名师归纳总结 - - - - - - -第 1 页,共 7 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用竞赛抢答器设计一、 设计内容开关 K0-K7 代表竞赛抢答按钮0-7 号,当某个规律电平开关置“1” 时,相当于某组抢答按钮按下,在七段数码管上将其组号0-7)显示出来,并使喇叭响一下;发一个脉冲开头下一轮抢答,按其他
2、键程序退出;同时考虑抢答答应时间,10 秒内有效,10 秒之后无人抢答,本次抢答作废;二、 设计思路:抢答器设计可分为以下几部分:开头抢答信号的接收;计时器的倒计时;检查抢答按钮并显示在数码管上;任意键退出程序;对此,我们选用可编程并行接口芯片 8255A ,采纳方式 0,PA 接口做输入,接收抢答信号,并用 PB 接口做输出通过编程将抢答组号输出到数码管显示;PC 接口用PC0 接扬声器通过芯片掌握其发声,时开头一轮抢答;PC7 接口接收开头的脉冲信号,当接收到高电平定时器我们选用可编程定时 /计数器 8254.,采纳方式 0 在计数终止时产生正跃变信号;我们使用计数器 0,其中 GATE0
3、 接 8255 的 PC1 端口,高电平常开头计数,OUT0 接 8255 的 PC6, CLK0 接试验箱上的频率为 1HZ 的脉冲发生器,当做 1 秒计时信号;编程对 8255A 初始化后,开头时由脉冲发生器产生一个正脉冲被 8255A 的 PC7 接收, 8255A 就通过 PC1 输出高电平使定时器 8254 工作;这之前通过编程使 8254 实现10 秒倒计时;当 8254 开头计时时, 8255 循环检查 PA 端口和 PC6 端口,如有人抢答,就 PA 端口有高电平输入,此时如PC6 仍旧低电平,就抢答有效,通过编好的程序判定是第几组抢答,并通过 PB 端口输出一段 01 代码使
4、数码管显示组号,同时 PC0 端口产生高电平使扬声器发声;如循环时 PA 端口始终低电平而 PC6 产生高电平,说明时间已到,PC0 端口产生高电平使扬声器发声;扬声器发声后,编程使8254 定时2 秒,并在时间到时OUT0 发出高电平通知8255A 使之将 PC0 输出变为低电平,扬声器停止发声;至此,一轮抢答终止,插入一个任意键退出子程序,并等待脉冲信号开头下一辆抢答;名师归纳总结 - - - - - - -第 2 页,共 7 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用三、 电路设计原理图名师归纳总结 - - - - - - -第 3 页,共 7 页精选
5、学习资料 - - - - - - - - - 个人资料整理 仅限学习使用四、 程序流程图开头8255 初始化接收脉冲信号对 8254 初始化 10 秒计时是 判定是否到时否 否 有人抢答是判定是第几组抢答并由数码管显示扬声器发声 2 秒否 按下任意键是终止名师归纳总结 - - - - - - -第 4 页,共 7 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用五、 源代码及注释M8254C0 EQU 0C840H M8254M EQU 0C843H M8255A EQU 0C860H M8255B EQU 0C861H M8255C EQU 0C862H M82
6、55M EQU 0C863H DATA SEGMENT TAB DB 60H,0CAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START:MOV AX,DATA MOV DS,AX MOV DX,M8255M ;初始化 8255 MOV AL,98H OUT DX,AL BEGIN:MOV DX,M8255C ;检查脉冲信号 IN AL,DX AND AL,80H JZ BEGIN MOV DX,M8254M ;定义 8254 方式 MOV AL,31H OUT DX,AL MOV
7、 DX,M8254C0 ;定时 10 秒 MOV AL,0AH OUT DX,AL MOV DX,M8255C ;gate 开启 MOV AL,00000101B OUT DX,AL JCH: MOV DX,M8255A ;检查是否有人按键 IN AL,DX TEST AL,11111111B 名师归纳总结 JNZ KAISHI ;有就跳至kaishi 第 5 页,共 7 页- - - - - - -精选学习资料 - - - - - - - - - MOV DX,M8255C 个人资料整理仅限学习使用;检查 10 秒是否到 IN AL,DX AND AL,40H JZ JCH JNZ LABA
8、 KAISHI:MOV SI,0 ;判定哪个抢到 YR: SHL AL,1 INC SI JNC YR DEC SI MOV AL,TABSI ;显示 MOV DX,M8255B OUT DX,AL LABA:MOV DX,M8255M ;喇叭响 MOV AL,01H OUT DX,AL MOV DX,M8254M ; 8254 计时 2 秒 MOV AL,31H OUT DX,AL MOV DX,M8254C0 MOV AL,03H OUT DX,AL MOV DX,M8255M ; 8255 掌握喇叭停止响 MOV AL,00H OUT DX,AL CALL BREAK JMP BEGIN
9、 BREAK PROC NEAR ;任意键退出 MOV AH,06H MOV DX,0FFH INT 21H JE RETURN MOV AX,4C00H INT 21H RETURN:RET BREAK ENDP CODE ENDS 名师归纳总结 - - - - - - -第 6 页,共 7 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用 END START 六、 试验日志小白的试验日志:周一:第一天集中上机,我们确定了微机原理和接口技术设计的课题为竞赛抢答器;经过争论,我们打算使用选用可编程并行接口芯片8255A 和可编程计时 /定时器8254 作为主要元器
10、件,并理出了设计思路,画出了硬件搭接草图;周二:方案通过后,我开头设计软件编程;通过测试程序我们测出了 地址;通过查阅资料,我们完成了最开头的抢答器程序设计;8255 和 8254 的接口周三、周四:搭接硬件并调试程序;发觉了一些问题如数码管不能正常显示,计时和 抢答循环有如干规律错误,我随之对程序进行改动;周五:最终一天的调试,抢答器的功能仍是不能很好表达;检查程序,不能发觉明显错误;小黑的试验日志:周一:第一天集中上机,我们确定了微机原理和接口技术设计的课题为竞赛抢答器;经过争论,我们打算使用选用可编程并行接口芯片8255A 和可编程计时 /定时器8254作为主要元器件,并理出了设计思路,
11、画出了硬件搭接草图;周二:方案通过后,我开头设计硬件搭线;通过测试程序我们测出了 8255 和 8254 的 接口地址;通过查阅资料,我们完成了最开头的抢答器程序设计;周三、周四:搭接硬件并调试程序;发觉了一些问题如数码管不能正常显示,计时和 抢答循环有如干规律错误,我随之检查电路是否有问题;周五:最终一天的调试,抢答器的功能仍是不能很好表达;检查硬件,不能发觉明显 错误;七、 收成通过这次为期一周的微机原理和接口技术课程设计,扎实了我们的理论,培育了我们的 实际动手才能;一周的设计,让我们更深化的懂得了选用可编程并行接口芯片 8255A 和可 编程计时 /定时器 8254 的工作原理和工作方式,知道了数码管的显示方法,明白了运算机主板构成、接口技术及其应用编程方法;这次设计也培育了我们的团队协作精神以及做事仔细细致有耐心的品质,锤炼了我们分析问题、解决问题的综合才能,为我们今后的学习和工作奠定了基础,让我们受益匪浅;名师归纳总结 - - - - - - -第 7 页,共 7 页