单片机接口电路NEW.ppt

上传人:椰子壳 文档编号:5025634 上传时间:2020-01-29 格式:PPT 页数:94 大小:812.50KB
返回 下载 相关 举报
单片机接口电路NEW.ppt_第1页
第1页 / 共94页
单片机接口电路NEW.ppt_第2页
第2页 / 共94页
单片机接口电路NEW.ppt_第3页
第3页 / 共94页
单片机接口电路NEW.ppt_第4页
第4页 / 共94页
单片机接口电路NEW.ppt_第5页
第5页 / 共94页
点击查看更多>>
资源描述

《单片机接口电路NEW.ppt》由会员分享,可在线阅读,更多相关《单片机接口电路NEW.ppt(94页珍藏版)》请在三一文库上搜索。

1、人机接口 键盘接口 显示器接口 模拟量输入/输出接口 D/A转换接口 A/D转换接口,第 7 章 单 片 机 接口技术,本章内容,Single Chip Microcomputer,重点:在于系统概念的形成、各种接口设计方案和设计技巧的掌握,熟悉各种交互设备。难点:矩阵键盘及用动态显示的硬件及软件设计。,人机界面:是指人与计算机系统进行信息交互的接口,包括信息的输入和输出。 7.1 MCS-51单片机与键盘的接口技术 键盘:单片机系统中完成控制参数输入及修改的基本输入设备,是人工干预系统的重要手段。 键盘的分类:按编码方式可分为编码键盘与非编码键盘。按键组连接方式可分为独立连接式键盘与矩阵连接

2、式键盘。按键按照结构原理可分为两类,一类是触点式开关按键另一类是无触点式开关按键。,按键的特点及输入原理,键输入原理: 通过按键的接通与断开,产生两种相反的逻辑状态 低电平“0”与高电平“1”。 键功能的实现: 对于一组键或一个键盘,需通过接口电路与单片机相连。可采用查询或中断方式测试有无键按下,再确定是哪一个键按下,将该键号送入累加器ACC,然后判断是数字键还是功能键,若是数字键,则将键号对应的数字送入相关输入缓冲区;若是功能键,则通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。,键盘接口需要解决的问题,键抖动及消除:,机械按键抖动时间在5ms10ms之间,硬件方案双稳态去抖电路,

3、软件方案延时10ms20ms后再次判断,消除方法:,关于消除按键机械抖动的研究,计算机与信息技术,方龙, 肖献保, 李威,独立式按键,每键相互独立,各自与一条I/O线相连,CPU可直接读取该I/O线的高/低电平状态。其优点是硬件、软件结构简单,判键速度快,使用方便;缺点是占I/O口线多。 适用场合:多用于设置控制键、功能键。适用于键数少的场合。,独立式键盘与单片机接口,独立式按键接口程序设计,键盘处理程序任务 1)键输入 检查键盘是否有键被按下,消除按 键抖动。确定被按键的键号,获取键号。 硬件电路消除抖动或软件消除抖动。 2)键处理 根据键值转移到不同程序段。若键 值属于数字、字符键,则调用

4、显示数字 和字符的子程序。若键值属于功能键, 则进行多分支转移,执行各个功能程序 段。,例:K1合时P1.0、P1.1的灯亮,K2合时P1.2、P1.3的灯亮。,判断有无键按下: MOV P3,#0FFH MOV A,P3 CPL A ANL A,#00111100B JZ K_RET,键盘处理 KEY_CL: JB ACC.2,KB01 JB ACC.3,KB02 JB ACC.4,KB03 JB ACC.5,KB04 AJMP KEY_RET KB01: LCALL PGM1 AJMP KEY_RET KB02:LCALL PGM2 AJMP KEY_RET KB03:LCALL PGM3

5、 AJMP KEY_RET KB04:LCALL PGM4 AJMP KEY_RET KEY_RET: RET,矩阵式按键,接口电路:,矩阵连接式键盘 键按矩阵排列,各键处于矩阵行/列的结点处,CPU通过对连在行(列)的I/O线送已知电平的信号,然后读取列(行)线的状态信息。逐线扫描,得出键码。其特点是键多时占用I/O口线少,硬件资源利用合理,但判键速度慢。 适用场合:多用于设置数字键,适用于键数多的场合。,例2:采用矩阵式键盘进行键号识别,KS: MOV A,#0FFH MOV P1,A MOV P1,#0FH MOV A,P1 CPL A ANL A,#0FH RET,键闭合判断程序,按键

