单片机课件第5章_第1页
单片机课件第5章_第2页
单片机课件第5章_第3页
单片机课件第5章_第4页
单片机课件第5章_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机原理与应用单片机原理与应用四川文理学院四川文理学院emailemail:20212021年年1111月月2727日日第第5 5章章 mcs-51mcs-51单片机的输入单片机的输入/ /输出通道输出通道接口接口 主要内容: 输入/输出通道的组成与配置,a/d、d/a转换器及其接口技术。通过本章的学习,使读者了解输入/输出通道设计的基本原理和方法,掌握常用a/d、d/a芯片及其与mcs-51单片机的接口电路与程序设计。重点和难点在于不同方式的a/d、d/a芯片与mcs-51的接口及其程序设计。 输入通道(前向通道):被测对象与单片机联系的信号通道。被测对象与单片机联系的信号通道。包括传感器

2、或敏感元件、通道结构、信号调节、包括传感器或敏感元件、通道结构、信号调节、a/da/d转换、电源转换、电源的配置、抗干扰等。的配置、抗干扰等。 输出通道(后向通道):单片机与被控对象联系的信号通道。单片机与被控对象联系的信号通道。包括功率驱动、干扰的抑制、包括功率驱动、干扰的抑制、d/ad/a转换等。转换等。 5.1.1 传感器 传感器:传感器是测量系统中的一种前端部件,它将各种输入变传感器是测量系统中的一种前端部件,它将各种输入变量转换成可供测量的信号。量转换成可供测量的信号。 传感器的分类: (1)按传感器的用途可以将传感器分为:压敏和力敏传感器、)按传感器的用途可以将传感器分为:压敏和力

3、敏传感器、位置传感器、液面传感器、能耗传感器、速度传感器、热敏传位置传感器、液面传感器、能耗传感器、速度传感器、热敏传感器、加速度传感器、射线辐射传感器、振动传感器、湿敏传感器、加速度传感器、射线辐射传感器、振动传感器、湿敏传感器、磁敏传感器、气敏传感器、真空度传感器和生物传感器感器、磁敏传感器、气敏传感器、真空度传感器和生物传感器等。等。 (2)按传感器输出信号标准可将传感器分为:)按传感器输出信号标准可将传感器分为: 模拟传感器、模拟传感器、数字传感器、开关传感器等。数字传感器、开关传感器等。 5.1 5.1 输入输入/ /输出通道概述输出通道概述 传感器的发展方向: 传感器已经成为现代信

4、息技术系统三大支柱之一,在工业、传感器已经成为现代信息技术系统三大支柱之一,在工业、农业、航空航天、军事国防等领域得到了日益广泛的应用。其发农业、航空航天、军事国防等领域得到了日益广泛的应用。其发展方向主要有以下几个方面:展方向主要有以下几个方面:(1)利用新的物理现象、化学反应、生物效应设计传感器。)利用新的物理现象、化学反应、生物效应设计传感器。(2)引入数据融合技术。)引入数据融合技术。(3)使用新型材料,向微功耗、集成化及无源化发展。)使用新型材料,向微功耗、集成化及无源化发展。(4)采用新的加工技术。)采用新的加工技术。(5)向微型化发展。)向微型化发展。(6)向高可靠性、宽温度范围

5、发展等。)向高可靠性、宽温度范围发展等。 5.1.2 单片机应用系统的输入/输出通道 过程过程i/o通道:通道:单片机系统和被控对象之间信息的交互通道(输入通道、输出通道)称为过程i/o通道,过程i/o通道的一般结构如下图所示。 特点: (1 1)要靠近拾取对象采集信息;)要靠近拾取对象采集信息; (2 2)传感器、变送器的性能和工作环境因素严重影响通道的)传感器、变送器的性能和工作环境因素严重影响通道的方案设计;方案设计; (3 3)一般是模拟、数字等混杂电路;)一般是模拟、数字等混杂电路; (4 4)常需要放大电路;)常需要放大电路; (5 5)抗干扰设计非常重要。)抗干扰设计非常重要。

