版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章第八章 单片机系统设计单片机系统设计8.1 单片机系统设计概述单片机系统设计概述 8.2 程序存储器的扩展程序存储器的扩展8.3 数据存储器的扩展数据存储器的扩展8.4 简单并行简单并行I/O口的扩展口的扩展8.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片8.6 A/D、D/A扩展扩展654P1.5P1.4P1.3P1.2P1.1P1.0875180518031321121110INT0 P3.2TXD P3.1RXD P3.0RST/VPDP1.7P1.69871413T0 P3.4INT1 P3.3201918VSSXTAL1XTAL2RD P3.7WR P3.6
2、 T1 P3.5171615353637P0.4P0.3P0.2P0.1P0.0VCC383940293031PSENALE / PROG EA / VDDP0.7P0.6P0.53233342728P2.6P2.7212223P2.0P2.1P2.2P2.3P2.4P2.5242526MCS-51引脚配置图引脚配置图 8.1 单片机系统扩展概述单片机系统扩展概述一、单片机最小系统一、单片机最小系统使单片机能运行的最少器件构成的系统使单片机能运行的最少器件构成的系统复位电路复位电路8051最小应用系统最小应用系统+5V+5VP P0 0 P P1 1 P P2 2 P P3 3 +5V+5VE
3、AEA8051805187518751XTALXTAL1 1XTALXTAL2 28 88 88 88 8RSTRST8051单片机单片机晶振电路晶振电路复位电路复位电路晶振电路晶振电路XTAL1XTAL2OEPSEN EPROMD0D7OE地址地址锁存锁存器器8031最小应用系统最小应用系统8031单片机、晶振电路、复位电路单片机、晶振电路、复位电路外扩程序存储器外扩程序存储器地址锁存器地址锁存器P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0PSENEAALERESET803180318051805187518
4、751P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0ALEA A1515A A1414A A1313A A1212A A1111A A1010A A9 9A A8 8A A7 7A A6 6A A5 5A A4 4A A3 3A A2 2A A1 1A A0 0D D7 7D D6 6D D5 5D D4 4D D3 3D D2 2D D1 1D D0 0G+5VVCCVSS锁锁存存器器数数据据总总线线(DB)(DB)地地址址总总线线(AB)(AB)控控制制总总线线(CB)(CB) 用户I/O二、二、MCS-51
5、单片机片外总线结构单片机片外总线结构P2: A8A15P0地址锁存器地址锁存器输出:输出:A0A7P0 控制总线控制总线(CB)ALE:地址锁存允许信号地址锁存允许信号PSEN:片外程序存储器读选通信号片外程序存储器读选通信号WR/RD:片外数据存储器片外数据存储器(外扩(外扩I/O口)读写控制信号口)读写控制信号1、外部程序存储器(、外部程序存储器(ROM/EPROM)的扩展)的扩展 2、外部数据存储器(、外部数据存储器(RAM)的扩展)的扩展 3、I/O口的扩展口的扩展 4、管理功能器件扩展、管理功能器件扩展 三、系统扩展内容三、系统扩展内容1、使用、使用TTL中小规模集成电路扩展中小规模
6、集成电路扩展四、系统扩展的基本途径四、系统扩展的基本途径2、采用一些通用或专用芯片扩展、采用一些通用或专用芯片扩展74LS273、74LS373扩展输出口扩展输出口74LS244扩展输入口扩展输入口8255、8155、8253 常用的地址锁存器常用的地址锁存器74LS373的引脚和示意图:的引脚和示意图:真值表:真值表: G D Q LHHH LHLLLL不变不变H 高阻高阻OE74LS273引脚和真值表引脚和真值表74LS244引脚和真值表引脚和真值表一、扩展性能一、扩展性能扩展地址范围扩展地址范围 0000HFFFFH 8.2 8.2 程序存储器扩展程序存储器扩展MOVC A,ADPTRM
7、OVC A,APC访问指令访问指令:地址指针地址指针:产生的控制信号产生的控制信号:PCMOVC指令指令PSEN外扩程序存储器与数据存储器共用外扩程序存储器与数据存储器共用AB和和DB常用的程序存储常用的程序存储器芯片为器芯片为EPROM,有:,有:2716 2732 2764 27128 27256 2K8 4K8 8K8 16K8 32K8 27512(64K 8) 27xx的引脚的引脚 地址锁存器二、程序存储器扩展方法二、程序存储器扩展方法v 单片机单片机AB 程序存储器程序存储器ABv单片机单片机DB 程序存储器程序存储器DBv单片机控制线(单片机控制线(PSEN ) 程序存储器的读选
8、通端(程序存储器的读选通端(OE )PSENPSENEAEA80318031P P2.72.7P P2.02.0P P0.70.7P P0.00.0PSENOE OE A A1515A A8 8CE CE A A7 7A A0 0D D7 7D D0 0外部外部程序程序存储器存储器0K0K64K64K三、程序存储器扩展举例三、程序存储器扩展举例1、单片程序存储器扩展、单片程序存储器扩展Q7 Q6Q5Q4Q3Q2Q1Q0 D7 D6D5D4D3D2D1D0 D7 D6D5D4D3D2D1D0 A13A12A11A10A9A8 A7 A6A5A4A3A2A1A0 OEG P2.5P2.4P2.3P
9、2.2P2.1P2.0 P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0 27128ALEOEEAPSEN74LS3738031CEP2.6一、扩展性能一、扩展性能扩展地址范围扩展地址范围 0000HFFFFH 8.3 8.3 数据存储器扩展数据存储器扩展MOVX A,DPTRMOVX DPTR , A访问指令访问指令:地址指针地址指针:产生的控制信号产生的控制信号:DPTR 或或 RiMOVX指令指令外扩数据存储器与程序存储器共用外扩数据存储器与程序存储器共用AB和和DB二、外部数据存储器操作时序二、外部数据存储器操作时序MOVX A,RiMOVX Ri , AWR / RD
10、常用常用RAM有:有: 6116 6264 62128 62256 2K8 8K8 16K8 32K8 6264的引脚的引脚 6264 逻辑图 6264 引脚图地址锁存器三、数据存储器扩展方法三、数据存储器扩展方法v 单片机单片机AB 数据存储器数据存储器ABv单片机单片机DB 数据存储器数据存储器DBv单片机控制线(单片机控制线(WR/RD ) 数据存储器的读数据存储器的读/写控制端(写控制端(OE /WR)PSENPSENEAEA80318031P P2.72.7P P2.02.0P P0.70.7P P0.00.0 RDWROEOEA A1515A A8 8CECEA A7 7A A0
11、0D D7 7D D0 0外部外部数据数据存储器存储器0K0K64K64KWR四、数据存储器扩展举例四、数据存储器扩展举例1、单片数据存储器扩展、单片数据存储器扩展P3.7(RD)P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7A8A9A10QOA7A6A5A4A3A2A1A0Q1Q2Q3Q4Q5Q6Q7D0D1D2D3D4D5D6D7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7ALEI/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7OEGOE80316116CEEAP3.6(WR)WE74HC3732、多多片数据存储器扩展片数据存储器扩展存储
12、器扩展的片选技术存储器扩展的片选技术线选法线选法微机剩余高位地址总线直接连接各存储器片选线。微机剩余高位地址总线直接连接各存储器片选线。译码片选法译码片选法微机剩余高位地址总线通过地址译码器输出片选信号。微机剩余高位地址总线通过地址译码器输出片选信号。多片存储器芯片组成大容量存储器连接常用片选方法。多片存储器芯片组成大容量存储器连接常用片选方法。一般常使用的译码器有一般常使用的译码器有2/42/4译码器、译码器、3/83/8译码器译码器2-4 2-4 地址译码器:地址译码器:74LS139 74LS139 3-8 3-8 地址译码器:地址译码器:74LS13874LS138例例 P2.7 P2
13、.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 A7 A6 A5 A4 A3 A2 A1 A0P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 A7 A6 A5 A4 A3 A2 A1 A0 : 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 =C000H =C000H 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 DFFFHDFFFH : 1 0 1 1 0 1 0 0 0 0 0 0 0
14、 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 =A000H =A000H 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 BFFFH BFFFH : 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 =6000H =6000H 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 7FFFH 7FFFH P2.7P2.6选中芯片选中芯片地址范
15、围地址范围 0 0IC10000H3FFFH 0 1IC24000H7FFFH 1 0IC38000HBFFFH 1 1IC4C000HFFFFH单片机片外存储器最大扩展电路单片机片外存储器最大扩展电路3、8051扩展扩展E2PROM既可全片擦除也可字节擦除,可在线擦除信息,又能失电保存信息,既可全片擦除也可字节擦除,可在线擦除信息,又能失电保存信息,具备具备RAMRAM、ROMROM的优点。但写入时间较长。的优点。但写入时间较长。可电擦除可电擦除PROMPROMP2.0P2.1P2.2P2.3P2.4P2.7A8A9A10A11A12QOA0A1A2A3A4A5A6A7Q1Q2Q3Q4Q5Q
16、6Q7D0D1D2D3D4D5D6D7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7ALED0D1D2D3D4D5D6D7OEGOE803128C64CEEA74HC373WRPSENRDWE74LS08例:采用例:采用74LS244做扩展输入,做扩展输入,74LS273做扩展输出做扩展输出二、简单二、简单I/O接口的扩展方法接口的扩展方法使用使用TTL中小规模集成电路扩展中小规模集成电路扩展采用一些通用或专用芯片扩展采用一些通用或专用芯片扩展74LS273、74LS373扩展输出口扩展输出口74LS244扩展输入口扩展输入口8255、8155、并行并行 I/O接口的扩展方法
17、接口的扩展方法简单简单I/O口的扩展口的扩展一、一、I/O口的直接输入口的直接输入/输出输出8.4 简单并行简单并行I/O口扩展口扩展例:下图为例:下图为8031单片机与开关、单片机与开关、LED发光二极管的接口电路,发光二极管的接口电路,8031 P1.3P1.0输入,连接到实验装置逻辑开关输入,连接到实验装置逻辑开关K1K3的插孔内;的插孔内;P1.7P1.4作输作输出,连接到实验装置发光二极出,连接到实验装置发光二极LED3LED0的插孔内。编程,将开关的插孔内。编程,将开关K3K0的输入状态由发光二极管显示出来。的输入状态由发光二极管显示出来。P1.0P1.1P1.2P1.3P1.7P
18、1.6P1.5P1.48031K0K3LED0LED3参考程序参考程序LOOP:MOV A,#0FH MOV P1,A MOV A,P1 SWAP A MOV P1,A AJMP LOOPP0.0P0.0P0.1P0.1P0.2P0.2P0.3P0.3P0.4P0.4P0.5P0.5P0.6P0.6P0.7P0.780518051P P2.X2.XWRWRPSEN ?RD ?WR ?WR“0 0”D0D0D1D1D2D2D3D3D4D4D5D5D6D6D7D7Q0Q0Q1Q1Q2Q2Q3Q3Q4Q4Q5Q5Q6Q6Q7Q7LED0LED0LED1LED1LED2LED2LED3LED3LED4
19、LED4LED5LED5LED6LED6LED7LED7+5V+5V74LS27374LS273CLKCLK简单输出口的扩展简单输出口的扩展P0.0P0.0P0.1P0.1P0.2P0.2P0.3P0.3P0.4P0.4P0.5P0.5P0.6P0.6P0.7P0.780518051P P2.X2.XRDRDRD “0 0”简单输简单输入入口的扩展口的扩展D0D0D1D1D2D2D3D3D4D4D5D5D6D6D7D7Q0Q0Q1Q1Q2Q2Q3Q3Q4Q4Q5Q5Q6Q6Q7Q7+5V+5V74LS24474LS244GK0K0K1K1K2K2K3K3K4K4K5K5K6K6K7K7P0.0
20、P0.0P0.1P0.1P0.2P0.2P0.3P0.3P0.4P0.4P0.5P0.5P0.6P0.6P0.7P0.780518051WRWRP2.0P2.0RDRDD0D0D1D1D2D2D3D3D4D4D5D5D6D6D7D7Q0Q0Q1Q1Q2Q2Q3Q3Q4Q4Q5Q5Q6Q6Q7Q7Q0Q0Q1Q1Q2Q2Q3Q3Q4Q4Q5Q5Q6Q6Q7Q7D0D0D1D1D2D2D3D3D4D4D5D5D6D6D7D7K0K0K1K1K2K2K3K3K4K4K5K5K6K6K7K7LED0LED0LED1LED1LED2LED2LED3LED3LED4LED4LED5LED5LED6LED6
21、LED7LED7+5V+5V74LS27374LS27374LS24474LS244G GP2.1P2.1CLKCLK简单简单I/O口的扩展口的扩展图 简单I/O接口扩展电路P0.0P0.0P0.1P0.1P0.2P0.2P0.3P0.3P0.4P0.4P0.5P0.5P0.6P0.6P0.7P0.780C5180C51WRWRP2.0P2.0RDRDD0D0D1D1D2D2D3D3D4D4D5D5D6D6D7D7Q0Q0Q1Q1Q2Q2Q3Q3Q4Q4Q5Q5Q6Q6Q7Q7Q0Q0Q1Q1Q2Q2Q3Q3Q4Q4Q5Q5Q6Q6Q7Q7D0D0D1D1D2D2D3D3D4D4D5D5D6D
22、6D7D7K0K0K1K1K2K2K3K3K4K4K5K5K6K6K7K7LED0LED0LED1LED1LED2LED2LED3LED3LED4LED4LED5LED5LED6LED6LED7LED7+5V+5V74LS27374LS27374LS24474LS244G GCLKCLK简单简单I/O口的扩展口的扩展8.6 A/D、D/A的扩展的扩展模拟信号模拟信号(非电量非电量)传传感感器器A/D转换转换器器8051开关量输出开关量输出D/A转换转换器器模拟量模拟量输出输出具有模拟量具有模拟量I/O的的MCS51系统系统一、一、A/D转换扩展接口转换扩展接口 1、 MCS-51与与ADC08
23、09的接口的接口ADC08098位逐次逼近型位逐次逼近型A/D8路模拟开关路模拟开关8位位A/D转换开关转换开关三态输出锁存器三态输出锁存器地址锁存器、译码器等地址锁存器、译码器等输入电压范围:输入电压范围:05V, 转换时间:转换时间:100 s 引脚功能引脚功能(28脚)脚)ADDCADDBADDA选择通道选择通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7v ADDCADDA:地址输入线,:地址输入线,v IN7IN0:8路模拟量输入引脚路模拟量输入引脚v D7(21)D0 (28) :8位数字量输出引脚位数字量输出引脚v ALE:地址
24、锁存允许信号,高电平有效:地址锁存允许信号,高电平有效锁存锁存ADDCADDA三条地址线上的通道地址三条地址线上的通道地址译码后选通译码后选通IN0IN7中一个通道转换中一个通道转换vVREF(+)/VREF(): 参考电压输入线参考电压输入线vVCC/GND:电源、地线:电源、地线v STARTA/D转换启动信号,正脉冲有效转换启动信号,正脉冲有效t100nstv EOC:转换结束信号,:转换结束信号,转换过程转换过程中为中为低低电平,电平,转换结束转换结束变为变为高电平高电平v OE:为输出允许控制端,:为输出允许控制端,在转换完成后用来打开输出三态门,以便在转换完成后用来打开输出三态门,
25、以便从从0809输出这次转换结果。输出这次转换结果。高电平有效高电平有效v CLK:时钟信号输入线,:时钟信号输入线,提供逐次比较所需时钟:提供逐次比较所需时钟:500KHZ图图828 ADC0809时序图时序图MCS-51单片机和单片机和ADC0809的接口的接口(1)给)给START线上送一个线上送一个100 ns 的启动正脉冲信号的启动正脉冲信号(2)如何获取)如何获取EOC 上的状态信息上的状态信息(3)给)给A/D分配一个端口地址分配一个端口地址 CPU读取读取A/D转换结果的方式转换结果的方式(1)中断方式)中断方式(2)查询方式)查询方式(3)定时方式)定时方式P0.0 P0.1
26、P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 8031CLK VREF(+)ADDAADDB VREF(-)ADDC ADC0809G 74LS373 OE +ADC0809与与8031连接连接 (中断方式)(中断方式)ALEWRRDINT12D0 D1D2D3D4D5D6D7IN0IN1IN2IN3IN4IN5IN6IN7OEP2.7STARTALEEOCP0.0 P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 8031CLK VREF(+)ADDAADDB VREF(-)ADDC ADC0809G 74LS373 OE +ALEWRRDD0 D1D2D3D
27、4D5D6D7IN0IN1IN2IN3IN4IN5IN6IN7OEP2.7STARTALE2EOCADC0809与与8031连接连接 (查询方式)(查询方式)P1.0 送通道号地址到送通道号地址到ADDAADDA、B B、C C,由,由ALEALE信号锁信号锁存通道号地址。存通道号地址。 让让STARTSTART有效启动有效启动A AD D转换即执行一条转换即执行一条MOVX MOVX DPTRDPTR,A A指令指令, , 产生产生WRWR信号,使信号,使ALEALE、STARTSTART有效,锁存通道号并启动有效,锁存通道号并启动A AD D转换。转换。 A AD D转换完毕,转换完毕,E
28、OCEOC端发出一正脉冲。端发出一正脉冲。 最后执行最后执行MOVX A,DPTR产生产生RD信号使信号使OE端有效,打开输出锁存器三态门,端有效,打开输出锁存器三态门,8位数据位数据就读入就读入CPU的累加器的累加器A中。中。 启动启动ADC0809ADC0809的工作过程的工作过程: :例例:某粮库或某冷冻厂需对某粮库或某冷冻厂需对8点点(8个冷冻室或个冷冻室或8个个粮仓个个粮仓)进行温度巡回检测。将读数进行温度巡回检测。将读数依次存放在片内数据存储器依次存放在片内数据存储器A0HA7H单元,其主要程序和中断服务程序如下:单元,其主要程序和中断服务程序如下:ORG0000HSJMPMAIN
29、ORG0013HAJMPRA1MAIN: MOV R0,#0A0H; MOV R2,#08H SETB IT1 SETB EA SETB EX1 MOV DPTR,#7FF8H MOVX DPTR,AHERE: SJMP HERE 中断服务程序中断服务程序RA1: MOVX A,DPTR MOV R0,A INC DPTR INC R0 DJNZ R2,DONE RETIDONE: MOVX DPTR,A RETI ORG 0000HMAIN: MOV R0, #0A0H MOV R2, #08H MOV DPTR, #7FF8HLOP: MOVX DPTR, A JB P3.3, $ ;IN
30、T1引脚信号引脚信号 MOVX A, DPTR MOV R0, A INC DPTR INC R0 DJNZ R2, LOP SJMP $若采用查询方式若采用查询方式,程序如下程序如下:二、二、D/A转换及接口技术转换及接口技术8位输入寄存器位输入寄存器八位八位输入输入锁存锁存器器八位八位DAC寄存寄存器器八位八位D/A转换转换器器DI0DI7 ILECSWR1WR2LE1LE2XFERAGNDRfbIOUT2IOUT1VREFMCS-51 与与DAC0832的接口:的接口:DAC08328位位DAC存放存放CPU送来的数字量,送来的数字量,由由LE1控制控制存放待转换数字量,存放待转换数字量
31、, 由由LE2控制控制8位位DAC寄存器寄存器8位位D/A转换电路转换电路DI0DI7:数据输入线:数据输入线CS:输入寄存器选择信号:输入寄存器选择信号,低电平有效低电平有效ILE:数据锁存允许信号:数据锁存允许信号, 高电平有效高电平有效WR1:输入寄存器的:输入寄存器的“写写”选通信号选通信号,低电平有效低电平有效XFER:数据传送控制输入线:数据传送控制输入线,低电平有效低电平有效WR2:DAC寄存器的寄存器的“写写”选通信号选通信号,低电平有效低电平有效CS VccWR1 ILEAGNDWR2DI3XFERDI2DI4DI1 DI5DI0 DI6VREF DI7RfbIOUT1DGN
32、DIOUT2引脚功能:引脚功能:VREF:基准电压输入线:基准电压输入线Rfb:反馈信号输入线:反馈信号输入线IOUT1和和 I OUT2:电流输出线:电流输出线VCC:工作电源:工作电源DGND:数字地、:数字地、 AGND:模拟信号地:模拟信号地“0”“0”“1”ILECSWR1LE1WR2XFERLE2MCS-51单片机与单片机与DAC0832的接口的接口 直通方式:各控制端信号一直有效直通方式:各控制端信号一直有效 单缓冲方式:输入寄存器和单缓冲方式:输入寄存器和8位位DAC寄存寄存器锁存信号同时有效;或者一个寄存器器锁存信号同时有效;或者一个寄存器控制端一直有效。控制端一直有效。 双
33、缓冲方式:输入寄存器和双缓冲方式:输入寄存器和8位位DAC寄存寄存器锁存信号分开控制器锁存信号分开控制MCS-51单片机与单片机与DAC0832的接口的接口直通方式直通方式-各控制端信号一直有效各控制端信号一直有效V0 D7D6D5D4D3D2D1D0 CSP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0 A741A741 WR1IOUT2IOUT1RfbAGNDXFERWR2DGNDVCCILEVREF DAC08328031+5VW210K1M 10KW 1单极性电压输出单极性电压输出 单极性模拟电压输出,单极性模拟电压输出,输出电压输出电压V Voutout与与输入数字量
34、输入数字量D D的关系的关系: : V Voutout = = (D/256D/256)* *V VRFE RFE = = D D* *V VRFERFE/256/256 式中,式中,D=b72D=b727 7+ b62+ b626 6+ b12+ b121 1+ b02+ b020 0; D D为为0 0时,时,V Voutout也为也为0 0,输入数字量为,输入数字量为255255时,时,V Voutout为为最大值最大值, ,单极性。单极性。 DACDAC输出与输入的关系输出与输入的关系MCS-51单片机与单片机与DAC0832的接口的接口单缓冲方式接口电路单缓冲方式接口电路1 1-将两
35、级寄存器的控制信号并接在一起,相当于控制一级寄存器。将两级寄存器的控制信号并接在一起,相当于控制一级寄存器。单缓冲方式接口电路单缓冲方式接口电路2 2-控制一级寄存器控制一级寄存器, ,另一级相当于直通方式,寄存器控制端一直另一级相当于直通方式,寄存器控制端一直有效。有效。V0 D7D6D5D4D3D2D1D0 CSP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0 A741A741 WR1IOUT2IOUT1RfbAGNDXFERWR2DGNDVCCILEVREF DAC08328031+5VW210K1M 10KW1P2.6WR在不在不要求多路输出同步要求多路输出同步的情况下
36、,可采用单缓冲方式。的情况下,可采用单缓冲方式。DAC0832DAC0832单缓冲方式应用单缓冲方式应用例例 DAC0832DAC0832用作波形发生器。分别写出产生用作波形发生器。分别写出产生锯齿波、锯齿波、三角波三角波和和矩形波矩形波的程序。的程序。(1) (1) 锯齿波的产生锯齿波的产生 ORG 2000HORG 2000HSTART:MOV DPTRSTART:MOV DPTR,#7FFFH#7FFFH;DACDAC地址地址7FFFH R07FFFH R0MOV AMOV A,#00H#00H;数字量数字量A ALOOP: MOVX DPTRLOOP: MOVX DPTR,A A ;数
37、字量数字量D/AD/A转换器转换器INC A INC A ;数字量逐次加数字量逐次加1 1SJMP LOOPSJMP LOOP 输入数字量从输入数字量从0 0开始,逐次加开始,逐次加1 1,为为FFHFFH时,加时,加1 1则则清清0 0,模拟输出又为,模拟输出又为0 0,然后又循环,输出锯齿波,如,然后又循环,输出锯齿波,如图。图。 每一上升斜边分每一上升斜边分256256个小台阶,每个小台阶暂留个小台阶,每个小台阶暂留时间为执行后三条指令所需要的时间时间为执行后三条指令所需要的时间。(2) (2) 三角波的产生三角波的产生ORG 2000HORG 2000HSTART: MOV DPTRS
38、TART: MOV DPTR,#07FFFH#07FFFHMOV AMOV A,#00H#00HUP: MOVXUP: MOVXDPTRDPTR,A A ;三角波上升边三角波上升边INC AINC AJNZ UPJNZ UPDOWN:DOWN: DEC A DEC A;A=0A=0时再减时再减1 1又为又为FFHFFHMOVX DPTRMOVX DPTR,A AJNZ DOWNJNZ DOWN ;三角波下降边三角波下降边SJMP UPSJMP UP(3) (3) 矩形波的产生矩形波的产生 ORG 2000HORG 2000HSTART:START: MOV DPTRMOV DPTR,#7FFF
39、H#7FFFHLOOP:LOOP: MOV AMOV A,#data1#data1MOVX DPTRMOVX DPTR,A A;置矩形波上限电平置矩形波上限电平LCALL DELAY1LCALL DELAY1;调用高电平延时程序调用高电平延时程序MOV AMOV A,#data2#data2MOVX DPTRMOVX DPTR,A A;置矩形波下限电平置矩形波下限电平LCALL DELAY2LCALL DELAY2;调用低电平延时程序调用低电平延时程序SJMP LOOPSJMP LOOP;重复进行下一个周期重复进行下一个周期 DELAY1DELAY1、DELAY2DELAY2为两个延时程序,决
40、定矩形波高、为两个延时程序,决定矩形波高、低电平时的持续低电平时的持续时间时间。频率也可采用延时长短来改变。频率也可采用延时长短来改变。 P2.5 P2.6 P2.7 P0.0 P0.1 P0.28031P 0.3 P0.4 P0.5 P0.6 P0.7WRCS VCC ILEXFERDI0DI1DI2DI30832DI4( 1 )DI5DI6DI7WR1WR2DGNDCS VCCXFER ILEDI0DI1DI2DI30832DI4( 2 )DI5DI6DI7WR1WR2DGND+5VMOV DPTR,#0DFFFH ;指向;指向0832(1)MOV A,# data1MOVX DPTR,A
41、 ;data1送送0832(1)锁存器)锁存器MOVX DPTR,#0BFFFH ;指向;指向0832(2)MOV A,#data2MOVX DPTR,A ;data2送送0832(2)锁存器)锁存器MOV DPTR,#7FFFH ;指向;指向0832(1)和)和0832(2)的数据传送端)的数据传送端MOVX DPTR,A ;data1和和data2同时送同时送D/A转换器进行转换转换器进行转换多路多路同步输出,必须同步输出,必须采用双缓冲同步方式采用双缓冲同步方式。双缓冲方式接口电路双缓冲方式接口电路一、一、8155结构及功能说明结构及功能说明2个个8位位I/O口口,1个个14位的减法计数
42、器位的减法计数器1个个6位位I/O口口8.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片256字节静态字节静态RAM, 最大存储时间:最大存储时间:400nsIntel 8155(1)内部结构)内部结构2个个8位位I/O口口,1个个14位的减法计数器位的减法计数器1个个6位位I/O口口256字节静态字节静态RAM 命令寄存器和状态寄存器命令寄存器和状态寄存器地址锁存器地址锁存器地址译码器和读写控制器地址译码器和读写控制器V VADAD0 07 7CECERDRDWRWRRESETRESETALEALETIME INTIME INTIME OUTTIME OUTV VCCCC(
43、+5V)(+5V)SSSS(GND)(GND)IO/IO/ M MC CPCPC0 0PC5PC5B BPBPB0 0PB7PB7A APAPA0 0PA7PA7256B静态静态RAM14位定时位定时计数器计数器8155芯片的内部结构256B256B静态静态RAMRAM A A 定时器定时器B B C C 口APA0PA7口BPB0PB7PC0PC5口CIO/ MAD0AD7CEALERDWRRESET定时器输入定时器输出接单片机接外设接外设接外设8155引脚功能PC3PC4 PC5 IO/ MCERDWRALEAD0AD1AD2AD3AD4AD5AD6AD7VssVccPC2PC1PC0PB
44、7PB6PB5PB4PB3PB2PB1PB0PA7PA6PA5PA4PA3PA2PA1PA08155TIMER INRESETTIMER OUTAD0-AD7AD0-AD7三态地址三态地址/ /数据线数据线 IO/ M IO/ M端口端口/ /存储存储器选择器选择 RD RD读读ALEALE地址锁存地址锁存允许允许写写 WR WR选片选片 CE CE定时器输定时器输入入TIMER INTIMER IN定时器输定时器输出出TIMER OUTTIMER OUTPA0-PA7PA0-PA7A A口端口线口端口线PB0-PB7PB0-PB7B B口端口线口端口线PC0-PC5PC0-PC5C C口端口
45、线口端口线PA0-PA7端口A的I/O线(8位,接外设)PB0-PB7端口B的I/O线(8位,接外设)PC0-PC5端口C的I/O线(6位,接外设)AD0-AD7三态地址/数据复用线(8位,一般接单片机P0口,CPU与8155之间的地址、数据、命令、状态等信号都通过它来传送)端口/存储器 选择控制 “0”选择片内RAM “1”选择片内I/O口TIMER IN8155片内定时器/计数器的计数脉冲输入引脚TIMER OUT8155片内定时器/计数器的计满回零输出引脚分别是对8155片内的RAM或I/O口的的读、写控制信号ALE地址锁存引脚(下降沿锁存地址)片选RESET复位引脚(复位后复位后815
46、5三个口均为输入方式三个口均为输入方式)CERD、WRIO/ M(2)引脚功能)引脚功能1、 8155的的RAM和和I/O口地址口地址二、二、CPU对对8155 I/O口的控制口的控制此时此时AD0AD7上得到的地址值是指上得到的地址值是指8155的某一的某一RAM单元的地址,地址范围是单元的地址,地址范围是 0000 00001111 1111分别指向分别指向8155 RAM 的的256个存储单元。个存储单元。此时此时AD0AD7 (仅用到低三位(仅用到低三位AD2、AD1、AD0)上得到的地址值是指上得到的地址值是指8155的某一的某一I/O口的地址,具体端口的地址,具体端口地址分配是:口
47、地址分配是:RAM地址地址-当当IO/ M 加低电平时加低电平时I/O口地址口地址-当当IO/ M 加高电平时加高电平时(CE“0”) 8155内部的寄存器内部的寄存器命令命令状态状态PCPBPA定时器定时器高高6位位定时器定时器低低8位位定时器工作方式定时器工作方式8位内部总线位内部总线8888155端口地址端口地址AD7 AD6 AD5 AD4 AD3 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0AD2 AD1 AD0I/OI/O端口端口 0 0 0 0 0 0命令命令/ /状态口状态口 0 0 1 0 0 1A A口口 0 1 0 0 1 0B B口口 0 1 1 0
48、1 1C C口口 1 0 0 1 0 0计数器低计数器低8 8位位 1 0 1 1 0 1计数器高计数器高6 6位位00H01H02H03H04H05H(CE“0”,IO/M“1”)TM1TM2IEBIEAPC2PC1PBPA D7 D6 D5 D4 D3 D2 D1 D0确定确定A口数据传输方向口数据传输方向确定确定B口数据传输方向口数据传输方向 0 0 空操作,不影响定时空操作,不影响定时/计数器工作计数器工作 0 1 立即停止定时立即停止定时/计数器工作计数器工作 1 0 在定时在定时/计数器溢出后停止其工作计数器溢出后停止其工作 1 1 若原定时若原定时/计数器未工作,则置入工作方式和
49、计数长计数器未工作,则置入工作方式和计数长 度后,定时度后,定时/计数器立即启动;若原定时计数器立即启动;若原定时/计数器正在计数器正在 运行,则置入新的工作方式和计数长度后,定时器以运行,则置入新的工作方式和计数长度后,定时器以 原方式工作,直到原计数长度减为原方式工作,直到原计数长度减为0后再按新的方式工作后再按新的方式工作 0输入输入1输出输出确定确定C口及口及A、B口工作方式口工作方式00ALT111ALT201ALT310ALT4A口的中断允许控制口的中断允许控制B口的中断允许控制口的中断允许控制0 禁止该口中断禁止该口中断1 允许该口中断允许该口中断定时定时/计数器控制计数器控制2
50、、8155命令字命令字ALT1ALT2ALT3ALT4PC0 输入输入方式方式 输出输出方式方式 A INTR(A口中断)口中断) A INTR (A口中断)口中断) PC1 A BF(A口缓冲器满)口缓冲器满)A BF(A口缓冲器满)口缓冲器满)PC2 A STB(A口选通口选通 )A STB(A口选通口选通 )PC3 C口的口的PC3,PC4,PC5输出方式输出方式B INTR (B口中断)口中断)PC4 B BF(B口缓冲器满)口缓冲器满)PC5 B STB (B口选通口选通 )A/B口口 A,B口口为基本为基本I/O口口 A,B口为基口为基本本I/O口口 A口为选通口为选通I/O方式方
51、式B口为基本口为基本I/O口口 A,B口为选通口为选通I/O方式方式引引脚脚命令命令A口缓冲器满口缓冲器满/空(输入空(输入/输出)输出)TIMER B BFINTR BINTE AABFINTR AINTE B D7 D6 D5 D4 D3 D2 D1 D0A口中断申请口中断申请B口中断允许口中断允许B口缓冲器满口缓冲器满/空(输入空(输入/输出)输出)A口中断允许口中断允许B口中断申请口中断申请定时定时/计数器中断申请计数器中断申请3、8155状态字状态字1、作为片外、作为片外256字节字节RAM 三、三、8155工作方式工作方式CS IO/M AD0AD7 0 0 00HFFH 访问指令:访问指令:MOVX2、作为扩展的、作为扩展的I/O口使用口使用CS IO/M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论