《微机原理与接口技术》抢答器课程设计报告.docVIP

  • 4
  • 0
  • 约4.9千字
  • 约 10页
  • 2018-01-30 发布于福建
  • 举报

《微机原理与接口技术》抢答器课程设计报告.doc

微机原理与接口技术课程设计报告 学号:2009212100 2009212111 姓名:邢 锐 锐 卞 先 南 班级: 0610902 专业:生物医学工程 指导教师:祝 家 钰 题目要求: 开关K0-K7代表竞赛抢答按钮0-7号,当某个逻辑电平开关置“1”时,相当于某组抢答按钮按下,在七段数码管上将其组号(0-7)显示出来,并使喇叭响一下。发一个脉冲开始下一轮抢答,按其他键程序退出。同时考虑抢答允许时间,10秒内有效,10秒之后无人抢答,本次抢答作废。 设计思路: 抢答器设计可分为以下几部分:开始抢答信号的接收;计时器的倒计时;检查抢答按钮并显示在数码管上;任意键退出程序。 对此,我们选用可编程并行接口芯片8255A,采用方式0,PA接口做输入,接收抢答信号,并用PB接口做输出通过编程将抢答组号输出到数码管显示。PC接口用PC0接扬声器通过芯片控制其发声,PC7接口接收开始的脉冲信号,当接收到高电平时开始一轮抢答。 定时器我们选用可编程定时/计数器8254.,采用方式0在计数结束时产生正跃变信号。我们使用计数器0,其中GATE0接8255的PC1端口,高电平时开始计数,OUT0接8255的PC6,CLK0接试验箱上的频率为1HZ的脉冲发生器,当做1秒计时信号。 编程对8255A初始化后,开始时由脉冲发生器产生一个正脉冲被8255A的PC7接收,8255A则通过PC1输出高电平使定时器8254工作;这之前通过编程使8254实现10秒倒计时。 当8254开始计时时,8255循环检查PA端口和PC6端口,若有人抢答,则PA 端口有高电平输入,此时若PC6仍然低电平,则抢答有效,通过编好的程序判断是第几组抢答,并通过PB端口输出一段01代码使数码管显示组号,同时PC0端口产生高电平使扬声器发声;若循环时PA端口一直低电平而PC6产生高电平,说明时间已到,PC0端口产生高电平使扬声器发声。 扬声器发声后,编程使8254定时2秒,并在时间到时OUT0发出高电平通知8255A使之将PC0输出变为低电平,扬声器停止发声。 至此,一轮抢答结束,插入一个任意键退出子程序,并等待脉冲信号开始下一辆抢答。 设计电路原理图 程序流程图 是 否 否 是 否 是 程序清单 MY82540 EQU 9840H MY82541 EQU 9841H MY82542 EQU 9842H MY8254M EQU 9843H MY8255A EQU 9860H MY8255B EQU 9861H MY8255C EQU 9862H MY8255M EQU 9863H ; 8254,8255宏定义 DATA SEGMENT TAB DB 60H,0CAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH ; 控制七个数码管 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV DX,MY8255M ;初始化8255 MOV AL OUT DX,AL RE:MOV DX,MY8255C ; 检查脉冲信号 IN AL,DX AND AL ;PC口工作方式 方式二 JZ RE MOV DX,MY8254M ; 定义8254方式 MOV AL ; 计数器0,先低八位在高八位,工作方式0,十进制计数 OUT DX,AL MOV DX,MY82540 ; 定时10秒 MOV AL ; 延时100 OUT DX,AL MOV DX,MY8255C ; gate开启 MOV AL OUT DX,AL JCH: MOV DX,MY8255A ; 检查是否有人按键 IN AL,DX TEST AL ;

文档评论(0)

1亿VIP精品文档

相关文档