6、输入通道的结构类型: 输入通道结构形式取决于被测对象的环境、输出信号的类输入通道结构形式取决于被测对象的环境、输出信号的类型、数量、大小等。其结构如下页图所示。型、数量、大小等。其结构如下页图所示。 1 1输入通道输入通道2输出通道 特点特点:(1)小信号输出,大功率控制;(2)输出伺服驱动控制信号;(3)电磁和机械干扰较为严重。通道结构:通道结构: 在输出通道中,单片机完成控制处理后的输出,总是以数字信号或模拟信号的形式,通过i/o口或者数据总线传送给被控对象。输出通道的结构如下页图所示。 3 3信号处理电路信号处理电路 输入通道中,信号处理的任务是可由硬件实现能够完成小信号放大,信号变换,

7、滤波、零点校正、线性化处理、温度补偿、误差修正和量程切换等任务。可由硬件实现,有些也可由软件实现。(1 1)开关量输入)开关量输入 被控对象的一些开关状态可以经开关量输入通道输入到单片被控对象的一些开关状态可以经开关量输入通道输入到单片机系统,这些开关信号根据实际情况需要经过电平匹配、电气隔机系统,这些开关信号根据实际情况需要经过电平匹配、电气隔离或互感器后才能够通过单片机接口,接入到单片机系统。离或互感器后才能够通过单片机接口,接入到单片机系统。(2)小信号放大技术)小信号放大技术 输入通道中,对小信号需要经过测量放大器、可编程增益放输入通道中,对小信号需要经过测量放大器、可编程增益放大器及

8、带有放大器的小信号双线发送器等电路进行放大调节。大器及带有放大器的小信号双线发送器等电路进行放大调节。(3)隔离放大技术)隔离放大技术 在某些要求输入和输出电路彼此隔离的情况下,必须使用隔在某些要求输入和输出电路彼此隔离的情况下,必须使用隔离放大器。常用隔离放大器有变压器耦合隔离放大器和光耦合隔离放大器。常用隔离放大器有变压器耦合隔离放大器和光耦合隔离放大器两种。离放大器两种。 5.2 d/a转换器及接口技术 d/a转换器(digit to analog converter):将数字量转换成模将数字量转换成模拟量的器件称为拟量的器件称为d/a转换器,通常用转换器,通常用dac表示。表示。 d/

9、a转换接口器设计中主要考虑的问题:d/a转换芯片的选择、数转换芯片的选择、数字量的码输入、精度、输出模拟量的类型与范围、转换时间、与字量的码输入、精度、输出模拟量的类型与范围、转换时间、与cpu的接口方式等。的接口方式等。5.2.1 d/a转换器的性能指标(1 1)分辨率:)分辨率:指指d/a转换器能分辨的最小输出模拟增量,即相邻两转换器能分辨的最小输出模拟增量,即相邻两个二进制码对应的输出电压之差称为个二进制码对应的输出电压之差称为d/a转换器的分辨率。可用转换器的分辨率。可用最低位(最低位(lsb)表示。如,)表示。如,n位位d/a转换器的分辨率为转换器的分辨率为1/2n。(2 2)精度:

10、)精度:精度是指精度是指d/a转换器的实际输出与理论值之间的误差,转换器的实际输出与理论值之间的误差,它是以满量程它是以满量程vfs的百分数或最低有效位(的百分数或最低有效位(lsb)的分数形式表)的分数形式表示。示。(3 3)线性误差:)线性误差:d/a的实际转换特性(各数字输入值所对应的各模的实际转换特性(各数字输入值所对应的各模拟输出值之间的连线)与理想的转换特性(始、终点连线)之间拟输出值之间的连线)与理想的转换特性(始、终点连线)之间是有偏差的,这个偏差就是是有偏差的,这个偏差就是d/a的线性误差。即两个相邻的数字的线性误差。即两个相邻的数字码所对应的模拟输出值(之差)与一个码所对应

