微机-同济上大考研联盟chp_第1页
微机-同济上大考研联盟chp_第2页
微机-同济上大考研联盟chp_第3页
微机-同济上大考研联盟chp_第4页
微机-同济上大考研联盟chp_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

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

文档简介

1、2022/7/7上海大学1第八章 可编程接口芯片及其应用2022/7/7上海大学28.1 概 述片内端口寻址:多个端口用A0Ai 片选寻址:剩余地址线Ai+1A15通过译码器形成片选读写逻辑:CPU给A0Ai选片内端口 从端口读数据: Ai+1A15选本片 D0D7 DB0DB7 用IN; /RD,M/IO=0给端口写数据: D0D7 DB0DB7; 用OUT, /WR ,M/IO=0 I/O外设简化为其接口的一系列存储单元(端口),故接口芯片的引脚及连接可类比内存芯片。一 与CPU的连接2022/7/7上海大学3二 与外设连接接口数据线接外设数据线控制线RDY、状态线/STB组成联络机制,

2、保证接口与外设传送数据正常联络过程:(1)输入接口:外设给接口送数据,接口发RDY=1给外设,表示接口已准备好收,外设发/STB=0选通接口,把数据送至接口,接口发RDY=0给外设,表示已有数据,暂不送。CPU发RD=L,读入该数据,然后RDY=H,可以再次接收数据;(2)输出接口:接口发RDY=1给外设,表示接口已准备好数据,通知外设来取,外设接受数据后,发STB=0,表示已接受数据,CPU可送新数据到接口。2022/7/7上海大学4三 可编程接口高级接口芯片通常多通道、多功能多通道:一个接口芯片可接多个外设。多功能:一个接口芯片可实现多种功能,做不同用处,如作为输入口/输出口/双向口/输出

3、不同波形等;可编程: CPU给接口的控制端口写控制信息(控制字) 接通某个开关,选中某通道 / 选择某种功能2022/7/7上海大学582 可编程接口芯片8255A一 8255A的结构和引脚功能1 有三个输入输出口,分成二组:(1) A口:8位,输入输出均有锁存能力,属A组,3种方式(输入/出/双向)(2)B口:8位,输入输出均有锁存能力,属B组, 2种方式(输入/出)(3) C口:8位分成两半,输出有锁存能力,输入无,高4位属A组,低4位属B组。 2种方式(输入/出); 输出时可按字节/位操作.2 一个控制寄存器,8位,分成2组,分别控制3个口的工作方式 2022/7/7上海大学63 引 脚

4、 (40条)/RD常接/IOR/WR常接/IOW/CS片选 D0D7双向数据线A1 A0 口地址选择 0 0 A口 0 1 B口 1 0 C口 1 1 控制寄存器RESET复位输入,高电平有效,控制寄存器清0,A、B、C口输入状态PA7-PA0:A口外设数据线PB7-PB0:B口外设数据线PC7-PC0:C口外设数据线2022/7/7上海大学7二 8255A的三种工作方式2022/7/7上海大学81 工作方式0(基本输入输出方式) A口、B口、C口上、C口下四部分可分别定义为输入或输出,可有16种组合;A口、B口、C口功能相同,地位平等;C口作为输出时还有按位置位与复位功能。 方式0数据输入输

5、出时序 (IN AL, DX 或 OUT DX,AL)2022/7/7上海大学92 工作方式1(应答式输入输出方式)A口和B口可分别定义为输入或输出,并用C口部分线作为控制和状态线。(1) A、B口均为输入IBF: 输入缓冲器满, 高有效, 通知外设不能向接口输入数据/STB: 输入选通,低有效, 外设发给8255, 可以锁存外设数据INTR:给CPU的中断申请, 通知CPU可从8255读取有效数据INTE:中断允许信号,可用C口的相应位置位/复位命令设置与清除,高电平开放中断,低电平禁止中断2022/7/7上海大学10数据输入工作过程及时序:外设送出数据和有效/STB /STB将数据打入82

6、55,并使IBF有效 如果INTE有效 在/STB后沿8255发出INTR给CPU申请中断处理 CPU响应中断读走数据,同时/RD使INTR撤消,且使IBF无效。2022/7/7上海大学11(2) A、B口均为输出/OBF:输出缓冲器满, 低有效, 通知外设可从接口取走数据 /ACK:外设响应, 低有效, 外设发给8255通知已将数据取走 INTR:给CPU的中断申请, 通知CPU可给8255送下一个数据INTE:中断允许信号,可用C口的相应位置位/复位命令设置与清除,高电平开放中断,低电平禁止中断A口用PC3、PC67,B口用PC02,C口剩PC45普通I/O2022/7/7上海大学12数据

