微机接口芯片及应用课件_第1页
微机接口芯片及应用课件_第2页
微机接口芯片及应用课件_第3页
微机接口芯片及应用课件_第4页
微机接口芯片及应用课件_第5页
已阅读5页,还剩119页未读 继续免费阅读

下载本文档

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

文档简介

第九章微机接口芯片及应用课时数:10-11第九章微机接口芯片及应用课时数:10-11第九章主要内容一、可编程通用接口芯片的应用方法二、可编程并行接口芯片8255A(P408)三、可编程串行接口芯片8250/16550(P430)四、可编程定时/计数接口芯片8254/8253(P440)五、可编程中断控制器8259A(P459)六、A/D和D/A接口芯片(P485)第九章主要内容一、可编程通用接口芯片第九章习题(P514)5、6、10、17、19、34较难的习题(可只做框图或流程图):7、12、35思考:1、2、3、4、8、13、14、18、22、31、322005.6.8交作业第九章习题(P514)5、6、10、17、第九章结束第九章结束可编程接口芯片的开发应用了解芯片的基本性能(功能)和内部结构;掌握芯片的外部连接特性,以进行硬件设计。一般将引 脚分为面向CPU和面向外设的两部分。注意端口地 址的确定方法(面向CPU一边);掌握芯片各控制字的含义和设置方法,能根据系统设计 要求确定各控制字值;CPU在初始化程序中按要求发送各控制字到相应端口 (寄存器)以确定芯片的工作方式和状态;CPU在工作过程中可以通过读状态端口检查接口芯片的 工作状态,并可重新设置和发送某些控制字值,以 改变芯片的工作方式;可编程接口芯片的开发应用了解芯片的基本性能(功能)和内部

初始化时用户只需确定端口地址及控制字,并通过送出控制 字确定8255A各端口的工作方式;

数据传送过程中,用户通过读/写端口A、B、C实现数据收/发。 注意C口的位操作方式是通过写控制字来实现的。可编程通用并行接口芯片Intel8255(P408)最简单的并行接口可由一些锁存器和(或)总线缓冲器/驱动器组成,只能完成CPU与外设的无条件数据传送;而8255可完成无条件和查询式、中断控制式数据传送,其具体的工作方式由用户程序确定。

8255的内部结构及基本功能(P411)

8255的外接特性及端口地址(P409)8255的三种工作方式(P414)及控制字(P412)8255的程控技术(P412)初始化时用户只需确定端口地址及控制字,并通过送出控制 字8255的内部结构及基本功能(P411)读/写逻辑控制A组控制B组控制A8bitPA7~PA0C上半部4bitC下半部4bitPC7~PC4PC3~PC0B8bitPB7~PB0CPU接口内部逻辑外设接口三个独立的8位数据端口;C口的其它用法:用作两个独立的4位数据端口;用作状态或控制口,按位置位或复位;为A、B口提供所需的各种联络信号;具有三种工作方式;数据总线缓冲器D7~D0RESETRDWRCSA0A18255的内部结构及基本功能(P411)读/写A组控制B组控为保证8255A和8086的数据交换正确,可将8255与8086CPU的低8位数据线相连,注意这时8255A的4个端口都应该分配偶地址,即8086的A2、A1分别接8255的A1、A0。8255的外部特性及端口地址的确定(P409)PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7

D0D1D2D3D4D5D6D734433332231130402939283827371819920821622523362435251415161713261211108255A面向CPU面向外设操

作CSA0A100011011读/写端口A读/写端口B读/写端口C写控制寄存器数据总线三态1XX0000A0A1/CS/RD/WRRSTVCCGND为保证8255A和8086的数据交换正确,可将8258255的工作方式0-基本的输入或输出(P414)一、输入时序(INAL,PORT)(P414)tRD数据有效tDFtRRRDD7~0tRAtARCS,A1,A0tHRtIR外设输入数据数据有效二、输出时序(OUTPORT,AL)见P4158255的工作方式0-基本的输入或输出(P414)一、输入时三、数据传输特点1.最多可提供三个8位端口或两个8位端口+两个4位端口2.所有端口均为单向传输(即只能做输入或输出)3.可实现无条件或自定义联络信号(C口)的查询传送CPU8255打印机并行接口(P297)(2~9)(1)(11)(16)PA0~7PC7PC2地D0~7STBBUSY地DBP416例9.5三、数据传输特点8255打印机并行接口(P297)(2~9)8255的工作方式1-选通的输入或输出(P417)PA7~PA0PC4PC5PC3INTEA与门IBFASTBAINTRARDD7~D0A口方式1输入时相应的联络信号B口方式1输入时相应的联络信号IBFBSTBBINTRBPB7~PB0PC2PC1PC0INTEB与门RDD7~D0一、输入接口信号的定义与时序(P417)8255的工作方式1-选通的输入或输出(P417)PA7~PPB7~PB0PA7~PA0STBIBFINTRRD外设送来数据②⑥当INTE=1时

①⑤③④⑦⑧⑧中断服务程序中CPU从A口或B口读取外设输入的数据PB7~PB0PA7~PA0STBIBFINTRRD外设送A口方式1输出时相应的联络信号B口方式1输出时相应的联络信号PA7~PA0PC7PC6PC3INTEA与门ACKAOBFAINTRAWRD7~D0PB7~PB0PC1PC2PC0INTEB与门ACKBOBFBINTRBWRD7~D0二、输出接口信号的定义与时序(P419)A口方式1输出时相应的联络信号B口方式1输出时相应的联络信号①送往外设的数据写入相应端口WROBFINTRACK②③当INTE=1时