11、的模拟输出值(之差)与一个lsb所对应的模拟值之差。所对应的模拟值之差。常以常以lsb的分数形式表示。的分数形式表示。(4 4)转换时间)转换时间tsts(建立时间):(建立时间):从从d/a转换器输入的数字量发生变转换器输入的数字量发生变化开始,到其输出模拟量达到相应的稳定值所需要的时间称为转化开始,到其输出模拟量达到相应的稳定值所需要的时间称为转换时间。换时间。(5 5)偏移量误差)偏移量误差:偏移量误差是指输入数字量为零时,输出模拟量偏移量误差是指输入数字量为零时,输出模拟量对零的偏移值。对零的偏移值。 5.2.2 d/a转换器的分类 按输出形式分类:按输出形式分类:电压输出型和电流输出

12、型。 按是否含有锁存器分类:按是否含有锁存器分类:内部无锁存器和内部有锁存器。 按能否作乘法运算分类:按能否作乘法运算分类:乘算型和非乘算型。 按输入数字量方式分类:按输入数字量方式分类:并行总线d/a转换器和串行总线d/a转换器。 按转换时间分类:按转换时间分类: 超高速d/a(ts100ns)、高速d/a(ts为100ns 10s)、中速d/a(ts为10s100s)、低速d/a(ts100s)等。 5.2.3 d/a转换器的接口 1dac0832的特点与引脚的特点与引脚(1)dac0832的特点 dac0832是ns公司生产的dac0830系列(dac0830/32)产品中的一种, 8位

13、cmos数模转换芯片,其特点如下: 8位并行d/a转换; 片内二级数据锁存,提供数据输入双缓冲、单缓冲、直通三种工作方式; 电流输出型芯片(需外接运放) ; dip20封装,cmos低功耗器件,单电源(+5 v+15 v,典型值+5 v)供电; 具有双缓冲控制输出;参考电压为-10+10v与mcs-51连接方便。 dac0830系列均为dip20封装,且管脚完全兼容,dac0832的引脚如下图所示。引脚功能如下:d0d7:8位数字量输入端 : 片选端,低有效ile : 数据锁存允许 : 写控制信号1 : 写控制信号2 : 数据传送控制信号iout1: 电流输出端1iout2: 电流输出端2rf

14、b : 内置反馈电阻端vref : 参考电压源(-10 v+10 v) dgnd: 数字量地agnd: 模拟量地vcc: +5 +15v单电源供电端cs1wr2wrxfer2 2电压输出方法电压输出方法 dac0832需要电压输出时,可以简单地使用一个运算放大器连接成单极性输出形式。如右图所示。 输出电压vout= (-vref) 3 3单缓冲方式接口单缓冲方式接口 单缓冲方式是指dac0832内部的两个数据缓冲器有一个处于直通方式,另一个处于受单片机控制的方式。如下页图所示。ile接+5v,片选信号及数据传输信号都与地址选择线p2.7相连,地址为7fffh,两级寄存器的写信号都由cpu的端控

15、制。数字量可以直接从mcs-51的p0口送入dac0832。当地址选择线选择好dac0832后,只要输出控制信号,dac0832就能一次完成数字量的输入锁存和d/a转换输出。2din执行下列几条指令就可以完成一次执行下列几条指令就可以完成一次d/ad/a转换:转换:mov dptr, #7fffh ; 地址指向dac0832mov a, #data ; 待转换的数字量data送累加器amovx dptr, a ; 数字量送p2.7指向的地址,有效时完成一次d/a输入 例题例题 利用上图所示电路,使用dac0832作波形发生器产生三角波。 解解:在上页图中,放大器lm324的输出端vout直接反

16、馈到rfb,所以该电路只能产生单极性的模拟电压。 产生三角波的程序如下产生三角波的程序如下: org 0100h start: mov dptr, #7fffh ; 地址指向dac0832 mov a, #00h ; 三角波起始电压为0 up: movx dptr, a ; 数字量送dac0832转换 inc a ; 三角波上升边 jnz up ; 未到最高点0ffh,返回up继续 down: dec a ; 到三角波最高值,开始下降边 movx dptr, a ; 数字量送dac0832转换 jnz down ; 未到最低点0,返回down继续 sjmp up ; 返回上升边 end 数字量

