常用外围设备接口_第1页
常用外围设备接口_第2页
常用外围设备接口_第3页
常用外围设备接口_第4页
常用外围设备接口_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

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

文档简介

1、12 测控 对象 其他计算机系统或智能设备 单片机 MCU EEPROM 人机通道 RAM 输出通道 输入通道 通信接口 输入/输出设备 传感器等 执行机构 单片机典型应用系统的结构单片机典型应用系统的结构 3 单片机应用系统所需要的一般配置:单片机应用系统所需要的一般配置: 单片机单片机。 人机交流设备人机交流设备。输入设备有键盘和按键,输出设备有数码。输入设备有键盘和按键,输出设备有数码管、液晶显示模块和指示灯等。管、液晶显示模块和指示灯等。 信号采集的输入通道信号采集的输入通道。如出租车的测距、测速装置,温控。如出租车的测距、测速装置,温控系统,温度计的温度传感器、洗衣机的水位测量设备。

2、系统,温度计的温度传感器、洗衣机的水位测量设备。 向操作对象发出各种向操作对象发出各种控制信号的输出通道控制信号的输出通道。如空调启动压。如空调启动压缩机的开关电路,控制彩电的频道切换、颜色、音量等的缩机的开关电路,控制彩电的频道切换、颜色、音量等的接口电路。接口电路。 如果需与其他计算机系统或智能设备实现信息交换,还需配如果需与其他计算机系统或智能设备实现信息交换,还需配置置通信接口电路通信接口电路。 有时还需扩展外部有时还需扩展外部RAMRAM、EEPROMEEPROM用于存放数据。如彩电遥控系用于存放数据。如彩电遥控系统中存放系统数据的存储器。统中存放系统数据的存储器。4 显示器是单片机

3、应用系统常用的输出设备,显示器是单片机应用系统常用的输出设备,用来显示单片机的键入值、中间信息及运算用来显示单片机的键入值、中间信息及运算结果等。结果等。 单片机应用系统中,常用的显示器主要有单片机应用系统中,常用的显示器主要有LED(发光二极管显示器、数码管显示器)(发光二极管显示器、数码管显示器)和和LCD(液晶显示器)。(液晶显示器)。5一、数码管显示器的结构一、数码管显示器的结构6二、字段码二、字段码在实际应用中,常用一个在实际应用中,常用一个8位并行位并行I/O口的输口的输出出D0D7对应控制数码管的对应控制数码管的adp以显示不以显示不同字形。从同字形。从I/O口输出的驱动数码管以

4、显示不口输出的驱动数码管以显示不同字形的数据称为字段码(字形码、显示代同字形的数据称为字段码(字形码、显示代码)。例如,共阴极结构的数码管显示码)。例如,共阴极结构的数码管显示“0”的字段码为:的字段码为:其他一些字形的字段码如下表:其他一些字形的字段码如下表:D7D6D5D4D3D2D1D0字形字形码码dpgfedcba001111113FH7 8三、显示字符转换为字段码三、显示字符转换为字段码(查表法查表法)3FH“0”的字段码的字段码06H “1”的字段码的字段码5BH“2”的字段码的字段码4FH“3”的字段码的字段码66H“4”的字段码的字段码71H“F”的字段码的字段码73H “P”

5、的字段码的字段码TAB TAB+01HTAB+02HTAB+03HTAB+04HTAB+0FHTAB+10H9一、静态显示方式一、静态显示方式1、原理、原理共阴极或共阳极点连接在共阴极或共阳极点连接在一起接地或一起接地或+5V。每位的段选线与一个每位的段选线与一个8位并行口连接。位并行口连接。102、应用举例、应用举例例:利用串行口工作于方式例:利用串行口工作于方式0扩展扩展8片片74HC164作为作为LED显示器的驱动控制接口,显示器的驱动控制接口,并编写对应的显示驱动程序,将片内并编写对应的显示驱动程序,将片内RAM 30H37H单元(显示缓冲单元)的内容单元(显示缓冲单元)的内容(十十六

6、进制数码六进制数码)依次显示在显示器上。电路和程依次显示在显示器上。电路和程序如下:序如下:1112 LED:MOV SCON,#00H ;设置串行口工作于方式;设置串行口工作于方式0 MOV R0,#30H ;指向显示缓冲单元首地址;指向显示缓冲单元首地址 MOV R5,#8 ;显示器有;显示器有8位位LED0:MOV A,R0 ;取显示内容;取显示内容 MOV DPTR,#DTAB ;指向字形码表首地址;指向字形码表首地址 MOVC A,A+DPTR ;查表求得对应的字形码;查表求得对应的字形码 MOV SBUF,A ;启动发送;启动发送LED1:JNB TI,LED1 ;等待一帧发送完;

7、等待一帧发送完 CLR TI;清发送中断请求标志;清发送中断请求标志 INC R0 ;指向下一个显示内容;指向下一个显示内容 DJNZ R5,LED0 ;若;若8位未输出完则继续位未输出完则继续 RET13DTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H DB 82H,0F8H,80H,90H,88H,83H DB 0C6H,0A1H,86H,8EH ;0F的字形码的字形码14二、动态显示方式二、动态显示方式 1、原理、原理所有字段控制共所有字段控制共用一个用一个I/O口口每个每个字位字位的控的控制占制占用一用一根根I/O口线口线显示时,在某一时刻,字段口输出第显示时,在