6、识别扫描法,流程: 当第0列处于低电平时,逐行查找是否有行线变低,若有,则第0列与该行的交叉点按键按下;若无,则表示第0列无键按下,再让下一列处在低电平,依此循环,这种方式称为键盘扫描。 键号=行首键号(0、4、8、12)+列号(0、1、2、3),原理: 在某一时刻只让一条列线处于低电平,其余列线均处于高电平,则当这一列有键按下时,该键所在的行电平将会由高电平变为低电平,可判定该列相应的行有键按下。,SERCH: MOV R2,#0EFH MOV R3,#00H LINE0: MOV A,R2 MOV P1,A MOV A,P1 JB ACC.3,LINE1 MOV A,#00H AJMP T

7、RYK LINE1: JB ACC.2,LINE2 MOV A,#04H AJMP TRYK LINE2: JB ACC.1,LINE3 MOV A,#08H,例2:采用矩阵式键盘进行键号识别,按键识别程序:,AJMP TRYK LINE3: JB ACC.3,LINE4 MOV A,#0CH AJMP TRYK LINE4: INC R3 MOV A,R2 RL A MOV R2,A AJMP LINE0 TRYK: ADD A,R3 BACK: RET,定时扫描方式,定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10 ms)的定时,当定时时间到就产生

8、定时器溢出中断。CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。,中断扫描方式,为提高CPU工作效率,可采用中断扫描工作方式。其工作过程如下:当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。,使用外部记数接口,这种方案是将按键与定时计数器的外部技术引脚相连,只要在程序中安排以下程序: MOV TMOD,#66H MOV TL0,#0FFH MOV TH0,#0FFH MOV TL1,#0FFH MOV TH1,#0FFH SETB ET0 SETB ET1 SETB EA SETB TR0 SETB TR

9、1,使用串行作为接口,此方法是通过串行口读扫描信号,进行键识别,通过串口向移位寄存器发送扫描信号,通过P1口读行信号。,基于单总线技术的按键扩展,在没有按键按下时,即DS2450 的输入量时0,当有不同的按键按下时,DS2450 的输入量不同,微处理器就会得到不同的数字量,微处理器根据采集到的数字量可判断按键情况。,单片机控制的“机电一体化产品”中按键的接口设计 科技咨询,李进波,键盘扫描子程序一般包括以下内容: 1.判别有无键按下; 2.消除键盘机械抖动; 3.扫描获取闭合键的行、列值; 4.用计算法或查表法得到键值; 5.判断闭合键释放否,如没释放则继续等待; 6.保存闭合键号。,显示器接

10、口技术,LED的结构和显示原理 静态显示方式 动态显示方式 动态显示的实现,动态显示方式,为使LED显示不同的符号或数字,要为LED提供段码 (或称字型码)。,提供给LED显示器的段码(字型码)正好是一个字 节(8段)。各段与字节中各位对应关系如下:,按上述格式,8段LED的段码如表7-1所示。,表7-1 LED段码(8段),表7-1只列出了部分段码,可根据实际情况选用。,另外,段码是相对的,它由各字段在字节中所处的 位决定。例如表7-1中8段LED段码是按格式:,而形成的, “0”的段码为3FH(共阴)。反之,如 将格式改为下列格式:,则 “0”的段码为7EH(共阴)。,字型及段码由设计者自

11、行设定,习惯上还是以“a” 段对应段码的最低位。,二、静态显示技术 静态显示数码管相应笔段一直处于点亮状态,因此功耗大,而且占用硬件资源多,几乎只能用在显示位数极少的场合。 优点:LED亮度高,可用在室外显示场合。 例如: 通过单片机P2口并经74LS245驱动以后,让一位数码管循环显示09,其电路如下:,程序清单: ORG 0030H MOV SP,#60h MOV R0,#00h DISP0:MOV DPTR,#SEGTAB ;字段码首地址 DISP1: MOV A,R0 ;从0开始显示 DISP3:MOVC A,A+DPTR ;查字符段选码 MOV P2,A ;从P2口输出显示 MOV