17、从0开始逐次加1,模拟量与之成正比,当(a)=0ffh时,则逐次减1,减至(a)=0后,再从0开始加1,如此循环重复上述过程,输出就是一个三角波。 对于多路对于多路d/a转换,若要求同步进行转换,若要求同步进行d/a转换输出时,则必转换输出时,则必须采用双缓冲方式。须采用双缓冲方式。例题 假设某一分时控制系统,由一台单片机控制并行的两台设备,连接假设某一分时控制系统,由一台单片机控制并行的两台设备,连接电路如下图所示,两台设备的模拟控制信号分别由两片电路如下图所示,两台设备的模拟控制信号分别由两片dac0832输出,输出,要求两片要求两片dac0832同步输出。同步输出。4双缓冲方式 解解:如

18、上页图所示,利用dac0832双缓冲的原理,对不同端口地址的访问具有不同的操作功能,具体功能如下表所示。实现同步输出的操作步骤为:实现同步输出的操作步骤为: 将1#待转换数据由数据总线 1#dac0832的第一级锁存(写7fffh口); 将0#待转换数据由数据总线 0#dac0832的第一级锁存(写0dfffh口); 将1#、0#dac0832的第一级锁存器中的数据 各自的第二级锁存,同时开始d/a转换(写0bfffh),周而复始。程序如下:程序如下: org 0100h start: mov dptr, #7fffh; 数据指针指向1#的第一级锁存器mov a, #data1; 取第一个待转

19、换数据data1movx dptr, a; 送入第一级缓冲器mov dptr, #0dfffh; 数据指针指向0#的第一级锁存器mov a, #data0; 取第二个待转换数据data0movx dptr, a; 送入第一级缓冲器mov dptr, #0bfffh; 数据指针指向两个转换器的第二 级缓冲地址movx dptr, a; 1#和0#数据同时由第一级向第二 级锁存传送,并开始转换retend5.3 a/d转换器及接口技术 a/d转换器(analog to digit converter):将模拟量转换为与之将模拟量转换为与之成比例的数字量的器件称为成比例的数字量的器件称为a/d转换器