7、输出工作过程及时序:8255发出INTR给CPU申请中断 CPU响应中断向端口写数据,同时/WR使INTR无效、/OBF有效 外设收到/OBF,发出有效/ACK读走数据,并使/OBF无效、 INTR有效,再次申请中断(3) 方式1下A出B入、A入B出可由(1)(2)组合得到。A、B口:方式1数据I/O;C口某些位:控制(O)或状态(I);剩下位:普通I/O2022/7/7上海大学133 工作方式2(双向输入输出方式)只有A口有方式2, 可输入/出双向工作, B口只能方式0或1, A口使用C口的PC37作状态与控制线, PC02作B口方式1的状态、控制线或普通I/OA口有双向锁存能力:CPU写数

8、据, 数据锁存于A口;外设送数据, 数据锁存于A口A口数据输入/输出均可引起中断 INTE由相应的PCx置/复位控制, 对该位的写(置/复位)操作只影响内部INTE, 不影响对应的外部引脚;对该位的读只取外部输入信号2022/7/7上海大学14三 8255A的方式控制字与状态字1 方式控制字,在A1A0为11时写入2022/7/7上海大学152 C口位操作控制字:在A1A0为11时写入2022/7/7上海大学163 状态字: (A1A0为10) (1)A、B口工作在方式1或2时读C口,可得A、B口的工作状态字,是模式组合中定义的位组合。(2)作用:8255工作在查询方式而非中断方式时,前面方式

9、1、2工作过程中,CPU需先读状态字决定是否对端口读/写。例:A、B口均为方式1输入时状态字2022/7/7上海大学17四 寻址与连接 (1)8255内部有4个端口地址:A口、B口、C口、控制寄存器,利用/CS、A1、A0寻址,用/RD、/WR决定读、写操作 (2)IBM-PC机主板上用了1块8255,作为键盘接口、系统配置开关接口等。 (3)采用部分译码:地址可选380H383H(对应A、B、C、控制)2022/7/7上海大学18五 应用举例1 键盘接口外设非编码键盘通常采用矩阵式结构,由I/O接口线组成行列结构,按键设在行列交叉点上,如上图。键盘输入信息处理过程:(1) 令某一行为0,则如

10、果与该行交叉的列上有键按下,该列状态为低电平;无键按下,该列状态为高电平(2) 读入列线状态,即可判断有无键按下、按下何键(3) 将该键代表的信息转换为内部代码(ASC码或键号063) 8255 A口方式0,输出口; B口方式0,输入口程序: PORTA EQU 0380H PORTB EQU 0381H PORTC EQU 0382H PORTCN EQU 0383H2022/7/7上海大学19 MOV DX,PROTCN;方式字 MOV AL,10000010B;A出B入,均方式0 OUTDX,ALWAITK:MOVDX,PORTA;扫描全0输出MOVAL,0OUTDX,AL MOVDX,

11、PORTB INAL,DX CMPAL,0FFH JZWAITK;无键合上,继续等待MOVBL,0;键合上,用扫描法查键号MOVBH,11111110B;从PA0起扫描MOVCX,8FNDROW:MOVAL,BHMOVDX,PORTAOUTDX,AL2022/7/7上海大学20ROLBH,1MOVDX,PORTBIN AL,DX CMPAL,0FFHJNZFNDCOL;ADDBL,8;本行无键合上,扫描下一行,键号加8LOOP FNDROWJMPDONEFNDCOL:RORAL,1;本行有键合上,判哪一位JNCRIGHT;有键合上,键号在BL中INCBLJMPFNDCOLRIGHT:。;。DO

12、NE:。2022/7/7上海大学212 LED/开关接口 7段LED:a、b、c、d、e、f、g、DP, 分共阴极(所有阴极共同接地)与共阳极(所有阳极共同接+5V)二种。 不同二极管亮可组合出09的数字和小数点。例:8255作为开关输入、LED输出的接口, 将4位2进制开关组合信息显示在7段码LED(发光二极管显示器)上。2022/7/7上海大学22 ORG2000HMOVAL,82H;A出B入方式0方式字10000010BMOVDX,0FFFEH;口地址取FFF8HFFFFH的偶OUTDX,ALRDPORTB:MOVDL,0FAH;读入B口开关信息INAL,DXANDAL,0FH; 取低四