8、某一时刻,字段口输出第i位的字段码,同位的字段码,同时字位口驱动第时字位口驱动第i位的位的COM端使其点亮,如此逐位轮流端使其点亮,如此逐位轮流点亮形成稳定的点亮形成稳定的n位数码显示效果。位数码显示效果。152、应用举例、应用举例 实验仪的实验仪的6位数码管显示器就是采用动态位数码管显示器就是采用动态显示方式,其电路如下:显示方式,其电路如下:16同相驱动同相驱动17假设用假设用8255的的A口的口的PA0PA5作为字位控作为字位控制口,制口,B口作为字段控制口。显示驱动程序:口作为字段控制口。显示驱动程序:(8255A口、口、B口、口、C口、控制寄存器地址为口、控制寄存器地址为PORTA、

9、PORTB、PORTC、CON;假;假设显示缓冲单元用设显示缓冲单元用30H35H)在主程序中对在主程序中对8255初始化初始化MOV A,#80H;8255的的A口、口、B口为输出口为输出MOV DPTR,#CON;指向;指向8255控制口控制口MOVX DPTR,A ;将控制字写入控制寄存器;将控制字写入控制寄存器18 DISP:MOV R0,#30H;显示缓冲单元首地址;显示缓冲单元首地址 MOV R3,#0FEH ;字位码初值;字位码初值 MOV A,R3DISP1:MOV DPTR,#PORTA ;8255A口(字位码输出口)口(字位码输出口) MOVX DPTR,A ;输出字位码;

10、输出字位码 INC DPTR ;8255B口(字段码输出口)口(字段码输出口) MOV A,R0 ;取显示数据码;取显示数据码 ADD A,#TAB-NPC ;加;加TAB与与NPC差值差值 MOVC A,A+PC ;查表得相应字段码;查表得相应字段码 NPC:MOVX DPTR,A ;输出字段码;输出字段码 LCALL D1MS ;保持显示;保持显示1毫秒毫秒显示显示子程序完成动态显示的控制子程序完成动态显示的控制19 INC R0 ;指向下一显示缓冲单元;指向下一显示缓冲单元 MOV A,R3 ;取出字位码;取出字位码 JB ACC.5,DISP2 ;判已显示到最左位否;判已显示到最左位否

11、 RL A ;未完,字位码左移;未完,字位码左移1位位 MOV R3,A;回存新字位码;回存新字位码 SJMP DISP1 ;转下一位显示;转下一位显示DISP2:RET TAB:DB 3FH,06H,5BH,. . . ;字段码表;字段码表 D1MS:MOV R7,#250 ;延时;延时1毫秒子程序毫秒子程序 DJNZ R7,$ RET20例:电子钟程序。例:电子钟程序。 利用定时器利用定时器T0定时,模拟定时,模拟24小时走时的电子小时走时的电子钟,时、分、秒以钟,时、分、秒以BCD码形式依次存放在码形式依次存放在3CH、3BH、3AH;38H、39H作为软件作为软件计数器。计数器。选择选

12、择T0工作于定时、方式工作于定时、方式2、定时时间为、定时时间为500 s。TMOD=0000 0010B=02H计算初值计算初值fosc=6MHz 机器周期机器周期TM=2 s 要定时要定时500 s 即要计数即要计数250个机器周期脉冲个机器周期脉冲初值初值=28-250=6=06H21 ORG 0000H ;主程序入口;主程序入口 LJMP CLOCK ;转主程序初始化;转主程序初始化 ORG 000BH ;T0T0中断入口中断入口 LJMP T0 ;转转T0T0中断服务程序中断服务程序 ORG 0030H ;主程序初始化程序;主程序初始化程序 CLOCK:MOV SP,#6FH ;设栈

13、底指针;设栈底指针 MOV TMOD,#02H ;T0T0定时方式定时方式2 2 MOV TL0,#06H ;定时(;定时(2562566 6)* *2=5002=500微秒微秒 MOV TH0,#06H MOV 30H,#200 MOV 39H,#10 ;软件计数单元清零软件计数单元清零 SETB EA ;中断总允许;中断总允许 SETB ET0 ;允许;允许T0中断中断 SETB TR0 ;启动;启动T0工作工作 MOV 3AH,#0 MOV 3BH,#0 MOV 3CH,#022 MOV A,#80H;8255的的A口、口、B口为输出口为输出 MOV DPTR,#CON;指向;指向825

14、5控制口控制口 MOVX DPTR,A ;将控制字写入控制寄存器;将控制字写入控制寄存器LOOP: LCALL CZ ;调用拆字子程序;调用拆字子程序 LCALL DISP ;调用显示子程序;调用显示子程序 SJMP LOOP ;反复循环主流程;反复循环主流程 ORG 0100H ;T0 500微秒中断服务程序微秒中断服务程序 T0 :PUSH ACC PUSH PSW ;保护现场;保护现场 DJNZ 38H,DONE;满;满0.1秒?秒? MOV 38H,#200 DJNZ 39H,DONE;满;满1S MOV 39H,#10 23 MOV A,3AH ;秒单元(按;秒单元(按BCD码)加码