20、,常用转换器,常用adc表示。表示。5.3.1 a/d转换器的性能指标 (1 1)分辨率:)分辨率:分辨率是指输出数字量变化一个相邻数码所需输分辨率是指输出数字量变化一个相邻数码所需输入模拟电压的变化量。入模拟电压的变化量。a/d转换器的分辨率定义为满刻度电压与转换器的分辨率定义为满刻度电压与2n之比值,其中之比值,其中n为为adc的位数。的位数。 例如:具有具有12位分辨率的位分辨率的adc能分辨出满刻度的(能分辨出满刻度的(1/2)12或满或满刻度的刻度的0.0245%。一个。一个10v满刻度的满刻度的12位位adc能够分辨输入电压能够分辨输入电压变化的最小值为变化的最小值为2.4mv。而

21、。而 位的位的a/d转换器(满字为转换器(满字为1999),),其分辨率为满刻度的其分辨率为满刻度的1/1999100%=0.05%。 213(2)转换速率与转换时间:转换速率是指a/d转换器每秒钟转换的次数。转换时间是指完成一次a/d转换所需的时间(包括稳定时间)。转换时间是转换速率的倒数。(3)量化误差:有限分辨率a/d的阶梯状转移特性曲线与理想无限分辨率a/d的转移特性曲线(直线)之间的最大偏差称为量化误差。通常是1个或半个最小数字量的模拟变化量,表示为1lsb,1/2lsb。(4)线性度:实际a/d转换器的转移函数与理想直线的最大偏差。不包括量化误差、偏移误差(输入信号为零时,输出信号

22、不为零的值)和满刻度误差(满度输出时,对应的输入信号与理想输入信号值之差)三种误差。(5)量程:量程是指a/d能够转换的电压范围,如05v,-10+10v等。(6) 其他指标:内部/外部电压基准、失调(零点)温度系数、增益温度系数,以及电源电压变化抑制比等性能指标。 5.3.2 a/d转换器的分类 5.3.3 a/d转换器的接口 1逐次逼近式a/d转换器(sar) 组成:由结果寄存器、比较器和控制逻辑等部件组成。由结果寄存器、比较器和控制逻辑等部件组成。 原理:采用对分搜索逐位比较的方法逐步逼近,利用数字量试探采用对分搜索逐位比较的方法逐步逼近,利用数字量试探地进行地进行d/a转换、再比较判断

23、,从而实现转换、再比较判断,从而实现a/d转换。转换。 将将d/a转换器的输出从二进制数据的最高位起,依次逐位置转换器的输出从二进制数据的最高位起,依次逐位置1,与待转换的模拟量比较,与待转换的模拟量比较,若前者小于后者,该位置若前者小于后者,该位置1并保留下并保留下来,若前者大于后者,该位清来,若前者大于后者,该位清0;然后再照此比较下一位然后再照此比较下一位,直直至比完最低位。最后得到的结果,即至比完最低位。最后得到的结果,即a/d转换的值。转换的值。 特点:转换速度较快(比较次数等于转换速度较快(比较次数等于a/d的位数),通常在几的位数),通常在几 s至几百至几百 s数量级;被转换的模

24、拟量若频率很高(变化较快)则数量级;被转换的模拟量若频率很高(变化较快)则要加采样保持电路;被转换的模拟量若幅度过小(信号微弱)要加采样保持电路;被转换的模拟量若幅度过小(信号微弱)则需要加信号处理电路。则需要加信号处理电路。(1)adc0809的特点的特点 adc0809是是ns(national semiconductor,美国国家半导,美国国家半导体)公司生产的逐次逼近型体)公司生产的逐次逼近型a/d转换器。其特点如下:转换器。其特点如下: 分辨率为分辨率为8位,误差位,误差1lsb ; cmos低功耗器件;低功耗器件; 转换时间为转换时间为100 s(当外部时钟输入频率(当外部时钟输入

25、频率fc = 640 khz ) ; 很容易与微处理器连接;很容易与微处理器连接; 单一电源单一电源+5v,采用单一电源,采用单一电源+5v供电时量程为供电时量程为05v; 无需零位或满量程调整,使用无需零位或满量程调整,使用5v或采用经调整模拟间距的或采用经调整模拟间距的电压基准工作;电压基准工作; 带有锁存控制逻辑的带有锁存控制逻辑的8通道多路输入转换开关;通道多路输入转换开关; dip28封装;封装; 带锁存器的三态数据输出。带锁存器的三态数据输出。 转换结果读取方式有延时读数、查询转换结果读取方式有延时读数、查询eoc=1、eoc申请中申请中断。断。(2)adc0809引脚功能引脚功能

26、 in0in7:8通道模拟量输入端 2-82-1: 8位数字量输出端c、b、a:接地址锁存器的低三位地址ale: 地址锁存允许控制信号start:清0内寄存器,启动转换oe: 允许读a/d结果,高有效clk:时钟输入端,范围为10khz1200khz,典型值640khzeoc:转换结束时为高vcc:+5vvref+:参考电压,+5vvref-:0v adc0809 有8路模拟量输入in7in0 。一次只能选通其中的某一路进行转换,选通的通道由ale上升沿时送入的c,b,a引脚信号决定。c,b,a地址与选通的通道间的关系如下表所示。(3)接口与编程)接口与编程 adc0809典型应用如下图所示。

27、由于典型应用如下图所示。由于adc0809输出含三态锁输出含三态锁存,所以其数据输出可以直接连接存,所以其数据输出可以直接连接mcs-51的数据总线的数据总线p0口。可口。可通过外部中断或查询方式读取通过外部中断或查询方式读取a/d转换结果。转换结果。例题 假设假设adc0809与与mcs-51的硬件连接如上页图所示,要求采的硬件连接如上页图所示,要求采用中断方法,进行用中断方法,进行8路路a/d转换,将转换,将in0in7转换结果分别存入转换结果分别存入片内片内ram的的30h37h地址单元中。地址单元中。解:程序如下: org 0000h ljmp main; 转主程序转主程序 org 0