12、R3,#100 ;停留 1s DISP4:ACALL D10MS DJNZ R3,DISP4 INC R0 CJNE R0,#0ah,DISP1 AJMP DISP1 ;又从0开始显示,D10MS:MOV R7,#14H ;10ms延时子程序 DLY: MOV R6,#0F8H DLY1: DJNZ R6,DLY1 DJNZ R7,DLY RET SEGTAB : TAB:DB 0C0H,0F9H,0A4H; ;0,1,2 DB 0B0H,99H,92H ;;3,4,5 DB 82H,0F8H,80H ;;6,7,8 DB 98H,88H,83H ;;9,A,B DB 0C6H,0A1H,86

13、H ;;C,D,E END,例:模拟产品计数显示电路,编 程,START: MOV SP,#60H MOV TMOD,#60H MOV TH1,#00H MOV TL1,#00H SETB EA SETB ET1 SETB TR1 MAIN: MOV A,#00H MOV P1,#0C0H DISP: MOV A,TL1 MOV R1,A MOV DPTR,#TAB MOVC A,A+DPTR MOV P1,A MOV A,R1 SJMP DISP ; INT_1: MOV TH1,#00H ; ;定时器1置初值 MOV TL1,#00H RETI,3动态显示接口 1) 动态显示概念 动态显示

14、是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常,各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的位选线(公共阴极或阳极)由另外的I/O口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码。依此规律循环,即可使各位数码管显示将要显示的字符。虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。,数码管动态显示的硬件设计,动态显示程序流程图,采用动态扫描方式依次循环点亮各位数

15、码管,构成多位动态数码管显示电路。,开 始,显示缓冲区首地址送R0 显示位数送R3,起始显示位送R2,指向位选口,送位选码,从缓冲区取要显示的数,查表得字型码,指向段选口,送字型码,位选码左移,指向显示缓冲区下一个单元,延时,结束,1,1,扫描完一遍吗?,Y,N,ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV 30H,#0 MOV 31H,#1 MOV 32H,#2 MOV 33H,#3 MOV 34H,#4 MOV 35H,#5 MOV 36H,#6 MOV 37H,#7 LCALL DIP AJMP MAIN,DIP:MOV R2,#07FH MOV R0,

16、#30H MOV R3,#8 DIP1: MOV A,R2 MOV P2,A MOV A,R0 MOV DPTR,#DBB MOVC A,A+DPTR MOV P0,A MOV A,R2 RL A MOV R2,A INC R0;只向下一缓冲单元 LCALL DELAY DJNZ R3,DIP1 RET,MOV TMOD,#01H MOV TL0,#18H MOV TH0,#0FCH SETB EA SETB ET0 SETB TR0 AGAIN: MOV R0,#30H MOV R2,#7FH MOV R3,#8 NEXT:MOV A,R2 MOV P2,A JNB ACC.7,AGAIN

17、SJMP NEXT,INTT0: MOV TL0,#18H MOV TH0,#0FCH MOV A,R0 MOV DPTR,#DBB MOVC A,A+DPTR MOV P0,A MOV A,R2 RL A MOV R2,A INC R0 RETI,三、显示接口电路,(一)显示接口电路,1、显示缓冲区 在内部RAM中以DISM开始4个单元为显示缓冲区 在缓冲区内部,存放要显示的数码 2、软件译码 用查表方法将数码转换成字型码,11,3、显示程序,DISP: MOV R0,#30H ;R0指向缓冲区 MOV R2,#4 ;显示4位 MOV SCON,#00H ;初始化串行口为方式0 DISP0:

18、MOV A,R0 ;取缓冲区中数据 MOV DPTR,#TBB ;指向字型表 MOVC A,A+DPTR ;查表,转换成字型 MOV SBUF,A ;输出一位 DISP1: JNB TI,DISP1 ;等待输出结束 CLR TI INC R0 ;指向下一位 DJNZ R2,DISP0 RET DTBL:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 80H,90H,88H,83H,0C6H,0A1H,86H,84H,SM0SM1=00 方式0 同步移位寄存器 波特率=fOSC/12,基于单片机的LED 显示屏的汉字显示 科技论坛,上述都不同程度存在占用单片

19、机口线较多、功耗大、开销CPU 资源等缺点,为此,一些IC厂家推出了新一代的译码驱动芯片,如Maxim 公司的MAX7219/ 7221 ,Microchip 公司的AY0438 ,贝能科技公司的BN5279 (A) 等都是其中的典型代表. 点阵字符型液晶显示模块与单片机的接口及编程 柯艳明 福建电脑 包建华,等:单片机系统中LED 显示译码驱动技术 重庆工学院学报(自然科学版),7.4 A/D转换器接口,A/D转换器的作用 典型芯片ADC0809 ADC0809的应用,A/D转换器的作用,将模拟量转换为数字量,以便计算机接收处理,传感器,单片机,双积分式A/D转换器 逐次逼近式A/D转换器。

