毕业论文基于DVCC8086的输入与输出系统设计.doc_第1页
毕业论文基于DVCC8086的输入与输出系统设计.doc_第2页
毕业论文基于DVCC8086的输入与输出系统设计.doc_第3页
毕业论文基于DVCC8086的输入与输出系统设计.doc_第4页
毕业论文基于DVCC8086的输入与输出系统设计.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目目 录录 前 言(1) 1 dvcc-8086 十六位微型机的硬件组成 (2) 1.1 系统的部分硬件组成 (2) 1.2 总体框图和元件位置图(4) 1.3 通用外围电路及各插头座的定义(5) 2 dvcc-8086 十六位微型机本身的资源(9) 2.1 dvcc-8086 系统存储空间分配 (9) 2.2 dvcc8086 系统输入输出接口地址的分配 (10) 3 输入输出设备开关量、数码管显示器和小键盘 (10) 3.1 逻辑电平开关 (10) 3.2 数码管显示器和小键盘(11) 4 输入输出的接口(14) 4.1 接口技术概述(14) 4.2 可编程接口芯片概述(18) 4.3 并行输入输出接口(19) 4.4 8279a键盘显示器接口 (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 十六位微型机本身的所有资源,同时也 对本设计中使用的输入输出设备开关量、数码管显示器、与输入输出相关的接口芯片及其驱 动程序进行了详细的讲解。最后给出了一个具体的输入输出的应用,以此来了解如何进行一 个完整的输入输出系统的设计。 abstractabstract;this paper mainly introduced the dvcc8086 16 bits miniature computers hardware compositions, discussed the relating contents of 16 bits microcomputers experiments systems input and output. described dvcc8086 16 bits miniature machiness resources, simultaneously also include the input-output device switch quantity, the digital tube monitor, and the relating interface chips and its drivering program carried on the detailed explanation of the input and output. finally produced a concrete input and output application. in this way to help to understand how to design a complete input and output system. 关关 键键 词词 :单板机; 监控程序; 汇编语言;输入/输出系统;接口;可编程 key words:single board computer; monitor program ;assemble language ;input/output system ;interface;programmable 前前 言言 输入输出系统在微机系统中占有重要的地位,它是人机交互的唯 一渠道,在一个小型的 dvcc8086 十六位微型单板机系统中,输入 输出系统无法采用传统的键盘和 crt 显示器,只能采用一些简单的 输入输出设备,如开关量和数码管显示器,虽然设备简单,但要使 它在 dvcc8086 十六位微型机系统中正常工作,涉及的技术却非常 多,首先,dvcc8086 十六位微型机本身的资源是够用的,即 cpu、内存、总线这些构成微型机的整体框架的硬件要有。第二, 内存的容量,存储器地址的范围,端口的地址范围,中断资源等必 须满足输入输出的基本要求。第三,相应的输入输出设备的接口必 须具有,选择了那些接口,就有相应的功能。第四,输入输出设备 的驱动程序要有,即如何对接口进行符合要求的编程,最后,有一 个具体的应用来验证设计的整个输入输出系统能否正常使用。本文 主要介绍 dvcc8086 十六位微型机的硬件组成,讨论了十六位微机 实验系统的输入输出的有关内容。描述 dvcc8086 十六位微型机本 身的所有资源,同时也对本设计中使用的输入输出设备开关量、数 码管显示器、与输入输出相关的接口芯片及其驱动程序进行了详细 的讲解。最后给出了一个具体的输入输出的应用,以此来了解一个 完整的输入输出系统的设计。 1 dvcc8086 十六位微型机的硬件组成十六位微型机的硬件组成 dvcc8086 十六位微型机输入输出系统是为了适应微机原理、 微机接口技术等课程的实验而设计的。它为大中专院校学生学习微 机原理、微机接口技术提供了理想的实验环境,它可有效地帮助学 生深入理解微机原理等课程中的基本概念,理解微机的工作过程接 口芯片的工作原理,从而达到学好微机原理和接口技术等课程的目 的。 1.1 系统的部分硬件组成 (1)系统采用主频为 4.77hz 的 8088cpu 为主 cpu,并以最小工 作方式构成系统。 (2)采用静态ram形成监控程序的数据区和用户实验的程序存储 区,系统以二片62256静态ram构成系统的64k基本内存,地址范围 为00000h0ffffh。其中00000h004ffh为系统数据区,00500- 00fffh为用户数据区,01000h0ffffh为用户程序区。用eprom 形成系统监控程序区,主要是一片32keprom存放系统程序和实验程 序,地址范围为f8000h-fffffh。 (3) 系统中采用74ls373、74ls245总线驱动器使cpu的abdb 分时复用,形成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.1 dvcc-8086h实验系统总体原理框图(如图1.1) 图图1.11.1 系统总体原理框图系统总体原理框图 1.2.2 元件位置图(如图1.2) 总线插座 8088cpu 74ls273 晶 振 复位 8 2 8 4 d0d7 clk rst r /rd /w i0 /m 74ls245 fpga bd ba memr memw iow ior cs rst clr eprom memr 图图1.21.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个逻辑电平开关,每一个输出端有一个插孔,分别标 有k1k8。开关向上打时,输出高电平“1” ,向下时输出低电平 “0” 。具体电路如图1.3。 图图1.31.3 逻辑电平开关电路逻辑电平开关电路 (2)发光二极管显示电路 dvcc8086实验系统提供有十二个发光二极管,其中四红、四 绿、四黄。其输入端有十二个插孔,分别标有l1l2,它对应112 上发光二极管。输入端为高电平“1”时,发光二极管灭;输入端为 低电平“0” ,发光二极管亮。具体电路如图1.4。 图图1.41.4 发光二极管显示电路发光二极管显示电路 (3)时钟电路 时钟电路可以输出1mhz、2mhz两种时钟信号,供0809a/d转 换器、8253a定时器/计数器、8250串行接口实验使用,如图1.5。 图图1.51.5 时钟电路时钟电路 vcc k1k2k3k4k5k6k7k8 8*2k vcc c l1l2l3l5l4l6l7l8l9l11l12l10 4.0mhz 1mhz vcc clk clk vcc2mhz (4)单脉冲发生电路 采用rs触发器产生单脉冲。实验者每按一次an按钮,即可以 从两个插座上分别输出一个正脉冲/sp,供“中断“、“dma“、定时器/ 计数器等实验使用,如图1.6。 图图1.61.6 单脉冲发生电路单脉冲发生电路 (5)继电器及驱动电路 现代自动化控制设备中都存在一个电子与电气电路的互相联结 问题。一方面要使电子电路的控制电气电路的执行元件(电动机、 电磁铁、电灯泡) ;另一方面又要为电子电路的电气设备提供良好的 电隔离,以保护电子电路和人身的安全。电子继电器便能完成这一 桥梁作用,如图1.7。 图图1.71.7 继电器的驱动电路继电器的驱动电路 实验系统上设有一个+5v直流继电器及相应的驱动电路,当其 开关量输入数字电平“0”时,继电器动作,常开触点闭合、常闭触 点断开。通过相应的实验可以使学生了解开关量控制的一般原理。 (6)直流电机及驱动电路 系统中设计有一个+5v直流电机及相应的驱动电路。小直流电 vcc vcc vcc gnd /sp sp 机的转速是由加到其输入端“dj”的脉冲电平及占空比来决定的, 正向占空比越大转速越快,反之越慢。 如图1.8所示。 图图1.81.8 直流电机的驱动电路直流电机的驱动电路 (7)步进电机及驱动电路 步进电机是工业控制仪表中常用的控制元件之一,它有输入脉 冲与电机轴转角成比例的特征,在智能机器人、软盘驱动器、数控 机床中广泛使用,微电脑控制步进电机最适宜。系统中设计使用 20by0型号步进电机,它使用+5v直流电源,步距角为18度,电机 线圈由四相组成。 (8)模拟信号电平产生电路、总路线扩展插座和通用ic插座 系统中提供2路05v模拟电压信号,供a/d转换实验时用,它采 用32芯圆孔插座,引出数据总线d07、地址总线a019、存储器读书 信号memr、memw、i/o读书信号iow、ior、复位rst、时钟 clk、电源vcc、地gnd,供学生自行搭试各种实验电路用。系统 扩有ic14、ic16、ic40通用插座,ic40可采用自锁紧插座, 这样既可以插宽ic40、ic28、ic24,亦可以插窄ic 24、ic18、ic20等。非常灵活方便。 1.3.2各插头座的定义 (1) z1、z2 z1为电源,其定义见图1.9,电源内置时,该插座装在反面 z2为通信插座,其定义见图1.10。 txd gnd 地 300 res2 300 res2 dout +5v -5v j4 gnd dj 图图1.91.9 电源电源 图图1.101.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.111.11 z6z6信号插座信号插座 图图1.121.12 步进电机插座步进电机插座 (3)j1、j2、dm j1为步进电机插座(如图1.12) ,j2为电子音响插座,dm为直流 电机插座。 2 dvcc8086十六位微型机本身的资源十六位微型机本身的资源 2.1 dvcc-8086系统存储空间分配 对于 8088cpu 系统来说,8088 有 1 兆存储空间,系统提供给 用户使用的空间为 00000h0ffffh,用于存放调试实验程序,具体 分配如表 2.1: 表表 2.1 系统存储空间分配系统存储空间分配 单板态存储器 中断矢量区00000h000ffh rxd +5v vcc inta cas0 cas1 cas2 a b c d vcc 系统数据区/系统堆栈区00100h004ffh 用户数据区00500h00fffh 用户程序区/用户堆栈区01000h0ffffh 中断矢量区 00000h00013h 作为单步(t) 、断点 int3、无条 件暂停(nmi)中断矢量区,用户也可以更改这些矢量,指向用户 的处理,但失去了相应的单步、断点、暂停等系统功能。其中中断 矢量区、系统数据和堆栈区可统称为系统区。 2.2 dvcc-8086 系统输入输出接口地址的分配(如表 2.2) 表表 2.2 系统输入输出接口地址的分配表系统输入输出接口地址的分配表 3 输入输出设备开关量、数码管显示器和小键盘输入输出设备开关量、数码管显示器和小键盘 dvcc-8086实验系统采用一些简单的输入输出设备,如开关量 和数码管显示器,虽然设备简单,但要使它在dvcc8086十六位微 型机系统中正常工作,涉及的技术却非常多。同时在部分用户上位 机配置不足的情况下,可以采用单机独立运行,无须任何外部设备, 利用实验系统上的小键盘、数码管、管理监控和微控制器,自成系 统。通过一系列的键盘命令来完成实验程序的输入、编辑、调试运 电路名称口地址 提供给用户的扩展口 000h01fh 060h070h 080h08fh 8253a 定时/计数器接口 通道 0 计数器 048h 通道 1 计数器 049h 通道 2 计数器 04ah 通道 3 计数器 04bh 8259a 中断控制器接口 命令寄存器 020h 状态寄存器 021h 8279a 键盘显示口 数据口 0deh 命令状态口 0dfh 8251a 串行接口 数据口 050h 命令口 051h 行等功能。 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。 图图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寄存 es c ip ec d fl ep e ev fexec reset iw 8 cs ow 9 ds a ss b es stepintr ib 4 sp ob 5 bp mv 6 si ew 7 di : lastmove eb 0 ax er 1 bx go 2 cx st 3 dx mem next mon 器。 键盘上的功能键操作有,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显示修改存储器字节单元,eb xxxx:xxxx mem,按 “next”键使地址加1再显示,按“last”键使地址减1再显示; b、ew显示修改存储器单元,ew xxxx:xxxxmem,对指定地址按 字显示存储器单元内容。其它和eb类似。 c、er显示修改寄存内容 er xx mem 对指定寄存器内容进行显示。 当按下mem键后,在数据段上显示指定寄存器ax中的内容。 d、ib、iw以字节或字从i/o端口读入数据 ib(or iw) xxxx mem,从 指定的i/o端口地址,读入一个8位的字节或16位的字,并显示在 数据段上,再按mem键,再次从该i/o口地址读入数据,并显示在 数据段上,由于i/o端口地址最大寻址范围为64k,因而对于端口 地址不允许用段值。 e、ob、iw以字节或字对i/o端口写数据ob(or ow) xxxx mem xx mem从指定的i/o端口地址,写入一个8位的字节或者16位的字, 写完后将数据段显示清掉,等待下一个数据字节或数据字的输入, 若按mon键,则返回监控。 f、mv存储器中的数据块移动mv xxxx:xxxx next xxxx next xxxx:xxxx move 在存储器中成组移动数据。 g、go连续或断点运行实验程序:go xxxx:xxxx next xxxx exec(断点运行时)go xxxx:xxxx exec(连续运行时)按下go命 令键时,在地址段上就显示出当前ip的内容,在数据段上显示ip 指示的存储单元内容,此时可以输入一个起动地址。如果要求输 入起动地址的话,从键盘上输入此地址。为使程序开始执行,要 按下exec键,当按下该键时,程序便开始运行,在显示器上显示 “e” 。 h、st单步运行命令 st xxxx:xxxx step 是单步运行用户程序, 按st命令键后,地址段将显示当前的ip的内容,关在数据段上显 示ip所指向的存储单元的内容,若显示的地址和所选取的起始地 址不同,那么就键入的起始地址,再按step键,开始单步运行用 户程序,执行完一条指令,将下一条要执行的指令的偏移地址显 示在地址段上,这个地址中的指令字节显示在数据段上。再按 step键继续步进到下一条指令。如果要修改起始地址可以键入新 的地址,再按step键就从新的起始地址开始单步运行。按mon键 退出单步命令,返回监控。 4 输入输出的接口输入输出的接口 4.1 接口技术概述 接口技术主要是研究微处理器如何与外设之间进行最佳的耦合 和匹配,以实现高效、可靠的信息交换的一门技术。接口电路作为 信息交换的中转站,有三种类型端口:数据口、状态口与控制口, 分别存放数据信息、状态信息和控制信息。cpu 通过访问这些端口, 了解外设的状态,控制外设的工作,同外设进行数据传输。 所谓接口就是微处理器 cpu 与外设的连接电路,是 cpu 与外 界进行信息交换的中转站。如源程序或数据需要通过接口电路从输 入设备送入系统,运算结果需要通过接口电路向输出设备送出去; 控制命令通过接口电路发出去,现场状态通过接口电路取进来,这 些来往信息都要通过接口电路进行变换与传递。 (1)接口的功能 由于接口存在于 cpu 与外设(或总线与外设)之间,其一般功 能包括如下: a.数据缓冲功能,为了解决cpu高速与外设低速的矛盾,避免速度不 一致而丢失数据,接口中一般都设置数据寄存器或锁存器,称数据 口。为了实现cpu与外设之间的联络,接口电路还要提供寄存器 “空” 、 “满” 、 “准备好” 、 “忙” 、 “闲”等状态信号,以便向cpu报 告接口或外设的工作情况,称为状态口。 b.接收和执行cpu命令的功能 ,cpu对i/o设备的控制命令,一般以 代码的形式送到接口的命令寄存器,称为命令口;再由接口电路对 命令代码进行误码和分析,产生若干控制信号,传到i/o设备,使其 产生相应的操作。 c.信号转换功能,由于外设所需的控制信号和它所能提供的状态信 号往往与系统的总路线信号不匹配,信号变换就不可避免。它是接 口设计中的一个重要内容。cpu能够直接处理的是并行数据,而有 的外设只能处理串行数据。在这种情况下,接口就应具有数据“并/ 串”和“串/并”变换能力,还有信号类型的变换,如a/d和d/a转 换。 d.设备选择功能,应用系统中一般带有多种外设。一台外设也可能 包含多个 i/o 端口,这就需要借助接口中的地址设码电路对外设进 行 i/o 端口寻址。只有被选中的设备才能与 cpu 进行数据交换或通 信。 e.中断管理功能,当外设需要及时得到 cpu 的服务,特别是在出现 故障时,这就要在接口中设置中断控制器,为 cpu 处理有关中断事 务。这样,既做到系统对外界的实时响应,又使 cpu 与外设并行工 作,提高 cpu 的效率。 f.可编程功能,现在的口芯片基本上都是可编程的,这样在不改动硬 件的情况下,只修改相应的驱动程序就可以改变接口的工作方式, 大大地增加了接口的灵活性和可扩充性。 (2)接口交换信号 一个简单的、基本的外设接口如图 4.1 所示: 图图4.14.1 外设接口简单框图外设接口简单框图 外设接口是cpu与外设之间传送信息的一个“界面”。外设接口 一边通过cpu的三总线与cpu连接,一边通过数据信息、控制信息 db ab cb cpu i/o 接口 外设 数据口 状态口 控制口 数据信息 状态信息 状态信息 和状态信息三种信息与外设连接,cpu通过外设接口与外设交换的 信息就是这三种信息。其中,数据信息可以有数字量、模拟量和开 关量三种类型。控制信息是由cpu发出的、用于控制外设接口工作 方式以及外设的启动和停止的信息。状态信息是表示外设当前所处 的工作状态。控制信息、状态信息和数据信息通常都以数据形式通 过cpu的数据总线与cpu进行传送的,这些信息分别存放在外设接 口的不同类型寄存器中。cpu与外设之间的信息传送,实质上是对 这些寄存器进行读或写操作。接口中这些可由cpu进行读或写的寄 存器被称为端口。按存放信息的类型,这些端口分为数据口、状态 口与控制口,分别存放数据信息、状态信息、和控制信息。在一个 外设接口中往往需要几个端口才能满足和协调外设工作的要求。 cpu通过访问这些端口了解外设的状态,控制外设的工作,与外设 之间进行数据传输。 (3)cpu 与接口之间传送信息的方式及端口地址相关内容 应用系统与外部设备之间的信息传输实际上是cpu与接口之间 的信息传送,在接口电路设计时,根据应用系统的要求,在cpu与 外设之间的信息传送采用适当的信息传送控制方式是至关重要的。 cpu与外设之间信息传送控制方式一般有四种,即程序控制方式、 中断方式、dma方式和处理机方式。程序控制方式是由cpu执行预 先编写的输入/输出程序实现数据传送的,其中无条件传送方式实际 上是一种无需控制的i/o操作方式,只有在外部控制过程的各种动作 时间是固定的、已知的条件下才能使用。查询方式总是先查后送, 所以这种控制方式的接口电路,除数据口外,还必须有状态口。中 断方式中,输入输出程序出现在中断服务程序中,cpu响应中断, 才进入中断服务程序,完成输入/输出操作。 在实际应用中,通常把i/o接口电路中能被cpu直接访问的寄存 器或某些特定的器件称为端口。i/o端口地址是cpu与i/o设备直接通 信的地址。cpu可以通过这些端口发送命令、读取状态和传送数据。 因而,一个接口通常含有几个端口,比如命令口、状态口、数据口 等。有的接口包括的端口少,而有的接口的端口多。对端口的操作 也有所不同,有的端口只能写或只能读,有的端口既可以读也可以 写。一般,一个端口只能写入或读出一种信息,也可能几种信息共 用一个端口。i/o端口编址方式有两种,一种是统一编址,一种是独 立编址。前者是从存储空间中划出一部分地址空间分配给i/o设备, 把i/o接口中的端口作为存储器单元一样访问,不设置专门的i/o指令。 而后者是处理器有专门的i/o指令。内存地址空间和i/o端口地址是相 互独立的。当这种编址中时,i/o操作中必须通过cpu的寄存器进行 中转才能完成。如在8088cpu中,采用的i/o端口独立编址时,对端 口的操作指令是in和out。这样在系统设计中,就要进行必须的i/o 端口地址的分配,dvcc8086h输入输出接口地址的分配在上面已 经介绍过,在这里就不在重复了! 4.2 可编程接口芯片概述 cpu要同外设交换信息,必须通过接口电路,在接口电路中多数 具有如下电路单元:a a.输入/输出数据锁存器和缓冲器,用以解决 cpu与外设之间速度不匹配的矛盾,以及起隔离和缓冲作用;b.b.控 制命令和状态寄存器,以存放cpu对外设的控制命令以及外设的状 态信息;c.c.地址译码器,用来选择接口电路中的不同端口;d.d.读/写 控制逻辑;e e.中断控制逻辑。 (1)可编程接口芯片及其特点 所谓可编程实际上就是具有可选择性,可编程接口是指接口的 工作方式和功能可以用编程的方法加以改变。例如,选择芯片中的 哪一个或哪几个数据端口与外设连接,选择端口中哪一位或哪几位 做输入,哪一位或哪几位做输出,选择端口与 cpu 之间采用哪种方 式传送数据等,均可由用户在程序中写入方式字或控制字来进行指 定,因此,它们具有广泛的适应性和很高的灵活性。这种可用软件 的方法改变接口的工作方式及功能的接口芯片称为可编程接口芯片。 (2)可编程接口芯片几个重要概念 片选:只有通过一个地址信号选中接口芯片,才能使该接口芯片 进入电路工作状态,实现数据的输入/输出,如图 4.2。 读/写:芯片已经被选中,对读操作而言使输入口信息由数据总 线进入 cpu,数据何时读入 cpu、由/rd 控制,如图 4.3,写操作 与此类似。 图图4.24.2 片选片选 图图4.34.3 读操作读操作 其实在接口中还有“联络”这一重要概念,它是cpu通过外设接 口芯片同外设交换信息时,接口芯片常常需要和外设间有一定的 “联络”信号,以保证信息的正常的传送。如图4.4: 图图 4.44.4 联络联络 4.3并行输入/输出接口 4.3.1并行输入/输出接口概述 /stb 接口外设 数据线 rdy 译 码 器 a7a0 接口 芯片 /ce 输入 口 db m/io /rd /ce (1)并行接口的基本概念 并行接口这是在多条数据线上,以数据字节或字为单位与 i/o 设备或被控制对象传送信息,如计算机与打印机,与 a/d,d/a 转 换器,开关量接口等。并行接口的所谓“并行”不是指接口与系统 总路线侧的并行数据线,而是指接口与 i/o 设备或被控制对象侧并 行数据线。 若并行接口工作方式和接口功能可通过软件编程来改变,就是 可编程并行接口。可编程接口具有充分的选择性。用户可以通过程 序设置哪些端口作为输入,哪些端口作为输出,以哪种工作方式传 送数据等。因此,可编程并行接口具有广泛的适应性和很高的灵活 性。 常用的可编程并行接口芯片一般具有以下三个功能: a、两个或两个以上具有锁存器或缓冲器的数据端口。 b、端口具有与 cpu,与外设交换信息所必须的控制和状态信号。 c、可通过程序选择端口、选择数据传送方向、选择数据传送方式。 并行接口连接外设,用一个通道和输入设备相连,用另一个通 道和输出设备相连,每一个通道中除数据线外均配有一定的控制线 和状态线。并行接口中有一个控制寄存器用来接收 cpu 对它的控制 命令;有一个状态寄存器提供外设状态,以便 cpu 查询。为了实现 输入和输出,并行接口中还有相应的输入缓冲寄存器和输出缓冲寄 存器,用于解决 cpu 与外设之间速度不匹配的矛盾,以及起隔离和 缓冲的作用。 (2)并行接口的输入过程 a、外设首先将数据送给接口,且使用状态线“数据输入设备好” 成为高电平;b、接口把数据接收到的数据输入缓冲寄存器的同时, 把“数据输入回答”线变为高电平,作为对外设的响应;c、外设接 到此信号,便撤除数据和“数据输入准备好”信号;d、数据到达接 口后,接状态寄存器中设置“输入准备好”状态位,以便 cpu 对其 进行查询,或者向 cpu 发一个中断请求。e、cpu 从接口中读取数 据后,接口自动清除状态寄存器中的“输入准备好”状态位,并使 数据总线处于高阻状态。 (3)并行接口的输出过程 a、外设取走了一个数据后,接口会将状态寄存器中的“输出 准备好”状态位置“1” ,以供 cpu 进行查询,或者向 cpu 发一个 中断请求。b、cpu 输出的数据到达接口的输出缓冲器后,接口自 动清除“输出准备好”状态位,且将数据送往外设,同时接口往外 设发一个“数据输出准备好”选通信号,启动外设接收数据。c、外 设被启动后,开始接收数据,且往接口发一个“数据输出回答”信 号。d、接口收到此信号后,将状态寄存器中的“输出准备好”状态 位置“1” ,以便 cpu 输出下一个数据。 cpu、并行接口和输入输出设备之间的关系,如图 4.5 所示。 数据输出准备好 数据输出回答 数据输入准备好 数据输入回答 读入信号 写入信号 复位 准备好 中断请求 cpu cs a0 a1 控制寄存器 输入缓冲寄存器 输出缓冲寄存器 状态寄存器 输 入 设 备 输 出 设 备 数据总路线 地址 译码 并行接口 数据输出准备好 数据输出回答 数据输入准备好 数据输入回答 读入信号 写入信号 复位 准备好 中断请求 cpu cs a0 并行接口 a1 控制寄存器 输入缓冲寄存器 输出缓冲寄存器 状态寄存器 输 入 设 备 输 出 设 备 地址 译码 数据总线 图图 4.54.5 并行接口连接外设示意图并行接口连接外设示意图 4.3.2 并行输入/输出接口芯片 8255a (1)8255a 主要特性 a.8255a 具有 3 个 8 位数据口(即 a 口,b 口,c 口,其中 c 中还可作为两个 4 位口来使用)的并行输入/输出接口芯片。 b.具有三种工作方式,即方式 0,方式 1 和方式 2。可适应 cpu 与外设间的多种数据传送方式,如查询方式和中断方式 等,以满足用户的各种应用要求。 c. pc 口除作为数据端口,工作于方式 0 以外,当 pa,pb 工作 方式 1,方式 2 时,它的部分引线被分配为专用联络信号。pc 口可按位置位/复位。 (2)8255a 的内部结构(如图 4.6) pb70 pc74 pa70 pc30 /rd /wr a0 reset /cs a1 8 位内部数据总线 d70 双向数据总 线 数据总 线缓冲 器 读/写控 制部件 a 组控制 部件 b 组控制 部件 a 组端 口 a b 组端 口 b b 组端 口 c a 组端 口 c 图图 4.64.6 8255a8255a 的内部结构构图的内部结构构图 8255a 是一种通用的可编程并行 i/o 接口芯片,以称“可编程 外设接口芯片”由内部结构图可以看出有四部分组成: a、a 组和 b 组控制部件; b、并行 i/o 端口 pa,pb,pc; c、数据总线缓冲器; d、 读写控制逻辑。 (3) 8255a 的引脚信号和功能 8255a 采用 40 条引脚的双向直插式封装。是一种可编程并行 i/o 接口芯片,其引脚信号如图 4.7。 图图 4.74.7 8255a8255a 的芯片引脚信号的芯片引脚信号 由 8255a 芯片的引脚信号图可以了解到:8255a 与 cpu 连接信 号有 14 条,分别为 8 条数据总线 d0d7 和 6 条读写线。 数据总线d0d7:它们为三态输出输入线,用于将8255与系统数 据总线相连,是8255与cpu接口数据线,供cpu向8255读写数据、 命令和状态信息。 片选信号/cs:输入信号,低电平有效。当/cs为低电平时cpu选 中8255a,可向8255a进行读写;/cs高电平为未选中。/cs由cpu 输出高位地址码(a1a2)译码得到。 读信号/rd:输入信号,低电平有效。/rd有效,表示cpu读 8255a,即由8255a向cpu传送数据或状态信息。 写信号/wr:输入信号,低电平有效。/wr有效,表示cpu写 8255a,由cpu将控制字或数据写入8255a。 reset:复位信号,高电平有效。reset有效时,清除8255a中 所有控制字寄存器内容且将各端口置成输入方式。 地址线a1,a0:端口选择信号。当a1a0=00时,选择端口a;当 a1a0=01时,选择端口b;a1a0=10时,选择端口c;a1a0=11时, 选择控制字寄存器。这两条线接到系统地址总线的a1和a0上。 当/cs=0,8255a被选中时,a1、a0用于选择8255a内部寄存器, 以便对它们进行读写操作。 a1a0/rd/wr/cs输入操作(读) 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 端口 a数据总线 端口 b数据总线 端口 c数据总线 0 0 1 1 x 1 x 0 1 0 1 x 1 x 1 1 1 1 x 0 1 0 0 0 0 x 1 1 0 0 0 0 1 0 0 输出操作(写) 数据总线 端口 a 数据总线 端口 b 数据总线 端口 c 数据总线 控制寄存器 断开功能(禁止) 数据总线为三态(高阻) 非法状态 数据总线为三态(高阻) 表表 4.14.1 82558255 的读写操作控制的读写操作控制 控制信号/cs、/rd、/wr 以及 a1、a0 的组合可以实现对三个 数据口(pa、pb、pc)和控制口的读写操作, 如表 4.1。 8255a的a,b,c三个端口有24条线用以与外设连接: pa7pa0:a口外设数据线(双向) 。 pb7pb0:b口外设数据线(双向) 。 pc7pc0:c口外设数据线(双向) 。 4.4 8279a 键盘显示器接口 4.4.1 8279a 主要特性 8279a芯片是一种通用的可编程序的键盘、显示接口器件,单 个芯片就能完成键盘输入和led显示控制两种功能。可与任何8位机 接口。8279a芯片包括键盘输入和显示输出两个部分。若采用8279 作为键盘/显示器接口,则可以实现对键盘、显示器自动扫描,8279 主要是管理键盘输入和显示器输出的。8279可编程键盘显示器接口 芯片具有动态显示驱动电路简单、不占用cpu 的时间、可自动进行 键盘扫描、与计算机接口方便、编程容易、系统灵活等特点当今 已成为设计计算机应用系统,特别是实时性较高的测控系统的首选 器件之一。 4.4.2 8279a 的内部结构(如图 4.8) vcc gnd 命 令 寄 存 器 组 显示 ram fifo ram outb0b3 outa0a3 /bd sl0sl3 rl0rl7 shift cntl/stb irq db0db7 /rd /wr reset clk /cs c 和/d 图图 4.84.8 8279a8279a 的内部结构的内部结构 图中,irq:中断请求输出线,db0db7:双向数据总路线 (传送命令、数据、状态) 。/rd 、/wr:读写控制输入端。 reset:复位输入端;clk;时钟输入端/cs :片选。c 和 /d(a0):片内寄存器选址。outa0a1、outb0b3:8 位显示 输出端,/bd:熄灭显示输出端,sl0sl3:公用扫描输出线。 rl0rl7:键盘回馈输入线。shift:抵挡键输入线。cntl/stb: 控制/选通输入线。另外,8279 的键盘接口部分内部有一个 88 位 先进先出的堆栈(fifo) ,用来存放键盘输入代码,显示器接口部分 内部有一个 168 位显示 ram,用来显示段数据,能为 16 位 led 显示器(或其它显示器)提供多路扫描接口。 4.4.3 8279a 的引脚信号和功能 8279a 是一种可编程的键盘显示器接口芯片,其显示接口的管脚 和管脚功能如图 4.9。 图图4.94.9 8279a8279a的芯片引脚信号的芯片引脚信号 8279可编程键盘显示器接口芯片具有动态显示驱动电路,不占用 cpu 的时间、可自动进行键盘扫描、与计算机接口方便、编程容易、 系统灵活等特点。 5 输入输出设备的驱动程序输入输出设备的驱动程序 5.1 并行输入/输出接口芯片 8255a 5.1.1 8255a 的工作方式 8255a有三种工作方式。方式0是一种基本输入输出方式,该方 式适用于较简单的输入/输出场合,这种输入输出可以不使用联络线, 也可以由软件对其他端口的输入/输出控制来构造联络线,cpu可以 随时用输入/输出指令对指定端口进行读/写操作,在方式0下,每一个 口都作为基本的输入输出口,c口的高4位和低4位以及a口、b口都 可以独立地设置为输入口或输出口。4个口的输入/输出可以有16种 组合方式,且都可以由方式控制字确定。8255a在方式0工作时, cpu可以采用无条件读写方式与8255a交换数据。如果把c口的两个 部分用作控制和状态口,与外设的控制和状态端相连,cpu也可以 通过对c口的读写,实现对a口与b口的查询方式工作。基本输入输 出下工作时,输出的数据被锁存,而输入数据是不锁存的。方式1为 选通输入输出方式,即可借助选通(应答式)联络信号的i/o方式。 方式2为分时双向输入输出方式(双向i/o方式) ,即同一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论