15、)加1 ADD A,#1 DA A MOV 3AH,A CJNE A,#60H,DONE ;满;满1分钟?分钟? MOV 3AH,#0 ;秒单元清零;秒单元清零 MOV A,3BH ;分钟单元(按;分钟单元(按BCD码)加码)加1 ADD A,#1 DA A MOV 3BH,A CJNE A,#60H,DONE ;满;满1小时?小时? MOV 3BH,#0 ;分钟单元清零;分钟单元清零 24 MOV A,3CH ;小时单元(按;小时单元(按BCD码)加码)加1 ADD A,#1 DA A MOV 3CH,A CJNE A,#24H,DONE ;满;满24小时?小时? MOV 3CH,#0 ;小

16、时单元清零;小时单元清零 DONE:POP PSW POP ACC ;恢复现场;恢复现场 RETI ;中断返回;中断返回25CZ:. ;拆字子程序;拆字子程序DISP: ;显示子程序;显示子程序26 键盘是单片机应用系统的一个重要输入设备,键盘是单片机应用系统的一个重要输入设备,用于输入数据、干预系统的工作状态;用于输入数据、干预系统的工作状态; 按键盘编码产生方法,键盘可分为编码键盘按键盘编码产生方法,键盘可分为编码键盘和非编码键盘两种;和非编码键盘两种; 按键盘的连接方式,可分为独立式按键和行按键盘的连接方式,可分为独立式按键和行列式(矩阵式)键盘。列式(矩阵式)键盘。27一、按键状态的输

17、入与消抖动一、按键状态的输入与消抖动1、键输入、键输入K按下时,按下时,A=0;K断开时,断开时,A=1。2、消抖动、消抖动方法:方法:硬件消抖动硬件消抖动软件消抖动:软件延时软件消抖动:软件延时+5VRAKA点输出点输出K按下按下K放开放开抖动抖动28二、键盘管理程序二、键盘管理程序1.检测是否有按键闭合;检测是否有按键闭合;2.若有键闭合,延时消抖动;若有键闭合,延时消抖动;3.确认是否有按键闭合;确认是否有按键闭合;4.确定闭合按键键号;确定闭合按键键号;5.等待按键释放;等待按键释放;6.执行相应键功能。执行相应键功能。开始开始有键闭合吗?有键闭合吗?延时消抖动延时消抖动确有键闭合吗?

18、确有键闭合吗?判断闭合键键号判断闭合键键号闭合键释放否?闭合键释放否?执行键功能执行键功能返回返回NNNYYY29一、结构一、结构各个按键相各个按键相互独立,互互独立,互不影响。不影响。每个按键需占用每个按键需占用一根一根I/O口线口线30二、键盘管理程序二、键盘管理程序假设用单片机的假设用单片机的P1口作为独立式口作为独立式按键按键K0K7的的接口,(由于接口,(由于P1口口内部有上拉电阻,内部有上拉电阻,故不需外接。)故不需外接。)键盘管理程序如下:键盘管理程序如下:31 KEY:MOV P1,#0FFH ;置;置P1口为输入口为输入 MOV A,P1 ;输入按键状态;输入按键状态 CPL

19、 A ;取反;取反 JZ KD ;若无键闭合则返回;若无键闭合则返回 LCALL DELAY ;延时;延时12ms消抖动消抖动 MOV A,P1 CPL A JZ KD ;确认是否有键闭合;确认是否有键闭合 MOV B,P1 ;输入键状态;输入键状态 KW:MOV A,P1 CPL A JNZ KW ;等待键释放;等待键释放32MOV A,B ;取键值;取键值JNB ACC.0,K0 ;若是;若是K0闭合则转闭合则转K0键功能程序键功能程序JNB ACC.1,K1 ;若是;若是K1闭合则转闭合则转K1键功能程序键功能程序. . .JNB ACC.7,K7 ;若是;若是K7闭合则转闭合则转K7键

20、功能程序键功能程序 KD:RET ;返回;返回 K0:. . . ; K0键功能程序键功能程序RET. . . . . . K7:. . . ; K7键功能程序键功能程序RET33一、结构一、结构按键设置按键设置在行、列在行、列线交点上线交点上行线通过上拉电阻接行线通过上拉电阻接+5V,处于输入状态。处于输入状态。列线为输出状态列线为输出状态34二、工作原理二、工作原理1.判断是否有键闭合判断是否有键闭合0000111.1101.1352.消抖动消抖动采用软件延时消抖动。采用软件延时消抖动。3.确定哪个键闭合确定哪个键闭合(1)通过列线逐列输出低电平后检查行输入状通过列线逐列输出低电平后检查行

21、输入状态来确定,即对键盘态来确定,即对键盘逐列逐行扫描逐列逐行扫描。 (2)行反转法行反转法36 011.1111.1101.1101.10 1 2 7012.7(1)37(2)行反转法行反转法*将行线设置为输出,列线设置为输入,行线全将行线设置为输出,列线设置为输入,行线全部输出部输出0,输入列线的值;,输入列线的值;将行线设置为输入,列线设置为输出,将将行线设置为输入,列线设置为输出,将输入输入的列线值输出,读行线的值;的列线值输出,读行线的值;将所读得的行、列值组成一个键码,该键码是将所读得的行、列值组成一个键码,该键码是唯一的。唯一的。38三、实例三、实例 假设用假设用8255扩展扩展

