微机课件(第七章)剖析_第1页
微机课件(第七章)剖析_第2页
微机课件(第七章)剖析_第3页
微机课件(第七章)剖析_第4页
微机课件(第七章)剖析_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

1、微机课件(第七章)剖析微机课件(第七章)剖析本章重点1. 计数计数/定时器定时器8254编程结构和工作原理编程结构和工作原理2. 8254控制寄存器的格式和编程控制寄存器的格式和编程 3. 8254的典型工作模式及其使用的典型工作模式及其使用 1. 并行接口芯片并行接口芯片8255A与与CPU信号连接信号连接2. 并行接口芯片并行接口芯片8255A与与外设信号连接外设信号连接3. 8255A的三种工作方式和设置方法的三种工作方式和设置方法1. 串行通信的串行通信的基本概念基本概念2. 串行通信的几种工作方式串行通信的几种工作方式7.1 可编程定时器可编程定时器/计数器计数器8254计数计数/定

2、时器定时器8254的编程结构的编程结构8254工作原理工作原理 8254控制寄存器的格式和编程控制寄存器的格式和编程8254工作模式及工作模式及应用举例应用举例定时信号的获定时信号的获取方法取方法(1)软件方法)软件方法使用延迟子程序使用延迟子程序 (2)硬件方法)硬件方法使用计数器使用计数器/定时器定时器 7.1.1 8054的内部结构的内部结构1公共控制模块公共控制模块 数据总线缓冲器数据总线缓冲器 8位双向三态缓冲器位双向三态缓冲器 ,与数据总线接口。,与数据总线接口。功能:功能:往计数器设置初值往计数器设置初值从计数器读取计数值从计数器读取计数值往控制寄存器设置控制字往控制寄存器设置控

3、制字7.1.1 8054的内部结构的内部结构 读写控制逻辑电路读写控制逻辑电路 片选信号片选信号CSCS有效的条件下,进行读写有效的条件下,进行读写操作。操作。 A1 A1、A0A0对计数器和控制寄存器寻址对计数器和控制寄存器寻址 RD RD读信号读信号 WR WR写信号写信号 CS CS片选信号片选信号控制字寄存器控制字寄存器 寄存初始化编程时的命令字,只写。寄存初始化编程时的命令字,只写。1公共控制模块公共控制模块8位双向三态缓冲器位双向三态缓冲器 ,与,与数据总线接口数据总线接口功能:功能:1. 往计数器设置初值往计数器设置初值2. 从计从计数器读取计数值数器读取计数值3. 往控制寄存器

4、设置控往控制寄存器设置控制字制字片选信号片选信号CS有效的条有效的条件下,进行读写操作件下,进行读写操作。 A1、A0对计数器和控对计数器和控制寄存器寻址制寄存器寻址 RD读信号读信号 WR写信号写信号 CS片选信号片选信号寄存初始化编程时的命令寄存初始化编程时的命令字,只写。字,只写。2计数器计数器(3个)个) 8254内部有内部有3个结构相同彼此独立个结构相同彼此独立 的计数器的计数器计数器计数器0,1,2。 计数频率可高达计数频率可高达10MHz。16位长度。位长度。 每个计数器对外有每个计数器对外有3个引脚:个引脚: GATE为门控信号,为门控信号, CLK为计数脉冲输入,为计数脉冲输

5、入, OUT为计数器输出端。为计数器输出端。 6.1.2 8254的引脚功能的引脚功能 24引脚,双列直插式封装,引脚,双列直插式封装,+5V电源。电源。 3个计数器,每个计数器内部有:个计数器,每个计数器内部有: 8位的控制寄存器位的控制寄存器 16位的计数初值寄存器位的计数初值寄存器 计数执行部件计数执行部件 输出锁存器输出锁存器 1 1 82548254的端口地址的端口地址 2 2 82548254端口的读写操作端口的读写操作7.1.3 8254的工作方式的工作方式六种工作方式六种工作方式 方式方式00计数结束产生中断计数结束产生中断 方式方式11可重复触发的单稳态触发器可重复触发的单稳