PB7~PB0PA7~PA0中断服务程序中CPU向A口或B口写入输出给外设的数据②④⑤①送往外设的数据写入相应端口WROBFINTRACK②③当I三、数据传输特点1.最多可提供两个8位端口(组合方式见图9-13P421

)2.所有端口均为单向传输(即只能做输入或输出)3.可实现固定联络信号(C口)的查询传送或中断传送 ,未定义的C口信号线可自行定义使用。CPU8255打印机并行接口PA0~7PC7PC6D0~7STBDBPC3ACKOBFINTRPC0P416例9.7三、数据传输特点8255打印机并行接口PA0~7PC7PC6数据传输特点:1.A为双向端口,B为单向端口,C口组合方式见P425表9-72.可实现固定联络信号(C口)的查询传送或中断传送 ,未定义的C口信号线可自行定义使用。8255的工作方式2-双向输入、输出(P423)PA7~PA0PC6PC7ACKAOBFAD7~D0RDWRPC4PC5STBAIBFAINTEA1PC4INTEA2PC6与门PC3INTRA或门与门中断服务程序中CPU可通过查询IBF和OBF信号来确定此次中断是输入还是输出操作数据传输特点:8255的工作方式2-双向输入、输出(P4238255的工作方式控制字(P412)1D7D6D5D4D3D2D1D00输出1输入PC3~PC0B口0

输出1输入0方式01方式1B口工作方式PC7~PC40输出1输入A口0输出1输入特征位,D7=1表示是方式控制字A口工作方式00方式001方式11x方式28255的工作方式控制字(P412)1D7D6D5D4D30D7D6D5D4D3D2D1D00复位1置位设置内容特征位,D7=0表示是C口按位置位/复位控制字无意义选择操作位8255的C口置/复位控制字(P413)D3D2D1C端口位000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC70D7D6D5D4D3D2D1D00复位设置内容特征位,DD7D6D5D4D3D2D1D0控制字例1:某8255A占用端口地址范围0F0~0F3H1)确定各端口地址。2)编程设置8255A:A口方式0输入,B口方式0输出PC7~PC4输出,PC3~PC0输入结论:A口地址0F0H,B口地址0F1H,C口地址0F2H,控制口地址为0F3H;控制字10010001B,即91H

MOVAL,91HOUT0F3H,AL解:A7

A6A5A4

A3

A2

A1

A01

1

1

1

0

0

0

01

11

1

0

0

0

11

1

1

1

0

0

1

01

1

1

1

0

0

1

1A1A0CS地址0F0H

0F1H0F2H

0F3H0

0

0

1

1

01

11特征位00A口方式01A口输入0PC7~PC4输出0B口方式00B口输出1PC3~PC0输入D7D6D5D4D3D2D1D0控制字例1:某8255A占用例2:设8255的A口工作于方式1输入,B口工作于方式0输出,若允许A口产生中断,试编程初始化该8255(其端口地址为60H~63H)。MOVAL,0B0H;1011x00XOUT63H,AL;写方式控制字MOVAL,09H;0XXX01001OUT63H,AL

;写置/复位控制字,置INTEA=1b7b6b5b4b3b2b1b0

1011x00xb7b6b5b4b3b2b1b00xxx1001C口置/复位控制字工作方式控制字例2:设8255的A口工作于方式1输入,B口工作于方式0输出例1:利用8255的PC6产生方波,经滤波和功放后,送到扬声器以发出不同频率的声音。(P414)MOV DX,306H ;8255控制口MOV AL,00001101B ;置PC6=1OUT DX,AL CALL DELAY ;高电平维持时间MOV AL,00001100H ;置PC6=0OUT DX,AL CALL DELAY ;低电平维持时间其中DELAY为延时子程序,改变延时时间,即可改变喇叭发声的频率。例1:利用8255的PC6产生方波,经滤波和功放后,送到扬声例2:现有为某应用系统配置的一个并行打印机接口,采用查询方式通过接口把缓冲区中的100个ASCII字符打印出来。(P416)MOVDX,306H

MOVAL,10000001B OUTDX,AL ;发方式控制字MOVAL,00001111B OUTDX,AL ;使数据选通无效:PC7置高,/STB=1MOVSI,OFFSETBUF MOVCX,64H MOVDX,304H

INAL,DX ANDAL,04HJNZLL ;PC2(BUSY)=1表示打印机忙,CPU等待MOVDX,300H

LODSB OUTDX,AL ;发数据至A口MOVDX,306H

MOVAL,00001110BOUTDX,ALCALLDELAY MOVAL,00001111B OUTDX,AL ;使数据选通信号出现有效负脉冲LOOPLL 初始化查询发数据发选通LL:例2:现有为某应用系统配置的一个并行打印机接口,采用查询方式例3:编程实现中断控制方式下工作的打印机接口。(P422)MAIN:…… ;内务操作