22、I/O口组成行列式键盘,口组成行列式键盘,其中其中A口接列线,口接列线,C口的口的PC0PC3接行线,接行线,组成一个组成一个4行行 8列共有列共有32个按键的行列式键个按键的行列式键盘。盘。39 00 1 2 3 4 5 6 7列列123行行行首键号行首键号键值键值=行首键号行首键号+列值列值825540 KB:LCALL KS ;调用;调用KS判断是否有键闭合判断是否有键闭合JNZ K1 ;有键闭合转;有键闭合转K1SJMP KN ;无键闭合则返回;无键闭合则返回 K1:LCALL DELAY;延时消抖动延时消抖动LCALL KS ;调用;调用KS确认是否有键闭合确认是否有键闭合JNZ K

23、2 ;有键闭合转;有键闭合转K2开始列开始列扫描扫描SJMP KN ;无键闭合则返回;无键闭合则返回 K2:MOV R2,#0FEH;首列扫描字送;首列扫描字送R2MOV R4,#0 ;首列号送;首列号送R4 K3:MOV DPTR,#PA;8255的的A口地址送口地址送DPTRMOV A,R2MOVX DPTR,A ;列扫描字送;列扫描字送8255 A口口41 INC DPTR INC DPTR ;指向;指向8255 C口口 MOVX A,DPTR ;读取行线状态;读取行线状态 JB ACC.0,L1 ;若第;若第0行无键闭合,转查第行无键闭合,转查第1行行 MOV A,#00H;第第0行有

24、键闭合,该行行首键号行有键闭合,该行行首键号00H送送A SJMP LK ;转去求键值;转去求键值L1:JB ACC.1,L2 ;若第;若第1行无键闭合,转查第行无键闭合,转查第2行行 MOV A,#08H;第第1行有键闭合,该行行首键号行有键闭合,该行行首键号08H送送A SJMP LK ;转去求键值;转去求键值L2:JB ACC.2,L3 ;若第;若第2行无键闭合,转查第行无键闭合,转查第3行行 MOV A,#10H ;第第2行有键闭合,该行行首键号行有键闭合,该行行首键号10H送送A SJMP LK ;转去求键值;转去求键值42L3:JB ACC.3,NX ;若第;若第3行无键闭合,转查

25、下一列行无键闭合,转查下一列 MOV A,#18H ;第;第3行有键闭合,行首键号行有键闭合,行首键号18H送送ALK:ADD A,R4 ;键值;键值=行首键号行首键号+列值列值 MOV B,A ;键值暂存入;键值暂存入BK4:LCALL KS JNZ K4 ;等待键释放;等待键释放 MOV A,B ;取键值;取键值 SJMP KD KN:MOV A,#0FFH ;无键闭合时,返回值无键闭合时,返回值A=0FFHKD:RETNX:INC R4 ;列值加;列值加1 MOV A,R2 ;取列扫描字;取列扫描字 JNB ACC.7,KN;判断是否全部扫描完;判断是否全部扫描完43 RL A ;未扫描

26、完;未扫描完,列扫描字左移一位列扫描字左移一位,变为下一列扫描字变为下一列扫描字 MOV R2,A;列扫描字暂存;列扫描字暂存R2 SJMP K3 ;继续扫描;继续扫描KS:MOV DPTR,#PA ;8255 A口地址送口地址送DPTR MOV A,#00H ; MOVX DPTR,A ;列线全输出;列线全输出“0”-低电平低电平 INC DPTR INC DPTR ;指向;指向C口口 MOVX A,DPTR;读入行线状态;读入行线状态 CPL A ;变正逻辑,以高电平表示有键按下;变正逻辑,以高电平表示有键按下 ANL A,#0FH ;屏蔽高;屏蔽高4位位 RET ;出口状态;出口状态A

27、0时表示有键闭合时表示有键闭合44 在单片机应用系统中,需要同时使用键盘与显示在单片机应用系统中,需要同时使用键盘与显示器接口时,为了节省器接口时,为了节省I/O口线,常把键盘和显示电口线,常把键盘和显示电路做在一起,构成键盘、显示电路。路做在一起,构成键盘、显示电路。 键盘、显示电路可用并行扩展的键盘、显示电路可用并行扩展的I/O口或串行扩口或串行扩展的展的I/O口实现。口实现。 典型的键盘、显示器接口电路典型的键盘、显示器接口电路45 A口既作为显示器字位控制口,口既作为显示器字位控制口,又作为键盘列线输出口。又作为键盘列线输出口。行输入行输入OC驱动器驱动器825546 4748一、在单

