微机原理课程设计.docx
《微机原理课程设计.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计.docx(19页珍藏版)》请在冰点文库上搜索。
微机原理课程设计
微机原理课程设计
前言
智能抢答器的设计与功能实现要求在己学习的基础上,通过对硬件的连接设计和软件的程序编辑设计实现智能抢答的功能,这项涉及对检验我们的学习成绩、提高自己的动手能力、锻炼独立思考等方面有重要意义。
尤其对刚学习过这门课的同学来说,用来巩固自己的学习内容再好不过了,并且对日后的工作有重要指导意义,积累了大量的实践经验,有利于对今后其他专业科目的学习指导。
更白色加强创新意识,树立团队精神,培养较高的现代信息的素养。
计算机技术的飞速发展,使的计算机知识和应用技能已成为人类知识经济的重要组成部分。
《敝型计算机原理及应用》正是掌握计算机结构和工作原理的入门课程,它偏重于实际应用的课程,要求学生在学好理论知识的基础上,培养定的实践动手操作能力,学生将所学的理论知识和实践有机结合,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。
微机接口课程设计是对《微型计算机原理及应用》课程理论教学和实验教学的综合和总结。
通过该课程设计,可使学生应对微型计算机系统的基本结构和硬/软件的工作原理有一个整体的认识。
将所学的理论知识和实践有机结合,初步掌握计算机应用系统设讨的步骤和接口设讨的方法,提高分析和解决实际问题的能力,锻炼和提高同学们的实践动手能力。
目录
1.前言……………………………………………………2
2.课程设计题目………………………………………………4
3.总体设计……………………………………………………5
4硬件设计……………………………………………………5
4.1总体规划……………………………………………………5
4.2各芯片工作方式……………………………………………5
4.3各芯片连接…………………………………………………6
5软件设计……………………………………………………6
5.1存储单元的分配、标志位的含义………………………6
5.2主程序框图及清单………………………………………7
5.3子程序框图及清单………………………………………10
6.小结…………………………………………………………10
7.参考文献……………………………………………………10
8.设计图纸……………………………………………………11
9.程序清单……………………………………………………12
课程设计题目:
竞赛抢答器设计
课程设计的目的意义
通过课程设计培养同学们的系统设计能力,使同学们达到以下能力训练:
(1)调查研究、分析问题的能力;
(2)使用设计手册、技术规范的能力;
(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:
操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,计数格式为BCD码,计数初值为0。
三、各芯片的连接
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分别作为复位键和开始键;低四位:
PC1,PC2,PC3分别用于连接黄,红,绿三个发光二极管,PC0连接到8253的GATE1段,以控制通道1计数。
8253的GATE0端接+5V电压,OUT0的输出接CLK1,OUT1输出经反相器接入GATE2,CLK0和CLK1接入1MHz的频率发生器,CLK2接扬声器。
软件设计
一、存储单元的分配、标志位的含义
(1)、定义一个TAB变量用来存储1~4的字型码信息,如下表
LED的管脚
对应的字形
对应存放在内存单元的字型码
dpgfedcba
00000110
01011011
01001111
01100110
1
2
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开放中断
N
检测复位键是否按下
Y
N检测复位键是否弹起
Y
关闭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
OUT21H,AL
;8255A初始化
MOVAL,37H;置8253通道0控制字
OUT43H,AL
MOVAL,00H;置8253通道0计数初值为4000
OUT40H,AL
MOVAL,40H
OUT40H,AL
OUT43H,AL
MOVAL,00H;置8253通道1计数初值为3000
OUT41H,AL
MOVAL,30H
OUT41H,AL
MOVAL,0B7H;置8253通道2控制字
OUT43H,AL
MOVAL,00H;置8253通道二计数初值为0
OUT42H,AL
MOVAL,00H
OUT42H,AL
;中断设置
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:
INAL,82H;检测开始键是否已经弹起,即PC5=0
TESTAL,20H
JNZLOP1;开始键没有弹起再重新检测
MOVAL,00H;关LED显示器
OUT81H,AL
MOVAL,08H;绿灯亮
OUT82H,AL;送到C口
MOVBZ,0FFH;置标志
STI
LOP2:
INAL,82H;检测复位键
TESTAL,82H;检测复位键
TESTAL,10H;检测C口的PC4端
JZLOPM;复位键未按下即PC4=0,则跳转再检测开始键
LOP3:
INAL,82H;检测复位键是否弹起,即PC4=0
TESTAL,10H
JNZLOP3;复位键没有弹起,重新检测
MOVAL,00H;关LED显示器,指示灯
OUT81H,AL
OUT82H,AL
MOVBZ,00H;清标志
STI
JMPLOPM
;中断服务程序
CODEENDS
ENDSTART
三、子程序流程图及清单
开始
保护现场,将各寄存器压入堆栈
将本次中断压入堆栈中,并置IF=0关闭中断
从8255的A端口获取选手按键信息,并将其取反
设置抢循环次数为4次
将AL中的逻辑位右移1位
N
判断CX是否为0或ZF是否为1
Y
获取选手号码,并将值传给AX
通过XLAT指令将选手号码转换成LED字型码
将转换好的字型码
传给8255的B端口
判断标志位是否为FFH
YN
置8253通道2的计数值
将黄灯点亮,抢答成功,扬声器鸣叫
置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字型码
OUT81H,AL
TESTBZ,0FFH;判断标志位是否为FFH
JZLOP5
MOVAL,00H;置8252通道2计数值
OUT42H,AL
MOVAL,10H
OUT42H,AL
MOVAL,03H;黄灯亮,抢答成功
OUT82H,AL
JMPLOP6
LOP5:
MOVAL,00H;置8253通道2计数初值
OUT42H,AL
MOVAL,20H
OUT42H,AL
MOVAL,05H;红灯亮,抢答违规
OUT82H,AL
LOP6:
MOVAL,20H;给8259发出中断结束命令,写OCW2
OUT20H,AL
POPAX;恢复现场
POPBX
POPDX
POPDS
IRET
KEYINTENDP
小结
本次课程设计的硬件部分是继接口实验后,对各可编程芯片的综合应用。
通过一段时间的学习研究,再次熟悉了各芯片的组成和工作特点。
设计中理论联系实际,也巩固了理论知识,对期末微机原理课程的复习也有一定的帮助。
但在没有硬件实验的条件下完成,设计起来比较困难。
软件设计需要先绘制系统工作时的流程图,这就要把系统的不同工作情况分析清楚。
通过软件部分的设计,熟练了对可编程芯片控制程序的编写,如对控制字的理解等。
用protel绘制原理图花费了大量时间:
芯片排布要使线路连接简化,连线时也要尽量有整齐又规律。
其中CPU最小工作方式部分的建立占绘图工作的大部分,还是因为对8086的工作方式不够了解。