28、003h; 中断服务入口地址中断服务入口地址 ljmp int0f; 中断服务。中断服务。 org 0100hmain: mov r0, #30h; 内部数据指针指向内部数据指针指向30h单元单元 mov dptr, #7ff8h; 指向指向p2.7口,且选通口,且选通in0 (低(低3位地址为位地址为 000) setb it0; 设置下降沿触发设置下降沿触发 setb ex0; 允许中断允许中断 setb ea; 开总中断允许开总中断允许 movx dptr, a ; 启动启动a/d转换转换 ljmp $; 等待转换结束中断等待转换结束中断中断服务程序如下: int0f: movx a,

29、dptr; 取取a/d转换结果转换结果 mov r0, a; 存结果存结果 inc r0; 内部指针下移内部指针下移 inc dptr; 外部指针下移,指向下一路外部指针下移,指向下一路 cjne r0,#39h,next; 未转换完未转换完8路,继续转换路,继续转换 clr ex0; 关中断允许关中断允许 reti; 中断返回中断返回 next: movx dptr, a; 启动下一路启动下一路a/d转换转换 reti; 中断返回,继续等待下一次中断返回,继续等待下一次 end2双积分型a/d转换器 特点:转换速度较慢(因为转换速度较慢(因为a/d转换的过程要两次积分)通常转换的过程要两次积

30、分)通常在几十在几十ms至几百至几百ms数量级;具有转换精度高、数量级;具有转换精度高、性价比高性价比高、抗、抗干扰能力强等优点,在速度要求不很高的实际工程中广泛使用。干扰能力强等优点,在速度要求不很高的实际工程中广泛使用。 常用型号: mc14433,icl7106,icl7135,ad7555等。等。 (1)mc14433特点特点 位双积分型位双积分型a/d转换器;转换器; 外部基准电压输入:外部基准电压输入:200 mv或或2 v; 自动调零;自动调零; 量程有量程有199.9 mv或或1.999 v两种(由外部基准电压两种(由外部基准电压vref决决定);定); 转换速度为转换速度为1

31、10次次/秒,速度较慢。秒,速度较慢。 213 mc14433为为dip24封装,芯片引封装,芯片引脚如下图所示,引脚的功能及含义如脚如下图所示,引脚的功能及含义如下:下:vdd:正电源端,典型值:正电源端,典型值+5 v;vee:模拟负电源端,典型值:模拟负电源端,典型值-5 v;vss:数字地;:数字地;agnd:模拟地;:模拟地;vx:被测电压输入端;:被测电压输入端;vref:外接电压基准输入端:外接电压基准输入端 (2 v或或200 mv) ;r1:外接积分电阻输入;:外接积分电阻输入;c1:外接积分电容输入;:外接积分电容输入;r1/c1:外接电阻:外接电阻r1和外接电容和外接电容

32、c1的公的公共端,电容共端,电容c1常采用聚丙烯电容,常采用聚丙烯电容,典型值典型值0.1f,电阻,电阻r1有两种选择:有两种选择:470k (量程为(量程为200 mv时)或时)或27 k (量程为(量程为2v时);时);(2)mc14433引脚功能c01,c02:外接失调补偿电容端,典型值为0.1 f;clk0,clk1:时钟振荡器外接电阻rc接入端,外接电阻rc典型值470 k,时钟频率随rc电阻阻值的增加而下降;du:更新转换控制信号输入,高电平有效;eoc:转换结束输出,当du有效后,eoc变低,16400个时钟脉冲(clk)周期后产生一个0.5倍时钟周期宽度的正脉冲,表示转换结束。

33、可将eoc与du相连,即每次a/d转换结束后,均自动启动新的转换; :过量程状态输出,低电平有效。当|vx|vref时,有效(输出低电平);ds1ds4:分别表示千、百、十、个位的选通脉冲输出,格式为18个时钟周期宽度的正脉冲。例如,在ds2有效期间,q0q3上输出的bcd码表示转换的百位的数值;q0q3:某位bcd码数字量输出。具体是哪位,由选通脉冲ds1ds4指定,其中,q3为高位,q0为低位。 or(3)mc14433选通时序选通时序 如下图所示。eoc输出1/2个clk周期正脉冲表示转换结束,依次ds1,ds2,ds3,ds4有效。在ds1有效期间从q3q0端读出的数据是千位数,在ds