28、片机应用系统中,扫描键盘只是一、在单片机应用系统中,扫描键盘只是CPU的工的工作任务之一,在实际应用中,要想做到既能及时响作任务之一,在实际应用中,要想做到既能及时响应键操作,又不过多地占用应键操作,又不过多地占用CPU的工作时间,如键的工作时间,如键盘与显示做成一个接口电路,则在软件中要综合考盘与显示做成一个接口电路,则在软件中要综合考虑键盘查询与动态显示,就要根据应用系统的实际虑键盘查询与动态显示,就要根据应用系统的实际情况,选择适当的键盘工作方式。情况,选择适当的键盘工作方式。二、二、键盘的工作方式键盘的工作方式 1、编程扫描方式、编程扫描方式编程扫描方式是利用编程扫描方式是利用CPU完

29、成其他工作的空余,调完成其他工作的空余,调用键盘扫描子程序来响应键输入要求。在执行键功用键盘扫描子程序来响应键输入要求。在执行键功能程序时,不再响应键输入的要求。能程序时,不再响应键输入的要求。492、中断工作方式、中断工作方式开始开始初始化初始化显示显示扫描键盘扫描键盘执行其他操作执行其他操作编程扫描方式编程扫描方式50例:编一程序实现:当按下独立式键盘的例:编一程序实现:当按下独立式键盘的K0K5时,分别将实验仪上的时,分别将实验仪上的6位数码管显位数码管显示器的显示内容按示器的显示内容按BCD码加码加1。开始开始初始化初始化显示显示扫描键盘扫描键盘流程图流程图51 ORG 1000HMA

30、IN:MOV A,#03H;8155的的A口、口、B口为输出口为输出 MOV DPTR,#0FF20H;指向;指向8155控制口控制口 MOVX DPTR,A ;将控制字写入控制寄存器;将控制字写入控制寄存器 MOV 30H,#00H MOV 31H,#00H MOV 32H,#00H MOV 33H,#00H MOV 34H,#00H MOV 35H,#00H ;显示初值为;显示初值为“0000 00” LP:LCALL DISP ;调用显示子程序;调用显示子程序 LCALL KEY ;调用键盘管理子程序;调用键盘管理子程序 SJMP LP52 DISP:MOV R0,#30H;显示缓冲单元

31、首地址;显示缓冲单元首地址 MOV R3,#01H ;字位码初值(从最右位起);字位码初值(从最右位起) MOV A,R3DISP1:MOV DPTR,#0FF21H ;8155A口(字位码输出口)口(字位码输出口) MOVX DPTR,A ;输出字位码;输出字位码 INC DPTR ;8155B口(字段码输出口)口(字段码输出口) MOV A,R0 ;取显示数据码;取显示数据码 ADD A,#TAB-NPC ;加;加TAB与与NPC差值差值 MOVC A,A+PC ;查表得相应字段码;查表得相应字段码 NPC:MOVX DPTR,A ;输出字段码;输出字段码 LCALL D1MS ;保持显示

32、;保持显示1毫秒毫秒53 INC R0 ;指向下一显示缓冲单元;指向下一显示缓冲单元 MOV A,R3 ;取出字位码;取出字位码 JB ACC.5,DISP2 ;判已显示到最左位否;判已显示到最左位否 RL A ;未完,字位码左移;未完,字位码左移1位位 MOV R3,A;回存新字位码;回存新字位码 SJMP DISP1 ;转下一位显示;转下一位显示 DISP2:RET TAB:DB 0C0H,0F9H,. . . ;09字段码表字段码表 D1MS:MOV R7,#250 ;延时;延时1毫秒子程序毫秒子程序 DJNZ R7,$ RET54 KEY:MOV P1,#0FFH ;置;置P1口为输入

33、口为输入 MOV A,P1 ;读按键状态;读按键状态 CPL A ;取反;取反 JZ KD ;若无键闭合则返回;若无键闭合则返回 LCALL DELAY ;延时;延时12ms消抖动消抖动 MOV A,P1 CPL A JZ KD ;确认是否有键闭合;确认是否有键闭合 MOV B,P1 ;读键值;读键值 KW:MOV A,P1 CPL A JNZ KW ;等待键释放;等待键释放55 MOV A,B ;取键值;取键值 JNB ACC.0,K0 ;若是;若是K0闭合则转闭合则转K0键功能程序键功能程序 JNB ACC.1,K1 ;若是;若是K1闭合则转闭合则转K1键功能程序键功能程序 . . . J

34、NB ACC.7,K7 ;若是;若是K7闭合则转闭合则转K7键功能程序键功能程序 KD:RET ;返回;返回 K0:MOV A,30H ; K0键功能程序键功能程序 ADD A,#1 DA A ANL A,#0FH MOV 30H,A RET56 K1:MOV A,31H ; K1键功能程序键功能程序 ADD A,#1 DA A ANL A,#0FH MOV 31H,A RET K5:MOV A,35H ; K5键功能程序键功能程序 ADD A,#1 DA AANL A,#0FHMOV 35H,ARET57 D/A转换器用来将数字量转换成模拟量。它的基转换器用来将数字量转换成模拟量。它的基本要

35、求是输出电压本要求是输出电压Vo和输入数字量和输入数字量D成正比,即:成正比,即:Vo=DVR (其中(其中VR为参考电压)为参考电压) D=dn-1 2n-1+dn-2 2n-2+ +d1 21+d0 2058 分辨率分辨率 分辨率表示对输入的最小数字量的分辨能力。可表分辨率表示对输入的最小数字量的分辨能力。可表示为最小输出电压(对应的输入数字量只有最低有示为最小输出电压(对应的输入数字量只有最低有效位为效位为“1”)与最大输出电压(对应的数字输入信)与最大输出电压(对应的数字输入信号所有有效位全为号所有有效位全为“1”)之比。)之比。例如例如10位位D/A转换器,其分辨率为:转换器,其分辨