6、态触发器 方式方式22分频器分频器 方式方式33方波发生器方波发生器 方式方式44选通信号发生器选通信号发生器 方式方式51方式方式0事件计数器(计数结束产生中断)事件计数器(计数结束产生中断)a、门控信号、门控信号GATE必须为必须为1,计数器才能计数;,计数器才能计数;b、计数时通道输出端、计数时通道输出端OUT一直为一直为0;c、通道计数器计数到、通道计数器计数到0后,后,OUT由由0到到1,同时计数器,同时计数器停止工作。停止工作。2方式方式1 硬件启动的单脉冲发生器硬件启动的单脉冲发生器(可重复触发的单稳态触发器)(可重复触发的单稳态触发器)a、门控信号、门控信号GATE是触发信号,

7、上升沿有效。即开始计数是由是触发信号,上升沿有效。即开始计数是由GATE的上升沿触发的;的上升沿触发的;b、触发后,通道计数器开始计数,输出端、触发后,通道计数器开始计数,输出端OUT由高变低;由高变低;c、 计数器计数到计数器计数到0,OUT再由低变高。再由低变高。3方式方式2脉冲发生器(分频器)脉冲发生器(分频器)a、GATE门为门为1,计数器才能工作,对,计数器才能工作,对CLK端上端上的脉冲进行计数;的脉冲进行计数;b、当计数器、当计数器“减减”计数到计数到1时,输出端由高变低时,输出端由高变低,再经过一个,再经过一个CLK周期,即计数器计数到周期,即计数器计数到0时时,输出端,输出端

8、OUT又跳变为高。所以方式又跳变为高。所以方式2输出周输出周期性负脉冲信号,其宽度固定为一个期性负脉冲信号,其宽度固定为一个CLK周周期;期;c、当计数器的值减为、当计数器的值减为0时,自动重新装入计数初时,自动重新装入计数初值,实现循环计数。值,实现循环计数。4 方式方式3方波发生器方波发生器方式方式2 2虽然可以作分频电路,但其输出是窄脉冲,如果是方虽然可以作分频电路,但其输出是窄脉冲,如果是方波,就只有选方式波,就只有选方式3 3 5 方式方式4软件启动的单脉冲发生器软件启动的单脉冲发生器a、 门控信号门控信号GATE为高电平,计数器开始减为高电平,计数器开始减1计数,计数,OUT维维持

9、高电平;持高电平;b、 当计数器减到当计数器减到0,输出端,输出端OUT变低,再经过一个变低,再经过一个CLK输输入时钟周期,入时钟周期,OUT输出又变高。输出又变高。6 方式方式5硬件触发的单脉冲发生器硬件触发的单脉冲发生器a、用门控上升沿触发即硬件触发、用门控上升沿触发即硬件触发b、计数到、计数到0时,输出端一个宽度为时,输出端一个宽度为1个时个时钟周期的负脉冲,然后又自动变为高电钟周期的负脉冲,然后又自动变为高电平。平。6.1.4 8254的命令字与初始化编程的命令字与初始化编程 1 1控制字控制字6.1.4 8254的命令字与初始化编程的命令字与初始化编程 2. 8254的编程命令的编

10、程命令 编程原则编程原则: 设置初值前必须先写控制字设置初值前必须先写控制字 初值初值设置要符合控制字中的格式规定设置要符合控制字中的格式规定编程命令有两类:编程命令有两类: 读出命令读出命令 写入命令写入命令 设置控制字命令设置控制字命令 设置初始值命令设置初始值命令 锁存命令锁存命令 6.1.5 8254应用举例应用举例例例1 设设8254口地址为口地址为200H203H,GATE0为高电平,为高电平,CLK0接接2MHz方波,要求方波,要求OUT0端输出端输出500Hz的连续脉冲。的连续脉冲。分析:分析:0号计数器,地址:号计数器,地址:200H 控制寄存器地址:控制寄存器地址:203H