34、2有效期间读出的为百位数,依此类推,周而复始。当ds1有效时,q3q0上输出的千位数据选通含义如下页表所示。 (4 4)接口与编程)接口与编程例题 mc14433与与mcs-51的连接如下图所示,采用中断方式(下的连接如下图所示,采用中断方式(下降沿触发),结果存储格式如下表所示,欠量程、过量程和极性降沿触发),结果存储格式如下表所示,欠量程、过量程和极性分别保存在分别保存在00h02h位地址单元中。位地址单元中。 解:程序如下: under: equ 00h ; 位地址单元存放欠量程(位地址单元存放欠量程(1真真0假)假) over: equ 01h ; 位地址单元存放过量程(位地址单元存放

35、过量程(1真真0假)假) pola: equ 02h ; 位地址单元存放极性(位地址单元存放极性(1负负0正)正) high: equ 31h ; 高位高位 low: equ 30h ; 低位低位 org 0000h ljmp main org 0013h; 中断服务入口地址中断服务入口地址 ljmp int1f main: mov low, #0 mov high, #0 ; 将存放结果的单元清将存放结果的单元清0 clr under clr over; 将存放欠量程、超量程的位地址单元内容清将存放欠量程、超量程的位地址单元内容清0 clr pola; 假定结果为正假定结果为正 setb i

36、t1; 置外部中断为下降沿触发置外部中断为下降沿触发 setb ex1; 开中断允许开中断允许 setb ea; 开中断总允许开中断总允许 ljmp $ ; 等待中断等待中断 int1f: mov a, p1; 进入中断,说明进入中断,说明mc14433转换结束,读转换结束,读p1口口 jnb acc.4, int1f ; ds1无效,等待无效,等待 jb acc.2, next ; q2=1表示正,已经预处理过,继续表示正,已经预处理过,继续 setb pola; 为负,需将为负,需将02h置位置位 next: jb acc.3, next1 ; 千位为千位为0,已经预处理过,继续,已经预处

37、理过,继续 orl high, #10h ; 将千位信息保存在高位单元中将千位信息保存在高位单元中 next1: jb acc.0,error; 转欠、超量程处理,有千位已能区分转欠、超量程处理,有千位已能区分 ini1: mov a, p1 jnb acc.5, ini1 ; 等待百位选通信号等待百位选通信号 anl a, #0fh; 屏蔽高屏蔽高4位位 orl high, a ini2: mov a, p1 jnb acc.6, ini2 ;等待十位选通信号等待十位选通信号 anl a, #0fh; 屏蔽高屏蔽高4位位 swap a; 交换到高交换到高4位位 orl low, a ini3

38、: mov a, p1 jnb acc.7, ini1 ; 等待个位选通信号等待个位选通信号 anl a, #0fh; 屏蔽高屏蔽高4位位 orl low, a reti error: mov a, high ; 欠、超量程处理欠、超量程处理 cjne a, #0, ov ; 有千位表示过量程有千位表示过量程 setb under; 置欠量程标志置欠量程标志 reti ov: setb over; 置过量程标志置过量程标志 reti end3串行a/d转换器 特点:引脚数少(常见的引脚数少(常见的8引脚或更少),集成度高(基本上无引脚或更少),集成度高(基本上无需外接其他器件),价格低,易于数