20、,A/D转换器与单片机的接口技术,从物理信号到电信号的转换 A/D转换器的作用是将模拟的电信号转换成数字信号。在将物理量转换成数字量之前,必须先将物理量转换成电模拟量,这种转换是靠传感器完成的。传感器的种类繁多,如温度传感器,压力传感器、光传感器、气敏传感器等。 温度传感器:典型的温度传感器有热电偶和热敏电阻。热电偶是利用热点效应来工作的,室温下的输出电压为毫伏级的。热敏电阻是一种半导体新型感温元件,具有负的电阻温度系数,当温度升高时,其电阻减小。 湿度传感器:是利用湿度变化引起其电阻值或电容量变化原理制成的,即将湿度变化转换成电量变化。,气敏传感器:半导体气敏传感器是利用半导体于某种气体接触

21、式电阻机功率函数变化这一效应来检测气体的成分或浓度的传感器。 压电式或压阻式传感器:某些电解质(石英晶体压电陶瓷),在沿一定的方向受外力的作用而变形时,内部会产生极化的现象,同时在其表面产生电荷。而当外力撤销时又重新回到不带电的状态。利用这些介质可以做成压电式传感器。 固体受到作用力后,电阻率(或电阻)就要发生变化,这种效应称压阻式效应,利用它可做成压阻式传感器。,主要参数: 分辨率 :表示A/D对模拟输入的分辨能力,由它确定能被A/D辨别的最小模拟量,通常也用二进制位来表示。 对于n位的A/D转换器,其分辨率为满量程输入电压与2n之比. 转换时间:是A/D转换完成一次所需要的时间。 绝对精度

22、:是A/D转换器输出端所产生的数字代码中,分别对应于实际需要的模拟输入值与理论上要求的模拟输入值之差。 相对误差:是满刻度校准以后,任意数字输出所对应的实际模拟输入值(中间值)与理论值(中间值)之差。,A/D转换器的性能参数与术语,A/D转换器概述,逐次逼近式典型A/D转换器芯片有: (1)ADC0801ADC0805型8位MOS型A/D转换器 (2)ADC0808 / 0809型8位MOS型A/D转换器 (3) ADC0816 / 0817,分辨率为8位,精度为8位。 转换时间:100微秒 8个模拟输入通道,有通道地址锁存。 数据有三态输出能力。 输入电压范围为0+5v 单一+5v电源供电工

23、作温度范围为-40+85 功耗为15mw,ADC0809的原理框图和引脚说明,典型芯片ADC0809介绍,ADC0809是一个8位8通道的AD转换器。,ADC0809功能分析,CLK:时钟信号,可由单片机ALE信号分频得到。,转换有以下几步:,ALE信号上升沿有效,锁存地址并选中相应通道。 ST信号有效,开始转换。A/D转换期间ST为低电平。 EOC信号输出高电平,表示转换结束。 OE信号有效,允许输出转换结果。,ADC0809和单片机的连接,通道选择表,1. 首先分析各个通道的地址。(IN0到IN7的地址为0000H到0007H),编程应用中断方式,编程:可采用中断、查询两种方式。,中断方式

24、: ORG 0000H ;主程序入口地址 AJMP MAIN ;跳转主程序 ORG OO13H ;中断入口地址 AJMP INT1 ;跳转中断服务程序 MAIN:SETB IT1 ;边沿触发 SETB EA ;开中断 SETB EX1 ;允许中断 MOV DPTR,#0007H ;指向0809 IN7通道地址,MOVX DPTR,A ;启动A/D转换 SJMP $ ;等待中断 INT1: MOVX A,DPTR ;读A/D转换结果 MOV B,A ;存数 RETI ;返回,查询方式: ORG 0000H ;主程序入口地址 AJMP MAIN ;跳转主程序 ORG 1000H ;中断入口地址 M

