微机原理课程设计Word文档下载推荐.docx
- 文档编号:6525444
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:19
- 大小:87.86KB
微机原理课程设计Word文档下载推荐.docx
《微机原理课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计Word文档下载推荐.docx(19页珍藏版)》请在冰点文库上搜索。
(3)查阅中外文献的能力;
(4)制定设计方案的能力;
(5)计算机应用的能力;
(6)设计计算和绘图的能力;
(7)语言文字表达的能力。
设计内容
设计一个4(6)路抢答器。
基本要求:
(1)可供4(6)组同时抢答,由按钮控制。
(2)主持人按启动键,绿灯亮开始抢答。
(3)能显示出最先抢答的组号,而对其他组的抢答不予理睬,黄灯亮并扬声器提示抢答成功。
(4)对主持人未曾按启动扭之前就按抢答按钮的犯规组,显示其组号,亮红灯并扬声器提示警告。
(5)对抢答后的回答时间25(30)秒进行倒计时控制,如回答超时,则以扬声器报警。
(6)编写课程设计说明书。
设计要求
设计一个具有4(6)路抢答的抢答器,启动计算机,计算机自动为系统各芯片进行初始化,抢答器开始工作。
2
比赛开始,在主持人按下开始键,绿灯亮后,选手才可开始抢答,否则违
规。
利用并行接口和开关键。
逻辑开关K0——K3(5)代表抢答按钮,当某个
逻辑开关闭合时,相当于抢答按钮按下。
若选手抢答成功,黄灯亮,七段数码
管显示选手号码,扬声器鸣叫。
若选手抢答违规(主持人未按开始键),七段
数码管显示违规选手号码,红灯亮,扬声器报警。
若系统提示某号选手抢答违规,主持人仍未按开始键,此时该号选手又按
下抢答键,七段数码管显示该选手的号码。
本系统开机后,若主持人既未按复
位键又未按开始键,此时有选手按下抢答键,系统提示红灯亮,并报警。
注:
1)抢答成功,扬声器的鸣叫声音频率为1KHz(1.5KHz)。
2)抢答失败,扬声器的鸣叫声音频率为0.5KHz(1KHz)。
3)抢答计时时间到,扬声器的鸣叫声音频率为0.75KHz(1.25KHz)。
4)扬声器鸣叫或报警的时间为12s(10s)。
正文
总体设计
一、基本工作原理
比赛开始,在主持人按下开始键,绿灯亮后,选手才可开始抢答,否则违规。
逻辑开关K0——K3代表抢答按钮,当某个逻辑开关闭合时,相当于抢答按钮按下。
若选手抢答成功,黄灯亮,七段数码管显示选手号码,扬声器鸣叫。
若选手抢答违规(主持人未按开始键),七段数码管显示违规选手号码,红灯亮,扬声器报警。
若系统提示某号选手抢答违规,主持人仍未按开始键,此时该号选手又按下抢答键,七段数码管显示该选手的号码。
本系统开机后,若主持人既未按复位键又未按开始键,此时有选手按下抢答键,系统提示红灯亮,并报警。
硬件设计
一、总体规划
1、系统组成
该竞赛抢答器的组成包括:
中断优先级管理器8259A、可编程并行接口芯片8255A、可编程定时计数器8253;
2、内存单元编址
(1)、中断优先级管理器8259A的端口地址为:
20H、21H
(2)、可编程并行接口芯片8255A的端口地址为:
80H、81H、82H、83H
(3)、可编程定时计数器8253的端口地址为:
40H、41H、42H、43H
3、键盘、扬声器及显示功能的定义
六个按键,一个开始,一个复位。
另外四个用作四位选手的抢答键。
扬声器与黄、红、绿三个发光二极管配合使用:
黄灯亮扬声器响表示抢答成功,红灯亮扬声器响表示抢答违规报警,绿灯亮扬声器不鸣表示主持人已经按下开始键。
回答时扬声器再次响起表示回答超时。
二、各芯片工作方式
1、中断优先级管理器8259A的工作方式
(1)、芯片控制ICW1:
采用边沿触发,单片8259,要写入ICW4控制字。
(2)、中断类型码ICW2:
设置IR0~IR7的中断类型码依次为08H、09H、…0FH。
(3)、方式控制ICW4:
优先设置方式为全嵌套方式,即固定优先级方式,系统总线连接方式为主片工作在缓冲方式下,中断结束方式采用中断非自动结束方式8259工作在8086系统上。
2、可编程并行接口芯片8255A的工作方式
(1)、A口工作在方式0,作为输入端口用于连接选手按键,PA3~PA0依次对应按键1~4。
(2)、B口工作在方式0,作为输出端口,连接LED显示器。
(3)、C口工作在方式0,高4位作为输入端口:
PC4,PC5分别作为复位键和开始键;
低四位:
PC1,PC2,PC3分别用于连接黄,红,绿三个发光二极管,PC0连接到8253的GATE1段,以控制通道1计数。
3、可编程定时定时器/计数器8253
(1)、通道0:
操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,计数格式为BCD码,计数初值为0。
(2)、通道1:
操作类型为先读写低字节再读写高字节,工作在方式1即可重新触发的单稳态触发器,计数格式为BCD码,计数初值为0。
(3)、通道2:
三、各芯片的连接
1、各芯片与CPU的连接
8259A、8255A、8253的数据总线D7~D0端、CS非端、RD非端、WR端、INTA非端、INT端分别于CPU的D7~D0数据总线、片选端、IOR非端、IOW非端、INTA非端
2、各芯片之间的连接和与外设的连接
8259A的IR2端接选手按键信息的输出端。
8255A的A口作为输入端口用于连接选手按键,PA3~PA0依次对应按键1~4,PC4,PC5分别作为复位键和开始键;
8253的GATE0端接+5V电压,OUT0的输出接CLK1,OUT1输出经反相器接入GATE2,CLK0和CLK1接入1MHz的频率发生器,CLK2接扬声器。
软件设计
一、存储单元的分配、标志位的含义
(1)、定义一个TAB变量用来存储1~4的字型码信息,如下表
LED的管脚
对应的字形
对应存放在内存单元的字型码
dpgfedcba
00000110
01011011
01001111
01100110
1
3
4
06H
5BH
4FH
66H
(2)、定义一个BZ变量作为标志位,用来判断选手是否违规,BZ=0FFH时,表示主持人已经按下开始键,选手可以抢答,BZ=00H表示主持人未按下开始键,选手不可抢答。
二、主程序流程图及清单
开始
设置LED字型码初值、标志位初值
对8259A、8255A、8253进行初始化
设置抢答按键中断向量
并使IF置1以开放中断
检测开始键是否按下
YN
N
检测开始键是否弹起
Y
关闭LED显示器
点亮绿灯
置标志位值为0FFH
使IF=1开放中断
检测复位键是否按下
Y
N检测复位键是否弹起
关闭LED显示器、指示灯
将标志位清零IF置1开入中断
结束
;
主程序清单
DATASEGMENT
TABDB06H,5BH,4FH,66H,6DH,7CH,07H,7FH,67H;
1~9的段码字型码
BZDB00H
DATAENDS
STKSEGMENTPARASTACK'
STACK'
DB100HDUP(?
)
STKENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE
START:
MOVAX,DATA
MOVDS,AX
;
8259初始化
MOVAL,13H;
初始化ICW1
OUT20H,AL
MOVAL,08H;
送中断类型码基值,ICW2
OUT21H,AL
MOVAL,0DH;
段中断结束方式的ICW4
8255A初始化
MOVAL,37H;
置8253通道0控制字
OUT43H,AL
MOVAL,00H;
置8253通道0计数初值为4000
OUT40H,AL
MOVAL,40H
置8253通道1计数初值为3000
OUT41H,AL
MOVAL,30H
MOVAL,0B7H;
置8253通道2控制字
置8253通道二计数初值为0
OUT42H,AL
MOVAL,00H
中断设置
MOVAH,25H;
MOVAL,0AH;
中断类型号为入口参数
MOVBX,SEGKEYINT;
DS:
DX指向4字节地址
MOVDS,BX
MOVDX,OFFSETKEYINT
INT21H
STI;
使IF置1,可开放屏蔽中断
主循环
LOPM:
INAL,82H;
检测开始键
TESTAL,20H;
检测C口的PC5端
JZLOP2;
开始键未按下则PC5=0,则跳转检测复位键
LOP1:
检测开始键是否已经弹起,即PC5=0
TESTAL,20H
JNZLOP1;
开始键没有弹起再重新检测
关LED显示器
OUT81H,AL
绿灯亮
OUT82H,AL;
送到C口
MOVBZ,0FFH;
置标志
STI
LOP2:
检测复位键
TESTAL,82H;
TESTAL,10H;
检测C口的PC4端
JZLOPM;
复位键未按下即PC4=0,则跳转再检测开始键
LOP3:
检测复位键是否弹起,即PC4=0
TESTAL,10H
JNZLOP3;
复位键没有弹起,重新检测
关LED显示器,指示灯
OUT82H,AL
MOVBZ,00H;
清标志
JMPLOPM
中断服务程序
CODEENDS
ENDSTART
三、子程序流程图及清单
保护现场,将各寄存器压入堆栈
将本次中断压入堆栈中,并置IF=0关闭中断
从8255的A端口获取选手按键信息,并将其取反
设置抢循环次数为4次
将AL中的逻辑位右移1位
判断CX是否为0或ZF是否为1
获取选手号码,并将值传给AX
通过XLAT指令将选手号码转换成LED字型码
将转换好的字型码
传给8255的B端口
判断标志位是否为FFH
置8253通道2的计数值
将黄灯点亮,抢答成功,扬声器鸣叫
25秒倒计时红灯点亮,抢答违规,扬声器报警
给8259发中断结束命令
中断返回
KEYINTPROCFAR
PUSHAX;
保护现场
PUSHBX
PUSHDX
PUSHDS
CLI;
并使本次中断压入堆栈中的IF=0
(关中断)
INAL,80H;
从8255的A口获取选手按键信息
NOTAL;
将按键字节信息取反
MOVCX,8;
计数8次
LOP4:
SHRAL,1;
获取选手号码
LOOPNZLOP4
MOVAX,CX;
把选手号码传给AX
MOVBX,OFFSETTAB;
查段码(字型码)
XLAT;
将选手号转换成TAB中对应的LED字型码
TESTBZ,0FFH;
JZLOP5
置8252通道2计数值
MOVAL,10H
MOVAL,03H;
黄灯亮,抢答成功
JMPLOP6
LOP5:
置8253通道2计数初值
MOVAL,20H
MOVAL,05H;
红灯亮,抢答违规
LOP6:
MOVAL,20H;
给8259发出中断结束命令,写OCW2
POPAX;
恢复现场
POPBX
POPDX
POPDS
IRET
KEYINTENDP
小结
本次课程设计的硬件部分是继接口实验后,对各可编程芯片的综合应用。
通过一段时间的学习研究,再次熟悉了各芯片的组成和工作特点。
设计中理论联系实际,也巩固了理论知识,对期末微机原理课程的复习也有一定的帮助。
但在没有硬件实验的条件下完成,设计起来比较困难。
软件设计需要先绘制系统工作时的流程图,这就要把系统的不同工作情况分析清楚。
通过软件部分的设计,熟练了对可编程芯片控制程序的编写,如对控制字的理解等。
用protel绘制原理图花费了大量时间:
芯片排布要使线路连接简化,连线时也要尽量有整齐又规律。
其中CPU最小工作方式部分的建立占绘图工作的大部分,还是因为对8086的工作方式不够了解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计