1、1单片机原理及应用单片机原理及应用2第六章 单片机 系统扩展技术3第六章 单片机系统扩展技术6.1.1 6.1.1 并行扩展总线并行扩展总线 P0、P2口作为单片机的地址总线和数据总线口作为单片机的地址总线和数据总线 地址锁存原理地址锁存原理 看时序图看时序图 注意三个控制引脚的电平变化:注意三个控制引脚的电平变化:ALE、PSEN、WR/RD4第六章 单片机系统扩展技术v单片机的片外三总线结构单片机的片外三总线结构5第六章 单片机系统扩展技术v读片外读片外EPROM时序波形时序波形6第六章 单片机系统扩展技术v读片外读片外RAM/IO口时序波形口时序波形7第六章 单片机系统扩展技术v写片外写
2、片外RAM/IO口时序波形口时序波形8第六章 单片机系统扩展技术为了实现单片机与外部存储器的连接,把单片机的地址为了实现单片机与外部存储器的连接,把单片机的地址线分为线分为片内地址线片内地址线和和片选地址线片选地址线两部分两部分。片内地址线片内地址线通常直接或通过地址锁存器与相应存储通常直接或通过地址锁存器与相应存储器地址线相连。器地址线相连。片选地址线片选地址线通常直接或通过地址译码器和存储器芯通常直接或通过地址译码器和存储器芯片的片的CE相连,也可以悬空不用相连,也可以悬空不用9第六章 单片机系统扩展技术v线选法线选法 用某一位地址线直接连到所扩展的芯片的片选端。0芯片A0A1A2CS(6
3、000H7FFFH)A0A1A2A151芯片A0A1A12CS(0A000H0BFFFH)A0A1A12A142芯片A0A1CS(0C000H0DFFFH)A0A1A13.10第六章 单片机系统扩展技术v 关于地址重叠关于地址重叠:有一个以上地址与存储单元对应。有一个以上地址与存储单元对应。X为无关项,即无论X取0,或取1,都不会影响对单元的确定,0#芯片中每个单元都有210个重叠地址。当X由全“0”,变到全“1”时,0#芯片的地址范围即为6000H7FFFH。基本地址范围:6000H6007H。A15A14A13A12A3A2A1A0011XX0000#单元011XX0011#单元011XX
4、0102#单元011XX0113#单元011XX0004#单元011XX1015#单元011XX1106#单元011XX1117#单元11第六章 单片机系统扩展技术v全地址译码法全地址译码法 片选地址线全部参片选地址线全部参加译码加译码 地址空间能充分利用。地址空间能充分利用。常用地址译码器:常用地址译码器:2-4译码器:译码器:74LS139 3-8译码器:译码器:74LS138 4-16译码器:译码器:74LS1540芯片A0A1A2CS(1FF8H1FFFH)A0A1A21芯片A0A1A12CS(2000H3FFFH)A0A1A12.7芯片A0A1CS(0FFFCH0FFFFH)A0A1
5、Y0Y1Y2Y3Y4Y5Y6Y7.ABC1G2GGA13A14A15地5V74LS13812第六章 单片机系统扩展技术v部分地址译码部分地址译码法法 片选线中只有片选线中只有一部分参与译一部分参与译码,其余部分码,其余部分悬空,具有重悬空,具有重叠地址叠地址2芯片A0A1A2CS(0BFF8H0BFFFH)A0A1A23芯片A0A1A12CS(0E000H0FFFFH)A0A1A12.0芯片A0A1CS(3FFCH3FFFH)A0A1Y0Y1Y2Y3A0A1S74LS1381芯片A0A1CSA0A1(7FFCH7FFFH)A15A14A13悬空13第六章 单片机系统扩展技术v6-26-2 存储
6、器的扩展存储器的扩展一、一、MCS-51MCS-51用于扩展存储器的外部总线信号:用于扩展存储器的外部总线信号:P P0.00.7:8 8位数据和低位数据和低8 8位地址信号,复用总线位地址信号,复用总线ADAD0 07 7。P P2.02.7:高高8 8位地址信号位地址信号ABAB8 81515ALEALE:地址锁存允许控制信号地址锁存允许控制信号PSENPSEN:片外程序存储器读控制信号片外程序存储器读控制信号RDRD:片外数据存储器读控制信号片外数据存储器读控制信号WRWR:片外数据存储器写控制信号片外数据存储器写控制信号EAEA:程序存储器选择程序存储器选择14第六章 单片机系统扩展技
7、术二、扩展程序存储器电路:二、扩展程序存储器电路:常用常用EPROM芯片:芯片:Intel 2716(2K8位位)、2732(4KB)、2764(8KB)、27128(16KB)、27256(32KB)、27512(64KB)。8031扩展扩展32KB EPROMIntel 27256 地址?地址?15第六章 单片机系统扩展技术三三.扩展数据存储器电路:扩展数据存储器电路:常用常用RAM芯片:芯片:Intel 6116(2KB)、6264(8KB)、62256(32KB)。8031扩展扩展8KB RAM Intel 6264 地址?地址?A8A12A0A7MCS-51总线D0D7OECEA0A
8、7A8A12D0D76264CSWEA15RD5VWR16第六章 单片机系统扩展技术四四.程序与数据存储器扩展电路程序与数据存储器扩展电路单片机连接单片机连接 8KB EPROM 2764 8KB EPROM 2764 和和 8KB RAM 6264 8KB RAM 6264 各一片各一片A8A12A0A7MCS-51总线D0D7图68 MCS51总线与一片6264及一片2764的接口方法A13A0A126264CEOECS+5VWED7D0PGMD7D02764PSENRDA0A12WR+5VCEOE17第六章 单片机系统扩展技术v6-46-4并行接口的扩展并行接口的扩展 单片机往往通过单片
9、机往往通过P0和和P2口构成扩展总线,扩展口构成扩展总线,扩展EPROM、RAM或其它功能芯片,或其它功能芯片,大多数情况下,大多数情况下,MCS-51单片机可提供给用户使用的单片机可提供给用户使用的I/O口只有口只有P1口和部分口和部分P3口。因此,在大部分的口。因此,在大部分的MCS-51单片机应用系单片机应用系统设计中都需要进行统设计中都需要进行I/O口的扩展。口的扩展。18第六章 单片机系统扩展技术6-4-1 用用74系列器件扩展并行系列器件扩展并行I/O口口 19第六章 单片机系统扩展技术v6-4-2 可编程并行I/O扩展接口8255A20第六章 单片机系统扩展技术1.数据线数据线D
10、07:传送计算机与传送计算机与8255之间的数据、控制字和状态字。之间的数据、控制字和状态字。PA07 PB 07 PC07:传送传送8255与外设之间的数据和联络信息,与外设之间的数据和联络信息,PC07可用作数据线或联络线可用作数据线或联络线2.地址线地址线CS:片选线片选线A1,A0:口选线,寻址口选线,寻址 PA,PB,PC数据口和控制口数据口和控制口3.读写控制线读写控制线RD,WR控制计算机与控制计算机与8255之间的信息传送和流向之间的信息传送和流向4.复位线复位线RESET高电平复位,使内部寄存器全部清零。高电平复位,使内部寄存器全部清零。例例 求求8255口地址:口地址:解:
11、解:A口口(7F00H),B口口(7F01H),C口口(7F02H),控制口控制口(7F03H)21第六章 单片机系统扩展技术1 18255A8255A的结构的结构(1)数据总线驱动器。数据总线驱动器。(2)并行并行I/O端口,端口,A口、口、B口和口和C口。口。A A口:具有一个口:具有一个8 8位数据输出锁存位数据输出锁存/缓冲器和一个缓冲器和一个8 8位数据输入锁存器。可编位数据输入锁存器。可编程为程为8 8位输入输出或双向寄存器。位输入输出或双向寄存器。B B口:具有一个口:具有一个8 8位数据输出锁存位数据输出锁存/缓冲器和一个缓冲器和一个8 8位数据输入缓冲器位数据输入缓冲器(不锁
12、存不锁存)。可编程作为。可编程作为8 8位输入或输出寄存器,但不能双向输入输出。位输入或输出寄存器,但不能双向输入输出。C C口:具有一个口:具有一个8 8位数据输出锁存位数据输出锁存/缓冲器和一个缓冲器和一个8 8位数据输入缓冲器(位数据输入缓冲器(不锁不锁存存)。可分为两个)。可分为两个4 4位口使用。位口使用。C C口除作输入、输出口使用外,还可以作为口除作输入、输出口使用外,还可以作为A A口、口、B B口选通方式操作时的状态控制信号。口选通方式操作时的状态控制信号。22第六章 单片机系统扩展技术(3)读)读/写控制逻辑。写控制逻辑。CSCS:8255A的片选引脚端;的片选引脚端;RD
13、RD:读控制端,当读控制端,当RD=0RD=0时,允许单片机从时,允许单片机从8255A8255A读取数据或状态字;读取数据或状态字;WRWR:写控制端,当写控制端,当WR=0WR=0时,允许单片机将数据或控制字写入时,允许单片机将数据或控制字写入8255A8255A;A A0 0、A A1 1:口地址选择。通过口地址选择。通过A A0 0、A A1 1可选中可选中8255A8255A的四个寄存器。口的四个寄存器。口地址选择如下:地址选择如下:A A1 1、A A0 0 寄存器寄存器0 0 0 0 寄存器寄存器A A(A A口)口)0 1 0 1 寄存器寄存器B B(B B口)口)1 0 1
14、0 寄存器寄存器C C(C C口)口)1 1 1 1 控制寄存器(控制口)控制寄存器(控制口)RESETRESET:复位控制端。当复位控制端。当RESET=1RESET=1时,时,82558255复位。复位状态是:控制寄存器被清除,所复位。复位状态是:控制寄存器被清除,所有接口(有接口(A A、B B、C C)被置入输入方式。)被置入输入方式。23第六章 单片机系统扩展技术(4)A组组B组控制块组控制块。每个控制块接收来自读每个控制块接收来自读/写控制逻辑的命令和内写控制逻辑的命令和内部数据总线的控制字,并向对应口发出适当的部数据总线的控制字,并向对应口发出适当的命令。命令。A组控制块控制组控
15、制块控制A口及口及C口的高口的高4位。位。B组控制块控制组控制块控制B口及口及C口的低口的低4位。位。24第六章 单片机系统扩展技术2.8255A2.8255A的控制字的控制字 8255A有两种有两种 控制字,即控制字,即 方式控制字方式控制字 PC口位置位口位置位/复位控制字复位控制字 25第六章 单片机系统扩展技术(1)方式方式0(基本(基本I/O方式)方式)PA、PB、PC可可分别被定义为方式分别被定义为方式0输入或方式输入或方式0输出。输出。输出具有锁存功能,输入没有锁存。输出具有锁存功能,输入没有锁存。适用于适用于无条件传输数据无条件传输数据的设备,如读一组开关状态、控制的设备,如读
16、一组开关状态、控制一组指示灯,不使用应答信号,一组指示灯,不使用应答信号,CPU可以随时读出开关状可以随时读出开关状态,随时把一组数据送指示灯显示。态,随时把一组数据送指示灯显示。26第六章 单片机系统扩展技术(2 2)方式)方式1 1(应答(应答I/OI/O方式)方式)有选通输入和选通输出两种工作方式。有选通输入和选通输出两种工作方式。A A口和口和B B口皆可独立地设置成这种工作方式,在方式口皆可独立地设置成这种工作方式,在方式1 1下,下,A A口和口和B B口通常用于传送和它们相连外设的口通常用于传送和它们相连外设的I/OI/O数数据,据,C C口用作口用作A A口和口和B B口的握手
17、联络线,以实现口的握手联络线,以实现中断方中断方式传送式传送I/OI/O数据数据。27第六章 单片机系统扩展技术方式方式1输入输入 STB:STB:设备的选通信号输入线,低电平有效设备的选通信号输入线,低电平有效,通常是外设给通常是外设给8255A8255A的信号,的信号,表示外设给表示外设给82558255的数据已准备好。的数据已准备好。IBFIBF:端口锁存器满标志输出线,高电平有效。端口锁存器满标志输出线,高电平有效。IBFIBF和设备相连。和设备相连。INTRINTR:中断请求信号线,高电平有效。当:中断请求信号线,高电平有效。当 STB STB 、IBFIBF、INTEINTE都为都
18、为“1”1”时,时,INTRINTR就置就置“1”1”。INTEINTE:8255A8255A端口内部的中断允许触发器。端口内部的中断允许触发器。“1”1”表示中断允许(人工设置)表示中断允许(人工设置)。28第六章 单片机系统扩展技术方式方式1输出输出 OBF :输出锁存器满状态标志输出线。:输出锁存器满状态标志输出线。表示表示CPU已将数据输出到此端口。已将数据输出到此端口。ACK :设备响应信号输入线。表示外设已取走数据。:设备响应信号输入线。表示外设已取走数据。INTR:中断请求信号输出线,高电平有效。当:中断请求信号输出线,高电平有效。当OBF、ACK 和和INTE都为都为“1”时,
19、时,INTR被置被置“1”,发出中断请求发出中断请求。29第六章 单片机系统扩展技术(3)方式)方式2(双向选通(双向选通I/O方式)方式)方式方式2仅对仅对PA口有意义。口有意义。方式方式2使使PA口成为口成为8位双向三态数据总线口,位双向三态数据总线口,既可发既可发送数据又可接收数据送数据又可接收数据。PA口方式口方式2工作时,工作时,PB口仍可口仍可作方式作方式0和方式和方式1 I/O口,口,PC口高口高5位作状态控制线。位作状态控制线。30第六章 单片机系统扩展技术4.82554.8255编程规定编程规定82558255初始化编程:往控制口写入控制字,确定初始化编程:往控制口写入控制字
20、,确定82558255工作方式。工作方式。方式选择控制字:方式选择控制字:D7=1D7=1 C C口置位口置位/复位控制字:复位控制字:D7=0D7=0控制字控制字D7D6D5D4D3D2D1D0方式方式1A 组方式组方式PAPC47方式方式PBPC03置置/复位复位0位选择位选择1/0例:例:8255PA口方式口方式0输出单片机片内输出单片机片内RAM数据,数据,PB口方式口方式1输入输入。PIOS:MOVDPTR,#7F03H;控制口地址;控制口地址MOVA,#86H;写控制字;写控制字MOVXDPTR,A;设工作方式设工作方式MOVDPTR,#7F00H ;PA数据口地址数据口地址MOV
21、A,R0 ;取;取RAM的数据的数据MOVXDPTR,A;由;由PA口输出口输出 31第六章 单片机系统扩展技术v 例例6-4 6-4 打印程序打印程序 8255A8255A可采用方式可采用方式1 1工作,工作,CPUCPU可采用中断方式控制打印机可采用中断方式控制打印机打印。把打印。把MCS-51MCS-51内部内部RAMRAM中中30H30H开始的开始的3232个单元的字符输出打印个单元的字符输出打印主程序:主程序:MAIN:MOV 8,#30H ;RAM首址首址 1区区R0 MOV 0FH,#20H ;长度;长度1区区R7 SETB EA ;开中断;开中断 SETB EX1 ;允许外中断
22、,电平触发方式;允许外中断,电平触发方式 MOV DPTR,#7FFFH ;将;将8255A的的PC2(即(即INTEB)置)置“1”MOV A,05H MOVX DPTR,A ;允许;允许B口中断口中断 MOV A,#0BCH ;写方式控制字(;写方式控制字(PB口方式口方式1输出)输出)MOVX DPTR,A MOV DPTR,#7FFDH ;从;从PB口输出第一个数据打印口输出第一个数据打印 MOV A,30H MOVX DPTR,A INC 8 ;RAM指针加指针加1 DEC 0FH ;长度减;长度减1 。;执行其它任务;执行其它任务32第六章 单片机系统扩展技术外中断外中断1服务程序
23、:服务程序:PINT1:PUSH ACC ;现场保护(;现场保护(A,DPTR 等进堆栈)等进堆栈)PUSH DPH PUSH DPL PUSH PSW MOV PSW,#8 ;当前工作寄存器区切换到;当前工作寄存器区切换到1区区 MOV A,R0 ;从;从PB口输出下一个数据打印口输出下一个数据打印 MOV DPTR,#7FFDH MOVX DPTR,A INC R0 ;修改指针、长度;修改指针、长度 DJNZ R7,BACK CLR EX1 ;长度为;长度为0,关中断返回,关中断返回 SETB F0 ;置打印结束标志位;置打印结束标志位F0BACK:POP PSW ;现场恢复(;现场恢复(
24、A,DPTR等退栈)等退栈)POP DPL POP DPH POP ACC RETI33第六章 单片机系统扩展技术8255A选通选通I/O方式接口逻辑方式接口逻辑34第六章 单片机系统扩展技术实现数模转换的功能部件称为实现数模转换的功能部件称为D/A转换器,衡量转换器,衡量D/A转换器性能转换器性能的主要参数有:的主要参数有:分辨率,即输出的模拟量的最小变化量,分辨率,即输出的模拟量的最小变化量,n位的位的D/A转换器分辨转换器分辨率为率为2-n。满刻度误差,即输入为全满刻度误差,即输入为全1时输出电压与理想值之间的误差,一时输出电压与理想值之间的误差,一般为般为2-(n+1)输出范围;输出范
25、围;转换时间,指从转换器的输入改变到输出稳定的时间间隔;转换时间,指从转换器的输入改变到输出稳定的时间间隔;是否容易和是否容易和CPU接口。接口。35第六章 单片机系统扩展技术梯形电阻式D/A转换原理:“按权展开,然后相加”I2Vref/2R I1I2/2 I0I1/2321027214181RVRVIIIIREFREF36第六章 单片机系统扩展技术根据以上的分析计算,可推理得到根据以上的分析计算,可推理得到n位二进制数的转换位二进制数的转换表达式:表达式:nREFDRVI2其中其中D D为为n n位二进制数的和,因此,位二进制数的和,因此,电流和二进制数电流和二进制数成线性关系。成线性关系。
26、运算放大器的输出电压为:运算放大器的输出电压为:InREFDRRVV20037第六章 单片机系统扩展技术v6-5-2 DAC 0832 DAC0832是美国数据公司的是美国数据公司的8位位D/A,片内带数据锁,片内带数据锁存器,电流输出,输出电流稳定时间为存器,电流输出,输出电流稳定时间为1 us。+5V +15V单电源供电,功耗为单电源供电,功耗为20mW。38第六章 单片机系统扩展技术DAC 0832的内部结构的内部结构控制线(控制线(5条)条)ILE:数据锁存允许控制信号输入线,高电平有效;数据锁存允许控制信号输入线,高电平有效;CS:片选片信号输入线,低电平有效;:片选片信号输入线,低
27、电平有效;WR1:数据锁存器写选通输入线,负脉冲有效:数据锁存器写选通输入线,负脉冲有效;WR2:DAC寄存器写选通输入线,负脉冲有效;寄存器写选通输入线,负脉冲有效;XFER:数据传输控制信号输入线,低电平有效;:数据传输控制信号输入线,低电平有效;12345678910201918171615141312118位数据锁存器8位DAC寄存器8位D/A转换器DAC0832CSWR1AGNDD3D2D1D0VREFRfbDGNDIOUT1IOUT2D7D6D5D4XFEWR2ILEVCCD0-D7LE1ILECSWR1XFERVREFIOUT1IOUT2锁存WR2LE2锁存RfbAGNDVccD
28、GND8121132010(b)DAC0832结构框图图6-30 DAC0832的引脚图和结构框图(a)DAC0832引脚图39第六章 单片机系统扩展技术v 输出线(输出线(3条)条)IOUT1:电流输出线,当DAC寄存器为全1时IOUT1最大;IOUT2:电流输出线,其值和IOUT1值之和为一常数;Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;12345678910201918171615141312118位数 据锁 存 器8位DAC寄 存 器8位D/A转 换 器DAC0832CSWR1AGNDD3D2D1D0VREFRfbDGNDIOUT1IOUT2D7D6D5D4X
29、FEWR2ILEVCCD0-D7LE1ILECSWR1XFERVREFIOUT1IOUT2锁 存WR2LE2锁 存RfbAGNDVccDGND8121132010(b)DAC0832结 构 框 图图 6-30 DAC0832的 引 脚 图 和 结 构 框 图(a)DAC0832引 脚 图40第六章 单片机系统扩展技术v DAC 0832DAC 0832工作方式工作方式8位位DACDAC寄存器寄存器输入输入寄存器寄存器-+IOUT2IOUT1RVERVOD07AGNDPA0PA1直通方式:直通方式:适宜连续反馈控制线路中;适宜连续反馈控制线路中;使所有控制信号均有效(使所有控制信号均有效(CS、
30、WR1、WR2、ILE、XFER)单缓冲器方式:单缓冲器方式:适宜一路模拟量输出,几路模拟量非同步输出,适宜一路模拟量输出,几路模拟量非同步输出,控制使两个寄存器同时有效。控制使两个寄存器同时有效。双缓冲器方式:双缓冲器方式:适宜多个适宜多个DAC0832同时输出;同时输出;输入寄存器和输入寄存器和DAC寄存器分配有各自的地址,可分别选通用同时输出多路模拟信号。寄存器分配有各自的地址,可分别选通用同时输出多路模拟信号。41第六章 单片机系统扩展技术v电流输出转换成电压输出电流输出转换成电压输出 使用运算放大器,可以将使用运算放大器,可以将DAC0832的电流输出线性地转换成的电流输出线性地转换
31、成电压输出。根据运放和电压输出。根据运放和DAC0832的连接方法,运放的输出可的连接方法,运放的输出可以分为以分为单极型和双极型单极型和双极型两种。两种。42第六章 单片机系统扩展技术1.DAC作为单极性电压输出作为单极性电压输出 VoutBVref/256 Bb7*27+b6*26+b0*2043第六章 单片机系统扩展技术2.DAC作为双极性电压输出作为双极性电压输出列方程:列方程:I1+I2+I3=0I1=Va/R,I2=Vout/2R,I3=Vref/2RVaBVref/256解得:解得:Vout=(B128)*Vref/12844第六章 单片机系统扩展技术一路模拟量输出,单缓冲方式单
32、缓冲方式45第六章 单片机系统扩展技术v 例:例:D/AD/A转换程序,用转换程序,用DAC 0832DAC 0832输出输出0 05V5V锯齿波,电路为直通方式。设锯齿波,电路为直通方式。设V VREFREF=-5V=-5V,DAC 0832DAC 0832地址为地址为7FFFH7FFFH,脉冲周期要求为,脉冲周期要求为100ms100ms。100ms+5V0VDACS:MOVDPTR,#7FFFH;0832 I/O地址地址MOVA,#0;开始输出;开始输出0VDACL:MOVXDPTR,A;输出模拟量;输出模拟量INCA;升压;升压ACALLDELAY;延时延时100ms/256AJMPD
33、ACL;连续输出;连续输出DELAY:;延时子程序;延时子程序46第六章 单片机系统扩展技术v 例:例:D/AD/A转换程序,用转换程序,用DAC 0832DAC 0832输出输出-1-1-5V-5V方波,电路为直方波,电路为直通方式。设通方式。设V VREFREF=5V=5V,DAC 0832DAC 0832地址为地址为7FFFH7FFFH。-1V-5V解:解:ORG 1000HSTART:MOV DPTR,#7FFFH LOOP:MOV A,#33H MOVX DPTR,A ;置上限电平置上限电平 ACALL DELAY ;形成方波顶宽;形成方波顶宽 MOV A,#0FFH MOVX DP
34、TR,A ;置下限电平置下限电平 ACALL DELAY ;形成方波底宽;形成方波底宽 SJMP LOOP ;循环;循环DELAY:47第六章 单片机系统扩展技术A/D转换器转换器vA/D转换器是将模拟量转换成数字量的器件。模拟量转换器是将模拟量转换成数字量的器件。模拟量可是电压、电流等电信号,也可是声、光、压力和温可是电压、电流等电信号,也可是声、光、压力和温度等随时间连续变化的非电物理量。度等随时间连续变化的非电物理量。v非电物理量可通过合适的传感器等转换成电信号,模非电物理量可通过合适的传感器等转换成电信号,模拟量只有转换成数字量才能被计算机采集、分析和计拟量只有转换成数字量才能被计算机
35、采集、分析和计算处理。算处理。48第六章 单片机系统扩展技术A/D转换方法转换方法v电压频率式:精度高电压频率式:精度高 价格低,但转换速度不高价格低,但转换速度不高v积分式:抗干扰能力好,转换速度低积分式:抗干扰能力好,转换速度低v逐次逼近式:转换速度较快v并行转换:并行转换:v串行转换:串行转换:49第六章 单片机系统扩展技术v逐次逼近转换原理 控制电路先使控制电路先使“N位寄存器位寄存器”中最高位置中最高位置1,其余位清零,根据,其余位清零,根据“N位寄存器位寄存器”中内容使中内容使D/A转换网络产生一个比较电压转换网络产生一个比较电压Vs,并将其与输入的模拟电压并将其与输入的模拟电压V
36、x比较,若比较,若Vx Vs,则则“N位寄存器位寄存器”中最高位中最高位“1”保留,否则置保留,否则置“0”,然后,然后依次对依次对N-1,N-2,重复上述比较过程,可使重复上述比较过程,可使“N位寄存器位寄存器”中中得到与模拟量得到与模拟量Vx相对应的数字量。相对应的数字量。50第六章 单片机系统扩展技术v6.6 A/D接口的扩展接口的扩展衡量衡量A/D性能的主要参数是:性能的主要参数是:分辨率,即输出的数字量最低位变化一位所对应的输入模拟量分辨率,即输出的数字量最低位变化一位所对应的输入模拟量的变化值;的变化值;满刻度误差,即输出全满刻度误差,即输出全1时输入电压与理想输入量之差;时输入电
37、压与理想输入量之差;转换速率;转换速率;转换精度;转换精度;是否可方便地和是否可方便地和CPU接口。接口。51第六章 单片机系统扩展技术6-6-2 ADC0809 ADC0809 ADC 0809/0808ADC 0809/0808为为8 8路输入通道、路输入通道、8 8位逐次逼近式位逐次逼近式A/DA/D转换器,可转换器,可分时分时转换转换8 8路模路模拟信号。拟信号。一结构一结构 一个一个8位逐次逼近式位逐次逼近式A/D转换器、转换器、8路模拟转换开关、路模拟转换开关、3-8地址锁存译码器地址锁存译码器和三态输出数据锁存器。和三态输出数据锁存器。52第六章 单片机系统扩展技术v ADC08
38、09ADC0809的引脚功能的引脚功能1N01N7:8路模拟量输入通道;路模拟量输入通道;D7D0:8位三态数据输出线;位三态数据输出线;A、B、C:通道选择输入线;:通道选择输入线;ALE:通道锁存控制信号输入线:通道锁存控制信号输入线;START:启动转换控制信号输入线;:启动转换控制信号输入线;CLK:转换时钟输入线,:转换时钟输入线,CLK的典型值为的典型值为640KHz,超过该频率时,转换精度会下降,超过该频率时,转换精度会下降;EOC:转换结束信号输出线,高电平有效;:转换结束信号输出线,高电平有效;OE:输出允许控制信号输出线,:输出允许控制信号输出线,OE为高电平时把为高电平时
39、把转换结果送数据线转换结果送数据线D7D0,OE为低电平时为低电平时D7D0为浮空态;为浮空态;53第六章 单片机系统扩展技术vADC0809ADC0809时钟信号的确定时钟信号的确定 ADC0809ADC0809时钟信号由时钟信号由80318031的的ALEALE信号提供信号提供,80318031的的ALEALE引脚通常引脚通常是每个机器周期出现两次,故它的频率是单片机时钟频率的是每个机器周期出现两次,故它的频率是单片机时钟频率的1/61/6。若。若80318031的主频是的主频是6MHz6MHz,则,则ALEALE信号频率是信号频率是1MHz1MHz,若使,若使ALEALE上信号二分频后接
40、上信号二分频后接ADC0809ADC0809的的CLKCLK端,则可获得端,则可获得500KHz500KHz的的A/DA/D转转换脉冲换脉冲54第六章 单片机系统扩展技术v(1)启动)启动A/D转换转换满足以下条件:满足以下条件:在在START端需产生一个正脉冲,端需产生一个正脉冲,上升沿复位上升沿复位ADC0809,下降,下降沿启动沿启动A/D转换转换。在启动在启动A/D转换之前,需在转换之前,需在ALE端产生一个正跳变,将地址锁端产生一个正跳变,将地址锁存起来存起来,使得在,使得在A/D转换期间,比较器内部输入始终是选中的转换期间,比较器内部输入始终是选中的模拟通道输入信号。模拟通道输入信
41、号。在在A/D转换结束之前,在转换结束之前,在START端和端和ALE端不能再次出现正脉端不能再次出现正脉冲信号。冲信号。55第六章 单片机系统扩展技术56第六章 单片机系统扩展技术三种启动方式对应三种硬件连接方法三种启动方式对应三种硬件连接方法1)ADDA,ADDB,ADDC分别接地址锁存器提供地址的低分别接地址锁存器提供地址的低3位位,指向指向IN7通道的相应程通道的相应程序指令为:序指令为:MOV DPTR,#0EFF7H;指向;指向D/A转换器和模拟通道转换器和模拟通道IN7地址地址 MOVX DPTR,A;启动;启动A/D转换,转换,A中可以是任意值中可以是任意值57第六章 单片机系
42、统扩展技术2)ADDA,ADDB,ADDC分别接数据线中的低分别接数据线中的低3位,则指向位,则指向IN7通道的相应通道的相应程序指令为:程序指令为:MOV DPH,#0E0H ;送;送D/A转换器端口地址转换器端口地址 MOV A,#07H;IN7地址送地址送A MOVX DPTR,A ;送地址并启动;送地址并启动A/D转换转换58第六章 单片机系统扩展技术3)ADDA,ADDB,ADDC分别接高分别接高8位地址中的低位地址中的低3位,则指向位,则指向IN7通道的通道的相应程序指令为:相应程序指令为:MOV DPTR,#0E700H MOVX DPTR,A59第六章 单片机系统扩展技术(2)
43、确认)确认A/D转换完成转换完成1)无条件传送方式)无条件传送方式 转换时间是转换器的一项已知和固定的技转换时间是转换器的一项已知和固定的技术指标。例如:术指标。例如:ADC0809转换时间为转换时间为128us,可在,可在A/D转换转换启动后,调用一个延时足够长的子程序,规定时间到,转换启动后,调用一个延时足够长的子程序,规定时间到,转换也肯定已经完成。也肯定已经完成。2)查询方式)查询方式 ADC0809的的EOC端高电平,表明端高电平,表明A/D转换完成,转换完成,查询测试查询测试EOC的状态,即可确知转换是否完成。需注意的状态,即可确知转换是否完成。需注意ADC0809从复位到从复位到
44、EOC变低约需变低约需10时间,查询时应首先确定时间,查询时应首先确定EOC已变低,再变高,才说明已变低,再变高,才说明A/D转换完成。转换完成。3)中断方式)中断方式 把表明转换完成的状态信号(把表明转换完成的状态信号(EOC)作为中断请)作为中断请求信号,以中断方式进行数据传送。求信号,以中断方式进行数据传送。60第六章 单片机系统扩展技术例例6-6 如如图图a a电路中,对电路中,对IN0IN7上模拟电压巡回采集一遍数字量上模拟电压巡回采集一遍数字量,并送入内并送入内部部RAM以以50H为始址的输入缓冲区的有关程序如下:为始址的输入缓冲区的有关程序如下:ORG 0000H SJMP MA
45、1N ORG 0013H LJMP P1NT1MA1N:MOV 10H,#50H ;数据区首址送工作寄存器区;数据区首址送工作寄存器区2 R0 MOV 12H,#0 ;1N0地址送工作寄存器区地址送工作寄存器区2 R2 MOV 17H,#8 ;模拟量路数送工作寄存器区;模拟量路数送工作寄存器区2 R7 MOV IE,#84 ;CPU开中断,开外部中断开中断,开外部中断1 1 SETB IT1 ;为负边沿触发;为负边沿触发 MOV SP,#50H ;设置堆栈指针;设置堆栈指针 MOV DPTR,#0EFF8H;启动;启动1N0 A/D转换转换 MOVX DPTR,A 。61第六章 单片机系统扩展
46、技术P1NT1:PUSH 。;保护现场略;保护现场略 SETB RS1 ;切换到工作寄存器区;切换到工作寄存器区2 CLR RS0 MOV DPH,#0EFH ;读;读A/D转换值转换值 MOVX A,DPTR MOV R0,A ;存;存A/D转换值转换值 DJNZ R7,OUT1 ;CLR EX1 ;采集完采集完8路,关中断。路,关中断。OUT:POP 。;恢复现场略;恢复现场略 RETI ;中断返回;中断返回OUT1:INC R0 ;指向输入数据区下一地址;指向输入数据区下一地址 INC R2 ;指向下一路模拟通道;指向下一路模拟通道 MOV DPH,#0EFH ;启动下一路模拟通道;启动下一路模拟通道A/D转换转换 MOV DPL,R2 MOVX DPTR,A SJMP OUT