13、位MOVBX,OFFSET SSEGCODE;LED码值首址XLAT;查表,AL=(BX+AL)对应码值MOVDL,0F8H;A口输出OUTDX,ALMOVAX,56CH;延时,使LED显示保持DELAY:DECAXJNZDELAYJMPRDPORTBHLT 2022/7/7上海大学23ORG2500HSSEGCODEDB0C0H,0F9H,0A4H,0B0H DB99H,92H,82H,0F8HDB80H,98H,88H,83H DB0C6H,0A1H,86H,8EH2022/7/7上海大学243 8255控制打印机(方式0)打印机时序:/STROBE:选通信号,将数据打入打印机。BUSY:

14、表示打印机忙,不能接受数据。/ACK:打印机的应答信号,表示打印机已接收好了一个数据,并准备接收下一个数据。2022/7/7上海大学25初始化程序:8255A地址范围0380H0383HINIT55:MOVDX,0383H;A组方式0,输出MOVAL,10000011B;B组方式0,输入OUTDX,ALMOVAL,00001101B;PC6置1OUTDX,AL打印数据:PRINT:MOVAL,BLAK MOVCL,AL;字节数MOVSI,OFFSET DATAGOON:MOVDX,382HPWAIT:INAL,DX;查询PC1状态ANDAL,02H2022/7/7上海大学26JNZPWAIT;

15、BUSY再查询MOVAL,SIMOVDX,380HOUTDX,AL;数据输出MOVDX,382HMOVAL,0;STROBE低电平OUTDX,ALMOVAL,40H;STROBE高电平OUTDX,ALINCSIDECCLJNZGOONRET2022/7/7上海大学274 8255控制打印机(方式1)(1)A口方式1输出,用PC7作/OBF,PC6线作/ACK,PC3作INTR,PC6位作INTE。(2)当写A口后, /OBF有效, 使单稳输出一个负脉冲作为对打印机的选通信号/STROBE, 并将数据送到打印机。(3)打印机接收一个字符后,给出/ACK作为对A口/ACK的输入,一方面使/OBF无

16、效,另一方面在INTE=1的条件下,使INTR有效,引起中断申请。(4)中断服务程序又可送出下一个数据2022/7/7上海大学288255初始化程序:MOVDX,0383HMOVAL,10100000B;A口方式1,输出OUTDX,ALMOVAL,00001101B;PC6=1开中OUTDX,AL2022/7/7上海大学2983 可编程定时器/计数器8253实现与时间有关的计数、定时功能一 内部模型与外部引脚1 含3个计数器:计数器02。2 每个计数器内含:8位控制寄存器:决定工作方式。16位计数器寄存器CR:保存初值Count Register。16位输出锁存器OL:返回当前计数器值Outp

17、ut Latch。16位计数工作单元CE:执行减1 计数Counting Element。2022/7/7上海大学30每个计数器有三个输入输出CLK: 各计数器外部时钟(计数脉冲)输入端,CE对此脉冲计数;GATE: 门控, 控制各计数器工作OUT: 计数结束输出, 产生不同工作方式时的输出波形. 本质计数, 脉冲周期固定则定时.4 片选与地址:a /WR=0写控制寄存器或写CR,/RD=0读OL b 地址分配: /CS A1 A0 选中 四个端口用A1、A0, 0 00计数器0 其余线做片选 0 01计数器1 0 10计数器2 0 11控制寄存器2022/7/7上海大学31二 8253控制字

18、CW写入控制寄存器以控制各计数器工作方式BCD计数初值范围:0000-9999二进制计数初值范围:0000-FFFFH由于各计数器是减1计数,故最大初值为00002022/7/7上海大学32CW:控制字00 01 000 0B; LSB:计数初值的低字节; N不确方式0 (计数结束中断方式) (1) 一般情况: 初态GATE=OUT=1 写入CW置方式0 OUT=0 写入初值 下一CLK的下降沿初值从CR到CE 启动计数:每一CLK的下降沿CE减1 CE减到0,计数结束, OUT=1, 可做中断请求信号。(计数仍可继续, 初值0000)三 8253工作方式 - 注意启动计数方式和输出波形 3个

