《(2.8)--8章单片机系统扩展及IO接口技术.ppt》由会员分享,可在线阅读,更多相关《(2.8)--8章单片机系统扩展及IO接口技术.ppt(64页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机原理单片机原理与与应用应用技术技术第第8章章单片机系统扩展及单片机系统扩展及I/O接口技术接口技术内容指南内容指南前面几章介绍了单片机片内资源的工作原理与应用。当单片机片内资源不够用时,AT89S51单片机可以进行外部资源的扩充。本章介绍外部资源的扩充原理,包括存储器、并行I/O、A/D、D/A的扩展技术和应用举例。学习目标学习目标掌握51单片机外部系统总线的构成。了解存储器、并行I/O、A/D、D/A的外部扩展原理。了解常用串行芯片的外部扩展技术及其应用。第8章 单片机的系统扩展51单片机最小系统51单片机扩展系统51单片机扩展技术Xdata存储空间的访问第第1讲讲 单片机的系统扩展单
2、片机的系统扩展第8章 单片机的系统扩展 51/52单片机片内资源:4KB/8KB ROM;128B/256B RAM;4个并行I/O或32位I/O口;5/6源中断系统;2/3个16位定时/计数器;1个全双工串行口UART;51单片机最小系统示意图80C51/52片内资源单片机最小系统:是指只使用片内资源的应用系统。第8章 单片机的系统扩展当片内资源不够用时,51单片机可以进行系统扩展(包括RAM、ROM、I/O、中断、T/C、ADC、DAC等);也可以选择满足应用系统所需资源的其它芯片(推荐)。例如,美国Atmel公司的AT89系列单片机芯片美国Silicon labs公司的C8051F系列芯
3、片我国宏晶科技的STC89,STC12,STC15系列芯片在Keil开发环境中列出了几百种芯片可供选择。第8章 单片机的系统扩展ATMEL公司AT89系列芯片第8章 单片机的系统扩展美国Silabs公司的C8051F系列单片机第8章 单片机的系统扩展宏晶公司STC12C系列51单片机型号型号Flash程序存储程序存储器器SRAM定时定时计数器计数器UARTPWMD/A8路路A/DI/OEEPROMSPISTC12C5A60S260K128042-3个个2路路10位位441K有有STC12C5A48S248K128042-3个个2路路10位位4413K有有STC12C5A56S256K12804
4、2-3个个2路路10位位445K有有STC12C5A52S252K128042-3个个2路路10位位449K有有STC12C5A48S248K128042-3个个2路路10位位4413K有有STC12C5A40S240K128042-3个个2路路10位位4421K有有STC12C5A32S232K128042-3个个2路路10位位4429K有有STC12C5A16S216K128042-3个个2路路10位位4445K有有STC12C5A08S28K128042-3个个2路路10位位4453K有有IAP12C5A62S262K128042-3个个2路路10位位44IAP有有第8章 单片机的系统扩
5、展51单片机扩展系统 是指在片外扩展硬件资源的系统RAM、ROM、I/O、中断、T/C、ADC、DAC等都可以片外扩展 第8章 单片机的系统扩展51单片机扩展技术 51单片机如何在片外扩展资源呢?并行总线扩展技术串行总线扩展技术两种扩展技术分别利用并行总线芯片或串行总线芯片来扩展第8章 单片机的系统扩展51单片机并行总线扩展技术大家回忆下单片机内部资源是靠什么连接在一起的?片内系统总线CPUROMRAM T/C控制总线 CB数据总线 DB地址总线 AB第8章 单片机的系统扩展51单片机还可构造片外系统总线系统总线系统总线利用外部系统总线(三总线)进行系统扩展称为并行总线扩展第8章 单片机的系统
6、扩展按功能通常把系统总线分为三组。1地址总线(Adress Bus,AB)地址总线用于传送单片机发出的地址信号,以便进行存储单元或I/O接口芯片中的端口选择。地址总线是单向传输的。2数据总线(Data Bus,DB)数据总线用于在单片机与存储器或与I/O端口之间传送数据,数据总线是双向的。3控制总线(Control Bus,CB)控制总线就是单片机执行指令时发出的读写控制信号线。第8章 单片机的系统扩展利用并行总线扩展的片外RAM和片外I/O端口统一编址xdata(0000FFFFH),采用相同的访问指令。单片机片外RAM地址空间xdata(片内data)第8章 单片机的系统扩展一般CPU都有
7、专用总线引脚,为减少引脚数量,51单片机没有专用总线引脚,而是采用与通用I/O引脚复用(兼作总线引脚)的方案。P0口P2口51单片机如何构造片外系统总线呢?第8章 单片机的系统扩展 片外三总线的构成:数据总线P0口地址总线P0+P2控制总线P3口+控制引脚采用了分时复用P0口方案,即数据总线和低8位地址总线都由P0口承担。为了将数据与地址信息分开,需要在P0口外部增加地址锁存器芯片(74LS373,74HC373等)。第8章 单片机的系统扩展74LS373-带三态门的8D锁存器D7D0:8位数据输入线。Q7Q0:8位数据输出线。OE*:数据输出允许信号,低电平有效。G:输入锁存选通信号。导通锁
8、存隔离第8章 单片机的系统扩展典型的P0口地址/数据接口电路 接线方法接线方法:/OE地,LE正脉冲源,D0D7P0,Q0Q7外设地址端第8章 单片机的系统扩展P0和P2口作为地址/数据总线后,留给用户使用的I/O口只有P1口和部分P3口。这就是不推荐采用并行总线扩展的理由。推荐利用串行芯片扩展或是选择资源够用的单片机。第8章 单片机的系统扩展串行总线扩展技术利用串行总线芯片扩展系统如单总线(1 wire)芯片;I2C总线芯片;SPI总线芯片常用的如:DS18B20;AT24CXX;93LCXX串行ADC;串行DAC;串行实时时钟芯片这些芯片体积小巧,功耗低(第9章介绍了这些芯片的扩展和应用技
9、术)第8章 单片机的系统扩展 MOVX A,DPTR MOVX A,Ri MOVX DPTR,A MOVX Ri,A(读,RD)(写,WR)1、汇编语言方法xdata地址空间的访问xdataXdata地址装入数据指针寄存器DPTR(间接寻址)第8章 单片机的系统扩展2、C51语言方法-C51语言有多种方法访问xdata绝对地址#include#define port XBYTE 0 x1000unsigned char temp1,temp2;temp1=port;/读端口操作port=temp2;/写端口操作 例如,对占用片外RAM 1000H的端口进行读写操作:#include /包含含有
10、宏定义的头文件#define 变量名 XBYTE 地址常数 /地址定义语句方法1:利用宏定义文件absacc.h定义绝对地址变量宏定义头文件absacc.h中包含绝对地址访问的函数原型第8章 单片机的系统扩展方法2:采用指针访问xdata存储空间绝对地址例如,同样针对上述举例,程序设计如下:unsigned char xdata*PORT=0 x1000;/定义指针变量 unsigned char temp1,temp2;temp=*PORT;/读0 x1000端口*PORT=temp2;/写0 x1000端口 数据类型 存储类型1 存储类型2*变量名=地址常数;第8章 单片机的系统扩展方法方
11、法3:采用_at_关键字访问片外RAM绝对地址使用_at_可对指定存储器空间的绝对地址定位绝对地址定位,但使用_at_定义的变量只能为全局变量。例如:unsigned char xdata xram0 x80 _at_ 0 x1000;/在片外RAM 0 x1000处定义一个char型数组变量xram,元素个数为0 x80数据类型 xdata 变量名_at_地址常数;本讲结束第8章 单片机的系统扩展第2讲 并行输出A/D转换器的扩展A/D转换器转换器(Analog to Digital Converter)能把模拟量转换成相应数字量(简称为ADC或A/D)。单片机测控系统中的ADC和DAC D
12、/A转换器(Digital to Analog Converter)能把数字量转换为模拟量的电子器件(简称为DAC或D/A)。第8章 单片机的系统扩展逐次逼近型双积分型-型并行比较型/串行比较型压频变换型AD转换器的分类按转化原理按转化速度超高速(转换速度1ns)高速(转换速度20s)中速(转换速度中速(转换速度1ms)低速(转换速度1s)8位位12位14位16位按转化位数第8章 单片机的系统扩展逐次逼近式ADC的工作原理从最高位开始通过试探值逐次进行测试,直到试探值经D/A转换器输出VN与VIN相等或达到允许误差范围为止。则该试探值就为A/D转换所需的数字量。逐次逼近寄存器第8章 单片机的系
13、统扩展ADC主要技术指标:转换时间转换时间(convertion time)是指完成一次AD转换所需要的时间。逐次逼近型ADC的典型值为1200s。分辨率分辨率(resolution)是指系统在标准参考电压时可分辨的最小模拟电压,即1个个bit对应的模拟电压大小对应的模拟电压大小。第8章 单片机的系统扩展28只引脚ADC0809逐次比较型模数转换芯片分辨率为位 转换时间00S 工作量程为05V功耗为15m工作电压为+5V具有锁存控制的8路模拟开关输出与TTL电平兼容 第8章 单片机的系统扩展8路模拟输入信号用三根地址线A,B,C选通IN0IN7;引脚START启动AD转换,CLK转换时钟,VR
14、参考电压,EOC结束标志,OE输出使能,ALE地址锁存使能ADC0809的结构组成第8章 单片机的系统扩展工作时序ALEALE锁存ADDA、ADDB、ADDCSTARTSTART正脉冲启动AD转换 EOCEOC由高变低(AD启动后)保持低电平(转换期间)由低变高(转换结束)OEOE正脉冲,打开三态门输出第8章 单片机的系统扩展【例8-2】分析图8-27所示的ADC0809接口电路,并根据电路图编程实现将IN7通道输入的模拟量信号进行转换,转换结果以16进制数显示,图中的两位数码管显示器采用带BCD译码驱动的数码管。第8章 单片机的系统扩展模拟通道地址,经373对低8位地址进行锁存:IN0的低8
15、位地址为1111 1000B(0 xf8),IN1为0 xf9,IN7为0 xff。电路分析 采用总线连接方式第8章 单片机的系统扩展电路分析 由P2.0形成高8位地址(0 xfe),与WR信号合成START/ALE正脉冲启动ADC,与RD信号合成OE正脉冲输出转换数据;启动IN0IN7通道AD转换的命令的地址为:0 xfef8,0 xfeff。读取AD结果的命令的地址为:任何高8位为0 xfe的地址均可。第8章 单片机的系统扩展EOC信号经非门接P3.3可形成一负脉冲信号(查询转换结束标志);AD转换的时钟由虚拟信号发生器提供,频率5500kHz;电路分析 第8章 单片机的系统扩展第8章 单
16、片机的系统扩展第8章 单片机的系统扩展仿真运行效果第8章 单片机的系统扩展D/A转换器概述转换器概述 DAC是一种将数字信号转换成模拟信号的器件,其是一种将数字信号转换成模拟信号的器件,其原理框图如图所示。原理框图如图所示。DAC的模拟量输出(电流或电压)与输入数字量的模拟量输出(电流或电压)与输入数字量成正比,和参考电压成正比,和参考电压Vref成正比。其基本关系如下,成正比。其基本关系如下,其中其中 n 为二进制位数:为二进制位数:Vo=(D/2n)Vref 第第3 3讲讲 并行并行D/AD/A转换器的扩展转换器的扩展第8章 单片机的系统扩展DAC的数字输入方式可以是:串行方式串行方式:适
17、用于要求转换速度不高的系:适用于要求转换速度不高的系统中,占用统中,占用I/O口资源少,方便连接。口资源少,方便连接。并行方式并行方式:适用于要求转换速度较高的系:适用于要求转换速度较高的系统中,占用统中,占用I/O口资源多。口资源多。D/A转换器概述转换器概述第8章 单片机的系统扩展DAC的模拟量输出方式 电压输出电压输出:输出的模拟量为电压信号。:输出的模拟量为电压信号。电压输出又有单极性电压输出又有单极性(0V5V、0V12V等等)和和双极性双极性(5V、12V等等)之分,可根据需要选择。之分,可根据需要选择。电流输出电流输出:输出的模拟量为电流信号。:输出的模拟量为电流信号。在实际应用
18、中如需要模拟电压,对于电流输在实际应用中如需要模拟电压,对于电流输出的出的D/A,可在其输出端加运算放大器,通过,可在其输出端加运算放大器,通过运算放大器构成电流运算放大器构成电流-电压转换电路。电压转换电路。第8章 单片机的系统扩展电流输出型DA转换原理 总电流总电流分支电流分支电流I01转换电流与“逻辑开关”为1的各支路电流的总和成正比,即与D0D7口输入的二进制数成正比。转换电流第8章 单片机的系统扩展转换电压转换电压DAC0832外接放大器反馈电阻即,转换电压正比于待转换的二进制数和参考电压第8章 单片机的系统扩展DAC的性能指标:1、分辨率通常将DAC能够转换的二进制的位数称为分辨率
19、能够转换的二进制的位数称为分辨率。位数越多分辨率也越高,一般为8位、10位、12位、16位等。分辨率为8位时,若参考电压为10V,则输出的最小电压为10V/25639.1mV;若参考电压为5V,则19.5.1mVDAC0832的分辨率为8位。第8章 单片机的系统扩展2、转换时间将一个数字量转换为稳定模拟信号所需的时间转换时间;DAC的转换时间一般在几十纳秒(ns)几百微秒(s);DAC0832的转换时间为1 s。按转换时间分为:按转换时间分为:超高速超高速DAC(转换时间(转换时间100ns)、)、高速高速DAC(介于(介于100ns10s之间)、之间)、中速中速DAC(介于(介于10s100
20、s之间)、之间)、低速低速DAC(100s)等。)等。第8章 单片机的系统扩展 实际D/A转换器由于各元件参数值存在误差、基准电压不够稳定以及运算放大器的漂移等,使D/A转换器实际转换精度受转换误差的影响,低于理论转换精度。转换误差指实际输出的模拟电压与理想值之间的最大偏差,常用这个最大偏差与输出电压满刻度(Full Scale Range简称FSR)的百分比表示。一般是增益误差、漂移误差和非线形误差的综合指标。3、转换误差第8章 单片机的系统扩展DAC0832电流输出型D/A转换器20只引脚8位并行输入方式分辨率19.5mV(VREF=5V)电流建立时间s参考电压10V 输入与TTL电平兼容
21、 单一电源供电(5V15V)低功耗,20m 第8章 单片机的系统扩展DAC0832的结构内部组成:1个8位输入锁存器1个8位DAC寄存器1个8位D/A转换器5个控制逻辑(2级控制)工作过程:8位数据并行送入锁存器在第1级控制信号作用下进入寄存器在第2级控制信号作用下进入转换器转换结果由Iout1电流输出。第8章 单片机的系统扩展8位数据输入片选信号输入 输入锁存允许输入锁存器写选通数据传送控制信号输入DAC寄存器写选通信号输入线 模拟电流输出线1、2反馈信号输入线 参考电压输入线 模拟地 数字地 DAC0832引脚介绍第8章 单片机的系统扩展理想情况下的转换公式:理想情况下的转换公式:当参考电
22、压当参考电压VrefVref为为5V5V(或(或5V5V)时,输出电压范围为)时,输出电压范围为0 05V5V(或(或0 05V5V)DAC0832输出的是电流,要转换为电压,还须经过一个外接的运算放大器。DAC0832的电压输出第8章 单片机的系统扩展 有时希望输出双极性的电压信号,此时可将有时希望输出双极性的电压信号,此时可将单极性的输出电压单极性的输出电压 转换为双极性的输出电压转换为双极性的输出电压将将U1公式代入上式得到公式代入上式得到 与待转换的数字量与待转换的数字量D的关系为:的关系为:双极性输出电压:双极性输出电压:-VREF +VREF第8章 单片机的系统扩展双极性转换电路图
23、双极性转换电路图 为保证输出的线性(为保证输出的线性(和和 )的电位应尽)的电位应尽可能接近零电位,否则,运算放大器输入端的微小电位可能接近零电位,否则,运算放大器输入端的微小电位差会导致很大的输出线性误差。差会导致很大的输出线性误差。第8章 单片机的系统扩展DAC0832的3种控制方式直通方式直通方式 两个寄存器都处于直通状态.单缓冲方式单缓冲方式 一一个寄存器处于直通,另一个处于受控状态.双缓冲方式双缓冲方式 两个寄存器都分别处于受控状态.第8章 单片机的系统扩展【例8-3】根据图8-31所示的DAC0832接口电路,编程实现由DAC0832输出一路正弦波的功能。电路分析:1、采用I/O口
24、方式接线(任何一个并行IO口都行)2、直通控制方式4个控制端都接低电平,ILE接高电平 第8章 单片机的系统扩展第8章 单片机的系统扩展仿真运行结果:第8章 单片机的系统扩展【例8-4】根据图8-33所示的DAC0832接口电路,编程实现一路三角波发生器的功能。电路分析:1、第1级受控,第2级直通(单缓冲方式)2、总线接口方式:DAC第1级地址:1111 1110(0 xfeff)第8章 单片机的系统扩展上面的电路图相当于:执行写端口指令时WR=0;端口地址必须是P2.0(即A0)=0;因此端口地址可用1111 1110(0 xfeff)第8章 单片机的系统扩展本例参考程序:第8章 单片机的系
25、统扩展仿真运行效果第8章 单片机的系统扩展【例8-5】图8-35所示的电路是两片DAC0832双缓冲接口电路,编程实现两路锯齿波同步发生的功能。DAC1第1级地址:1111 1110(0 xfeff)DAC2第1级地址:1111 1101(0 xfdff)DAC1和2第二级地址:1110 1111(0 xefff)电路分析:1、双缓冲方式:DAC1和DAC2的第1级各设1个控制端,两个DAC的第2级共用1个控制端;2、总线接口方式:第8章 单片机的系统扩展语句DAOUT=num的作用只是启动DAC寄存器,传输什么数据都没关系。第8章 单片机的系统扩展本例仿真运行效果(多路D/A同步输出)第8章 单片机的系统扩展谢谢您的聆听谢谢您的聆听