《【教学课件】第6章基本输入输出接口技术.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第6章基本输入输出接口技术.ppt(115页珍藏版)》请在三一办公上搜索。
1、第6章 基本输入输出接口技术,【本章提要】本章首先概述I/O的基本知识,然后讨论输入/输出控制方式,I/O接口的读写技术,并行通信与串行通信,最后重点讨论常用可编程典型I/O接口芯片及其接口技术。【学习目标】了解I/O接口信息、I/O编址方法、I/O组织、I/O控制方式、并行通信及串行通信等输入输出基础知识。理解基本输入输出接口的操作。掌握简单I/O接口的读写技术。熟练掌握常用接口芯片16550/8250、8255和8253的工作原理及其编程应用。能综合运用接口芯片,构建和分析实际应用系统。,第6章 基本输入输出接口技术,本章主要内容:概 述输入/输出控制方式I/O接口读写技术并行通信与串行通
2、信,可编程接口芯片串行通信接口芯片并行通信接口芯片定时计数接口芯片,2023/8/6,6.1 概述,一、输入/输出与输入/输出接口1.输入/输出:微处理器与外部设备之间的信息交换即通信。2.输入/输出接口:完成微处理器与外部设备数据通信即输入/输出任务的接口。包括:硬件接口电路和软件接口程序。,2023/8/6,二、I/O接口的功能,1.内部地址译码 2.提供联络信号 3.信号特性匹配(如电平转换)4.信息格式的转换(如正负逻辑的转换,串并 格式,模数转换)5.数据缓冲与锁存 6.对外设进行中断管理 7.提供时序控制,2023/8/6,三、CPU与I/O设备间的接口信息,三种:数据信息、状态信
3、息、控制信息这些信息均通过数据总线传输。,2023/8/6,四、I/O端口的编址方法,1.存储器映射编址含义:I/O端口的地址与存储器的地址统一混合编址。用访问存储器的指令,即可对整个地址空间(存储器和I/O)进行访问,而无需专用I/O指令。优点:访问I/O指令多,使用方便。内存与外设地址分布相同。无需专用的I/O指令。,2023/8/6,2.I/O映射编址,含义 I/O端口与存储器分开独立编址,即I/O端口和存储器都有自己的一套地址空间,而且互不相干。优点 I/O设备不占用内存单元,节约了内存空间。指令执行速度快。I/O端口8086Core2微机采用I/O映射的编址方法。I/O端口的地址64
4、K 个8位口地址(0000H-FFFFH)。,2023/8/6,五、I/O组织,2.基于8086和80286 16位I/O组织,3.基于80386和80486 32位I/O组织,4.基于PentiumPentium4的64位I/O组织,I/O组织,1.基于8088的8位I/O组织,2023/8/6,8位I/O组织-基于8088,2023/8/6,16位I/O组织-基于808680286,2023/8/6,32位I/O组织-基于8038680486,2023/8/6,64位I/O组织-基于Pentium Core2,2023/8/6,2.I/O端口的地址分配,1.I/O地址范围 0000H-FF
5、FFH.共64K个8位端口 从8086Core2 I/O地址采用A15A0共16条地址线,且与存储器分开编址。2.系统板保留的1K个I/O端口(详见书P.238表6.1)000H-03FFH,共1K个8位端口3.查看当前系统I/O地址分配,2023/8/6,系统板保留的1K地址,2023/8/6,I/O指令时序,(b)OUT 指令操作时序OUT P8,AL或OUT DX,AL P8为8位端口地址,(a)IN指令操作时序IN AL,P8 或IN AL,DXP8为8位端口地址,6.2 输入输出控制方式,直接程序控制方式 中断控制方式 DMA控制方式 I/O处理机控制方式,2023/8/6,一、直接
6、程序控制方式,含义:直接在程序控制下进行微处理器与外设之间的数据传送。分类:无条件传送方式和条件传送方式两种。1.无条件传送方式含义:不查询外设状态而直接进行输入输出的一种方式。特点:简单、经济,但可靠性差。,2023/8/6,2.条件传送方式,含义:首先查询外设状态,满足条件时才进行数据的传送,因此也叫查询传送方式。特点:简单、可靠性高,但CPU效率低。,输入,输出,2023/8/6,二、中断控制方式,含义:在满足传输条件时,外设向CPU发请求传输的中断信号,CPU接收请求后进入服务程序,在中断服务程序中进行输入输出操作。特点:无需查询等待,CPU利用率大大提高。不足:中断控制方式仍需要一系
7、列本与输入输出无关的操作(如压栈保护等),因此对于高速I/O设备效率仍不算快。,2023/8/6,三、DMA控制方式,含义:直接由DMA控制器硬件控制数据传输,传输过程无需CPU干预。特点:速度快(因为有DMA硬件直接控制),效率高。,2023/8/6,DMA方式与其它方式比较,MOV XX,AL,OUT DX,AL,IN AL,DX,MOV AL,XX,无需CPU指令,2023/8/6,四、I/O处理机控制方式,尽管DMA方式优点比较突出,但在DMA进行传输之前,对DMA的初始操作、对数据的运算和处理等都需要处理器事先干预。为了让处理器彻底摆脱管理和控制I/O设备的负担,引入了I/O处理机控
8、制方式。这种方式下,由专用I/O协处理器负责I/O操作和处理。,2023/8/6,6.3 I/O接口的读写技术,一、简单输入输出接口输入采用缓冲器,输出采用锁存器。1.常用缓冲器:,2023/8/6,简单I/O接口-锁存器,2.常用锁存器,2023/8/6,二、简单I/O接口的读控制,读操作程序:MOV DX,377HIN AL,DX,2023/8/6,2.简单I/O接口的写控制,写操作程序:MOV DX,0DFFFHOUT DX,AL,2023/8/6,3.16位I/O接口的读操作,读操作程序:MOV DX,2F6HIN AX,DX,2023/8/6,32位I/O接口的写操作,写操作程序:M
9、OV DX,3ECH;选中3ECH3EFH4个端口OUT DX,EAX,常用接口芯片及应用,6.4 并行通信与串行通信6.5 可编程串行通信接口芯片6.6 可编程并行通信接口芯片6.7 可编程定时/计数器芯片,6.4 并行通信与串行通信,并行通信与并行接口 串行通信与串行接口 串行通信方式及异步通信协议 串行异步通信标准接口,2023/8/6,一、并行通信与并行接口,1.并行通信含义:并行通信是指将一个字节或一个字的各 位同时进行传输的一种通信方式。要点:传输的各位同时传输(输入或输出)。特点:(1)传输速度快(2)传输的信息率高(3)比串行通信需要更多通信信号线用途:常用于传输距离短,数据传
10、输速度要求 高的场合。,2023/8/6,含义:实现并行通信的接口称为并行通信接口。,2.并行接口,2023/8/6,二、串行通信与串行接口,1.串行通信含义:串行通信是把传输的数据一位一位地顺序传送的一种通信方式。要点:按位传输,同一时刻仅传送一位。特点:(1)通信线少(2)成本低(3)但通信速度慢用途:适用于长距离数据传输。,2023/8/6,完成串行通信任务的接口称为串行通信接口,简称串行接口。功能:(1)输入时,完成串行到并行格式转换(2)输出时,完成并行到串行格式转换。,2.串行接口,2023/8/6,串行通信数据传输方式,有单工方式、半双工方式、全双工方式,2023/8/6,三、串
11、行通信方式及异步通信协议,串行通信方式两种:串行异步通信和串行同步通信。1.异步通信 异步通信:指字符与字符之间的传送是完全异步的,随机的,但一个字符的位与位之间是同步的。2.异步通信特点 字符的发送是随机的。每一个字符传输总以一个起始位为准,然后接收方与发送方保持同步(格式的统一),最后是停止位 通信双方可随时改变通信协议,即改变数据位、奇偶校验位和停止位长度或数据传输率。,2023/8/6,3异步通信协议,异步通信协议包括:一是字符的传送格式的规定,二是数据传送速率的要求。异步通信格式协议,即改变数据位、奇偶校验位和停止位长度或数据传输率。,2023/8/6,波特率,波特率(Baud Ra
12、te):指单位时间传送二进制数的位数,一般以秒为单位。微机中常见的波特率有110,300,600,1200,2400,4800,9600,19200等。微机最高波特率由硬件决定。例:已知字符格式中数据为8位,无校验,1位停止位,在1分钟内连续不断传送了 69120个字符,求波特率。解:一个字符=1+8+0+1=10位 每秒传送的字符个数=69120/60=1152个 波特率=位/秒=1152*10=11520bits/S=11.52Kbits/s,2023/8/6,4.同步通信,同步通信 将多个字符连接成一个数据块,数据块前加1或2个同步字符,尾部是校验字符,最后为同步字符。同步的含义字符与字
13、符之间时间间隔固定不变,是同步的。,2023/8/6,四、串行异步通信标准接口,串行异步通信的标准接口有RS-232C、RS-449、RS-422、RS-485以及20mA电流环等接口。一、RS-232C接口(PC使用)1.接口逻辑:负逻辑传送1:-15V-5V0:+5V+15V 允许噪声容限为2V因此,实际RS-232能够区分的逻辑电平:1:-15V-3V0:+3V+15V 只有在-3V+3V时逻辑为不确定,2023/8/6,2.RS-232接口信号及含义,2023/8/6,二、RS-232逻辑电平的转换,为什么要进行逻辑电压的转换?因为RS-232逻辑电平与UATRT电平不一致常用单电源供
14、电的232电平转换芯片MAX232、TLC232、UN232、SP232等为不同厂家的典型单电源供电的232接口芯片,完成电平转换功能。根据UART的电平的不同可分为5V和3.3V。,2023/8/6,RS232电平转换原理,计算机通信是TTL和CMOS逻辑电平,而RS-232规定的电平与之不符,故需电平转换。,2023/8/6,RS232电平转换典型芯片,C1C5可为0.1uF4,7uF,具体值参见芯片说明TIN为TTL输入RIN为232输入TOUT为由TTL转换后的232电平输出ROUT为由RS232转换后的TTL电平输出,2023/8/6,RS-232简单连接示意图,2023/8/6,二
15、、RS-485接口标准,RS232C缺点:受共模干拢影响,通信距离不长。仅20米以内。RS485主要特点:采用差分传输方式,具有很强的抗共模干扰能力。可同时连接多个接收器和发送器(32256个)通信距离长,可达千米(标准为1.2Km)。RS-485逻辑电平:逻辑1:A的电位比B高200mV以上逻辑0:B的电位比A高200mV以上,2023/8/6,RS-485接口的连接,由于是差分传输,因此RS485接口采用同名端相连的方法,即所有485芯片的A和A连在一起,B和B连在一起。DI为数据发送端,RO为数据接收端,RE收发使能RE0接收,RE1发送终端(两个远端)各接一个匹配电阻(120欧)防止传
16、输反射。,2023/8/6,6.5 可编程串行通信接口芯片 16550与8250,一、16550及8250功能(1)具有全双工、双缓冲器发送器和接收器。(2)是串行异步通信接口(UART)。(3)波特率:8250=509600波特;16550=50115200波特。(4)异步通信格式,可通过编程选择。(5)具有自动奇偶校验、溢出和帧出错等检测标志。(6)片内具有优先级中断控制逻辑。(7)单一+5V,40个引脚的DIP封装形式。,2023/8/6,二、内部结构及工作原理,2023/8/6,1.接收部分,接收移位寄存器将SIN脚的串行数据进行移位输入。(1)检测起始位:SIN变低后,连续测试8个R
17、CLK时钟周 期,如果都是低电平,为起始位,否则为干扰信号。(2)采样数据位:每隔16个RCLK脉冲对SIN输入的数据位进 行一次采样。直到停止位,完成一个字符的接收。(3)去除无关位:接收同步控制电路自动去除起始位、奇 偶校验位和停止位。(4)串到并转换:同步控制电路控制接收移位寄存器将串 行数据转换成并行数据送入接收数据缓冲器(THR)中。(5)检查正确性:接收同步控制电路对数据的正确性进行检查。如果在检测字符格式时有错误,则通过线路状态寄存器 设置相应的出错标志。,2023/8/6,2.发送部分,发送部分负责接收CPU送来的并行数据,并通过移位的方法将其变换成串行信号,最后通过发送端SO
18、UT发送出去。(1)CPU的并行数据存入发送保持寄存器中,由 发送同步控制电路控制将该数据经过发送移 位寄存器处理,按照事先规定的格式加上起 始位、奇偶校验位和停止位,变换成串行数 据帧后由SOUT端输出串行数据信号。(2)当数据进入发送移位寄存器后,发送保持 寄存器自动变空,CPU即可再次写入数据。,2023/8/6,3.通信线路控制寄存器,线路控制寄存器(LCR)接收CPU用OUT指令写入的控制命令。控制寄存器的内容可以通过IN指令读出。线路控制寄存器的格式:,2023/8/6,4.通信线路状态寄存器,线路状态寄存器LSR记录串行数据发送和接收的状态,以供CPU查询。线路状态寄存器的格式:
19、,2023/8/6,5.Modem控制寄存器,Modem控制寄存器MCR用于设置16550/8250与通信设备之间联络应答的输出信号,其格式如所示。,2023/8/6,6.Modem状态寄存器,Modem状态寄存器MSR反映8250与通信设备之间应答联络输入信号的当前状态以及这些信号的情况,各位的含义如图所示。,2023/8/6,7.中断允许寄存器IER,反映了接收器和发送器以及Modem是否允许中断的情况,通过设置可以指定其中的某些部件允许中断。它是一个可读可写的寄存器。,2023/8/6,8.中断识别寄存器IIR,中断识别寄存器IIR,可以识别4个中断源引起的中断。接收器线路状态中断、接收
20、数据准备好中断、发送保持寄存器空中断和调制解调器状态中断。,2023/8/6,9.波特率发生器,16550及8250使用1.8432MHz的基准输入时钟,分频后产生所需的内部基准脉冲,作为接收器和发送器的同步脉冲,以控制接收移位寄存器和发送移位寄存器的移位操作。发送或接收串行数据时使用的时钟频率是数据传送波特率的16倍除数值与波特率的关系:除数1843200(波特率16),2023/8/6,波特率发生器与除数寄存器,根据波特率与除数的关系,可计算出不同波特率对应的除数值,如表所示。,2023/8/6,三、16550/8250引脚信号,几个最重要的信号RCLK 接收时钟SIN 串行输入引脚SOU
21、串行数据输出A2,A1,A0 内部寄存器选择输入信号其它信号,2023/8/6,其它引脚,1.电源及时钟VCC,GND,XTLA1,XTLA22.数据线:D7D03.片选信号:CS0,CS1和/CS2(输入)4.选通信号:地址输入选通:/ADS数据输入选通:DISTR和/DISTR(接/IOR)数据输出选通:DOSTR和/DOSTR(接/IOW)5.主复位:MR6.接收时钟:=接收波特率的16倍7.清除发送:/CTS8.数据装置(MODEM)准备好:/DSR9.接收线路信号检测:/RLSD(有效时表示Modem检测数据载波10.振铃指示:/RI 有效表示Modem已经接收到一个电话振铃信号,2
22、023/8/6,其它引脚续,11.数据终端准备好:/DTR 有效时通知Modem,接口已准备好12.请求发送:/RTS有效请求发送数据13.用户输出引脚:/OUT1和/OUT2(由Modem控制寄存器决定)14.片选信号输出:CSout片选输入信号CS0=1,CS1=1/CS2=0时,Csout=1(高电平)15.驱动器禁止:DDIS,有效时禁止外部总线转换器对系统总线的驱动.16.波特率输出:/BAUDout以16倍波特率的时钟输出17.中断请求:INTRPT当允许中断时,16550/8250内部发生某种中断时,该引脚为高电平有效,向8259A发中断请求信号.,2023/8/6,四、串行接口
23、的编程及应用,1.串行接口的端口地址分配,2023/8/6,2.串行接口初始化,串行接口初始化的任务:(1)设置波特率(2)确定通信的具体格式(3)设置操作方式(4)设定是否使用中断、是否自测试操作等等。,2023/8/6,设置波特率方法,计算除数值除数1843200(波特率16)写线路控制寄存器,使DLAB=1以访问除数寄存器先将除数低字节写入低字节寄存器端口再将除数高字节写入高字节寄存器端口注意:线路控制寄存器地址:3FBH(COM1),2FBH(COM2)除数低字节寄存器:3F8H(COM1),2F8H(COM2)除数高字节寄存器:3F9H(COM1),2F9H(COM2),2023/8
24、/6,1.设置波特率程序段,假设设置波特率为11520,则初始化程序片段如下:MOVAL,10000000B;DLAB=1MOVDX,3FBH;指向线路控制寄存器端口OUTDX,AL;写入线路控制寄存器MOVAL,0AH;置产生11520波特率的除数低字节MOVDX,3F8H;除数低字节寄存器口地址OUTDX,AL;写入除数低字节MOVAL,00;除数高字节INCDX;指向除数高字节寄存器口地址OUTDX,AL;写入除数高字节,2023/8/6,2.设置通信数据格式方法,根据要求确定格式将格式字写入线路控制寄存器,并使DLAB=0以正常工作例子:假设一帧数据含有8位数据、1位停止位、奇校验,则
25、有关程序如下:MOVAL,00001011B;通信控制寄存器控制字MOVDX,3FBH;线路控制寄存器口地址OUTDX,AL;写入线路控制寄存器,2023/8/6,3.自测工作(自发自收),MOVAL,00010011B;自发自收MOVDX,3FCH;Modem控制寄存器地址OUTDX,AL;写入线路控制寄存器,2023/8/6,4.设置中断允许寄存器,仅允许接收中断和发送中断:(COM1)MOV AL,00000011;仅允许收、发中断MOV DX,3F9HOUT DX,AL;写入中断允许寄存器,2023/8/6,三、串行通信实例,两台微机利用COM1(串行口1)进行查询通信,只用三根连接线
26、。双机通信的要求如下:数据为7位、1位停止位、奇校验、波特率为19200;双机同时运行该程序,一方键入的字符在另一方屏幕上显示,当按下小写字母q时,结束通信回到DOS。程序见教材P.261(COMMEX.ASM),6.6可编程并行接口芯片8255A,8255的内部结构及引脚信号8255的工作方式8255的编程,2023/8/6,一、8255的内部结构及引脚信号,2023/8/6,引脚信号,(1)与外设接口信号引脚PA7PA0 A口的8个I/O引脚PB7PB0 B口的8个I/O引脚PC7PC0 C口的8个I/O引脚。(2)与系统总线接口信号引脚D7D0 数据线/RD,/WR,/CSRESET 高
27、电平有效,有效时8255内部寄存器清除,同时三个数据端口被自动设为输入端口。,2023/8/6,8255A的端口操作,二、8255的工作方式,基本输入输出方式-方式0选通输入输出方式-方式1双向输入输出方式-方式2,2023/8/6,基本输入输出方式-方式0,方式0没有规定固定的用于应答式的联络信号线。在此方式下,三个数据端口A、B和C中的任何一个端口都可由程序设定为8位的输入口或输出口。C端口的两个半口(高4位和低4位)可独立设为输入或输出端口。端口输入具有缓冲功能;输出具有锁存功能。方式0下的各端口输入或输出有24=16种不同的组合。,2023/8/6,选通输入输出方式-方式1,方式1规定
28、固定的用于应答式的联络信号线。A口和B口可作为输入或输出端口使用,而此时C口的某些位与它们配合,作为控制或通信联络信号,没有使用的C口某些位还可单独立定义为I/O口用。方式1下A和B端口的输入和输出具有不同的组态。内部逻辑不同。下面分别介绍A口输入、B口输出、A口输出和B口输出不同情况下的内部逻辑。,2023/8/6,方式1下的输入组态,2023/8/6,方式1下的输入工作波形,2023/8/6,方式1下的输出组态,2023/8/6,方式1下的输出工作波形,2023/8/6,双向输入输出方式-方式2,方式2是双向的数据传输方式,仅限于A口,这时C端口配合其工作。,2023/8/6,三、8255
29、编程,对8255编程首先要写入方式选择控制字,然后再行输入输出操作。操作时可对端口C进行置/复位操作。因此:8255有两个控制字是编程的关键所在。方式选择控制字 端口C置/复位控制字,2023/8/6,方式选择控制字写入控制口,2023/8/6,例6.3,【例6.3】编写对8255的初始化程序片段,要求:使A口为方式0输入,B口为方式0输出,C口作为8位的输出口使用。8255控制端口的地址为12BH。解:对照方式选择控制字格式可得到控制字为:10010000B=90H,初始化程序片段:MOV AL,90H;方式选择控制字MOV DX,12BH;由于端口号256,用DX间接寻址OUT DX,AL
30、;写入控制寄存器,2023/8/6,例6.4,【例6.4】如果把A口设置为方式0输入,B口设成方式1输出,C口除了与B口方式1输出配合的PC0到PC2外,其PC3设成输入,C上半口(PC7PC4)设为输出。则对照控制字格式,得其方式选择控制字为:10010101B=95H。解:假设8255的口地址为60H63H,并知道8255的A0和A1分别与CPU总线的A0和A1相连,写出对8255的初始化程序片段。对8255的初始化程序只需要两条指令如下:MOV AL,95H;方式选择控制字OUT 63H,AL;写入控制寄存器,2023/8/6,端口C置/复位控制字写入控制口,2023/8/6,例6.5,
31、【例6.5】使A口为方式1输入,且采用中断传送,B口采用方式0输出,其余C口的位作为输出。假设控制端口地址为63H。则程序段为:解:MOV AL,10110000B;A口方式1输入,B口方式0输出,其余C口位输出OUT63H,AL;方式选择控制字写入控制寄存器MOVAL,00001001B;置位/复位控制字,使PC4=1,即使INTE=1允许内部中断OUT 63H,AL;置位/复位控制字写入控制寄存器,2023/8/6,三、8255作为打印机接口实例,2023/8/6,打印机接口的时序要求,打印程序,MOV AL,0A8H;方式选择字(C上半口输入PC4)MOV DX,343H;控制端口 OU
32、T DX,AL;方式选择控制字写入控制口 MOV CX,Counter;打印字符个数装入计数器 MOV BX,OFFSET Pstrings;Counter,Pstrings已定义(P.255)LP1:MOV AL,BX MOV DX,340H OUT DX,AL;送一个字符到8255的A口 MOV DX,342HLP2:IN AL,DX;读取C口状态(准备检查BUSY状态)ANDAL,00010000B;屏蔽无关位,取BUSY JZ LP2;等待接收新数据LP3:IN AL,DX;读取C口状态 AND AL,00010000B;屏蔽无关位,取BUSY对应的PC4 JNZ LP3;BUSY=1
33、等待,直到不忙 INC BX LOOP LP1,6.7 可编程定时/计数器8253(8254),三种方法:软件定时、硬件定时、可编程硬件定时主要内容:,8253/8254的内部结构及引脚信号,8253/8254的工作方式,8253/8254的编程,8253最高工作频率2.6MHz8254最高工作频率为10MHz,2023/8/6,8253/8254主要功能,1用于计数当用于计数时,计数装入初始值后,在GATE为高电平的情况下,可以用外部事件作为CLK脉冲对计数值进行减1计数,每来一个脉冲,计数器减1一次,当计数值减到结束时,由OUT端输出一个信号。如果计数未结束,而外部没有触发的脉冲信号,则可
34、以通过读取现行计数器的值来求出计数值。2用于定时当用于定时时,计数器装入初值后,在GATE为高电平情况下,由CLK脉冲触发开始自动计数,当减1计数结束时,在OUT端发送计数结束信号。定时时间长度就是计数初值与CLK时钟周期的积。由此可见,定时和计数的实际是计数,只是定时是在计数的基础上再乘以时钟周期。,2023/8/6,8253/8254内部结构,2023/8/6,8253端口及其操作,8253和8254的工作方式,方式0 中断信号发生器方式1 单稳负脉冲信号发生器方式2 速率信号发生器方式3 方波信号发生器方式4 软件触发的选通信号发生器方式5 硬件触发的选通信号发生器,2023/8/6,方
35、式0 中断信号发生器,2023/8/6,方式1单稳负脉冲信号发生器,2023/8/6,方式2速率信号发生器,2023/8/6,方式3 方波信号发生器偶数初值,2023/8/6,方式3 奇数初值,2023/8/6,方式4 软件触发的选通信号发生器,2023/8/6,方式5 硬件触发的选通信号发生器,2023/8/6,8253/8254的编程方法,8253/8254控制字,2023/8/6,8253/8254计数范围,二进制计数:0000HFFFFH,即0-65535BCD码计数:00009999最小和最大计数值:最大计数为0000,不是FFFFH或9999。除方式2,3外,最小值都为1。,202
36、3/8/6,8253/8254初始值计算,假设已知8253相应通道的CLK端接入的时钟频率为fCLK,周期记为TCLK=1/fCLK,要求产生的周期性信号频率为F(周期为T)或定时时间为T(F=1/T),则所需计数初值n为:在计算时注意时间和频率的单位一致性。,2023/8/6,8253/8254编程示例,已知8254各通道时钟接8MHz信号,端口地址为700H、702H、704H和706H,要求在OUT0产生周期为10us的方波,OUT1产生2KHz的连续脉冲信号,OUT3产生一个最大的负脉冲。分析:OUT0:初值=10us8MHz=80 方式3OUT1:初值=8MHz/2KHz=4000
37、方式2OUT2:初值=0,二进制计数 方式1,2023/8/6,示例程序片段,;CTC0MOV DX,706H;控制端口地址MOV AL,00010110B;CTC0控制字OUT DX,ALMOV DX,700H;CTC0口地址MOV AL,80;CTC0初值OUT DX,AL,2023/8/6,;CTC1,MOV DX,706H;控制端口地址MOV AL,01110100B;CTC1控制字OUT DX,ALMOV DX,702H;CTC1口地址MOV AX,4000;CTC1初值OUT DX,AL;先写低字节MOV AL,AH;取高字节OUT DX,AL;后写高字节,2023/8/6,;CT
38、C2,MOV DX,706H;控制端口地址MOV AL,10110010B;CTC2控制字OUT DX,ALMOV DX,704H;CTC2口地址MOV AL,0;CTC2初值OUT DX,AL;先写低字节OUT DX,AL;后写高字节,2023/8/6,8253应用,OUT0:55ms方波OUT1:15us连续波OUT2:1KHz方波8255的B端口地址61H,2023/8/6,应用程序片段,;CTC0初值=55ms*1.19MHz=65450MOV AL,00110110B;CTC0控制字OUT 43H,AL;写入控制端口MOV AX,65450;CTC0初值OUT 40H,AL;先写低字
39、节MOV AL,AHOUT 40H,AL;后写高字节,2023/8/6,;应用程序CTC1,;初值=15*1.19=17.85 取 18=12HMOV AL,01010100B;CTC1控制字OUT 43H,AL;写入控制端口MOV AL,12H;CTC1初值OUT 41H,AL;写初值至CTC1,2023/8/6,;应用程序CTC2,;CTC2初值=1.19M/1K=1190MOV AL,10110110B;CTC2控制字OUT 43H,AL;写入控制口MOV AX,1190;CTC2初值OUT 42H,AL;先写低字节MOV AL,AH;取高字节OUT 42H,AL;后写高字节INAL,61H;读8255A的B口的值MOV AH,AL;暂存AH中OR AL,00000011BOUT 61H,AL;输出使扬声器发声,本章习题,作业:习题6.10,6.12,6.13,6.14习题6.15,6.16,6.17,6.19,6.20,