微机原理课程设计.docx

上传人:b****4 文档编号:4235032 上传时间:2023-05-06 格式:DOCX 页数:19 大小:87.86KB
下载 相关 举报
微机原理课程设计.docx_第1页
第1页 / 共19页
微机原理课程设计.docx_第2页
第2页 / 共19页
微机原理课程设计.docx_第3页
第3页 / 共19页
微机原理课程设计.docx_第4页
第4页 / 共19页
微机原理课程设计.docx_第5页
第5页 / 共19页
微机原理课程设计.docx_第6页
第6页 / 共19页
微机原理课程设计.docx_第7页
第7页 / 共19页
微机原理课程设计.docx_第8页
第8页 / 共19页
微机原理课程设计.docx_第9页
第9页 / 共19页
微机原理课程设计.docx_第10页
第10页 / 共19页
微机原理课程设计.docx_第11页
第11页 / 共19页
微机原理课程设计.docx_第12页
第12页 / 共19页
微机原理课程设计.docx_第13页
第13页 / 共19页
微机原理课程设计.docx_第14页
第14页 / 共19页
微机原理课程设计.docx_第15页
第15页 / 共19页
微机原理课程设计.docx_第16页
第16页 / 共19页
微机原理课程设计.docx_第17页
第17页 / 共19页
微机原理课程设计.docx_第18页
第18页 / 共19页
微机原理课程设计.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理课程设计.docx

《微机原理课程设计.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计.docx(19页珍藏版)》请在冰点文库上搜索。

微机原理课程设计.docx

微机原理课程设计

 

微机原理课程设计

 

前言

智能抢答器的设计与功能实现要求在己学习的基础上,通过对硬件的连接设计和软件的程序编辑设计实现智能抢答的功能,这项涉及对检验我们的学习成绩、提高自己的动手能力、锻炼独立思考等方面有重要意义。

尤其对刚学习过这门课的同学来说,用来巩固自己的学习内容再好不过了,并且对日后的工作有重要指导意义,积累了大量的实践经验,有利于对今后其他专业科目的学习指导。

更白色加强创新意识,树立团队精神,培养较高的现代信息的素养。

计算机技术的飞速发展,使的计算机知识和应用技能已成为人类知识经济的重要组成部分。

《敝型计算机原理及应用》正是掌握计算机结构和工作原理的入门课程,它偏重于实际应用的课程,要求学生在学好理论知识的基础上,培养定的实践动手操作能力,学生将所学的理论知识和实践有机结合,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。

微机接口课程设计是对《微型计算机原理及应用》课程理论教学和实验教学的综合和总结。

通过该课程设计,可使学生应对微型计算机系统的基本结构和硬/软件的工作原理有一个整体的认识。

将所学的理论知识和实践有机结合,初步掌握计算机应用系统设讨的步骤和接口设讨的方法,提高分析和解决实际问题的能力,锻炼和提高同学们的实践动手能力。

目录

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的工作方式不够了解。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 育儿理论经验

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2