39、字隔离,易于芯片升级,需外接其他器件),价格低,易于数字隔离,易于芯片升级,廉价,速度略微降低。廉价,速度略微降低。 (1 1)max187/189max187/189芯片引脚及功能芯片引脚及功能 max187/189是是maxim公司生产的具有公司生产的具有spi(serial peripheral interface)总线接口的)总线接口的12位逐次逼近式(位逐次逼近式(sar)a/d转换芯片。特点如下:转换芯片。特点如下: 12位逐次逼近式(位逐次逼近式(sar)串行)串行a/d转换芯片;转换芯片; 转换速度为转换速度为75 khz,转换时间为,转换时间为8.5s; 输入模拟电压:输入模

40、拟电压:05v; 单一单一+5 v供电;供电; dip8引脚封装,外接元件简单,使用方便。引脚封装,外接元件简单,使用方便。 max187与与max189的区别在于:的区别在于:max187具有内部基准,具有内部基准,无需外部提供基准电压,无需外部提供基准电压,max189则需外接电压基准。则需外接电压基准。 max187/189芯片引脚如下图所示。引脚的功能如下:v vdddd:工作电源:+5v5%;gndgnd:模拟和数字地;v vrefref:参考电压输入; :片选输入;ainain:模拟电压输入,范围为0vref或04.096v(max187); (shut downshut down

41、):关闭控制信号输入,提供三级关闭方式:待命低功耗状态(电流仅10 a ),允许使用内部基准;禁止使用内部基准;d doutout:串行数据输出,在串行脉冲sclk的下降沿数据变化;sclk:串行时钟输入,最大允许频率为5 mhz。 csshdn 使用使用max187/189进行进行a/d转换时分的步骤:转换时分的步骤: 启动启动a/d转换,等待转换结束转换,等待转换结束 当当 输入低电平时,启动输入低电平时,启动a/d转换,此时转换,此时dout引脚输出低电引脚输出低电平,充当传递平,充当传递“转换结束转换结束”信号的作用。当信号的作用。当dout输出变高电平时,输出变高电平时,说明转换结束

42、(在转换期间,说明转换结束(在转换期间,sclk不允许送入脉冲)。不允许送入脉冲)。 串行读出转换结果串行读出转换结果 从从sclk引脚输入读出脉冲,引脚输入读出脉冲,sclk每输入一个脉冲,每输入一个脉冲,dout引引脚上输出一位数据,数据输出的顺序为先高位后低位,在脚上输出一位数据,数据输出的顺序为先高位后低位,在sclk信信号的下降沿,数据改变,在号的下降沿,数据改变,在sclk的上升沿,数据稳定。在的上升沿,数据稳定。在sclk信号为高电平期间从信号为高电平期间从dout引脚上读数据。引脚上读数据。 cs(2)接口与编程)接口与编程 max187与与mcs-51的连接电路如下图所示。其

43、中,的连接电路如下图所示。其中,p1.7为为控制片选,控制片选,p1.6为输入串行移位脉冲,为输入串行移位脉冲,p1.5为接收串行数据端。为接收串行数据端。max187外接外接4.7 f退耦电容激活内部电压基准,接退耦电容激活内部电压基准,接+5 v允许使允许使用内部基准。用内部基准。 注意:max187/189的片选在转换和读出数据期间必须始终保持的片选在转换和读出数据期间必须始终保持低电平。低电平。工作流程:清清p1.7,启动,启动max187开始开始a/d转换;读转换;读p1.5,等待转,等待转换结束;当换结束;当p1.5变高,转换结束;从变高,转换结束;从p1.6引脚发串行脉冲,从引脚

44、发串行脉冲,从p1.5引脚逐位读取数据。引脚逐位读取数据。 注意:由于mcs-51单片机外接晶振最大不超过单片机外接晶振最大不超过12 mhz,即便是,即便是执行一条单周期指令也需执行一条单周期指令也需1 s,所以发送,所以发送sclk时无需延时。时无需延时。 例题 如图上页图所示的如图上页图所示的max187与与mcs-51连接的电路图,将连接的电路图,将max187转换结果存入转换结果存入31h、30h单元,右对齐,单元,右对齐,31h存高位存高位(高(高4位补位补0)。)。解:程序如下: high equ 31h low equ 30h org 1000hstart: mov high, #00 mov low, #00; 将转换结果单元清除将转换结果单元清除 clr p1.6 clr p1.7; 启动启动a/d转换转换 jnb p1.5, $; 等待转换结束等待转换结束 setb p1.6; sclk上升沿上升沿 mov r7, #12; 置循环初值置循环初值12 lp: cpl p1.6; 发发sclk脉冲脉冲 jnb p1.6, lp; 等待等待sclk变高变高 mov c, p1.5; 将数据取到将数据取到c mov a, low rlc a mov low, a mov a, high rlc a mov high, a; 将取到的数据位逐位移入结果保存单元

温馨提示

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

评论

0/150

提交评论