36、率为:1/(210-1)=1/1023 0.001分辨率越高,转换时,对应数字输入信号最低位的分辨率越高,转换时,对应数字输入信号最低位的模拟信号电压数值越小,也就越灵敏。模拟信号电压数值越小,也就越灵敏。 分辨率也可用数字输入信号的有效位数来表示。分辨率也可用数字输入信号的有效位数来表示。如:如:DAC0832的分辨率为的分辨率为8位位59 转换精度转换精度 转换精度用于表明转换精度用于表明D/A转换的精确程度,通常以转换的精确程度,通常以满量程电压满量程电压VFS的百分数形式表示。例如精度为的百分数形式表示。例如精度为 0.1%指的是最大误差为指的是最大误差为VFS的的0.1%,如果,如果

37、VFS为为5V,则最大误差为,则最大误差为 5mV。 精度和分辨率是两个不同的概念精度和分辨率是两个不同的概念精度是指转换后所得到的实际值对于理想值的接近程精度是指转换后所得到的实际值对于理想值的接近程度,而分辨率是指能够对转换结果产生影响的最小输度,而分辨率是指能够对转换结果产生影响的最小输入量,对于分辨率很高的入量,对于分辨率很高的D/A转换器并不一定具有转换器并不一定具有很高的精度。很高的精度。60 建立时间建立时间 建立时间是描述建立时间是描述转换速率转换速率的一个重要参数。是指的一个重要参数。是指D/A转换器输入数字量为满刻度值(二进制各位全转换器输入数字量为满刻度值(二进制各位全为

38、为“1”)时,从输入加上到模拟信号电压(模拟信)时,从输入加上到模拟信号电压(模拟信号电流)输出达到满刻度值或满刻度值的某一百分号电流)输出达到满刻度值或满刻度值的某一百分比所需的时间。一般为几纳秒到几百微秒。比所需的时间。一般为几纳秒到几百微秒。 输出是电流形式的,建立时间很短;输出形式是输出是电流形式的,建立时间很短;输出形式是电压的,建立时间是其输出运算放大器所需的响应电压的,建立时间是其输出运算放大器所需的响应时间。时间。61 温度系数温度系数在满刻度输出的条件下,温度每升高在满刻度输出的条件下,温度每升高1度,输出变度,输出变化的百分数。化的百分数。62 结构结构63 引脚引脚8位数

39、据输入端位数据输入端输入数据允输入数据允许锁存信号许锁存信号片选片选输入寄存器输入寄存器写选通信号写选通信号DAC寄存器寄存器写选通信号写选通信号数据传送数据传送信号信号基准电压输入端基准电压输入端电流输出端电流输出端IOUT1+IOUT2=C反馈电流输入端反馈电流输入端64 引脚引脚65 DAC0832工作方式工作方式(1)直通工作方式直通工作方式+5V66【例】【例】 直通方式产生锯齿波电压信号直通方式产生锯齿波电压信号( (波形如下图所波形如下图所示示) )。解:电路如下图所示。解:电路如下图所示。 集成运放在电路中的作用是把集成运放在电路中的作用是把DAC0832DAC0832输出电流

40、输出电流转换为电压。即实现电流电压转换。转换为电压。即实现电流电压转换。 锯齿波电压信号随时间变化而上升,达到最大值锯齿波电压信号随时间变化而上升,达到最大值后,又从后,又从0 0开始上升,再到最大值如此循环下去。因开始上升,再到最大值如此循环下去。因此,只要让此,只要让DAC0832DAC0832输入的数字量也如此变化就可使输入的数字量也如此变化就可使输出端输出锯齿波。输出端输出锯齿波。67 EA/VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P1

41、5 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE/P 30 TXD 11 RXD 10 U1 8051 VCC 3 2 6 1 5 7 4 U3 741 -12V +12V AGND 3 2 6 1 5 7 4 U4 741 +12V -12V R3 10k R4 10k AGND +5V VCC R1 10k AGND GND GND VCC Uo 5V VCC 2

42、0 Iout1 11 DI0 7 Iout2 12 DI1 6 DI2 5 Rfb 9 DI3 4 DI4 16 Vref 8 DI5 15 DI6 14 DI7 13 ILE 19 WR2 18 CS 1 WR1 2 Xfer 17 AGND 3 U2 DAC0832 单片机和DAC0832直通方式输出连接图 68对锯齿波的产生作如下说明:对锯齿波的产生作如下说明: 程序每循环一次,程序每循环一次,(R0)(R0)加加1 1,因此实际上锯齿波的上升沿是,因此实际上锯齿波的上升沿是由由256256个小阶梯构成的。但由于阶梯很小,所以看上去就如个小阶梯构成的。但由于阶梯很小,所以看上去就如上图所