25、AIN: MOV DPTR,#0007H ;指向0809 IN7通道地址 MOVX DPTR,A ;启动A/D转换 L1: JB P3.3 L1 ;查询 MOVX A,DPTR ;读A/D转换结果 MOV B,A ;存数 SJMP $,量程变换,转换的数字与输入的被测量不同,如果直接显示转换值,将与被测量的信号对应不上,要进行量程变换。 例如:用某一通道测量温度,当温度为0时,其电压值为1V;温度为100时,电压值为5V。而通道经校准,在5V时的转换值为1000,1V时的转换值为200。为了准确的显示温度值,应按下式进行变换 Y=100*(X-200)/(1000-200) 式中,X为A/D转

26、换后的值,Y为显示值,上式按线性比例推算而出。,ADC574A是一种价格低廉,应用较广的12位逐次逼近式模/数转换器芯片,可以直接与8位、12位、16位总线的处理器相连。主要的参数,ADC574A,引脚特性: D0D11:12位数字量输出。 CE:片选信号,高电平有效。 CS:片选信号,低电平有效。 R/C:数据读/启动信号。R/C=1时, 读取转换结果;R/C=0时,启动A/D转换。 12/8:输出数据长度选择信号。 A0:字节选择信号。在=0状态下, A0=0启动12位A/D转换,A0=1 动8位A/D转换。在=1且=0状态下, A0=0读高8位数据,A0=1读低4位数据。 STS:AD5

27、74A的工作状态信号。 STS=1表示正处于转换状态;STS=0表示转换完毕。,ADC574A引脚特性,10VIN:10V模拟电压输入。单极性时为010V,双极性时为5V5V。 20VIN:20V模拟电压输入。单极性时为020V,双极性时为10V10V。 REFIN:参考输入,用于满量程调节。 REFOUT:内部10V参考电压输出。 BIPOFF:偏置输入,用于零点调节。 VCC、VEE、VL:15V、15V、5V供电电源。 AGND:模拟地。 DGND:数字地。,ADC574A引脚特性,ADC574工作时序表,单极性和双极性电路 :,ADC574的两种应用形式,启动A/D地址:00H 读高8

28、位地址:01H 读低4位地址:03H,AD574A与MCS-51系列单片机接口,对模拟量电压采集一次,将结果放在单片机内部的30H和31H单元的参考程序如下: ORG 0030H MOV DPTR,#00H ;A7、A1、A0为低电平 MOV R1,#30H ;结果单元地址 MOVX DPTR,A ;启动A/D转换 TEST:JB P3.2,TEST ;查询转换是否完成 MOV DPTR,#01H ;A7和A1=0、A0=1 MOVX A,DPTR ;读转换结果高8位 MOV R1,A ;存入30H单元 MOV DPTR,#03H ;A7=0、A1和A0=1,数据采集程序,MOVX A,DPT

29、R ;读转换结果低4位 INC R1 MOV R1,A ;存放低4位 MOV A,R1 HERE: SJMP HERE END,ADC和MCU接口应注意的几个问题,A/D芯片的数字输出问题 转换结果数据应由A/D芯片锁存,数据输出最好具有三态能力。 A/D芯片和CPU的时序配合问题 固定延时等待法 保持等待法 中断响应法 查询法 双缓冲法 A/D分辨率超过MCU数据总线宽度时的接口 不能只用一条指令,而要用两条输入指令才能把A/D转换的整个数字结构传送给微处理器。,ADC TLC2543芯片,TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行

30、输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 2TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10s转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps;(6)线性误差1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。,A/D转换器的选取原则: A/D转换器用于什么系统?输出数据的位数是多少?系统应该达到多高的精度和线性度? 提供给A/D转换器的输入信号范围多大?是单极性的还

31、是双极性的?信号的驱动能力怎样?是否要经过缓冲滤波和采样/保持? 对A/D转换器输出的数字代码及逻辑电平的要求如何?是二进制码还是BCD码,是串行还是并行? 参考电压是内部的还是外部的?是固定的还是变化的? A/D转换器的工作环境如何?噪声、温度、振动等条件如何? 电源电压、功耗、几何尺寸等其它因素。,A/D转换器的选取原则:,ADC TLC2543芯片管脚特性,李映颖,王海军,孟祥谦; 串行AD转换器TLC2543与51系列单片机的接口设计J; 仪表技术; 2004年01期;,AIN0AIN10:模拟量输入端。11路输入信号由内部多路器选通。对于4.1MHz的I/OCLOCK,驱动源阻抗必须