11、 先写计数值低先写计数值低8位,再写高位,再写高8位位 工作方式工作方式2 二进制或二进制或BCD码均可码均可 计数值设定:计数值设定:2MHz/500Hz=4000控制字:控制字:00110100BMOVDX,203H;控制端口;控制端口MOVAL,00110100B;二进制;二进制OUTDX,ALMOVDX,200H;计数器;计数器0MOVAX,4000OUTDX,ALMOVAL,AH OUTDX,AL例例2 编程时系统扬声器发出编程时系统扬声器发出800Hz的音箱,当主机键盘按下的音箱,当主机键盘按下任意键时停止。任意键时停止。电路条件:电路条件:PC机分配给机分配给8254的地址:的地

12、址:40H43HCLK0CLK2频率:频率:GATE0, GATE1接接+5V系统外接还有系统外接还有8255A例3下图为下图为8253用作方波发生器与用作方波发生器与8088总线的接口方法。图中仅总线的接口方法。图中仅用了用了A7A2作为作为8253片选地址线,产生片选信号片选地址线,产生片选信号Y1与与8253的的CS端相连。要求计数器端相连。要求计数器2用作方波发生器产生用作方波发生器产生40KHz方方波输出。已知波输出。已知CLK2时钟端输入信号频率为时钟端输入信号频率为2MHz。 8253与与8086总线的连接总线的连接【例】现有一个高精密晶体振荡电路,输出信号是脉冲波,频率为现有一

13、个高精密晶体振荡电路,输出信号是脉冲波,频率为1MHz。要求利用。要求利用8253做一个秒信号发生器,其输出接一做一个秒信号发生器,其输出接一发光二极管,以秒点亮,秒熄灭的方式闪烁指示。设发光二极管,以秒点亮,秒熄灭的方式闪烁指示。设8253的通道地址为的通道地址为80H86H(偶地址)(偶地址)解:解:1、时间常数计算、时间常数计算 这个例子要求用这个例子要求用8253作一个分频电路,而且作一个分频电路,而且其输出应该是方波,否则发光二极管不可能其输出应该是方波,否则发光二极管不可能等间隔闪烁指示。频率为等间隔闪烁指示。频率为1MHz信号的周期信号的周期为为1微秒,而微秒,而1Hz信号的周期

14、为信号的周期为1秒,所以分秒,所以分频系数频系数N可按下式进行计算:可按下式进行计算: 【例】由于由于8253一个通道最大的计数值是一个通道最大的计数值是65536,所,所以对于以对于N1000000这样的大数,一个通道是这样的大数,一个通道是不可能完成上述分频要求的。由于不可能完成上述分频要求的。由于 即取两个计数器,采用级联方式。即取两个计数器,采用级联方式。 2、电路、电路OUT0GATE0CLK01MHz8253通道05VOUT1GATE1CLK11KHz8253通道1【例】 3、工作方式选择、工作方式选择 由于通道由于通道1要输出方波信号推动发光二极管,所以通道要输出方波信号推动发光

15、二极管,所以通道1应选工作方式应选工作方式3。对于通道。对于通道0,只要能起分频作用就行,对,只要能起分频作用就行,对输出波形不做要求,所以方式输出波形不做要求,所以方式2和方式和方式3都可以选用。都可以选用。 这样对于通道这样对于通道0,我们取工作方式,我们取工作方式2,BCD计数;对于计数;对于通道通道1,我们取工作方式,我们取工作方式3,二进制计数(当然也可选,二进制计数(当然也可选BCD计数)计数) 【例】4、程序、程序mov al,00110101b;通道;通道0控制字控制字out 86h,almov al,00;通道;通道0初始计数值初始计数值out 80h,almov al,10