19、减1计数器必须先装入初值, 开始计数后每次从CLK端测到1个脉冲, 计数值减1, 减到0时本次计数结束, 输出OUT波形。2022/7/7上海大学33(2) 正在计数过程中 GATE=0 暂停计数 直到GATE=1后继续计数 计数结束, OUT=1。2022/7/7上海大学34(3) 正在计数过程中写入另一初值 停止原计数, 启动新计数 新的计数结束, OUT=1。写入初值后,初值即在下一CLK的下降沿从CR装入CE,同时启动计数, 与GATE无关 - 软件启动.减到0, OUT由低变高, OUT脉宽初值n+1, 与GATE有关CLK上升沿检测GATE,下降沿减1。GATE=1: 允许计数;

20、GATE=0: 禁止计数2022/7/7上海大学352 方式1 (硬件GATE可重触发的可编程单稳态方式)(1) 一般情况: 写入CW置方式1OUT=1写入初值到CR GATE上升沿 下一CLK下降沿初值从CR到CE, OUT=0, 并启动计数 CE减到0,计数结束, OUT=1。(2) 正在计数过程中出现新的 GATE上升沿 暂停当前计数 重置原初值重新计数 (重触发) 计数结束, OUT=1。(3) 正在计数过程中 写入另一初值 不影响原计数 原计数结束, OUT=1 下一个GATE上升沿启动新初值计数。2022/7/7上海大学36方式1置初值后,每一GATE上升沿后下一CLK的下降沿将初

21、值(新、旧)从CR装入CE,启动计数,同时OUT变低 - 硬件启动 (外部引脚)可由GATE上升沿重触发启动新计数, 计数初值可重新装入。每一CLK的下降沿CE减1, CE减到0,OUT=1; OUT输出一个单稳态负脉冲, 脉宽=计数初值个CLK宽度方式1可用于看门狗电路,设初值后若程序飞溢失控 (执行超过OUT脉宽时间),则发OUT=1到 RESET,重新启动CPU; 否则在程序中定期发GATE上升沿重新启动计数(OUT脉宽程序执行时间)。2022/7/7上海大学373 方式2 (频率发生器方式) (1) 一般情况: 写入CW置方式2 OUT=1 写初值到CR GATE=1条件下或GATE上

22、升沿 下一CLK下降沿初值从CR到CE,启动计数 CE减到1 OUT=0,下一CLK OUT=1 (单周负脉冲), 本次结束;且初值重新从CR到CE, 循环进行。 (2) 正在计数过程中出现GATE=0 停止当前计数,等待 出现新的 GATE上升沿 重置原初值重新计数。 (3) 正在计数过程中 写入另一初值 不影响原计数 原计数结束, OUT=1 装入新初值,启动新初值计数。2022/7/7上海大学38方式2计数既可软件启动(写初值), 又可硬件启动(GATE上升沿)一般情况下OUT为周期性信号,计数结束可自动重新装入初值 T = 计数初值n * CLK周期TCLK 频率 f = fCLK /

23、 n - n分频频率发生器 计数周期n = 正脉冲宽度n-1 + 负脉冲宽度1GATE=0,停止计数且强制OUT=1; GATE=1,对CLK减1计数; GATE上升沿重新启动。2022/7/7上海大学394 方式3 (方波频率发生器)同方式2,但OUT产生的是对称或近似对称方波脉冲。(1) 初值为偶数:第一次初值装入,OUT=1,每个CLK减2,减到0,OUT=0。 第二次初值装入,每个CLK减2,减到0,OUT=1。循环进行。(2) 初值为奇数:第一次初值装入,OUT=1,先减1,随后逐次减2,到0,OUT=0。 第二次初值装入,先减3,随后逐次减2,到0,OUT=1,循环进行。2022/

24、7/7上海大学405 方式4 (软件触发选通) 置方式字后,OUT=1 置初值后下一个CLK的下降沿初值从CR到CE,并启动计数 GATE=0,停止计数,GATE=1,对CLK减1计数,减到0,OUT=0,一个CLK后,OUT=1, 本次计数结束。与方式0相似,初值设置启动计数,软件启动(触发); 区别: (1) 开始及计数期间: 方式0 OUT=0; 方式4 OUT=1 (2) 结束: 方式0 OUT变高; 方式4 OUT 1个负脉冲 (3) 负脉冲宽度: 方式0 n+1个CLK; 方式4 1个CLK2022/7/7上海大学416 方式5 (硬件触发选通) 置方式字后,OUT=1 写入初值

