- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
个人收集整理-仅供参考个人收集整理-仅供参考
个人收集整理-仅供参考
PAGE / NUMPAGES
个人收集整理-仅供参考
《微 机 原 理 与 接 口 技 术》
课程设计报告
姓 名:小白
学 号姓 名:小黑
学 号指导教师:白加黑
日 期: 2010.12
竞赛抢答器设计
设计内容
开关K0-K7代表竞赛抢答按钮0-7号,当某个逻辑电平开关置“1”时,相当于某组抢答按钮按下,在七段数码管上将其组号(0-7)显示出来,并使喇叭响一下.发一个脉冲开始下一轮抢答,按其他键程序退出.同时考虑抢答允许时间,10秒内有效,10秒之后无人抢答,本次抢答作废.b5E2R。
设计思路:
抢答器设计可分为以下几部分:开始抢答信号地接收;计时器地倒计时;检查抢答按钮并显示在数码管上;任意键退出程序.p1Ean。
对此,我们选用可编程并行接口芯片8255A,采用方式0,PA接口做输入,接收抢答信号,并用PB接口做输出通过编程将抢答组号输出到数码管显示.PC接口用PC0接扬声器通过芯片控制其发声,PC7接口接收开始地脉冲信号,当接收到高电平时开始一轮抢答.DXDiT。
定时器我们选用可编程定时/计数器8254.,采用方式0在计数结束时产生正跃变信号.我们使用计数器0,其中GATE0接8255地PC1端口,高电平时开始计数,OUT0接8255地PC6,CLK0接试验箱上地频率为1HZ地脉冲发生器,当做1秒计时信号.RTCrp。
编程对8255A初始化后,开始时由脉冲发生器产生一个正脉冲被8255A地PC7接收,8255A则通过PC1输出高电平使定时器8254工作;这之前通过编程使8254实现10秒倒计时.5PCzV。
当8254开始计时时,8255循环检查PA端口和PC6端口,若有人抢答,则PA 端口有高电平输入,此时若PC6仍然低电平,则抢答有效,通过编好地程序判断是第几组抢答,并通过PB端口输出一段01代码使数码管显示组号,同时PC0端口产生高电平使扬声器发声;若循环时PA端口一直低电平而PC6产生高电平,说明时间已到,PC0端口产生高电平使扬声器发声.jLBHr。
扬声器发声后,编程使8254定时2秒,并在时间到时OUT0发出高电平通知8255A使之将PC0输出变为低电平,扬声器停止发声.xHAQX。
至此,一轮抢答结束,插入一个任意键退出子程序,并等待脉冲信号开始下一辆抢答.
电路设计原理图
程序流程图
开始
开始
8255初始化
8255初始化
接收脉冲信号
接收脉冲信号
对8254初始化10秒计时
对8254初始化10秒计时
判断是否到时是
判断是否到时
有人抢答否
有人抢答
否
判断是第几组抢答并由数码管显示是
判断是第几组抢答并由数码管显示
扬声器发声2秒
扬声器发声2秒
按下任意键否
按下任意键
结束是
结束
源代码及注释
M8254C0 EQU 0C840H
M8254M EQU 0C843H
M8255A EQU 0C860H
M8255B EQU 0C861H
M8255C EQU 0C862H
M8255M EQU 0C863H
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,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 DX,M8254C0 ;定时10秒
MOV AL,0AH
OUT DX,AL
MOV DX,M8255C ;gate开启
MOV AL
OUT DX,AL
JCH: MOV DX,M8255A ;检查是否有人按键
IN AL,DX
TEST AL
JNZ KAISHI ;有则跳至kaishi
MOV DX,M8255C ;检查10秒是否到
IN
文档评论(0)