32、小于或等于50,而且用60pF电容来限制模拟输入电压的斜率 CS!:片选端。在 端由高变低时,内部计数器复位。由低变高时,在设定时间内禁止DATAINPUT和I/O CLOCK。 DATAINPUT:串行数据输入端。由4位的串行地址输入来选择模拟量输入通道 DATA OUT:A/D转换结果的三态串行输出端。 为高时处于高阻抗状态, 为低时处于激活状态 EOC:转换结束端。在最后的I/OCLOCK下降沿之后,EOC从高电平变为低电平并保持到转换完成和数据准备传输为止 CLOCk:输入/输出时钟端。I/OCLOCK接收串行输入信号并完成以下四个功能:(1)在I/O CLOCK的前8个上升沿,8位输

33、入数据存入输入数据寄存器。(2)在I/OCLOCK的第4个下降沿,被选通的模拟输入电压开始向电容器充电,直到I/OCLOCK的最后一个下降沿为止。(3)将前一次转换数据的其余11位输出到DATA OUT端,在I/OCLOCK的下降沿时数据开始变化。 (4)I/OCLOCK的最后一个下降沿,将转换的控制信号传送到内部状态控制位,REF+:正基准电压端。基准电压的正端(通常为Vcc)被加到REF+,最大的输入电压范围由加于本端与REF-端的电压差决定 REF- :负基准电压端。基准电压的低端(通常为地)被加到REF- Vcc :电源GND:地 时序:一个片选(!cs)脉冲要插到每次转换的开始处,或

34、是在转换时序的开始处变化一次后保持 为低,直到时序结束。每次转换和数据传递使用16个时钟周期和在每次传递周期之间插入 的时序,TLC2543与MCS-51单片机接口,对0通道进行采集、结果为16位、MSB前导、单极性,将采集的数据放入40H和41H单元的程序如下: ORG 0030H START: MOV SP,#50H MOV R0,#40H MOV P1,#04H ;初始化P1口 CLR P1.0 ;置I/O CLOCK为低 SETB P1.3 ;置为高 MOV A,30H LOOP0: MOV R2,#02H ;结果为高低两字节 MOV R5,#08H ;输入寄存器和结果的8位数据,TL

35、C2543与51接口的程序,LOOP: MOV C,P1.2 ;读一位数据到C中 RLC A ;输出数据到A的最低位,输入数据到C MOV P1.1,C ;写输入数据 SETB P1.0 ;产生I/O CLOCK脉冲 CLR P1.0 DJNZ R5,LOOP ;8位数据未完则继续 MOV R0,A ;存放结果 DJNZ R2,LOOP0 ;一次未完则继续 AJMP START ;开始新一次转换 END,D/A转换器接口,D/A转换器的作用 典型芯片DAC0832 DAC0832的应用,D/A转换器的作用,将数字量转换为模拟量,以便操纵控制对象。,D/A转换器的主要指标 转换速度:一般几十微秒

36、到几百微秒,快速的可达1微秒。 转换精度(分辨率):决定于输入数字量的位数,位数越多,精度越高。 精度(Accuracy)D/A精度表明D/A转换的精确程度。,典型芯片-DAC0832介绍,DAC0832是一个八位D/A转换器,转换时间1微秒,结构如下:,DAC0832功能分析,DI0-DI7:转换数据输入 CS:片选信号,因此,DAC0832可以有三种工作形式:直通、单级锁存、两级锁存。,单缓冲方式的接口(1),一个处于直通方式,另一个处于受控的锁存方式,单缓冲方式的接口(2),单缓冲方式的应用 产生锯齿波,假定采用接口(1)方式,即输入寄存器受控,而DAC寄存器直通,输入寄存器地址为7FF

37、FH,产生锯齿波。,源程序清单如下: ORG 0200 MOV DPTR,#07FFFH ;指向输入寄存器地址 MOV A,#00H ;转换初值 WW: MOVX DPTR,A ;WR1有效,启动D/A转换 INC A NOP ;延时 NOP AJMP WW,1/28,2/28,3/28,254/28,255/28,0,产生的锯齿波的过程,D/A转换产生的锯齿波,用同样的方法也可以产生三角波、矩形波、梯形波。,若将A的初值改为FF INC改为DEC?,ORG 0030H MOV DPTR,#07FFFH ;指向输入寄存器地址 MOV A,#0FFH ;转换初值 WW: MOVX DPTR,A

