基于DVCC8086的输入与输出系统设计.docx
《基于DVCC8086的输入与输出系统设计.docx》由会员分享,可在线阅读,更多相关《基于DVCC8086的输入与输出系统设计.docx(32页珍藏版)》请在冰豆网上搜索。
![基于DVCC8086的输入与输出系统设计.docx](https://file1.bdocx.com/fileroot1/2022-12/30/26e13342-32a8-4680-8911-db38f4295221/26e13342-32a8-4680-8911-db38f42952211.gif)
基于DVCC8086的输入与输出系统设计
前言……………………………………………………………
(1)
1DVCC-8086十六位微型机的硬件组成…………………
(2)
1.1系统的部分硬件组成…………………………………
(2)
1.2总体框图和元件位置图………………………………(4)
1.3通用外围电路及各插头座的定义……………………(5)
2DVCC-8086十六位微型机本身的资源…………………(9)
2.1DVCC-8086系统存储空间分配……………………(9)
2.2DVCC8086系统输入输出接口地址的分配………(10)
3输入输出设备开关量、数码管显示器和小键盘………(10)
3.1逻辑电平开关………………………………………(10)
3.2数码管显示器和小键盘……………………………(11)
4输入输出的接口…………………………………………(14)
4.1接口技术概述………………………………………(14)
4.2可编程接口芯片概述………………………………(18)
4.3并行输入输出接口…………………………………(19)
4.48279A键盘显示器接口……………………………(24)
5输入输出设备的驱动程序……………………………(26)
5.1并行输入输出接口芯片8255A…………………(26)
5.2编程键盘显示接口8279A…………………………(28)
6一个具体输入输出的应用—数码管显示开关量输入…(31)
6.1数码管显示开关量输入的目的和内容……………(31)
6.2数码管显示开关量输入源程序……………………(32)
6.3数码管显示开关量输入数据分析…………………(34)
结束语…………………………………………………………(34)
附录……………………………………………………………(35)
致谢……………………………………………………………(35)
参考文献………………………………………………………(36)
基于DVCC8086的输入与输出系统设计
学生:
王兵
指导教师:
冯康
淮南师范学院信息技术系
摘要:
本文从介绍DVCC8086十六位微型机的硬件组成开始,讨论了十六位微机实验系统的输入输出的相关内容。
描述DVCC8086十六位微型机本身的所有资源,同时也对本设计中使用的输入输出设备开关量、数码管显示器、与输入输出相关的接口芯片及其驱动程序进行了详细的讲解。
最后给出了一个具体的输入输出的应用,以此来了解如何进行一个完整的输入输出系统的设计。
Abstract;ThispapermainlyintroducedtheDVCC808616bitsminiaturecomputers’hardwarecompositions,discussedtherelatingcontentsof16bitsmicrocomputersexperimentssystem’sinputandoutput.DescribedDVCC808616bitsminiaturemachines’sresources,simultaneouslyalsoincludetheinput-outputdeviceswitchquantity,thedigitaltubemonitor,andtherelatinginterfacechipsanditsdriveringprogramcarriedonthedetailedexplanationoftheinputandoutput.Finallyproducedaconcreteinputandoutputapplication.Inthiswaytohelptounderstandhowtodesignacompleteinputandoutputsystem.
关键词:
单板机;监控程序;汇编语言;输入/输出系统;接口;可编程
KeyWords:
singleboardcomputer;monitorprogram;assemblelanguage;Input/outputsystem;Interface;Programmable
前言
输入输出系统在微机系统中占有重要的地位,它是人机交互的唯一渠道,在一个小型的DVCC8086十六位微型单板机系统中,输入输出系统无法采用传统的键盘和CRT显示器,只能采用一些简单的输入输出设备,如开关量和数码管显示器,虽然设备简单,但要使它在DVCC8086十六位微型机系统中正常工作,涉及的技术却非常多,首先,DVCC8086十六位微型机本身的资源是够用的,即CPU、内存、总线这些构成微型机的整体框架的硬件要有。
第二,内存的容量,存储器地址的范围,端口的地址范围,中断资源等必须满足输入输出的基本要求。
第三,相应的输入输出设备的接口必须具有,选择了那些接口,就有相应的功能。
第四,输入输出设备的驱动程序要有,即如何对接口进行符合要求的编程,最后,有一个具体的应用来验证设计的整个输入输出系统能否正常使用。
本文主要介绍DVCC8086十六位微型机的硬件组成,讨论了十六位微机实验系统的输入输出的有关内容。
描述DVCC8086十六位微型机本身的所有资源,同时也对本设计中使用的输入输出设备开关量、数码管显示器、与输入输出相关的接口芯片及其驱动程序进行了详细的讲解。
最后给出了一个具体的输入输出的应用,以此来了解一个完整的输入输出系统的设计。
1DVCC8086十六位微型机的硬件组成
DVCC8086十六位微型机输入输出系统是为了适应微机原理、微机接口技术等课程的实验而设计的。
它为大中专院校学生学习微机原理、微机接口技术提供了理想的实验环境,它可有效地帮助学生深入理解微机原理等课程中的基本概念,理解微机的工作过程接口芯片的工作原理,从而达到学好微机原理和接口技术等课程的目的。
1.1系统的部分硬件组成
(1)系统采用主频为4.77HZ的8088CPU为主CPU,并以最小工作方式构成系统。
(2)采用静态RAM形成监控程序的数据区和用户实验的程序存储区,系统以二片62256静态RAM构成系统的64K基本内存,地址范围为00000H~0FFFFH。
其中00000H~004FFH为系统数据区,00500-00FFFH为用户数据区,01000H~0FFFFH为用户程序区。
用EPROM形成系统监控程序区,主要是一片32KEPROM存放系统程序和实验程序,地址范围为F8000H-FFFFFH。
(3)系统中采用74LS373、74LS245总线驱动器使CPU的AB/DB分时复用,形成AB、DB分离的总线方式
(4)由可编程键盘显示接口8279A对24键的小键盘和8位的七段LED显示进行管理。
自带键盘显示器,采用进口键座、彩色字符键帽,能单机独立运行,为实验程序的调试带来方便。
以上就构成了最基本的微机工作系统。
同时将AB、DB和CB三总线均引出供实验使用,为了减少和防止外接电路对CPU的影响,各信号均加入了驱动、隔离电路。
(5)通用外围电路,包括逻辑电平开关电路、发光二极管显示电路、时钟电路、单脉冲发生电路、继电器及驱动电路、直流电机及驱动电路、步进电机及驱动电路、电子音响及驱动电路、模拟电压产生电路。
(6)提供各种微机常用I/O接口芯片:
包括定时/计数器接口芯片(8253A),并行接口芯片(8255A),A/D转换芯片(0809),D/A转换芯片(0832),中断控制器接口芯片(8259A),键盘显示接口芯片(8279A),串行通信接口芯片(8251A)等。
(7)备有系统总线扩展插座,便于其他硬件接口器件的扩展(如DAM控制器8237A的扩充、串级中断源8259A的扩充、串行口8250A扩充、A/D的扩充等)。
(8)可以配接温度测量、压力测量实验板。
(9)备有通用IC插座,和其他外围电路配合作数字实验仪用。
(10)实验电路连接采用自锁紧插座及导线,消除接触不良现象。
(11)提供标准RS-232异步通信接口,以联接IBMPC及其兼容机。
1.2总体框图和元件位置图
1.2.1DVCC-8086H实验系统总体原理框图(如图1.1)
图1.1系统总体原理框图
1.2.2元件位置图(如图1.2)
图1.2元件位置图
图1.1是DVCC-8086H实验系统总体原理框图,由此可以看出在DVCC8086十六位微机实验系统的中,该系统是以Inte18088CPU为核心部件,并以最小方式工作。
同时由8284芯片给CPU提供时钟和复位信号,通过总线收发器和地址锁存器对系统中的数据信息和地址信息进行缓冲或锁存,由FPGA对静态RAM和32KEPROM进行管理,通过总线插座将信号引出,为各实验提供必要的信号。
而在图1.2的元件位置图中我们可以了解到,此系统由很多基本元件搭建而成,在此系统中放置了开关输入按键,LED指示灯,单脉冲发生器等信号的发生、指示电路,实验用小键盘;同时,也放置了七段LED,数码管,接线板和常用集成电路芯片(如:
8251、8253、8255、8259等),这些芯片安放在实验板上,并将芯片每一引脚均引出,没有和电路发生联系。
这样在做基本实验时,学员只需按原理图接线,无需插拔芯片,可减少了常用芯片的无故消耗。
1.3通用外围电路及各插头的定义
1.3.1通用外围电路
DVCC-8086H实验系统中设计了一系列实验所必需的通用外围电路:
包括逻辑电平开关电路、发光二极管显示电路、时钟电路、单脉冲发生电路、继电器及驱动电路、直流电机及驱动电路、电子音响及驱动电路、模拟电压产生电路;另外,系统中设计了系统总线扩展插座和通用IC插座。
(1)逻辑电平开关电路
该系统提供8个逻辑电平开关,每一个输出端有一个插孔,分别标有K1~K8。
开关向上打时,输出高电平“1”,向下时输出低电平“0”。
具体电路如图1.3。
图1.3逻辑电平开关电路
(2)发光二极管显示电路
VCCC
DVCC8086实验系统提供有十二个发光二极管,其中四红、四绿、四黄。
其输入端有十二个插孔,分别标有L1~L2,它对应1~12上发光二极管。
输入端为高电平“1”时,发光二极管灭;输入端为低电平“0”,发光二极管亮。
具体电路如图1.4。
图1.4发光二极管显示电路
(3)时钟电路
时钟电路可以输出1MHZ、2MHZ两种时钟信号,供0809A/D转换器、8253A定时器/计数器、8250串行接口实验使用,如图1.5。
图1.5时钟电路
(4)单脉冲发生电路
采用RS触发器产生±单脉冲。
实验者每按一次AN按钮,即可以从两个插座上分别输出一个正脉冲/SP,供"中断"、"DMA"、定时器/计数器等实验使用,如图1.6。
图1.6单脉冲发生电路
(5)继电器及驱动电路
现代自动化控制设备中都存在一个电子与电气电路的互相联结问题。
一方面要使电子电路的控制电气电路的执行元件(电动机、电磁铁、电灯泡);另一方面又要为电子电路的电气设备提供良好的电隔离,以保护电子电路和人身的安全。
电子继电器便能完成这一桥梁作用,如图1.7。
图1.7继电器的驱动电路
实验系统上设有一个+5V直流继电器及相应的驱动电路,当其开关量输入数字电平“0”时,继电器动作,常开触点闭合、常闭触点断开。
通过相应的实验可以使学生了解开关量控制的一般原理。
(6)直流电机及驱动电路
系统中设计有一个+5V直流电机及相应的驱动电路。
小直流电机的转速是由加到其输入端“DJ”的脉冲电平及占空比来决定的,正向占空比越大转速越快,反之越慢。
如图1.8所示。
图1.8直流电机的驱动电路
(7)步进电机及驱动电路
步进电机是工业控制仪表中常用的控制元件之一,它有输入脉冲与电机轴转角成比例的特征,在智能机器人、软盘驱动器、数控机床中广泛使用,微电脑控制步进电机最适宜。
系统中设计使用20BY—0型号步进电机,它使用+5V直流电源,步距角为18度,电机线圈由四相组成。
(8)模拟信号电平产生电路、总路线扩展插座和通用IC插座
系统中提供2路0~5V模拟电压信号,供A/D转换实验时用,它采用32芯圆孔插座,引出数据总线D0~7、地址总线A0~19、存储器读书信号MEMR、MEMW、I/O读书信号IOW、IOR、复位RST、时钟CLK、电源Vcc、地GND,供学生自行搭试各种实验电路用。
系统扩有IC—14、IC—16、IC—40通用插座,IC—40可采用自锁紧插座,这样既可以插宽IC—40、IC—28、IC—24,亦可以插窄IC—24、IC—18、IC—20等。
非常灵活方便。
1.3.2各插头座的定义
(1)Z1、Z2
Z1为电源,其定义见图1.9,电源内置时,该插座装在反面
Z2为通信插座,其定义见图1.10。
TXD
GND
地
RXD
+5V
图1.9电源图1.10通信插座
(2)Z3、Z4、Z5、Z6、Z7
Z3为8253定时/计数器通道0有关信号线引出插座,作为用户扩展实验用,Z4为8255并行I/O接口芯片PA口引出插座,作为扩展实验用。
Z5为系统总线信号引出插座,为扩充接口实验而设置。
如扩充DMA8237A实验、串行通信8250A实验、8259A串级中断实验等。
Z6是专为做级联中断而引出的信号插座。
用于连级级联中断实验板(如图1.11)。
Z7是ADC0809通道IN2通道IN7的模拟量输入端和单级中断控制芯片8259A中断源输入信号。
图1.11Z6信号插座图1.12步进电机插座
(3)J1、J2、DM
J1为步进电机插座(如图1.12),J2为电子音响插座,DM为直流电机插座。
2DVCC8086十六位微型机本身的资源
2.1DVCC-8086系统存储空间分配
对于8088CPU系统来说,8088有1兆存储空间,系统提供给用户使用的空间为00000H~0FFFFH,用于存放调试实验程序,具体分配如表2.1:
表2.1系统存储空间分配
单板态
存储器
中断矢量区
00000H~000FFH
系统数据区/系统堆栈区
00100H~004FFH
用户数据区
00500H~00FFFH
用户程序区/用户堆栈区
01000H~0FFFFH
中断矢量区00000H~00013H作为单步(T)、断点INT3、无条件暂停(NMI)中断矢量区,用户也可以更改这些矢量,指向用户的处理,但失去了相应的单步、断点、暂停等系统功能。
其中中断矢量区、系统数据和堆栈区可统称为系统区。
2.2DVCC-8086系统输入输出接口地址的分配(如表2.2)
表2.2系统输入输出接口地址的分配表
电路名称
口地址
提供给用户的扩展口
000H~01FH
060H~070H
080H~08FH
8253A定时/计数器接口
通道0计数器048H
通道1计数器049H
通道2计数器04AH
通道3计数器04BH
8259A中断控制器接口
命令寄存器020H
状态寄存器021H
8279A键盘显示口
数据口0DEH
命令状态口0DFH
8251A串行接口
数据口050H
命令口051H
3输入输出设备开关量、数码管显示器和小键盘
DVCC-8086实验系统采用一些简单的输入输出设备,如开关量和数码管显示器,虽然设备简单,但要使它在DVCC8086十六位微型机系统中正常工作,涉及的技术却非常多。
同时在部分用户上位机配置不足的情况下,可以采用单机独立运行,无须任何外部设备,利用实验系统上的小键盘、数码管、管理监控和微控制器,自成系统。
通过一系列的键盘命令来完成实验程序的输入、编辑、调试运行等功能。
3.1逻辑电平开关
在外围电路中,我们已经了解了逻辑电平开关电路,熟悉了它的原理图。
其实在DVCC8086实验系统中逻辑电平开关可以进行简单的高电平和低电平信号的输入。
如在8255A可编程并行口的实验中,它作为一种简单的输入设备,来控制发光二极管的亮和灭。
3.2数码管显示器和小键盘
3.2.1数码管显示器
在DVCC-8086实验系统中,数码管显示器是一种最基本的输出设备。
它可以将输入的地址,程序执行的结果等数据显示出来,让用户能够和DVCC8086实验系统进行交互,从而达到微型机系统的功能。
八位LED显示器的显示内容及位置为XXXX.XXXX,前四个是地址段,后面四个是数据段。
用户可以通过键盘和显示完成下列的操作:
a、读/写寄存器内容
b、读/写存储器单元内容
c、通过单步,断点功能来调试运行实验程序
d、往I/O口读写数据
3.2.2小键盘
(1)键盘监控
在DVCC8086实验仪上各种实验,可以通过键盘监控程序来完成。
一经接通电源,按下系统复位键(RESET)后,DVCC8086实验仪中数码管显示“DVCC8086H”,此时只须按DVCC8086实验仪中小键盘的任意键(除Reset和Intr外),即可进入键盘监控,键盘显示器上显示键盘监控提示符“—”。
(2)小键盘的排列
在DVCC-8086实验系统中,我们了解到数码管显示器是一种最基本的输出设备,而在数码管显示器的下面就是DVCC8086实验系统的小键盘,对于一些用户的上位机配置不理想的情况下,小键盘就能为用户提供很大方便,它是此系统中一种重要的输入设备。
键盘的排列如图3.1。
ES
C
IP
EC
D
FL
EP
E
EV
F
Exec
Reset
IW
8
CS
OW
9
DS
A
SS
B
ES
Step
Intr
IB
4
SP
OB
5
BP
MV
6
SI
EW
7
DI
:
Last
Move
EB
0
AX
ER
1
BX
GO
2
CX
ST
3
DX
Mem
Next
MON
图3.1键盘的排列
(3)键盘功能说明
在键盘监控状态下,用户可以通过键盘上的键,输入各种命令和数据。
键盘上有24个键,右边为8个功能键,左边为16进制数字键。
16个十六进制数字键均是复合功能键,其功能符号印在键盘上,左上角英文字母是命令字的缩写,右下角的英文字母是寄存器的缩写。
其中EB为字节读写,ER为寄存器读写,GO为连续执行程序,ST为单步执行程序,IB为I/O口输入字节,OB为I/O口输出字节,MV为程序块移动,EW为字读写,IW为I/O口输入字,OW为I/O口输出字,ES为EPROM查空,EC为EPROM读出,EP为EPROM编程,EV为EPROM校验,SP为SP栈指针,AX、BX、CX、DX、BP、SI、DI、CS、DS、SS、ES、IP、FL寄存器。
键盘上的功能键操作有,Reset系统复位键,允许用户终止任何当前的活动,返回监控等待,用户输入命令。
Intr无条件暂停键,中断当前的活动,并保护所有寄存器的内容返回监控,等待用户输入命;Exec开始连续执行用户程序,当按下此键时,当前的命令被执行;Step是开始单步运行用户程序,当按下此键时,刚才输入的单步命令ST被执行,每按一次,执行一条命令;Move是程序块移动;Last地址减量,在存储器字读写下,按此键地址值减2,并显示该地址的内容,字节下减1;Next地址增量,在存储器字读写下,按此键地址值加2,并显示该地址的内容,字节下加1;:
是分隔符,在任何命令中,当需要输入地址时,此键作为段地址和偏移地址的分隔符,输入段地址后按此键,输入偏移地址;Mem是存储器读写,此键作为存储器、寄存器、I/O口读写命令执行键;MON返回监控,除连续执行状态外,按下此键,返回监控。
(4)操作过程
进入键盘监控,寄存器初始化值为:
SP=0300H,CS=0000H,DS=0000H,SS=0000H,ES=0000H,IP=0000H,FL=0000H,键盘监控状态,段地址缺省值为0000H。
监控程序命令及操作
a、EB显示修改存储器字节单元,EBXXXX:
XXXXMem,按“Next”键使地址加1再显示,按“Last”键使地址减1再显示;
b、EW显示修改存储器单元,EWXXXX:
XXXXMem,对指定地址按字显示存储器单元内容。
其它和EB类似。
c、ER显示修改寄存内容ERXXMem对指定寄存器内容进行显示。
当按下Mem键后,在数据段上显示指定寄存器AX中的内容。
d、IB、IW以字节或字从I/O端口读入数据IB(orIW)XXXXMem,从指定的I/O端口地址,读入一个8位的字节或16位的字,并显示在数据段上,再按Mem键,再次从该I/O口地址读入数据,并显示在数据段上,由于I/O端口地址最大寻址范围为64K,因而对于端口地址不允许用段值。
e、OB、IW以字节或字对I/O端口写数据OB(orOW)XXXXMemXXMem从指定的I/O端口地址,写入一个8位的字节或者16位的字,写完后将数据段显示清掉,等待下一个数据字节或数据字的输入,若按MON键,则返回监控。
f、MV存储器中的数据块移动MVXXXX:
XXXXNextXXXXNextXXXX:
XXXXMove在存储器中成组移动数据。
g、GO连续或断点运行实验程序:
GOXXXX:
XXXXNextXXXXExec(断点运行时)GOXXXX:
XXXXExec(连续运行时)按下GO命令键时,在地址段上就显示出当前IP的内容,在数据段上显示IP指示的存储单元内容,此时可以输入一个起动地址。
如果要求输入起动地址的话,从键盘上输入此地址。
为使程序开始执行,要按下Exec键,当按下该键时,程序便开始运行,在显示器上显示“E”。
h、ST单步运行命令STXXXX:
XXXXStep是单步运行用户程序,按ST命令键后,地址段将显示当前的IP的内容,关在数据段上显示IP所指向的存储单元的内容,若显示的地址和所选取的起始地址不同,那么就键入的起始地址,再按Step键,开始单步运行用户程序,执行完一条指令,将下一条要执行的指令的偏移地址显示在地址段上,这个地址中的指令字节显示在数据段上。
再按Step键继续步进到下一条指令。
如果要修改起始地址可以键入新的地址,再按Step键就从新的起始地址开始单步运行。
按MON键退出单步命令,返回监控。
4输入输出的接口
4.1接口技术概述
接口技术主要是研究微处理器如何与外设之间进行最佳的耦合和匹配,以实现高效、可靠的信息交换的一门技术。
接口电路作为信息交换的中转站,有三种类型端口:
数据口、状态口与控制口,分别存放数据信息、状态信息和控制信息。
CPU通过访问这些端口,了解外设的状态,控制外设的工作,同外设进行数据传输。
所谓接口就是微处理器CPU与外设的连接电路,是CPU与外界进行信息交换的中转站。
如源程序或数据需要通过接口电路从输入设备送入系统,运算结果需要通过接口电路向输出设备送出去;控制命令通过接口电路发出去,现场状态通过接口电路取进来,这些来往信息都要通过接口电路进行变换与传递。
(1)接口的功能
由于接口存在于CPU与外设(或总线与外设)之间,其一般功能包括如下:
a.数据缓冲功能,为了解决CPU高速与外设低速的矛盾,避免速度不一致而丢失数据,接口中一般都设置数据寄存