25、GATE上升沿下一CLK的下降沿将初值从CR到CE,并启动计数 减到0,OUT变低一个CLK后,OUT又变高, 本次结束 出现新的GATE上升沿,下一个CLK下降沿重新装入初值到CE,且启动新的减1计数。与方式1相似, GATE上升沿启动计数,硬件启动(触发); 区别:(1) 开始及计数期间: 方式1 OUT=0; 方式5 OUT=1 (2) 结束: 方式1 OUT变高; 方式5 OUT 1个负脉冲 (3) 负脉冲宽度: 方式1 n个CLK; 方式4 1个CLK波形与方式4相似, 只是启动方式不同2022/7/7上海大学427 GATE功能:2022/7/7上海大学436种工作方式波形比较20

26、22/7/7上海大学44四 8253的初始化1 一般可编程接口芯片在工作前必须进行初始化,完成通道、工作方式、初值、功能的设定。2种初始化方法 a, 逐个对计数器初始化 b, 先写所有计数器的方式字,再对各计数器装入计数值2022/7/7上海大学45给计数器写入字初值的方法:对同一地址写2次,先低后高例:先设置三个计数器工作方式,再设置初值。 MOVDX,0FF07HMOVAL,36H;00 11 011 0BOUTDX,AL;计数器0, 方式3, 二进制, 先低后高MOVAL,71H;01 11 000 1BOUTDX,AL;计数器1, 方式0, BCD, 先低后高MOVAL,0B5H;10

27、 11 010 1BOUTDX,AL;计数器2, 方式2, BCD, 先低后高MOVDX,0FF04H;计数器0MOVAL,0A8H;61A8H OUTDX,ALMOVAL,61H2022/7/7上海大学46 OUTDX,ALMOVDX,0FF05H;计数器1MOVAL,0;200OUTDX,ALMOVAL,02HOUTDX,ALMOVDX,0FF06H;计数器2MOVAX,0050H;50OUTDX,ALMOVAL,AHOUTDX,ALRET2022/7/7上海大学472 读计数器的2种方法a,停止计数器的工作(GATE禁止或阻断CLK),再读。b, 在计数器不停止工作时,先发锁存命令,再读

28、(飞读)。例:设对计数器1已设定的控制字中RL1RL0 (D5D4) =11 MOVDX,TIM+3; 设计数器0的地址是TIMMOVAL,01000000B;控制字锁存计数器1的计数值OUTDX,ALMOVDX,TIM+1; 读,先低再高INAL,DXMOVAH,ALINAL,DXXCHG AL,AH从计数器读字计数值的方法:对同一地址读2次,先低后高2022/7/7上海大学48例:要求计数器0输出2KHz方波, 计数脉冲输入为2.5 MHz, BCD计数,试写出初始化程序段。8253地址取40H43H。 解:计数器初值=2.5MHz/2KHz=1250, 故工作于方式3,16位计数长度 方

29、式控制字是00 11 011 1B=37H五 寻址及连接 PC机主板用1片8253, 连接如图, 部分译码: /CS, A0, A1寻址 /RD, /WR实现读写 4个端口地址:040H 05FH中连续的4个2022/7/7上海大学49程序如下:MOVAL,37HOUT43H,ALMOVAL,50HOUT40H,ALMOVAL,12HOUT40H,ALRET2022/7/7上海大学50六 应用举例例1 用8253监视生产流水线:每通过50个工件,扬声器响5秒,频率2000Hz。光敏电阻:受光照电阻降低。计数器0:循环计数,方式2,CLK0输入工件的计数脉冲,初值50,BCD码。方式字00 01

30、 010 1 B=15H计数器1:方式3,初值2.5MHz/2000Hz=1250,BCD码。方式字01 11 011 1 B=77H。 GATE1由8255PA0变高5秒发声。2022/7/7上海大学51程序:设8253地址4043H,8255的A口地址80H主程序:MOVAL,15HOUT43H,AL ; 计数器0方式设置MOVAL,50H;初值50OUT40H,AL STILOP:HLTJMPLOP中断服务程序:MOV AL,01H ;PA0=1产生上升沿OUT80H,ALMOVAL,77H ;计数器1方式设置OUT43H,AL MOVAL,50H ;初值1250 OUT41H,AL M