16、hout 80h,almov al,01110110b;通道;通道1控制字控制字out 86h,al mov al,0e0h;通道;通道1初始计数值,初始计数值,03E8H=1000BCDout 82h,almov al,03hout 82h,al【例】例例4 计件系统。计件系统的功能就是记录计件系统。计件系统的功能就是记录 脉冲的个数。脉冲的个数。 一个脉冲代表一个事件,比如交通道路检测系统中通过检测点的车辆,工业控制系一个脉冲代表一个事件,比如交通道路检测系统中通过检测点的车辆,工业控制系统中流水线上已加工好的工件。要求在计件过程中,统中流水线上已加工好的工件。要求在计件过程中,PC机可以

17、显示当前计数器的内机可以显示当前计数器的内容,当完成容,当完成10000个工件记录后,系统发出个工件记录后,系统发出1KHz信号推动喇叭发音通知用户。信号推动喇叭发音通知用户。 解:解:1、电路。、电路。 需要两个通道,一个作为计数,选用通道需要两个通道,一个作为计数,选用通道0。另一个产。另一个产生生1KHz信号,选用通道信号,选用通道1。工作原理如下,传感器电路把。工作原理如下,传感器电路把物理事件转换为脉冲信号输入到通道物理事件转换为脉冲信号输入到通道0计数,当记录计数,当记录10000个事件后,通道个事件后,通道0计数器溢出,计数器溢出,GATE端输出高电平,这端输出高电平,这时通道时

18、通道1开始工作,产生开始工作,产生1KHz信号推动喇叭发音信号推动喇叭发音OUT0GATE0CLK01MHz8253通道05VOUT1GATE1CLK18253通道1计件脉冲驱动放大【例】2、工作方式选择、工作方式选择 对于通道对于通道1,由于要产生,由于要产生1KHz信号,故选用工作方信号,故选用工作方式式3。对于通道。对于通道0,要求初始计数值写入计数通道后,要求初始计数值写入计数通道后,计数器就可以工作,则通道计数器就可以工作,则通道0的启动方式应是软件启的启动方式应是软件启动。另外由于要求计数溢出后产生一个信号来启动一动。另外由于要求计数溢出后产生一个信号来启动一个事件,即喇叭发音,故

19、可选的工作方式为方式个事件,即喇叭发音,故可选的工作方式为方式0和和方式方式4,对于图所示方案,通道,对于图所示方案,通道1的的GATE信号由通道信号由通道0的的OUT信号产生,这个信号产生,这个OUT信号应该是电平型的,所信号应该是电平型的,所以通道以通道0应选用方式应选用方式0。 【例】3、时间常数、时间常数 N010007.2 可编程并行接口芯片可编程并行接口芯片8255A8255A与与CPU接口接口的信号连接的信号连接8255A与外设的信号连接与外设的信号连接8255A三种工作方式和设置三种工作方式和设置应用举例应用举例并行接口芯片并行接口芯片8255A特点特点传输速度快传输速度快信息

20、率高信息率高用电缆多用电缆多6.2.1 8255A的内部结构与外部引脚的内部结构与外部引脚 下图为典型的并行接口和外设连接的示意图下图为典型的并行接口和外设连接的示意图 1. 数据端口数据端口A、B、C 端口端口A、B、C每一个对应每一个对应1个个8位数据输入锁存器位数据输入锁存器1个个8位输出锁存器位输出锁存器/缓冲器缓冲器通常使用方法:通常使用方法:端口端口A、B作为独立的输入或者输出端口作为独立的输入或者输出端口端口端口C配合端口配合端口A、B 2. A组控制和组控制和B组控制组控制(1)A组控制电路组控制电路 控制端口控制端口A和端口和端口C的高的高4位的工作方式和读写操作。位的工作方

