微机课程设计zuixin教材Word文件下载.docx
《微机课程设计zuixin教材Word文件下载.docx》由会员分享,可在线阅读,更多相关《微机课程设计zuixin教材Word文件下载.docx(27页珍藏版)》请在冰豆网上搜索。
![微机课程设计zuixin教材Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-10/26/3d554bc0-a6c6-4459-90e8-6e7bbe5faa3c/3d554bc0-a6c6-4459-90e8-6e7bbe5faa3c1.gif)
8253编程。
2.课程设计的要求
1)系统硬件设计
✧设计8053定时器计时,8253地址为40H\41H\42\H\43H,控制电路如图:
2)软件编程内容
✧显示器工作于查询方式,键盘工作于中断方式。
✧16个按键定义的键值为:
0~F,按任意键在显示器上显示对应键值。
✧设定8253的通道2工作于方式0,用于事件计数,当计数值为8,按键9次后,发出中断请求信号并显示“EEEEEE”。
显示满30秒时数字清除。
✧8253只写高8位计数值时,8253的计数是8位计数,还是16位计数?
✧A、软件实现:
计数结束后,读取计数值,看是0还是0FFH?
✧B、软件实现:
定时结束后,读取定时数值,看是0还是0FFH?
2、设计思路
微型计算机由微处理器,存储器,接口电路以及连接在这些部件上的总线组成。
微处理器,存储器和所有I\O设备之间的信息交换都通过总线进行。
总线包括地址总线,数据总线和控制总线,他们始于CPU或终于CPU,现代微机大部分都是这种以总线为中心的结构。
8086CPU的地址\数据总线AD15-AD0和地址\状态总线A16/S3-A19/S6是复用的,必须通过地址锁存器把地址总线和数据总线分离。
控制总线直接和8086CPU相连,这样8086CPU就工作在最小工作方式。
微型计算机及外围设备组成微型计算机系统的硬件,外围设备必须通过接口电路才能与系统总线相连,因此构建一个基于8086CPU的简单微型计算机系统就是工作于最小工作方式的8086CPU系统总线上挂上一定规模的存储器和接口电路,然后在把合适的外围设备连接到接口电路上。
一个基于8088CPU的简单微型计算机系统框图如图所示。
图中键盘与显示器作为外围设备通过接口芯片与系统总线相连。
本次课程设计使用软件是wmd86硬件是TP-PITE5.4板,通过8255可编程并行I/O接口芯片可以对4X4键盘进行扫描,从而可以确定哪一个键被按下,同时又可对七段数码管的输出显示进行控制,从而可以做到按下某个键后在数码管上显示出自己需要显示的相应的字符。
8254可编程定时和计数芯片有三个计数器,利用其中任何一个计数器设置其工作方式为0,其中的out端口接到8259A中断控制器芯片的中断请求端口上,CLK接到板子的KK1+接口上,通过人工触发的方式给计时器送计时脉冲,将计数次数8送进计数器,那么按键KK1+九次后计数器计数终止计数,同时out端口送出一个高电平,这个就是中断请求信号,由此进入中断,中断服务程序里面利用8255芯片对七段数码管进行输出显示控制,让数码管显示“EEEEEE”,最后再在显示程序后设定一个30s的延时子程序,由此实现了“设定8253的通道2工作于方式0,用于事件计数,当计数值为8,按键9次后,发出中断请求信号并显示“EEEEEE”。
显示满30秒时数字清除”。
3、系统详细原理
1.硬件电路系统设计
1)确定组成电路所用元器件
本次课程设计使用实验室提供的元器件,分别为:
Ø
8086微处理器
可编程接口芯片8255A
可编程定时器/计数器8253
可编程中断控制器8259A
74LS07芯片
键盘及数码管显示单元
2)8086CPU的引脚信号和功能
a.引言
如下图所示,是8088/8086CPU的外部结构,即引脚信号图。
图2-58086/8088CPU引脚功能
8088/8086CPU芯片都是双列直插式集成电路芯片,都有40个引脚,其中32个引脚在两种工作模式下的名称和功能是相同的,还有8个引脚在不同的工作模式下,具有不同的名称和功能。
下面,我们分别来介绍这些引脚的输入/输出信号及其功能。
b.两种模式下,名称和功能相同的32个引脚
1 VCC、GND:
电源、接地引脚(3),8088/8086CPU采用单一的+5V电源,但有两个接地引脚。
2 AD15—AD0(AddressDataBus):
地址/数据复用信号输入/输出引脚(16),分时输出低16位地址信号及进行数据信号的输入/输出。
3 A19/s6—A15/s3(AddressStatusBus):
地址/状态复用信号输出引脚(4),分时输出地址的高4位及状态信息,其中s6为0用以指示8086/8088CPU当前与总线连通;
s5为1表明8086/8088CPU可以响应可屏蔽中断;
s4、s3共有四个组态,用以指明当前使用的段寄存器,00—ES,01—SS,10—CS,11—DS。
4 NMI(Non-MaskableInterrupt)、INTR(InterruptRequest):
中断请求信号输入引脚
(2),引入中断源向CPU提出的中断请求信号,高电平有效,前者为非屏蔽中断请求,后者为可屏蔽中断请求信号。
5 (Read):
读控制输出信号引脚
(1),低电平有效,用以指明要执行一个对内存单元或I/O端口的读操作,具体是读内存单元,还是读I/O端口,取决于控制信号。
6 CLK/(Clock):
时钟信号输入引脚
(1),时钟信号的方波信号,占空比约为33%,即1/3周期为高电平,2/3周期为底电平,8088/8088的时钟频率(又称为主频)为4.77MHz,即从该引脚输入的时钟信号的频率为4.77MHz。
7 Reset(Reset):
复位信号输入引脚
(1),高电平有效。
8088/8086CPU要求复位信号至少维持4个时钟周期才能起到复位的效果,复位信号输入之后,CPU结束当前操作,并对处理器的标志寄存器、IP、DS、SS、ES寄存器及指令队列进行清零操作,而将CS设置为0FFFFH。
8 READY(Ready):
“准备好”状态信号输入引脚
(1),高电平有效。
9 (Test):
测试信号输入引脚
(1),低电平有效,TEST信号与WAIT指令结合起来使用,CPU执行WAIT指令后,处于等待状态,当TEST引脚输入低电平时,系统脱离等待状态,继续执行被暂停执行的指令。
10 MN/MX(Minimum/MaximumModelControl)最小/最大模式设置信号输入引脚
(1),该输入引脚电平的高、低决定了CPU工作在最小模式还是最大模式,当该引脚接+5V时,CPU工作于最小模式下,当该引脚接地时,CPU工作于最大模式下。
c.最小模式下的24--31引脚
当8088/8086CPU的引脚固定接+5V时,CPU处于最小模式下,这时候剩余的24—31共8个引脚的名称及功能如下:
1 (InterruptAcknowledge)中断响应信号输出引脚
低电平有效,该引脚是CPU响应中断请求后,向中断源发出的认可信号,用以通知中断源,以便提供中断类型码,该信号为两个连续的负脉冲。
2 ALE(AddressLockEnable):
地址锁存允许输出信号引脚
高电平有效,CPU通过该引脚向地址锁存器8282/8283发出地址锁存允许信号,把当前地址/数据复用总线上输出的是地址信息,锁存到地址锁存器8282/8283中去。
注意:
ALE信号不能被浮空。
3 (DataEnable):
数据允许输出信号引脚
低电平有效,为总线收发器8286提供一个控制信号,表示CPU当前准备发送或接收一项数据。
4 (DataTransmit/Receive):
数据收发控制信号输出引脚
CPU通过该引脚发出控制数据传送方向的控制信号,在使用8286/8287作为数据总线收发器时,信号用以控制数据传送的方向,当该信号为高电平时,表示数据由CPU经总线收发器8286/8287输出,否则,数据传送方向相反。
5 (Memory/Input&
Output):
存储器/I/O端口选择信号输出引脚
这是CPU区分进行存储器访问还是I/O访问的输出控制信号。
当该引脚输出高电平时,表明CPU要进行I/O端口的读写操作,低位地址总线上出现的是I/O端口的地址;
当该引脚输出低电平时,表明CPU要进行存储器的读写操作,地址总线上出现的是访问存储器的地址。
6 (Write):
写控制信号输出引脚
低电平有效,与配合实现对存储单元、I/O端口所进行的写操作控制。
7 HOLD(HoldRequest):
总线保持请求信号输入引脚
高电平有效。
这是系统中的其它总线部件向CPU发来的总线请求信号输入引脚。
8 HLDA(HoldAcknowledge):
总线保持响应信号输出引脚
高电平有效,表示CPU认可其他总线部件提出的总线占用请求,准备让出总线控制权。
3)8255A芯片基本资料
a.8255A内部结构如下图所示
图2.5.18255A内部结构
1 8255A有3个8位数据接口,即接口A、接口B和接口C。
使用者可以用软件使它们分别作为输入端口或输出端口。
(1)端口A:
一个8位数据输入锁存器和一个8位数据输出锁存器/缓冲器,用来传送数据。
数据输入均被锁存。
(2)端口B:
一个8位数据输入缓冲器和一个8位数据输出锁存器/缓冲器,用来传送数据。
数据输入时不被锁存,数据输出时被锁存。
(3)端口C:
一个8位数据输入缓冲器和一个8位数据输出锁存器/缓冲器,用作输入端口时,数据不被锁存;
而作为输出端口是,数据被锁存。
2 A组控制和B组控制
这两组控制电路一方面接收芯片内部总线上的控制字,一方面接收来自读/写控制逻辑电路的读/写命令,从而解决端口的工作方式和读/写操作。
其中,A组控制电路控制端口A和端口C高4位(PC7-PC4)的工作方式和读/写操作:
而B组控制电路控制端口B和端口C低4位(PC3-PC0)工作方式和读写操作。
3 读/写控制逻辑电路
读/写控制逻辑电路负责管理8255A的数据传输过程。
它接收来自系统总线的信号A1,A0和控制总线信号RESET、WR、RD,将这些信号组合后,得到A组控制部件和B组控制部件的控制命令,并将命令发给这两个部件,完成对数据、状态信息的传输。
4 数据总线缓冲器
这是个双向三态8位数据缓冲器,8255A通过它与系统数据总线相连。
输入数据、输出数据、CPU发给8255A的控制字都是通过这个缓冲器传递的。
b.8255的引脚信号
1 与外部设备端相连的引脚
◆PA7-PA0:
A端口的输入/输出引脚。
◆PB7-PB0:
B端口的输入/输出引脚。
◆PC7-PC0:
C端口的输入/输出引脚。
2 与CPU相连的引脚
◆RESET:
复位信号,低电平有效。
当RESET信号来到时,所有内部寄存器都被清0,同时3个端口被自动设为输入端口。
◆D7-D0:
8255A的数据线,和系统数据总线相连。
◆CS:
芯片选择信号。
只有当CS有效时,读出信号RD和写入信号WR才对8255A有效。
◆RD:
读出信号。
CPU通过IN指令使RD有效,将数据或状态信息从8255A中读到CPU。
◆WR:
写入信号。
CPU通过OUT指令使WR有效,将数据或状态信息从CPU中写道8255A.
◆A1,A0:
端口选择信号。
8255A内部有3个数据端口和1个控制端口,共4个端口。
规定A1,A0为00、01、10和11时,分别选中端口A、端口B、端口C和控制端口。
c.8255的控制字
1 方式选择控制字
(1)方式选择控制字把A