31、OVAL,12HOUT41H,ALCALLDL5SMOVAL,0 ;GATE1=0 OUT80H,AL IRET2022/7/7上海大学52例2:三个计数通道组合应用画出当K打到+5V时各信号的波形,并写出初始化程序。2022/7/7上海大学53注意:组合应用时应首先搞清因果链:已知:CLK,K上升沿 CLK0, CLK2, GATE1, GATE2 计数器2工作 OUT2输出方波 CLK1(GATE1) 计数器1工作 OUT1负脉冲 GATE0上升沿(CLK0) 计数器0工作 OUT0周期负脉冲 OUTCLK时钟2.5MHz,周期T=0.4us计数器2:方式3,初值2000,CLK2=CLK

32、 OUT2对称方波,周期T2=2000*T=800us(频率是1250Hz)计数器1:方式1,初值500,CLK1=OUT2 OUT1单稳态负脉冲,宽度T1=500*T2=0.4s计数器0:方式2, 初值1000, CLK0=CLK OUT0周期性负脉冲, 周期T0=1000*T=400us (频率2500Hz), (1000-1)T高 + 1T低; GATE0在OUT1负脉冲期间为1, 故周期性方波持续时间为0.4s;其它时间GATE0=0,OUT0输出高电平。OUT为OUT0反相波形,周期T3=T0,持续时间0.4s。2022/7/7上海大学542022/7/7上海大学55初始化程序:82

33、53地址是80H83HMOVAL,00 11 010 1B;通道0方式2OUT83H,ALMOVAL,0;通道0初值OUT80H,ALMOVAL,10HOUT80H,ALMOVAL,01 11 001 1B;通道1方式1OUT83H,ALMOVAL,0;通道1初值OUT81H,ALMOVAL,5OUT81H,AL MOVAL,10 11 011 1B;通道2方式32022/7/7上海大学56OUT83H,ALMOVAL,0;通道2初值OUT82H,ALMOVAL,20HOUT82H,AL2022/7/7上海大学578.4 串行接口芯片一 串行通信概述串行通信通信方式:同步通信、异步通信传送速度

34、-波特率:串行通信时每秒传送的二进制位数Baud Rate 单位:位/秒 = 波特2022/7/7上海大学581 同步通信在约定波特率下,收发双方所用时钟频率完全一致 (同步)数据格式: 同步字符 + 数据 + CRC1 + CRC2 (“循环冗余检验” 的缩写,Cyclical Redundancy Check) 传送方向 1帧数据 = 1个字符特点:传送数据位数不受限制,速度快(可达500K波特)设备较复杂,成本高。2 异步通信 在约定波特率下,两端时钟频率不需要严格同步,允许10%的相对延迟误差。数据格式 (1帧数据 = 1个字符): 1位 低位 传送方向 高位 1位 1位1.5 位2位

35、 不传送时,通信线路处于逻辑1(MARK)称空闲位 传送时:先发起始位 (逻辑0) 数据位 (用ASCII编码的为7位) 校验位 (可奇校可偶校, 也可固定为0或1) 停止位 (逻辑1)2022/7/7上海大学59如后面接着另一个字符,则又要起始位0,否则一直逻辑1(空号位)设传送速率为120字符秒,10位字符则传送波特率 = 10*120 =1200位秒 = 1200波特每位传送时间 = 1S 1200 =0.833 ms波特率最常用有110、300、600、1200、2400、4800、9600等若传送ASCII字符“A”,用偶校,一个停止位,因“A”的ASCII码是41H,则2022/7

36、/7上海大学60二 串行传送中的几个问题1 传送方向:单工:一根线, 数据只能从A送往B,单方向传送; 每个传送站 (设备) 只有单功能 (发送 / 接收)半双工:一根线, 数据能从A送往B,也能从B送往A,可交替双向传送;每个传送站 (设备) 具有双功能 (发送 / 接收),但在某一时刻只能选一种。全双工:二根线,数据能从A送往B,也能从B到A,两站能同时双向传送;每个站 具有双功能,可同时实现 。2022/7/7上海大学612 信号的调制与解调计算机发送的是数字信号要求传输线的频带很宽,当通过电话线长距离传送时会发生畸变失真。通常先将数字信号转变为模拟信号,在电话线上发送,再在另一端将模拟

37、信号转变成数字信号接收。完成这种转换的是调制解调器,常称MODEM(MOdulator-DEModulator)。例:常用的调制方法有调频,0与1用不同的频率信号表示;还有调幅与调相。2022/7/7上海大学62三 串行接口 串行通信通过接口器件实现,完成以下功能:(1)设置数据传送格式及有关参数,如波特率、位数等。(2)把并行码 串行码发送出去(3)接收串行码 并行码保存供CPU读取(4)监视通信接口状态,判定错误并实现联络同步 典型接口芯片: 8251(同步/异步),8250(异步)四 串行通信总线RS-232C2022/7/7上海大学631 RS-232C是美国电子工业协会(EIA)公布