21、式和读写操作。(2)B组控制电路组控制电路 控制端口控制端口B和端口和端口C的低的低4位的工作方式和读写操作。位的工作方式和读写操作。 3. 8255A的芯片引脚信号的芯片引脚信号4. 与外设一侧相连的信号与外设一侧相连的信号 PA7PA0A组数据信号;组数据信号; PB7PB0B组数据信号;组数据信号; PC7PC0C组数据信号。组数据信号。5. 与与CPU一侧相连的信号一侧相连的信号RESET复位信号,高电平有效复位信号,高电平有效 。D7D0 数据线数据线 。CS片选信号。片选信号。RD读出信号。读出信号。WR写入信号。写入信号。A1、A0端口选择信号。端口选择信号。6. 8255A的端

22、口编址与读写操作的端口编址与读写操作 8255工作方式8255A方式选择注意:方式选择注意:有三种基本工作方式:有三种基本工作方式: 方式方式0基本的输入输出方式基本的输入输出方式 方式方式1选通的输入输出方式选通的输入输出方式 方式方式2双向传输方式双向传输方式 只有端口只有端口A能工作在方式能工作在方式2 同一组的两端口可分别工作在输入和输出方式同一组的两端口可分别工作在输入和输出方式 1. 方式方式0基本型输入输出方式基本型输入输出方式方式方式0的工作特点的工作特点 端口可作为输入口,也可作为输出口。端口可作为输入口,也可作为输出口。可以有可以有16种不同的组合种不同的组合 2. 方式方

23、式1选通型输入输出选通型输入输出方式方式1的特点的特点端口端口A、B可分别工作在方式可分别工作在方式1。端口端口C配合方式配合方式1控制字输入方式1示意图控制字工作方式1 信号说明上图控制信号说明:上图控制信号说明: STB 选通信号选通信号IBF 缓冲器满信号缓冲器满信号 INTR 送往送往CPU的中断请求信号的中断请求信号INTE 中断允许信号中断允许信号下图为方式下图为方式1的输入时序的输入时序 方式方式1输出时序输出时序 OBF 输出缓冲器满信号输出缓冲器满信号ACK 外设响应信号外设响应信号INTR 中断请求信号中断请求信号INTE 中断允许信号中断允许信号 方式方式1 1时输出端口

24、对应的控制信号和状态信号时输出端口对应的控制信号和状态信号 3. 方式方式2 -双向数据传输双向数据传输方式方式2的特点的特点 只适用于端口只适用于端口A。端口端口C用用5个数位提供控制和状态信号。个数位提供控制和状态信号。方式方式2的使用场合的使用场合一个并行外设既可以作为输入又可以作为输出一个并行外设既可以作为输入又可以作为输出输入输出动作不会同时进行输入输出动作不会同时进行 6.2.2 8255A的控制字与初始化编程的控制字与初始化编程 控制字分为两类:控制字分为两类:各端口的方式选择控制字;各端口的方式选择控制字;C C端口按位置端口按位置1/1/置置0 0控制字。控制字。1. 方式选

25、择控制字方式选择控制字2. C端口置端口置1/置置0控制字控制字置置1/置置0控制字注意:控制字注意: 必须写入控制口必须写入控制口 D0位决定置位决定置1或置或置0 D3、D2、D1位决定了位决定了对哪一位操作对哪一位操作 D7位必须为位必须为0 置置1/置置0控制字注意:控制字注意: 必须写入控制口必须写入控制口 D0位决定置位决定置1或置或置0 D3、D2、D1位决定了对哪一位操作位决定了对哪一位操作 D7位必须为位必须为0 3. 8255A初始化编程初始化编程 步骤:步骤:写方式控制字到控制端口写方式控制字到控制端口如工作在方式如工作在方式1、2查询,设置端口查询,设置端口C6.2.4