43、表示的线性增长锯齿波。上图所表示的线性增长锯齿波。 延迟时间不同,波形周期不同,锯齿波的斜率就不同。延迟时间不同,波形周期不同,锯齿波的斜率就不同。 参考程序如下:参考程序如下: ORG 0000HORG 0000H MOV R0,#0 ; MOV R0,#0 ;置转换初值置转换初值 DAC: MOV P0,R0 ;DAC: MOV P0,R0 ;送数据到送数据到P0P0口口,DAC0832,DAC0832同时进行转换同时进行转换 INC R0 ;INC R0 ;转换数字量加转换数字量加1 1 LCALL DELAY ; LCALL DELAY ;延时量决定锯齿波周期延时量决定锯齿波周期 SJ

44、MP DACSJMP DACDELAY: (DELAY: (略略) ) END END69 DAC0832工作方式工作方式(2)单缓冲工作方式单缓冲工作方式70 EA/VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27

45、 P27 28 PSEN 29 ALE/P 30 TXD 11 RXD 10 U1 8051 VCC 3 2 6 1 5 7 4 U3 741 -12V +12V AGND R2 10k 3 2 6 1 5 7 4 U4 741 R1 50k +12V -12V R3 10k R4 10k AGND AGND +5V VCC Uo Uo Vcc VCC 20 Iout1 11 DI0 7 Iout2 12 DI1 6 DI2 5 Rfb 9 DI3 4 DI4 16 Vref 8 DI5 15 DI6 14 DI7 13 ILE 19 WR2 18 CS 1 WR1 2 Xfer 17 AGN

46、D 3 U2 DAC0832 单缓冲方式接口电路单缓冲方式接口电路 71【例】【例】 单缓冲方式产生锯齿波。单缓冲方式产生锯齿波。解:电路连接如上图所示。电路连接如上图所示。 WR2=0WR2=0和和XFER=0XFER=0,因此,因此DACDAC寄存器处于直通方式。而输入寄寄存器处于直通方式。而输入寄存器处于受控锁存方式,存器处于受控锁存方式,WR1WR1接接80518051的的WRWR,ILEILE接高电平,接高电平,CSCS接接P2.7P2.7故输入寄存器地址为故输入寄存器地址为07FFFH07FFFH。 软件设计思路与例软件设计思路与例1111相同,只是改为用相同,只是改为用“MOVX

47、 DPTR,A”MOVX DPTR,A”来发送数据和启动转换。来发送数据和启动转换。 72 单缓冲方式产生锯齿波的源程序如下:单缓冲方式产生锯齿波的源程序如下: MOV MOV DPTR,#7FFFH ; DPTR,#7FFFH ; 指向指向08320832地址地址 MOV R0,#00H ; MOV R0,#00H ; 置转换数字初值置转换数字初值 DA1: MOV A,R0 DA1: MOV A,R0 MOVX DPTR,A ; MOVX DPTR,A ; 启动转换启动转换 INC R0 ; INC R0 ; 转换数字量加转换数字量加1 1 LCALL LCALL DELAY ; DELA

48、Y ; 延时延时 SJMP DA1SJMP DA1DELAY: MOV R7,#7DH ; DELAY: MOV R7,#7DH ; 延时子程序延时子程序 DL1: NOPDL1: NOP NOP NOP DJNZ R7,DL1 DJNZ R7,DL1 RET RET73【例】【例】 利用利用08320832输出一个从输出一个从-5V-5V开始逐渐上升到开始逐渐上升到0V0V再再升至升至5V5V,再从,再从5V5V逐渐降至逐渐降至0V0V,再降至,再降至-5V-5V的三角波的三角波电压。电压。解:硬件电路如下图所示。硬件电路如下图所示。 同图中集成运放同图中集成运放U4U4接成一加法电路。接成

49、一加法电路。 输出电压输出电压UO=-(5+2Ui)UO=-(5+2Ui)。当。当08320832输出输出-5V-5V时时( (最大最大值值) ),U UO O=-(5-10)=+5V=-(5-10)=+5V;输出;输出-2.5V-2.5V时,时,U UO O=0V=0V;输;输出出0V0V时,时,U UO O=-5V=-5V。 软件设计时,当数字量达到最大软件设计时,当数字量达到最大(0FFH)(0FFH)时要进行时要进行减减1 1运算。而不是变为运算。而不是变为0 0。当数字量减至。当数字量减至0 0时,又开时,又开始加始加1 1运算。运算。 74三角波形成电路三角波形成电路 EA/VP

50、31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE/P 30 TXD 11 RXD 10 U1 8051 VCC 3 2 6 1 5 7 4 U3 741 -12V +12V AGN

51、D 3 2 6 1 5 7 4 U4 741 +12V -12V R3 5.1k R4 10k AGND +5V VCC +5V R1 10k VCC Uo Uo +5V -5V VCC 20 Iout1 11 DI0 7 Iout12 DI1 6 DI2 5 Rfb 9 DI3 4 DI4 16 Vref 8 DI5 15 DI6 14 DI13 ILE 19 WR2 18 CS 1 WR1 2 Xfer 17 AGND 3 U2 DAC0832 Ui75ORG 0000HORG 0000H HA6S: MOV HA6S: MOV R6,#00H ;R6,#00H ;数字量初值数字量初值HA