38、;WR1有效,启动D/A转换 A NOP ;延时 NOP AJMP WW,DEC,INC,【例7.2】 矩形波电压发生器 采用单缓冲方式,口地址设为FEFFH. 参考程序如下: ORG 1100H START: MOV DPTR , #7FFFH ;送DAC0832口地址 LOOP: MOV A , #dataH ;送高电平数据 MOVX DPTR , A LCALL DELAYH ;调用延时子程序 MOV A , #dataL ;送低电平数据 MOVX DPTR , A LCALL DELAYL ;调用延时子程序 SJMP LCALL,执行上述程序就可得到如图7.5所示的矩形波。,图7.5

39、D/A转换产生的矩形波,两个锁存器都接成受控锁存方式。,双缓冲方式的接口和应用,对一个数字量的转换,需两步完成,程序如下: MOV DPTR,#00E0H MOVX DPTR,A MOV DPTR,#00C0H MOVX DPTR,A,输入寄存器地址:00E0H DAC寄存器地址:00C0H,你知道它与第二种单缓冲方式的区别吗?,2. 双缓冲方式应用举例 双缓冲方式用于多路D/A转换系统,以实现多路模拟信号同步输出的目的。例如使用单片机控制X-Y绘图仪。X-Y绘图仪由X、Y两个方向的步进电机驱动,其中一个电机控制绘图笔沿X方向运动,另一个电机控制绘图笔沿Y方向运动,从而绘出图形。因此,对X-Y

40、绘图仪的控制有两点基本要求:一是需要两路D/A转换器分别给X通道和Y通道提供模拟信号,二是两路模拟量要同步输出。,译码法产生地址,两片DAC0832共占据三个单元地址,其中两个输入寄存器各占一个地址,而两个DAC寄存器则合用一个地址。 编程时,先用一条传送指令把X坐标数据送到X向转换器的输入寄存器;再用一条传送指令把Y坐标数据送到Y向转换器的输入寄存器;最后再用一条传送指令同时打开两个转换器的DAC寄存器,进行数据转换,即可实现X、Y两个方向坐标量的同步输出。,图7.36 单片机控制X-Y绘图仪 (a) 同步输出;(b) 先X后Y;(c) 先Y后X,(a) b) (c),图 控制X-Y绘图仪的

41、双片DAC 0832 接口,假定X方向DAC 0832输入寄存器地址为F0H,Y方向DAC 0832输入寄存器地址为F1H,两个DAC寄存器公用地址为F2H;X坐标数据存于DATA单元中,Y坐标数据存于DATA+1单元中,则绘图仪的驱动程序为 MOV R1,#DATA ;X坐标数据单元地址 MOV R0,#0F0H ;X向输入寄存器地址 MOV A,R1 ;X坐标数据送A,MOVX R0,A ;X坐标数据送输入寄存器 INC R1 ;指向Y坐标数据单元地址 INC R0 ;指向Y向输入寄存器地址 MOV A,R1 ;Y坐标数据送A MOVX R0,A ;Y坐标数据送输入寄存器 INC R0 ;

42、指向两个DAC寄存器地址 MOVX R0,A ;X、Y转换数据同步输出,DAC与微处理器接口需要注意的问题,D/A转换器与微处理器接口除了电平匹配外,主要要解决的是数字锁存问题。当微处理器送出一个数字信号给D/A转换器时,这个数据在数据总线上只出现很短暂的一段时间,为了保证D/A转换器的完成转换,并在总线数字信息消失以后能保持有稳定的模拟量输出,必须有一组锁存器保持住原输入的数字量。可以充当锁存器的器件有D触发器(74ls373)、Intel8212 等。,8位D/A外加锁存器的方法,8位锁存器用于锁存来自8位数据总线的数字信息。为了确定数字是加给该D/A,需要地址总线经译码得到的片选信号CS。为了控制数据输入锁存,需要有关的控制信号。,1.光电隔离技术和器件 TLP系列、4N系列、TIL系列等,开关量输入/输出接口技术,2.开关量输入接口 关键问题: 干接点、湿接点的处理 交流、直流、电平处理 3.开关量输出接口 开关量输出往往带动功率设备, 需要进行功率放大。 输出形式:继电器、可控硅、晶体管等,去单片机I/O口,如P1.0,开关量输入/输出接口技术,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1