160408216张显磊竞赛抢答器.docx
- 文档编号:8081307
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:12
- 大小:1.41MB
160408216张显磊竞赛抢答器.docx
《160408216张显磊竞赛抢答器.docx》由会员分享,可在线阅读,更多相关《160408216张显磊竞赛抢答器.docx(12页珍藏版)》请在冰豆网上搜索。
160408216张显磊竞赛抢答器
课程设计报告
课程微机原理和接口技术课程设计
题目竞赛抢答器
系别物理和电子工程学院
年级08级专业电子信息工程
班级二班学号160408216
学生姓名张显磊
指导教师马玉龙职称讲师
设计时间2011.06.28~2011.07.08
绪论
抢答器作为现代电子产品代替了简单的肢体语言,使人们能更好的辨别对于一个抢答的先后顺序,尤其在现代的各种智力竞赛中,主持人可以根据抢答器的帮助,准确的判断出对于一个题目,到底是由哪位选手首先抢答的。
这样既有益于比赛的公平竞争原则,也为一系列比赛节省了时间,另外,在一定程度上又增强了竞赛的趣味性。
抢答器作为一种电子产品已经广泛的使用于世界范围内的各种智力比赛。
本设计竞赛抢答器是利用8253、8255芯片、8088CPU、数码管实现音频和按键信息的判别以及序号信息的显示。
关键字:
竞赛抢答器,8255,8253,8088CPU,数码管
第一章选题分析
1.1课题要求
用微机原理实验箱,在外接8个按键的抢按下,让7段LED数码管显示抢答者编号,并使喇叭响一下。
具体要求:
(1)通过实验箱上8255芯片接收来自实验箱按键的信息,将该信息送入8088CPU,由CPU判断是哪个按键按下;
(2)8088CPU将判断出的按键信息转换为7段显示码,并通过8255芯片发送到7段显示模块显示;
(3)在显示按键信息的同时通过实验箱上8253芯片产生一定频率的方波信号发送到音频功放模块,发出声音;
(4)提高要求:
能对几乎同时发生的按键进行判别,找到先按的键。
1.2课题设计方案
1.2.1总体设计思路
本次课题设计要用到按键判断、数码管显示、扬声器鸣叫等功能,经分析需用到的硬件有:
可编程并行接口芯片8255、可编程定时器/计数器8253、一个扬声器、一个LED显示器、8个按键。
经过分析,实验的关键的是准确判断最先抢答者的信息而不受其它抢答者的信号的干扰,为此,要将8个抢答器按键连接到可编程并行接口芯片8255的PA0~PA7,微机通过该并行输入口循环对8路抢答信号进行采样。
采样到哪一组的抢答信号最先发出,则记录下该组的组号。
当8组均未按下抢答按钮时,送入到并行接口的8位抢答状态都是0,而当微机采样到这8位数据不为0时,则表示有一组获得了抢答机会,然后通过一位一位查询个位状态,即可判断出哪一组抢答成功,最后利用并行输出接口将抢答成功的组号现实出来。
在实验中,可以仅用一位7段数码管来显示抢答选手的组号,抢答成功,通过可编程定时器/计数器8253获得激发电源使扬声器鸣叫。
注:
①可编程并行接口接口芯片8255A的端口地址为0ff28H、0ff29H、0ff2AH、0ff2BH。
②可编程定时器/计数器8253的端口地址为0040H、0041H、0042H、0043H。
1.2.2软件设计流程图
1.2.3硬件设计(连线)
8255A、8253的数据总线D7~D0端、
端、
端、
端、
端、INT端分别和8088CPU的D7~D0数据总线、片选端、
端、
端、
端、INTR端。
8255A、8253的A1、A0端分别接入CPU地址线的A1、A0端。
8255A的A口的PA7~PA0依次接“按键1”~“按键8”,B口的PB7~PB0通过驱动器1接到LED显示器,8253的GATE0端接+5V电压,CLK0接1MHz,OUT0的输出接入接扬声器。
第二章软件原理
2.1获取选手号码子程序
在硬件电路中,8255的PA端口连接开关按键,根据读取PA的状态可以判断出按下的是哪个键(按下为低电平),根据进行移位操作,可得出选手的具体号码。
lop1:
movdx,a
inal,dx
cmpal,0ffh
jnzlop2
jmplop4
lop2:
movcx,8
notal
lop3:
shral,1
loopnzlop3
moval,cl
2.2数码管显示子程序
在程序中依次建立了1~8的字形码,根据获取得到选手的号码,在段码中找出该号码对应的字形码,随后输出给PB端口。
movbx,offsetTAB
movah,00h
addbx,ax
moval,[bx]movdx,b
outdx,al
2.3扬声器鸣叫子程序
对8253设定工作于方式三,使其输出为方波。
根据题目要求,计算得出相应的计算初值07D0H,将计算初值输出给通道0,使8253开始计数。
通道0的输出端接扬声器,以此达到鸣叫的效果。
moval,0d0h
movdx,T0
outdx,al
moval,07h
movdx,T0
outdx,al
2.4扬声器鸣叫时间
利用循环嵌套的方式,使扬声器鸣叫一段时间后,再使得8253进入方式5工作,即扬声器不产生鸣叫,达到扬声器鸣叫一声的效果。
movbx,3
delay:
movcx,0h
delay1:
loopdelay1
decbx
Jnzdelay
moval,30h
movdx,TCON
Outdx,al
第三章硬件原理
3.1可编程并行接口接口芯片8255A
3.1.18255A内部结构
8255A芯片是一个采用NMOS工艺制造的40引脚双列直插式(DIP)封装组件。
8255A有3个8位数据端口,即A口、B口及C口,它们都可以分别作为输入口或输出口使用;A组控制和B组控制;读/写控制逻辑;数据总路线缓冲器。
3.1.28255A主要的外部引脚
图2-1-18255A引脚图
PA7~PA0:
A口的8条I/O线。
8条线只能同时作为输入或输出,不能分开使用,可设置成双向口,也只有A口允许这样做。
PB7~PB0:
B口的8条I/O线。
不可以设置成双向口,其它和A口一样。
PC7~PC0:
C口的8条I/O线。
不可以设置成双向口,但它可以分拆为两组即高4位和低4位,这两组可以任意设置为输入或输出。
除了作为独立的I/O线外,C口还经常为A口、B口服务,配合A口、B口作联络线使用。
A1、A0:
端口地址选择信号。
用于选择8255A的3个数据端口和一个控制口。
当A1A0=00时,选择端口A;为01时,选择端口B;为10,选择端口C;为11时,选择控制口。
3.1.38255A工作方式
方式0:
基本的输入/输出方式。
A口、B口、C口都可以工作在些方式下。
3.1.48255A方式控制字格式
表2-1-18255方式控制字
D7
D6、D5
D4
D3
D2
D1
D0
1
A口
A口
C口高4位
B口
B口
C口低4位
00方式0
01方式1
1x方式2
0输出
1输入
0输出
1输入
0方式0
1方式1
0输出
1输入
0输出
1输入
3.2可编程定时器/计数器8253
3.2.18253的内部结构
8253采用NMOS工艺制成,有24个引脚,所有输入端、输出端均和TTL电平兼容,单一电源(VCC=+5V)供电,最高计数速率为2.6MHz。
它包括3个计数器(即计数器0、1、2)、数据总路线缓冲器、读/写逻辑以及控制寄存器等4个部分。
3.2.28253的外部引脚
图2-2-18253引脚图
A1、A0:
地址输入线,用来表示8253内部的4个端口,即3个计数器和1个控制字寄存器和CPU系统地址线相连。
CLK0、CLK1、CLK2:
时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号。
CLK可以是系统的时钟脉冲,也可以由系统时钟分频或者其他脉冲源提供。
当用于定时,这个脉冲必须是均匀的、连续的、周期精确的,而用于计数时,这个脉冲可以是不均匀的、断续的、周期不定的。
GATE0、GATE1、GATE3:
门控输入端,用于外部控制计数器的启动计数和停止计数的操作。
两个或两个以上计数器连用时,可用此信号同步,也可用于和外部某信号的同步。
OUT0、OUT1、OUT2:
计数输出,当计数器从初值开始完成计数操作进,OUT引脚输出相应的信号。
3.2.38253的工作方式
方式0:
减1计数到0,产生中断请求信号。
方式1:
减1计数到0,产生可重复触发的单稳态负脉冲信号。
方式2:
减1计数到1,分频器(速率信号发生器)。
方式3:
减1计数到初值的1/2,方波发生器。
方式4:
减1计数到0,软件触发产生选通负脉冲信号。
方式5:
减1计数到0,硬件触发产生选通负脉冲信号。
3.2.48253方式控制字格式
表2-2-28253方式控制字
D7D6
D5D4
D3D2D1
D0
00选计数器0
01选计数器1
10选计数器2
00计数器锁存
01只读写低8位
10先读写高8位
11先读写低8位
再读写高8位
000方式0
001方式1
X10方式2
X11方式3
100方式4
101方式5
0二进制计数
1BCD计数
第四章结果分析
4.1软件结果
4.2硬件结果
总结和体会
转眼间接近两周微机原理和接口技术课程设计转眼就结束了,通过这次课程设计,我学会了许多课本上学不到的东西,同时也加强了我的动手、思考和解决问题的能力,受益匪浅。
明白了理论和实践结合的重要性。
通过马老师的给我们的材料,让我们说明了设计的大体思路,。
我们通过查找资料明白了所需的各芯片的功能。
然后通过软件设计,硬件连接。
通过编译和下载运行,再进行修改反复进行。
最终得到满意结果。
为了弄懂8253、8255等芯片的功能,我从图书馆里借来了好几本书,同时也在网上找了资料,经过一番努力终于解决啦,还有其它的芯片的功能也要慢慢的去琢磨。
而在课程设计过程中,我觉得是对课本知识的巩固和加强,由于课本上的知识太多,同时平时课间又没有好好的运用额理解个个元件的功能,而且测试的内容有限,所以在这次课程设计过程中,我们了解更多,对其在电路中的使用有更深的认识。
从前的学习过程过于浮浅,只是流于表面的理解,而现在要做课程设计,就不得不要求我们对所用到的知识有更深层次的理解。
因为课程设计的内容比及书本中的理论知识而言,更接近于现实生活,而理论到实践的转化往往是一个艰难的过程,它犹如一只拦路虎,横在我们的面前。
但是我们毫不畏惧,因为我们相信我们能行。
通过这次课程设计使我懂得了理论和实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识和实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,和和人合作共同提高,都受益非浅。
在此,我要感谢马老师以及在此期间帮助我的同学!
参考文献
[1].仁向民·《微机接口技术实用教程》[M]·北京:
清华大学出版社
[2].宋杰.《微机原理和接口技术课程设计》[M].北京:
机械工业出版社,2005.4
[3].朱金钧、麻新旗·《微型计算机原理及使用技术》[M]·北京:
机械工业出版社
[4].陈够喜,邵坚婷,张军.《微机原理使用实验教程》[M].北京:
人民邮电出版社,2006.6
[5].江正战、沈志鸿·《三级偏硬测试教程》[M]·江苏:
东南大学出版社
[6].阎石·《数字电子技术基础》[M]·北京:
高等教育出版社
[7].张雪兰、谭毓安·《汇编语言程序设计》[M]·北京:
清华大学出版社
附录
DATASEGMENT
TABDB0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H;数码管显示(高)
AEQU0FF28H
BEQU0FF29H
CEQU0FF2AH
CTLEQU0FF2BH
T0EQU0040H
T1EQU0041H
T2EQU0042H
TCONEQU0043H
DATAENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE;数据段寄存器DS,代码段寄存器CS
START:
MOVAX,DATA
MOVDS,AX
MOVDX,CTL
MOVAL,90H
OUTDX,AL
XORAL,AL
MOVDX,B
OUTDX,AL
MOVDX,C
OUTDX,AL;8255初始化
LOP4:
MOVAL,36H
MOVDX,TCON
OUTDX,AL;8253初始化
LOP1:
MOVDX,A
INAL,DX
CMPAL,0FFH;比较
JNZLOP2;不等于零
JMPLOP4;跳到LOP4
LOP2:
MOVCX,8
NOTAL
LOP3:
SHRAL,1;获取选手号码
LOOPNZLOP3
MOVAL,CL
MOVBX,OFFSETTAB
MOVAH,00H
ADDBX,AX
MOVAL,[BX]
MOVDX,B
OUTDX,AL
MOVAL,0D0H;置8253通道0计数值
MOVDX,T0
OUTDX,AL
MOVAL,07H
MOVDX,T0
OUTDX,AL
MOVBX,3;延时
DELAY:
MOVCX,0H
DELAY1:
LOOPDELAY1
DECBX
JNZDELAY
MOVAL,30H;置8253通道控制字
MOVDX,TCON
OUTDX,AL
JMPLOP1;循环检测
CODEENDS
ENDSTART
课程设计独创性声明:
学生签名:
指导教师评语:
课程设计成绩:
指导教师签名:
教研室意见:
教研室主任签名:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 160408216 张显磊 竞赛 抢答