52、6S2: MOV HA6S2: MOV DPTR,#7FFFH ;DPTR,#7FFFH ;地址地址 MOV MOV A,R6 ;A,R6 ;数字量送数字量送A A MOVX MOVX DPTR,A ;DPTR,A ;进行进行D/AD/A转换转换 MOV MOV R2,#0BHR2,#0BH LCALLLCALL DELAY DELAY ; ;延时延时 INCINC R6 ;R6 ;数字量加数字量加1 1 CJNE CJNE R6,#0FFH,HA6S2 ;R6,#0FFH,HA6S2 ;数字量增加到数字量增加到0FFH0FFH?HA6S3: MOV DPTR,#7FFFHHA6S3: MOV

53、 DPTR,#7FFFH ;0832;0832地址地址 DEC R6DEC R6 ; ;数字量减数字量减1 1 MOV A,R6MOV A,R6 MOVX DPTR,AMOVX DPTR,A ; ;数字量送数字量送08320832启动启动D/AD/A转换转换 MOV R2,#0BHMOV R2,#0BH LCALL DELAYLCALL DELAY ; ;延时延时 CJNE R6,#00H,HA6S3 ;CJNE R6,#00H,HA6S3 ;数字量是否减到数字量是否减到0, 0, SJMP HA6SSJMP HA6S76 DAC0832工作方式工作方式(3)双缓冲工作方式双缓冲工作方式77双

54、缓冲方式的接口电路双缓冲方式的接口电路 EA/VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE/P 30 TXD 11 RXD 10 U1 8051 VCC 3 2 6 1

55、5 7 4 U3 741 -12V +12V AGND 3 2 6 1 5 7 4 U5 741 +12V -12V R1 5.1k R3 10k AGND +5V VCC +5V R5 10k VCC 3 2 6 1 5 7 4 U4 741 -12V +12V AGND 3 2 6 1 5 7 4 U6 741 +12V -12V R2 5.1k R4 10k AGND +5V +5V R6 10k XFER XFER XFEP2.5 P2.5 VCC VCC WR WR WR P2.6 P2.6 VCC 20 Iout1 11 DI0 7 Iout2 12 DI1 6 DI2 5 Rfb

56、 9 DI3 4 DI4 16 Vref 8 DI5 15 DI6 14 DI7 13 ILE 19 WR2 18 CS WR1 2 Xfer 17 AGND 3 U2 DAC0832(1) 20 Iout1 11 DI0 7 Iout2 12 DI1 6 DI2 5 Rfb 9 DI3 4 DI4 16 Vref 8 DI5 15 DI6 14 DI7 13 ILE 19 WR2 18 CS 1 WR1 2 Xfer 17 AGND 3 U7 DAC0832(2) 78【例】【例】 DAC0832DAC0832同步波形输出正弦波、三角波。同步波形输出正弦波、三角波。 解:解:DAC0832D

57、AC0832与单片机的接口电路如上图所示。电路图与单片机的接口电路如上图所示。电路图中中 DAC0832(1)DAC0832(1)输入寄存器地址为输入寄存器地址为0BFFFH0BFFFH, DAC0832(2)DAC0832(2)输入寄存器地址为输入寄存器地址为0DFFFH0DFFFH, 0832(1)0832(1)和和0832(2)0832(2)的的DACDAC寄存器地址均为寄存器地址均为7FFFH7FFFH。 正弦波的产生由各采样点数据依次进行正弦波的产生由各采样点数据依次进行D/AD/A转换得到。转换得到。 79 ORG 1000HST: MOV R1,#0 ; 256个取样点个取样点

58、MOV R2,#0 ; 锯齿波初值锯齿波初值L1: MOV DPTR,#0DFFFH ; DAC0832(2)输入寄存器地址输入寄存器地址 MOV A,R2 MOVX DPTR,A ; 三角波送三角波送DAC0832(2) MOV DPTR,#DTAB ; 取信号数据表首地址取信号数据表首地址 MOVC A,A+DPTR ; 查表取正弦波信号数据查表取正弦波信号数据 MOV DPTR,#0BFFFH ; DAC0832(1)输入寄存器地址输入寄存器地址 MOVX DPTR,A ; 输出正弦波信号到输出正弦波信号到DAC0832(1) MOV DPTR,#7FFFH ; DAC0832(1) (

59、2)DAC寄存器地址寄存器地址 MOVX DPTR,A ; 同时启动两个同时启动两个0832转换转换 INC R2 DJNZ R1,L1 SJMP ST80 DTAB: DB 80H,83H,86H,8DH,90H,96H,99H,9CH ;正弦数据表正弦数据表DB 9FH,0A2H,0A5H,0A8H,0ABH,0AEHDB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5HDB 0C7H,0CAH,0CFH,0D1H,0D4H,0D6H,0D8HDB 0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9HDB 0EAH,0ECH,0EEH

60、,0EFH,0F1H,0F2H,0F4H,0F5HDB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDHDB 0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDHDB 0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6HDB 0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EBHDB 0EAH,0E9H,0E7H,0E5H,0E3H,0E1H,0DFH,0DDHDB 0DAH, 0D8H,0D6H,0D4H

温馨提示

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

最新文档

评论

0/150

提交评论