38、的一种串行数据通信接口标准,是使用串行二进制数据交换的数据终端设备(DTE)和数据电路终端设备(DCE,也称数据通信设备)之间的接口标准,RC( mended Standard)表示“推荐标准”,232是序号,C是版本号。 (1)数据终端设备 Data Terminal Equipment(DTE)通常指PC机等。 (2)数据通信设备 Data Communication Equipment(DCE)通常指MODEM等。2022/7/7上海大学642 RS-232C主要特点传输距离远: 基带方式30M,电流环方式1000M。 基带传输:直接传送未经调制的数字信号的一种 传输方式(不需要MODE

39、M)。多种传输速率选择:50、75、110 . 9600、19200波特率。逻辑电平采用负逻辑无间隔不归零电平码(无0电平): 逻辑0:正电平+3V +15V 逻辑1:负电平-3V -15V 抗干扰能力强,传送距离远信号线少:25根线,25芯D型连接器,分为2个信号通道(主通信通道、次通信通道),全双工通信对于PC机通信常简化为9芯D型连接器(是RS-232C的一个子集)。2022/7/7上海大学653 主要接口信号定义:(常用9芯结构 2,3,4,5,6,7,8,20,22)2022/7/7上海大学665 采用电流环回路,抗干扰能力强,传输距离远。4 电平转换电路:75150或1488将TT

40、L电平转成RS-232C电平;75154或1489将RS-232C 电平转成TTL电平。2022/7/7上海大学67五 可编程通信接口8251A(USART)1 8251是INTEL公司生产的通用同步/异步收发器USART(Universal Synchronous/Asynchronous Receiver/Transmitter),既能实现异步通信也能实现同步通信。(1) 8251A的编程模型:28脚芯片 当C/D=1: 读状态字或写控制字 当C/D=0: 读接收的或写发送的数据.(2) TxRDY引脚(发送器准备好)为高的条件: a 输出寄存器空 b /CTS输入低(允许传送数据) c

41、TxEN位=1(命令字中允许发送位)(3) 状态字中TxRDY位为1的条件: 只要输出寄存器为空2022/7/7上海大学682022/7/7上海大学692022/7/7上海大学702 初始化(方式字、命令字与状态字)(1)异步方式字格式:复位后对C/D=1时写入. 波特率因子: 时钟频率与数据波特率之间的关系2022/7/7上海大学71(2)同步方式字格式: 复位后对C/D=1时写入.2022/7/7上海大学72(3)命令控制字格式:通信过程中C/D=1时写入说明: 方式指令和命令指令都是CPU作为控制字写入,写入时口地址相同,为不混淆,用顺序控制,复位后写入的控制字为方式指令,以后为命令指令

42、,且复位以前,所有写入的控制字均为命令指令。2022/7/7上海大学73(4)状态寄存器信息格式: C/D=1时读出TxRDY:发送缓冲器空,该位置“1”,其它各位含义同引脚。2022/7/7上海大学743 8251的编程(1)可靠复位(总清) 先向C/D=1送三个00H,再在C/D=0送二个00H。然后发布复位命令:C/D=1送40H(C/D通常与地址线的最低位连接)(2)初始化编程: 复位后对C/D=1的写(OUT)是初始化命令。用方式控制字设置工作方式随后:异步方式: a发布第一个命令字,使RxE,TxEN为允许状 态,ER=1。清错误标志。 b 即可对C/D=0输出数据进行数据通信.其

43、间可发命令字. c 要重新设置方式字,必须发IR=1的复位命令.2022/7/7上海大学75同步方式:(3)通信过程编程:查询方式:用C/D=1读状态寄存器; 测试RxRDY位,确定是否输入已接收了字符; 测试TxRDY位,确定是否要发送输出字符。中断方式:用RxRDY与TxRDY形成中断请求信号2022/7/7上海大学764 8251作异步通信接口举例:75150:TTL电平RS-232C电平75154:RS-232C电平TTL电平2022/7/7上海大学7785 模拟接口8.5.1 D/A数模转换器 Digital Analog Convertor的基本原理外设:工作于数字方式-数字设备:

44、数字量 工作于模拟方式-模拟设备: 模拟量2022/7/7上海大学78UR为参考电压,Vo为对应数字量an an-1a2a1的模拟电压,I=UR/R,对于n位数字量,有:采用如下权电阻网络实现:2022/7/7上海大学79各支路电流开关控制各支路电流流向,由于各支路电流以2i的等比级数下降,并由各数码输入端的数字量控制,此电路构成了一种数模转换器。 设UR=5V,n=8,当数字量是全0,Uout=0V,数字量是全1,Uout=-5*255/256V。分辨率:D/A转换器一个LSB(Least Significant Bit最低有效位)输入变化使输出模拟量变化的程度,常用D/A转换器的二进制位数

45、表示。 对n位D/A转换器,分辨率=参考电压满度值2n例:10位DAC,参考电压满度值+5V,则 分辨率=5V/210=4.88mv 如12位,分辨率=5V/212=1.22mv 位数越多,分辨率越高,决定了系统的固有精度。2022/7/7上海大学808.5.2 数/模转换器DAC0832及其接口一 引脚及其功能:20脚芯片ILE:输入寄存器选通命令,Input Latch Enable/WR1:写输入寄存器命令。/WR2:写DAC寄存器命令/XFER:允许输入寄存器数据DAC寄存器,transfer controlVref: 参考输入电压 -10V+10V; Vcc: 电源电压 +5V+15

46、VIout1,Iout2:D/A转换器差动电流输出Rfb:反馈电阻.AGND,DGND:模拟与数字地2022/7/7上海大学81二 工作过程 CPU送D0D7, ILE=1, /CS=/WR1=0 D0 D7 数据锁存到输入寄存器 CPU送 /XFER=/WR2=0 数据锁存到DAC寄存器供DAC转换器转换 输出模拟量IOUT1、IOUT2三 三种工作方式 a 两级缓冲工作方式: 第一级:/CS=/WR1=0,ILE=1将数据锁存到输入寄存器。 第二级:/WR2=/XFER=0将数据锁存到DAC寄存器。 可实现多通道D/A同步转换输出:此时各片第一级将数据依次锁存到输入寄存器;然后各片第二级同

47、时将数据锁存到DAC寄存器开始转换输出模拟量。 b 单缓冲方式:使一个寄存器直通,另一个选通。 c 直通工作方式:全直通。四 电流输出型,要获得模拟电压输出需外加输出转换电路2022/7/7上海大学821 单极性输出电路 A 反向输出电路 Uout= -iR B 同向输出电路 iR=Uout*R1/(R1+R2) Uout=iR*(1+R2/R1)2 双极性输出电路 点的电流:Vref/R4= -(U1/R2+Uout/R3) 有Uout= -U1R3/R2+VrefR3/R4) 设R3=R4=2R2: Uout= -(2U1+Vref) 由于U1与Vref极性相反,数字量全0时,U1=0,U

48、out= -Vref;数字量全1时,U1= -Vref,Uout=Vref ,实现了双极性输出。2022/7/7上海大学83四 数/模转换器与微处理器的接口 设地址译码为 92H,是两级缓冲工作方式,下列程序产生锯齿波:DAOUT:MOVDX,92H MOV AL, 00HLOOP: OUTDX,AL DECAL JMPLOOP RET2022/7/7上海大学848.5.3 A/D模/数转换器Analog Digital Convertor A/D变换器结构(逐次逼近型)及工作原理1 结构原理: 逐次变换寄存器控制D/A输出,接收比较器的反馈。 原理类似天平称重:n位逐次变换R中D0 Dn-1

49、对应n个等比级数值砝码,由高到低逐位试探决定该位的去留;8位试探结束,该R中留下的码值即为对应输入模拟量的数字量2022/7/7上海大学852 量化间隔 (等价于分辨率):数字量一个LSB所代表的模拟电压值。例:8位ADC芯片,最大输入电压5.12V,有: 量化间隔=5.12V/256=20mv3 逐次逼近变换过程(上例,设输入模拟量为3.49V)转换结果为 10101110B=0AEH,1个LSB代表0.02V,0AEH*0.02V=174*0.02V=3.48V,用0AEH作为输入模拟量3.49V的数字表示。2022/7/7上海大学86二 8位A/D变换器芯片ADC08091 引脚及内部结构模拟开关部分:从8路模拟输入中选择一路作为Vin IN0IN7: 8路

温馨提示

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

评论

0/150

提交评论