…… ;保存旧中断向量,设置新中断向量 MOV AL,0A0H OUT 0C6H,AL ;发方式控制字 MOV AL,01H OUT0C6H,AL ;使选通无效,PC0=1 MOVAL,0DH OUT0C6H,AL ;允许8255的A口中断(PC6=1) STI ;开总中断 MOV CNT,0 ;发送计数器清0WAT:LOOPWAT ;等待中断RINT:MOV SI,OFFSETTAB ADD SI,CNT MOV AL,[SI] ;取待打印的字符数据 OUT 0C0H,AL ;输出字符 MOV AL,00H OUT 0C6H,AL CALL DELAY INC AL OUT 0C6H,AL ;产生有效的选通信号负脉冲(PC0)INC CNT ;发送计数器加1 IRET 主程序完成初始化中断服务子程序完成数据发送例3:编程实现中断控制方式下工作的打印机接口。(P422)M例4:编程实现矩阵扫描键盘和动态数码显示屏的控制。(P426)OUTINOUTOUT例4:编程实现矩阵扫描键盘和动态数码显示屏的控制。(P426例5:编程实现8255控制的A/D/A接口。(P429)1.初始化8255A方式1,B方式0(1~3行)2.启动AD(PC7)(4~8行)3.查询IBF(PC5)(9~12行)4.收AD数据(13、14行)5.发数据到DA(15、16行)D/A例5:编程实现8255控制的A/D/A接口。(P429)1.可编程通用串行接口芯片Intel8250(P430)初始化时需要发送各种控制字以确定波特率、数据格式及中 断允许情况;数据传送时需要读取各种状态字以确定当前应做的操作;

8250的内部结构(P432)

8250的外部特性及端口地址(P430)

8250的初始化及应用编程(P436)8250是一种常用的可编程通用异步串行通信接口芯片(UART,UniversalAsynchronousReceiverTransmitter)其主要特点包括:波特率可程控、数据格式可程控、可与Modem通信并报告其状态、可进行中断优先权控制、具有故障报告等内部诊断功能。可编程通用串行接口芯片Intel8250(P430)初8250的内部结构(P432)电平转换8250的内部结构(P432)电平转换8250的外部特性及端口地址的确定(P430)与CPU的连接与Modem的连接线路控制寄存器的D7位:寻址识别位DLAB08250的外部特性及端口地址的确定(P430)与CPU的连接发送LCR控制字设置数据帧格式(P436例9.10)D7D6D5D4D3D2D1D0xx0:校验位无效001:奇校验011:偶校验101:校验位恒0111:校验位恒1校验方式数据帧长00:5位01:6位10:7位11:8位间断设置寻址识别停止位长0:其它寄存器1:分频寄存器0:1位1:1.5或2位1-强制间断(无数据时为空号逻辑0)0-正常(无数据时为传号逻辑1)发送LCR控制字设置数据帧格式(P436例9.10)D7D6发送分频控制字设置波特率(P436例9.11)波特率分频器DLM(H)分频器DLL(L)波特率分频器DLM(H)分频器DLL(L)5009H00H360000H20H7506H00H480000H18H11004H17H720000H10H15003H00H960000H0CH30001H80H1152000H0AH60000HC0H1920000H06H120000H60H2304000H05H180000H40H5760000H02H240000H30H11520000H01HMOV AL,10000000B MOV DX,3FBH

OUT DX,AL ;通知8250后面将设置波特率MOV AL,0CH MOV DX,3F8H

OUT DX,AL ;写入分频值低位MOV AL,00H INC DX

OUT DX,AL ;写入分频值高位发送分频控制字设置波特率(P436例9.11)波特率分频器分发送中断允许控制字设置中断种类(P436例9.12)发送中断允许控制字设置中断种类(P436例9.12)接收/发送程序(P438例9.14) MOV DX,3FDH IN AL,DX ;读线路状态寄存器(P434图9-25) TEST AL,1EH ,是否出错? JNZ ERR ;是,转错误处理 TEST AL,01H ;是否“接收数据准备好”? JNZ RECE ;是,转接收 TEST AL,20H ;是否“发送数据缓冲器空”? JNZ TRAN ;是,转发送 ……RECE: MOV DX,3F8H IN AL,DX …… ;处理接收的数据

TRAN: MOV DX,3F8H …… ;准备待发送的数据 OUT DX,AL ……

ERR: ……PC机中建议使用BIOS中断调用对串口进行操作(P439)接收/发送程序(P438例9.14) MOV DX,3FDH

初始化:8253没有复位端,开机后必须进行软件初始化。另外,在改变计数器工作方式时也需要对8253进行初始化设置。必须先写入控制字,再设置计数初值。在设置计数初值时,要根据控制字中内容确定是只写高8位, 只写低8位,还是先低后高写入16位。

读计数值:CPU应先送计数器锁存命令,再用输入指令从输出锁存器中 获取计数值。

读取计数值时应根据控制字内容确定是只读高8位,只读低8 位,还是先低后高读出16位。可编程通用定时/计数接口芯片Intel8253

8253的内部结构及基本功能(P442)

8253的外接特性及端口地址(P441)

8253的控制字及工作方式(P444)8253的程控技术初始化:8253没有复位端,开机后必须进行软件初始化。另定时/计数功能的实现定时功能和计数功能均可通过计数器来实现:若计数器输入为 标准时钟脉冲,则通过计数可得到时间间隔,实现定时功 能;若计数器的输入为需计数的信号,则计数值就是一定 时间内信号(脉冲)出现的次数,即实现计数功能。定时/计数实现方式:软件、硬件。定时/计数器控制寄存器状态寄存器数据缓冲读/写控制逻辑计数初值寄存器当前计数值输出寄存器计数器计数控制数据总线RESETREADY中断申请CLKGATEOUT面向外设面向CPURDWRCSA0定时/计数功能的实现定时功能和计数功能均可通过计数器来8253的内部结构及基本功能(P442)控制寄存器CRHCRL计数初值寄存器OLHOLL输出锁存器CEHCEL计数执行部件16位减法计数器0CLK0GATE0OUT0计数器1计数器2CLK1GATE1OUT1CLK2GATE2OUT2数据总线缓冲器D7~D0读写逻辑电路RDWRA0A1CSCPU接口计数通道8253的内部结构及基本功能(P442)CRHCRL计数初8253的外接特性及端口地址的确定(P441)8796115104321511422132319201821162417128253D0D1D2D3D4D5D6D7/WR/RDA0A1/CSVCCGNDCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2面向CPU面向外设数据总线三态1XX写控制寄存器011读/写计数器2001读/写计数器1010读/写计数器0000操

作A0A1CS8253的外接特性及端口地址的确定(P441)88D0D1D二进制计数时最小值为0001H,最大值为10000H(65535)十进制(BCD码)计数时最小值为0001,最大值为10000。8253的控制字及工作方式(P444)D7D6D5D4D3D2D1D0D0=0,采用二进制计数;D0=1,采用二-十进制计数;D3D2D1=000,计数器工作在方式0D3D2D1=001,计数器工作在方式1D3D2D1=010,计数器工作在方式2D3D2D1=011,计数器工作在方式3D3D2D1=1X0,计数器工作在方式4D3D2D1=1X1,计数器工作在方式5D5D4=00,将当前计数值锁存至输出寄存 器中以供CPU读;D5D4=01,只读/写计数器低8位;D5D4=10,只读/写计数器高8位;D5D4=11,先读/写计数器低8位,再读/写 计数器高8位;D7D6=00,选择计数器0的控制寄存器;D7D6=01,选择计数器1的控制寄存器;D7D6=10,选择计数器2的控制寄存器;D7D6=11,非法;二进制计数时最小值为0001H,最大值为100008253工作在方式0时的波形图(P445)CW写入后使输出OUT变为低电平LSB之后的第一个CLK下降沿才将计数初值送入计数器计数减至0后OUT恢复为高电平GATE信号可以使计数暂停计数过程中重新写入的初值将在之后的第一个CLK下降沿起作用6种工作方式的对比P4508253工作在方式0时的波形图(P445)CW写入后使输出例1:某8253占用端口地址为40H~43H,其中计数器0工作在方式0,初值为4,二进制计数,试初始化该8253。初始化程序:MOVAL,10HOUT43H,AL;写计数器0的控制字MOVAL,04HOUT40H,AL;写计数器0的初值00001000控制字例1:某8253占用端口地址为40H~43H,其中计数器例2:某8253占用端口地址为40H~43H,其中计数器1工作在方式3,初值为4020H,十进制计数,试初始化该8253。初始化程序:MOVAL,77HOUT43H,AL;写计数器1的控制字MOVAL,20HOUT41H,AL;写计数器1的低8位MOVAL,40HOUT41H,AL;写计数器1的高8位11101110控制字例2:某8253占用端口地址为40H~43H,其中计数器例:某8253占用端口地址为40H~43H,其中计数器2工作在方式0,初值为4020H,二进制计数,试读出计数器2的当前计数值。读计数值程序段:MOVAL,80HOUT43H,AL;发控制字锁存计数器2的值INAL,42H

;读计数器1的低8位MOVBL,ALINAL,42H

;读计数器1的高8位MOVBH,AL;BX中为计数器2的当前计数值x

xx

x

0

0

0

1控制字例:某8253占用端口地址为40H~43H,其中计数器28253在微机系统中的应用(P452)0计数器1用于定时刷新DRAM计数器0用于系统时钟,中断类型号8计数器2用于控制主板扬声器的发声频率;同时用于扬声器控制的还有8255的PB0和PB18253在微机系统中的应用(P452)0计数器1用于定时刷新

Intel8259A的基本结构及引脚Intel8259A的基本功能Intel8259A的程控技术

初始化:按顺序选择输出初始化命令字ICW1~ICW4(P463)工作中根据需要可随时发送操作命令字OCW1~OCW3(P466)一片8259管理8级中断,不增加其它任何电路时可用9片8259 级联(P472)构成64级的主从式中断系统;具中断判优逻辑,对任一级中断都可以单独屏蔽或允许;中断响应后,能将用户预置的中断类型号自动提供给CPU;可通过编程选择其工作方式(即可程控),包括设置优先 级、中断触发方式、中断响应方式、中断嵌套方式、中 断结束方式、总线连接方式等。可编程中断控制器8259A(P459)Intel8259A的基本结构及引脚初始化:按顺序选Intel8259A的基本功能结构(P461)读写逻辑控制逻辑服务状态寄存器ISR优先权处理器PR中断请求寄存器IRR中断屏蔽寄存器IMR内部总线INT数据总线缓冲器D0-D7A0RDWRCSSP/EN级联缓冲/比较器CAS0CAS1CAS2INTA……IR0IR7Intel8259A的基本功能结构(P461)读写控制逻辑服8259的级联工作方式(P472)CPU主8259CAS0CAS1CAS2IR0IR1IR2IR7INTINTASP/EN从8259IR0IR1IR2CAS0IR7CAS1CAS2INTINTASP/EN从8259IR0IR1IR2CAS0IR7CAS1CAS2INTINTASP/EN……VCC外设发出中断请求信号8259的级联工作方式(P472)C主8259INTINTA8259初始化命令字的发送流程(P466)8259初始化命令字的发送流程(P466)

带A/D/A接口的数字系统结构(P485)A/D接口芯片D/A接口芯片

ADC的分类(P485)

ADC的主要性能指标(P486)

ADC芯片的应用:ADC0809

P487、ADC574

P490A/D/A接口芯片

DAC的分类(P493)

DAC的主要性能指标(P493)

DAC芯片的应用:DAC0832

(P494)带A/D/A接口的数字系统结构(P485)ADC的分带A/D/A接口的数字系统(P485)放大器传感器采样/保持器A/D计算机系统控制对象执行部件多路模拟开关IO接口IO接口D/A放大器带A/D/A接口的数字系统(P485)放大器传感器采样/保持ADC的分类(P485)按转换原理直接间接:并联转换、逐次逼近(分辨率高,快)电压-时间电压-频率电压-脉宽(积分式(抗干扰性强,慢))按分辨率(数字位数)8位…12位按转换速度超高速(转换时间≤330ns)次超高速(转换时间330ns~3.3µs)高速(转换时间≤

20µs)中速(转换时间20~300µs)低速(转换时间≥300µs)按结果输出形式串行并行按数字编码方式二进制(补码)BCD码ADC的分类(P485)按转换原理直接间接:并联转换、逐次逼

分辨率精度(转换误差)速度(转换时间)其它ADC的主要性能指标(P486)用于表示ADC对微小信号的分辨能力。分辨率值越小或输出二进制代码的位数越多,转换精度越高。完成一次A/D转换所需要的时间,即从它接到转换命令起直到输出端得到稳定的数字量输出所需要的时间。表示AD转换结果相对于理论值的误差,常用LSB(最低有效位)的倍数表示。可表示为数字(量化)误差和模拟(设备)误差、绝对误差(绝对精度)和相对误差(相对精度)等。量程(输入电压范围)、输出电平、编码方式、功率、温度等。分辨率ADC的主要性能指标(P486)用于表示A则分辨率为:5V/(24-1)=5V/15 =0.333V则分辨率为:5V/(28-1)=

5V/255 =0.0196V通常我们使用数字量最低有效位(LSB)对应的最小可分辨模拟量来表示A/D和D/A的分辨率:=满量程模拟量/(2数字量位数-1)设满量程模拟量为5V电压:若数字量为4bit,有:00000V11115V若数字量为8bit,有:000000000V111111115V有时也直接用数字量的位数来表示分辨率。则分辨率为:则分辨率为:通常我们使用A/D转换芯片的应用一、根据系统对分辨率、精度及速度等各项指标的需 求确定ADC的具体型号。二、确定ADC的参考电压。三、确定ADC与微处理器的接口:除数字信号线外通 常还有一些必要的控制信号(如启动信号等)和 状态联络信号(如忙信号、中断请求信号等)。四、编程实现A/D转换: ①CPU发控制信号启动ADC;

②等待A/D转换完成:CPU可通过查询方式或中 断方式获知转换是否完成; ③转换完成后,CPU读入转换结果。A/D转换芯片的应用一、根据系统对分辨率、精度及速度等各项指START逐次比较;8路输入;8位输出(分辨率);7位精度;时钟640kHz时转换时间100µs;通道选择地址及数据均已内部锁存,可直接与微机接口;ADC0809的内部结构及基本功能(P488)八位三态输出锁存通道地址锁存与译码控制八路模拟通道选择开关比较器逐次逼近寄存器SARD/A……IN0IN1IN7AADAAADBAADCALEREF+REF-EOCOED0~7AADAAADBAADCOE八路八位逐次逼近寄存器SARSTARTSTART逐次比较;8路输入;8位输出(分辨率P488例9.439

地址译

码器

+5V

D7~D0

IOR

A0~A9

微机系统总线

IOW

IRQX

D7~D0

VCC

REF+

IN0

CLOCK

OE

ADC0809

START

ADDA

ADDB

ADDC

ALE

REF-

GND

EOC

P489例9.448路轮流采样;ALE、START、OE均与地址有关,而与数据无关;EOC作为状态输入,供CPU查询使用;只有1路采样;START、OE与地址译码有关;EOC为中断请求信号,CPU在中断服务程序中读结果数据;CSCSP488例9.439地址译码器+5VD7~D0IO与ADC0809相比,AD574有以下特性:也采用逐次逼近式转换原理;分辨率可为8bit或12bit(可以12位同时并行输出, 也可以字节形式分两次并行输出);误差为±1LSB或±0.5LSB位,转换时间为25µs;模拟信号可为单极性或双极性输入;除启动信号R//C、忙状态信号STS外,还有与分辨 率选择、12位输出方式选择及输入信号极性选 择有关的控制信号;AD574的基本特性(P490)与ADC0809相比,AD574有以下特性:AD574的基本系统数据总线

D7~D0

WR

RD

A15~3

译码

330H

366H

A2

A1

8255

PB3

PB0

PA7

PA0

PC0

PC7

PC6

PC5

D7

D0

WR

RD

CS

A1

A0

DB11

DB8

DB7

DB0

STS

CE

CS

R/C

+5V12/8

+5V

REFIN

REFOUT

BIP

AD574DGND

10VIN

AGND

A0

+

-

100

模拟量100k

100

+12V

100k

-12V

P492例9.45说明:1.

AD574工作在12位并行输出方式,CPU应分两次从8255的A 口和B口读回转换结果;2.系统工作在查询方式,8255的PCX下半部(PC0)为状态 口输入,上半部(PC5~7)为控制口输出;系统数据总线D7~D0WRRDA15~3译码33DAC的分类(P493)按转换原理(解码网络)T型电阻型倒T型电阻型权电阻型权电流型电容型脉宽调制型按数据输入形式串行并行按模拟信号输出形式电流电压按分辨率(数字位数)8位……12位DAC的分类(P493)按转换原理T型电阻型按数据输入形式串分辨率精度(转换误差)速度(转换时间)其它DAC的主要性能指标表示DAC对输入微小量变化的敏感程度。分辨率值越小或输出二进制代码的位数越多,转换精度越高。用于表示输出模拟量随数字量变化的快慢程度,通常用建立时间(输出电压达到规定精度所需要的时间)来表示。DAC的转换速度主要由转换网络的延迟时间和运算放大器的电压变化率来决定。表示DA转换结果相对于理论值的误差,常用LSB(最低有效位)的倍数表示。可表示为绝对误差(绝对精度)和相对误差(相对精度)、线性误差(非线性度)、馈送误差等。输出电平、温度系数等。分辨率DAC的主要性能指标表示DAC对输入微小一、根据系统对精度、速度及输出电平范围等各项 指标的需求确定DAC的具体型号。二、确定DAC的参考电压。三、确定DAC与微处理器的接口:①控制信号和状态信号一般较少,连接简单。②因D/A转换需要一定时间,所以在连接数据 信号线时应注意DAC本身是否有锁存功能,如 没有则应在DAC芯片外部设计锁存功能(如通 过8255端口锁存数据)。四、编程实现D/A转换。D/A转换芯片的应用一、根据系统对精度、速度及输出电平范围等各项 指标的需求确定DAC0832的内部结构及基本功能(P495)CSWR1WR2AGNDD4D5D6D7D0D1D2D3VCCVREFRFBDGNDILEXFERIout2Iout11234567891019181716151413121120功能数据输入到寄存器1数据由寄存器1转送寄存器2从输出端取模拟量控制条件CSILEWR1WR2XFER说明010无控制信号,随时可取=0存入数据WR1=1锁定输入WR1=0存入数据WR2=1锁定输入WR2DAC0832的内部结构及基本功能(P495)CSWR1W八位寄存器(1)输入八位寄存器(2)输入VREFRFBIout1Iout2AGNDVCC-++uoDGND&ILECSWR1WR2XFERT型电阻网络D/AD7D0...11DAC0832内部电路框图8位数据输入;(双极)电流输出;输入可设置为直通、一级或两级缓存P497、P498;八位寄存器(1)输入八位寄存器(2)输入VREFRFBIouPA0~PA7

DAC0832ILECSWR1WR2XFERD0~D7

8255VREFRFBIOUT1IOUT2AGND-+OP1VO1+5VPC0

PC1PC2PC3PC4;---8255初始化程序------- MOV DX,3F6H MOV AL,80H ;A口方式0输出,C口方式0输出,B口未用 OUT DX,AL ;发控制字 MOV DX,3F4H MOV AL,10H ;DAC0832为直通方式 OUT DX,AL ;设置C口输出;---利用0832产生锯齿波----------- MOV DX,3F0H MOV AL,00H LP: OUT DX,AL ;DAC输入值 INC AL CALL DELAY JMP LP ;循环输出,形成锯齿波PA0~PA7DAC0832ILECSWR1WR2XFER第九章微机接口芯片及应用课时数:10-11第九章微机接口芯片及应用课时数:10-11第九章主要内容一、可编程通用接口芯片的应用方法二、可编程并行接口芯片8255A(P408)三、可编程串行接口芯片8250/16550(P430)四、可编程定时/计数接口芯片8254/8253(P440)五、可编程中断控制器8259A(P459)六、A/D和D/A接口芯片(P485)第九章主要内容一、可编程通用接口芯片第九章习题(P514)5、6、10、17、19、34较难的习题(可只做框图或流程图):7、12、35思考:1、2、3、4、8、13、14、18、22、31、322005.6.8交作业第九章习题(P514)5、6、10、17、第九章结束第九章结束可编程接口芯片的开发应用了解芯片的基本性能(功能)和内部结构;掌握芯片的外部连接特性,以进行硬件设计。一般将引 脚分为面向CPU和面向外设的两部分。注意端口地 址的确定方法(面向CPU一边);掌握芯片各控制字的含义和设置方法,能根据系统设计 要求确定各控制字值;CPU在初始化程序中按要求发送各控制字到相应端口 (寄存器)以确定芯片的工作方式和状态;CPU在工作过程中可以通过读状态端口检查接口芯片的 工作状态,并可重新设置和发送某些控制字值,以 改变芯片的工作方式;可编程接口芯片的开发应用了解芯片的基本性能(功能)和内部

初始化时用户只需确定端口地址及控制字,并通过送出控制 字确定8255A各端口的工作方式;

数据传送过程中,用户通过读/写端口A、B、C实现数据收/发。 注意C口的位操作方式是通过写控制字来实现的。可编程通用并行接口芯片Intel8255(P408)最简单的并行接口可由一些锁存器和(或)总线缓冲器/驱动器组成,只能完成CPU与外设的无条件数据传送;而8255可完成无条件和查询式、中断控制式数据传送,其具体的工作方式由用户程序确定。

8255的内部结构及基本功能(P411)

8255的外接特性及端口地址(P409)8255的三种工作方式(P414)及控制字(P412)8255的程控技术(P412)初始化时用户只需确定端口地址及控制字,并通过送出控制 字8255的内部结构及基本功能(P411)读/写逻辑控制A组控制B组控制A8bitPA7~PA0C上半部4bitC下半部4bitPC7~PC4PC3~PC0B8bitPB7~PB0CPU接口内部逻辑外设接口三个独立的8位数据端口;C口的其它用法:用作两个独立的4位数据端口;用作状态或控制口,按位置位或复位;为A、B口提供所需的各种联络信号;具有三种工作方式;数据总线缓冲器D7~D0RESETRDWRCSA0A18255的内部结构及基本功能(P411)读/写A组控制B组控为保证8255A和8086的数据交换正确,可将8255与8086CPU的低8位数据线相连,注意这时8255A的4个端口都应该分配偶地址,即8086的A2、A1分别接8255的A1、A0。8255的外部特性及端口地址的确定(P409)PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7

D0D1D2D3D4D5D6D734433332231130402939283827371819920821622523362435251415161713261211108255A面向CPU面向外设操

作CSA0A100011011读/写端口A读/写端口B读/写端口C写控制寄存器数据总线三态1XX0000A0A1/CS/RD/WRRSTVCCGND为保证8255A和8086的数据交换正确,可将8258255的工作方式0-基本的输入或输出(P414)一、输入时序(INAL,PORT)(P414)tRD数据有效tDFtRRRDD7~0tRAtARCS,A1,A0tHRtIR外设输入数据数据有效二、输出时序(OUTPORT,AL)见P4158255的工作方式0-基本的输入或输出(P414)一、输入时三、数据传输特点1.最多可提供三个8位端口或两个8位端口+两个4位端口2.所有端口均为单向传输(即只能做输入或输出)3.可实现无条件或自定义联络信号(C口)的查询传送CPU8255打印机并行接口(P297)(2~9)(1)(11)(16)PA0~7PC7PC2地D0~7STBBUSY地DBP416例9.5三、数据传输特点8255打印机并行接口(P297)(2~9)8255的工作方式1-选通的输入或输出(P417)PA7~PA0PC4PC5PC3INTEA与门IBFASTBAINTRARDD7~D0A口方式1输入时相应的联络信号B口方式1输入时相应的联络信号IBFBSTBBINTRBPB7~PB0PC2PC1PC0INTEB与门RDD7~D0一、输入接口信号的定义与时序(P417)8255的工作方式1-选通的输入或输出(P417)PA7~PPB7~PB0PA7~PA0STBIBFINTRRD外设送来数据②⑥当INTE=1时

①⑤③④⑦⑧⑧中断服务程序中CPU从A口或B口读取外设输入的数据PB7~PB0PA7~PA0STBIBFINTRRD外设送A口方式1输出时相应的联络信号B口方式1输出时相应的联络信号PA7~PA0PC7PC6PC3INTEA与门ACKAOBFAINTRAWRD7~D0PB7~PB0PC1PC2PC0INTEB与门ACKBOBFBINTRBWRD7~D0二、输出接口信号的定义与时序(P419)A口方式1输出时相应的联络信号B口方式1输出时相应的联络信号①送往外设的数据写入相应端口WROBFINTRACK②③当INTE=1时

PB7~PB0PA7~PA0中断服务程序中CPU向A口或B口写入输出给外设的数据②④⑤①送往外设的数据写入相应端口WROBFINTRACK②③当I三、数据传输特点1.最多可提供两个8位端口(组合方式见图9-13P421

)2.所有端口均为单向传输(即只能做输入或输出)3.可实现固定联络信号(C口)的查询传送或中断传送 ,未定义的C口信号线可自行定义使用。CPU8255打印机并行接口PA0~7PC7PC6D0~7STBDBPC3ACKOBFINTRPC0P416例9.7三、数据传输特点8255打印机并行接口PA0~7PC7PC6数据传输特点:1.A为双向端口,B为单向端口,C口组合方式见P425表9-72.可实现固定联络信号(C口)的查询传送或中断传送 ,未定义的C口信号线可自行定义使用。8255的工作方式2-双向输入、输出(P423)PA7~PA0PC6PC7ACKAOBFAD7~D0RDWRPC4PC5STBAIBFAINTEA1PC4INTEA2PC6与门PC3INTRA或门与门中断服务程序中CPU可通过查询IBF和OBF信号来确定此次中断是输入还是输出操作数据传输特点:8255的工作方式2-双向输入、输出(P4238255的工作方式控制字(P412)1D7D6D5D4D3D2D1D00输出1输入PC3~PC0B口0

输出1输入0方式01方式1B口工作方式PC7~PC40输出1输入A口0输出1输入特征位,D7=1表示是方式控制字A口工作方式00方式001方式11x方式28255的工作方式控制字(P412)1D7D6D5D4D30D7D6D5D4D3D2D1D00复位1置位设置内容特征位,D7=0表示是C口按位置位/复位控制字无意义选择操作位8255的C口置/复位控制字(P413)D3D2D1C端口位000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC70D7D6D5D4D3D2D1D00复位设置内容特征位,DD7D6D5D4D3D2D1D0控制字例1:某8255A占用端口地址范围0F0~0F3H1)确定各端口地址。2)编程设置8255A:A口方式0输入,B口方式0输出PC7~PC4输出,PC3~PC0输入结论:A口地址0F0H,B口地址0F1H,C口地址0F2H,控制口地址为0F3H;控制字10010001B,即91H

MOVAL,91HOUT0F3H,AL解:A7

A6A5A4

A3

A2

A1

A01

1

1

1

0

0

0

01

11

1

0

0

0

11

1

1

1

0

0

1

01

1

1

1

0

0

1

1A1A0CS地址0F0H

0F1H0F2H

0F3H0

0

0

1

1

01

11特征位00A口方式01A口输入0PC7~PC4输出0B口方式00B口输出1PC3~PC0输入D7D6D5D4D3D2D1D0控制字例1:某8255A占用例2:设8255的A口工作于方式1输入,B口工作于方式0输出,若允许A口产生中断,试编程初始化该8255(其端口地址为60H~63H)。MOVAL,0B0H;1011x00XOUT63H,AL;写方式控制字MOVAL,09H;0XXX01001OUT63H,AL

;写置/复位控制字,置INTEA=1b7b6b5b4b3b2b1b0

1011x00xb7b6b5b4b3b2b1b00xxx1001C口置/复位控制字工作方式控制字例2:设8255的A口工作于方式1输入,B口工作于方式0输出例1:利用8255的PC6产生方波,经滤波和功放后,送到扬声器以发出不同频率的声音。(P414)MOV DX,306H ;8255控制口MOV AL,00001101B ;置PC6=1OUT DX,AL CALL DELAY ;高电平维持时间MOV AL,00001100H ;置PC6=0OUT DX,AL CALL DELAY ;低电平维持时间其中DELAY为延时子程序,改变延时时间,即可改变喇叭发声的频率。例1:利用8255的PC6产生方波,经滤波和功放后,送到扬声例2:现有为某应用系统配置的一个并行打印机接口,采用查询方式通过接口把缓冲区中的100个ASCII字符打印出来。(P416)MOVDX,306H

MOVAL,10000001B OUTDX,AL ;发方式控制字MOVAL,00001111B OUTDX,AL ;使数据选通无效:PC7置高,/STB=1MOVSI,OFFSETBUF MOVCX,64H MOVDX,304H

INAL,DX ANDAL,04HJNZLL ;PC2(BUSY)=1表示打印机忙,CPU等待MOVDX,300H

LODSB OUTDX,AL ;发数据至A口MOVDX,306H

MOVAL,00001110BOUTDX,ALCALLDELAY MOVAL,00001111B OUTDX,AL ;使数据选通信号出现有效负脉冲LOOPLL 初始化查询发数据发选通LL:例2:现有为某应用系统配置的一个并行打印机接口,采用查询方式例3:编程实现中断控制方式下工作的打印机接口。(P422)MAIN:…… ;内务操作

…… ;保存旧中断向量,设置新中断向量 MOV AL,0A0H OUT 0C6H,AL ;发方式控制字 MOV AL,01H OUT0C6H,AL ;使选通无效,PC0=1 MOVAL,0DH OUT0C6H,AL ;允许8255的A口中断(PC6=1) STI ;开总中断 MOV CNT,0 ;发送计数器清0WAT:LOOPWAT ;等待中断RINT:MOV SI,OFFSETTAB ADD SI,CNT MOV AL,[SI] ;取待打印的字符数据 OUT 0C0H,AL ;输出字符 MOV AL,00H OUT 0C6H,AL CALL DELAY INC AL OUT 0C6H,AL ;产生有效的选通信号负脉冲(PC0)INC CNT ;发送计数器加1 IRET 主程序完成初始化中断服务子程序完成数据发送例3:编程实现中断控制方式下工作的打印机接口。(P422)M例4:编程实现矩阵扫描键盘和动态数码显示屏的控制。(P426)OUTINOUTOUT例4:编程实现矩阵扫描键盘和动态数码显示屏的控制。(P426例5:编程实现8255控制的A/D/A接口。(P429)1.初始化8255A方式1,B方式0(1~3行)2.启动AD(PC7)(4~8行)3.查询IBF(PC5)(9~12行)4.收AD数据(13、14行)5.发数据到DA(15、16行)D/A例5:编程实现8255控制的A/D/A接口。(P429)1.可编程通用串行接口芯片Intel8250(P430)初始化时需要发送各种控制字以确定波特率、数据格式及中 断允许情况;数据传送时需要读取各种状态字以确定当前应做的操作;

8250的内部结构(P432)

8250的外部特性及端口地址(P430)

8250的初始化及应用编程(P436)8250是一种常用的可编程通用异步串行通信接口芯片(UART,UniversalAsynchronousReceiverTransmitter)其主要特点包括:波特率可程控、数据格式可程控、可与Modem通信并报告其状态、可进行中断优先权控制、具有故障报告等内部诊断功能。可编程通用串行接口芯片Intel8250(P430)初8250的内部结构(P432)电平转换8250的内部结构(P432)电平转换8250的外部特性及端口地址的确定(P430)与CPU的连接与Modem的连接线路控制寄存器的D7位:寻址识别位DLAB08250的外部特性及端口地址的确定(P430)与CPU的连接发送LCR控制字设置数据帧格式(P436例9.10)D7D6D5D4D3D2D1D0xx0:校验位无效001:奇校验011:偶校验101:校验位恒0111:校验位恒1校验方式数据帧长00:5位01:6位10:7位11:8位间断设置寻址识别停止位长0:其它寄存器1:分频寄存器0:1位1:1.5或2位1-强制间断(无数据时为空号逻辑0)0-正常(无数据时为传号逻辑1)发送LCR控制字设置数据帧格式(P436例9.10)D7D6发送分频控制字设置波特率(P436例9.11)波特率分频器DLM(H)分频器DLL(L)波特率分频器DLM(H)分频器DLL(L)5009H00H360000H20H7506H00H480000H18H11004H17H720000H10H15003H00H960000H0CH30001H80H1152000H0AH60000HC0H1920000H06H120000H60H2304000H05H180000H40H5760000H02H240000H30H11520000H01HMOV AL,10000000B MOV DX,3FBH

OUT DX,AL ;通知8250后面将设置波特率MOV AL,0CH MOV DX,3F8H

OUT DX,AL ;写入分频值低位MOV AL,00H INC DX

OUT DX,AL ;写入分频值高位发送分频控制字设置波特率(P436例9.11)波特率分频器分发送中断允许控制字设置中断种类(P436例9.12)发送中断允许控制字设置中断种类(P436例9.12)接收/发送程序(P438例9.14) MOV DX,3FDH IN AL,DX ;读线路状态寄存器(P434图9-25) TEST AL,1EH ,是否出错? JNZ ERR ;是,转错误处理 TEST AL,01H ;是否“接收数据准备好”? JNZ RECE ;是,转接收 TEST AL,20H ;是否“发送数据缓冲器空”? JNZ TRAN ;是,转发送 ……RECE: MOV DX,3F8H IN AL,DX …… ;处理接收的数据

TRAN: MOV DX,3F8H …… ;准备待发送的数据 OUT DX,AL ……

ERR: ……PC机中建议使用BIOS中断调用对串口进行操作(P439)接收/发送程序(P438例9.14) MOV DX,3FDH

初始化:8253没有复位端,开机后必须进行软件初始化。另外,在改变计数器工作方式时也需要对8253进行初始化设置。必须先写入控制字,再设置计数初值。在设置计数初值时,要根据控制字中内容确定是只写高8位, 只写低8位,还是先低后高写入16位。

读计数值:CPU应先送计数器锁存命令,再用输入指令从输出锁存器中 获取计数值。

读取计数值时应根据控制字内容确定是只读高8位,只读低8 位,还是先低后高读出16位。可编程通用定时/计数接口芯片Intel8253

8253的内部结构及基本功能(P442)

8253的外接特性及端口地址(P441)

8253的控制字及工作方式(P444)8253的程控技术初始化:8253没有复位端,开机后必须进行软件初始化。另定时/计数功能的实现定时功能和计数功能均可通过计数器来实现:若计数器输入为 标准时钟脉冲,则通过计数可得到时间间隔,实现定时功 能;若计数器的输入为需计数的信号,则计数值就是一定 时间内信号(脉冲)出现的次数,即实现计数功能

温馨提示

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

评论

0/150

提交评论