26、 8255A应用举例应用举例 agDPfedbc电路LED数码管段码表 例:例:8255A的的A口和口和B口工作在方式口工作在方式0,A口为输入端口,口为输入端口,接有四个开关。接有四个开关。B口为输出端,接有一个七段发光二极口为输出端,接有一个七段发光二极管,连接电路如图所示。管,连接电路如图所示。试编一程序要求七段发光二试编一程序要求七段发光二级级管显示开关所拨通的数字。管显示开关所拨通的数字。agDPfedbc电路LED数码管段码表 mov al,90h;设置;设置8255方式字方式字mov dx,ctrl_portout dx , almov dx,a_portin al,dx;取键盘

27、信息取键盘信息not aland al,0fh;屏蔽高;屏蔽高4位位mov bx,offset tab1 ;取段码表首地址;取段码表首地址xlat;查表得段码;查表得段码mov dx,b_port;输出显示;输出显示out dx,al 例例2:8255A的的A口和口和B口分别工作在方式口分别工作在方式1和方式和方式0,A口口为输入端口,接有为输入端口,接有8个开关。个开关。B口为输出端,接有口为输出端,接有8个发光个发光二极管,连接电路如图所示。现要求用方式二极管,连接电路如图所示。现要求用方式1把改变后的把改变后的键信息输入到键信息输入到CPU并通过并通过B口显示。口显示。8 82 25 5

28、5 5A AKK7K0PA0PA7PC4PB0PB7PC5LED0LED7LEDSTBAIBFA例例3:与打印机接口:与打印机接口 在某一在某一8086系统中接有一个打印机,系统中接有一个打印机,8255A作为作为输出接口。工作在方式输出接口。工作在方式0,试编一程序将缓冲区,试编一程序将缓冲区BUFF内的内的400H个字节的个字节的ASCII码送打印机打印。码送打印机打印。打印机具体工作过程如下:打印机具体工作过程如下:1、数据线、数据线D7D0出现有效数据;出现有效数据;2、STB有效,通知打印机,接口给有效,通知打印机,接口给打印机一个数据,数据从数据线进入打印机一个数据,数据从数据线进

29、入打印机;打印机;3、BUSY有效,告诉接口,打印有效,告诉接口,打印机正在打印数据。打印完毕,机正在打印数据。打印完毕,BUSY变为无效,表示打印结束变为无效,表示打印结束。8 82 25 55 5A APA0PA7打打印印机机D0D7PC0PC4STBBUSY例例4、人机交互接口人机交互接口动态显示动态显示常用的显示称为动态显常用的显示称为动态显示,它采用扫描显示技示,它采用扫描显示技术,可以使硬件开销降术,可以使硬件开销降低很多。对于一个低很多。对于一个8位数位数据显示,它就需要两个据显示,它就需要两个输出端口就可以了。其输出端口就可以了。其电路如图所示。在两个电路如图所示。在两个输出端

30、口中,一个称为输出端口中,一个称为段信号通道,它用来输段信号通道,它用来输出要显示数据的段码;出要显示数据的段码;另一个称为位信号通道另一个称为位信号通道,用来决定当前要显示,用来决定当前要显示数据的位置。数据的位置。A A口口8255APA7|PA0B B口口8255APB7|PB0+5V段信号通道位信号通道段驱动位驱动LED6LED7 例例5、人机交互接口人机交互接口键盘扫描键盘扫描左图所示左图所示为矩阵式键盘电路为矩阵式键盘电路,其特点是由按键组其特点是由按键组成一个矩阵,矩阵成一个矩阵,矩阵的行线和列线分别的行线和列线分别作为两个传输方向作为两个传输方向相反的相反的I/O接口信号接口信号,比如行线作为输,比如行线作为输号线,或反之。号线,或反之。8255APC0PC1PC2PC3PC4PC5PC6PC7+5VK8K10K9K11K0K2K1K3K4K6K5K7K12K14K13K157.3 串行通信

温馨提示

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

评论

0/150

提交评论