秦晓飞系列-单片机原理及应用-第9章-应用系统配置及接口技术.ppt

上传人:scccc 文档编号:14854630 上传时间:2022-02-21 格式:PPT 页数:57 大小:2.68MB
返回 下载 相关 举报
秦晓飞系列-单片机原理及应用-第9章-应用系统配置及接口技术.ppt_第1页
第1页 / 共57页
秦晓飞系列-单片机原理及应用-第9章-应用系统配置及接口技术.ppt_第2页
第2页 / 共57页
秦晓飞系列-单片机原理及应用-第9章-应用系统配置及接口技术.ppt_第3页
第3页 / 共57页
秦晓飞系列-单片机原理及应用-第9章-应用系统配置及接口技术.ppt_第4页
第4页 / 共57页
秦晓飞系列-单片机原理及应用-第9章-应用系统配置及接口技术.ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《秦晓飞系列-单片机原理及应用-第9章-应用系统配置及接口技术.ppt》由会员分享,可在线阅读,更多相关《秦晓飞系列-单片机原理及应用-第9章-应用系统配置及接口技术.ppt(57页珍藏版)》请在三一文库上搜索。

1、2021/3/11,1,第9章 应用系统配置及接口技术,主讲教师:秦晓飞上海理工大学光电学院,2021/3/11,2,第9章 应用系统配置及接口技术,9.1 人-机通道配置与接口技术9.2 系统前向通道中的A/D转换器及接口技术9.3 系统后向通道配置及接口技术,图9-1 系统前向、后向、人-机通道配置框图,2021/3/11,3,9.1 人-机通道配置与接口技术,2021/3/11,4,9.1 人-机通道配置与接口技术,人机对话:包括人对系统的状态干预与数据输入,还有系统显示运行状态与运行结果等。键盘、 显示器用来完成人机对话的人机通道。9.1.1 键盘接口及处理程序键盘分编码键盘和非编码键

2、盘。 键盘上闭合键的识别由专用的硬件译码器实现,并产生键编号或键值的称为编码键盘,如BCD码键盘、ASCII码键盘等; 靠软件识别的称为非编码键盘。键盘中的按键:都是一个常开开关电路。 如图9-2种,当按键K未被按下时,P1.0输入为高电平;当按键K闭合时,P1.0输入为低电平。,图9-2 按键电路,2021/3/11,5,9.1 人-机通道配置与接口技术,9.1.1 键盘接口及处理程序键的消抖 通常按键在闭合及断开的瞬间均伴有一连串的抖动。如图9-3所示。抖动时间一般为510ms。 键抖动会引起一次按键被误读多次,必须去除键抖动。可用硬件或软件两种方法消除。 软件方法去抖动,即检测出键闭合后

3、执行一个510ms延时程序,再一次检测,如果仍保持闭合,则确认为真正按下。当检测到按键释放后,也要给510ms的延时,待后沿抖动消失后,才能转入该键的处理程序。,图9-3 按键时的抖动,2021/3/11,6,9.1 人-机通道配置与接口技术,9.1.1 键盘接口及处理程序1、键盘结构独立式非编码键盘接口 各按键相互独立地接通一条输入数据线,如右图所示。当一个键按下时,与之相连的输入数据线即清0(低电平),平时该线为1(高电平)。要判别是否有键按下,用单片机的位处理指令十分方便。 优点是电路简单; 缺点是占用线多。,2021/3/11,7,9.1 人-机通道配置与接口技术,9.1.1 键盘接口

4、及处理程序1、键盘结构矩阵式(行列式)非编码键盘接口 为了减少键盘与单片机接口时所占用I/O线的数目,在键数较多时,通常都将键盘排列成行列矩阵形式。,图9-4 44矩阵键盘接口图,2021/3/11,8,9.1 人-机通道配置与接口技术,9.1.1 键盘接口及处理程序1、键盘结构矩阵式(行列式)非编码键盘接口(1)按键扫描的工作过程 判断键盘中是否有键按下; 进行行扫描,判断是哪一个键按下,若有键按下,则调用延时子程序去抖动; 读取按键的位置码; 将按键的位置码转换为键值(键的顺序号)0、1、2、F。首先判别键盘中有无键按下:由口向键盘送(输出)全扫描字,然后读入(输入)列线状态来判断。方法:

5、 向行线(水平线)输出全扫描字00H,把全部行线置为“0”,然后将列线的状态读入累加器A中。如果有按键按下,总有一根列线电平被拉至低电平,使列输入不全为1。其次判断键盘中哪一个键被按下,得到位置码:通过将行线逐行置低电平后,检查列输入状态实现的。最后把键的位置码转换为键值。,2021/3/11,9,9.1 人-机通道配置与接口技术,9.1.1 键盘接口及处理程序1、键盘结构矩阵式(行列式)非编码键盘接口(2)行扫描识别键号的工作原理 将第0行输出低电平,其余行高电平时,输出编码为1110。然后读取列,判别第0行是否有键按下。若有一键按下,则相应列被拉到低电平,则表示第0行和此列相交位置上有按键

6、按下。若没有任一条列线为低电平,则说明0行上无键按下。 将第1行变为低电平,其余行高电平时,输出编码为1101。读取各列,判别是有哪一列键按下方法同上。 将第2行变为低电平,其余行为高电平时,输出编码为1011。判别是否有哪一列键按下的方法同上。 将第3行变为低电平,其余行为高电平时,输出编码为0111。判别是否有哪一列键按下的方法同上。 根据行线扫描值(行码)与列线输入值(列码)可唯一确定按下的键并获得该键的位置码(键码) 例如:行码1011B;列码1101B则:键码=10111101B,2021/3/11,10,9.1 人-机通道配置与接口技术,9.1.1 键盘接口及处理程序1、键盘结构矩

7、阵式(行列式)非编码键盘接口(3)键的位置码及键值的译码过程 键值(号)的获得(译码)通常采用计数译码法。 根据矩阵的结构,每个按键值=行号每行按键数+列号,即: 键号(值)=行首键号+列号 第0行的键值为:0行4+列号(03)为0、1、2、3; 第1行的键值为:1行4+列号(03)为4、5、6、7; 第2行的键值为:2行4+列号(03)为8、9、A、B; 第3行的键值为:3行4+列号(03)为C、D、E、F。 44键盘行首键号为0、4、8、C,列号为0,1,2,3。 下面程序为键值译码子程序为DECODE,扫描过程后得到的行号存放在R0,列号存放在R2中。该子程序出口:键值在A中。,2021

8、/3/11,11,9.1 人-机通道配置与接口技术,9.1.1 键盘接口及处理程序1、键盘结构矩阵式(行列式)非编码键盘接口(4)键盘扫描子程序,图9-5 44键盘行扫描流程图,2021/3/11,12,9.1 人-机通道配置与接口技术,9.1.1 键盘接口及处理程序1、键盘结构矩阵式(行列式)非编码键盘接口(4)键盘扫描子程序,KEY:MOVP1,#0F0H;令所有行为低电平MOVR7,#0FFH;设置计数常数KEY1: DJNZR7,KEY1;延时(书上错)MOVA,P1;读取P1口的列值CPLA;求反后,有高电平就有键按下ANLA,#0F0H;判别有键值按下吗?(书上这两句;的顺序反了)

9、JZEKEY;无键按下时退出LCALLDEL20ms;延时20 ms去抖动SKEY:MOVA,#00;下面进行行扫描,1行1行扫MOVR0,A;R0作为行计数器,开始为0MOVR1,A;R1作为列计数器,开始为0,MOVR3,#0FEH;R3暂存行扫描字,低4位为行扫描字SKEY2:MOVA,R3MOVP1,A;输出行扫描字,高4位全1NOPNOPNOP;3个NOP操作使P1口输出稳定MOVA,P1;读列值MOVR1,A;暂存列值CPLA;高电平则有键闭合ANLA,#0F0H;取列值;(书上这两句的顺序反了)S123:JNZSKEY3;有键按下转SKEY3INCR0;行计数器加1SETBC;准

10、备将行扫描左移1位;形成下一行扫描字,C=1保证输出行;扫描字中高4位全为1,为列输入作;准备,低4位中只有1位为0,2021/3/11,13,9.1 人-机通道配置与接口技术,9.1.1 键盘接口及处理程序1、键盘结构矩阵式(行列式)非编码键盘接口(4)键盘扫描子程序,MOVA,R3RLCA;R3带进位C左移1位MOVR3,A;形成下一行扫描字R3MOVA,R0CJNEA,#04H,SKEY2;最后一行扫(4次)完了吗?;(书上写错了,写成了SKEY1)EKEY:RET;列号译码SKEY3:MOVA,R1JNBACC.4,SKEY5JNBACC.5,SKEY6JNBACC.6,SKEY7JN

11、BACC.7,SKEY8AJMPEKEYSKEY5:MOVA,#00HMOVR2,A;存0列号AJMPDKEY,SKEY6:MOVA,#01HMOVR2,A;存1列号AJMPDKEYSKEY7:MOVA,#02HMOVR2,A;存2列号AJMPDKEYSKEY8:MOVA,#03HMOVR2,A;存3列号AJMPDKEY;键位置译码DKEY:MOVA,R0;取行号ACALLDECODEAJMPEKEY;键值(键号)译码DECODE:MOVA,R0;取行号送AMOVB,#04H;每一行按键个数MULAB;行号按键数ADDA,R2;行号按键数+列号=键值RET,2021/3/11,14,9.1 人

12、-机通道配置与接口技术,9.1.1 键盘接口及处理程序1、键盘结构矩阵式(行列式)非编码键盘接口例9-1 设计一个22行列式键盘,并编写键盘扫描子程序解:原理图如图9-6所示。程序思路如下: 判断是否有键按下:将列线P1.0、P1.1送0,查P0.0、P0.1是否为0; 判断哪一个键按下:逐列送0电平信号,再逐行扫描是否为0; 键号=行首键号+列号,2021/3/11,15,9.1 人-机通道配置与接口技术,9.1.1 键盘接口及处理程序1、键盘结构矩阵式(行列式)非编码键盘接口,例9-1:KEY:LCALLKS;调用判断有无键按下子程序JZKEY;无键按下,重新扫描键盘LCALLT10ms;

13、有键按下,延时去抖动LCALLKSJZKEYMOVR2,#0FEH;首列扫描字送R2MOVR4,#00H;首列号#00送入R4MOVP0,#0FFHLK1:MOVP1,R2MOVA,P0JBACC.0,ONE;0行无键按下,转1行MOVA,#00H;0行有键按下,该行首号#00H送ALJMPKP;转求键号,ONE:JBACC.1,NEXT;1行无键按下,转下列MOVA,#02H ;1行有键按下,该行首号#02H送AKP:ADDA,R4 ;求键号,键号=行首键号+列号PUSHACC;键号进栈保护LK:LCALLKS;等待键释放JNZLK;未释放,等待POPACC;键释放,键号送ARET;键扫描结

14、束,出口状态:(A)=键号NEXT:INCR4;列号加1MOVA,R2;判断两列扫描完了吗JNBACC.1,KND;两列扫描完,返回RLA;未扫描完,扫描字左移一位MOVR2,A;扫描字入R2AJMPLK1;转扫下一列KND:AJMPKEY,2021/3/11,16,9.1 人-机通道配置与接口技术,9.1.1 键盘接口及处理程序1、键盘结构矩阵式(行列式)非编码键盘接口,例9-1:KS:MOVP1,#0FCH;全扫描字送P1口(即P1低2位送0)MOVP0,#0FFHMOVA,P0CPLA;取正逻辑,高电平表示有键按下ANLA,#03H;保留P0口低2位(屏蔽高6位)RET;出口状态:(A)

15、0有键按下T10ms:MOVR7,#10H;延时10ms子程序TS1:MOVR6,#0FFHTS2:DJNZR6,TS2DJNZR7,TS1RET,2021/3/11,17,9.1 人-机通道配置与接口技术,9.1.1 键盘接口及处理程序2、键中断扫描方式 中断扫描工作方式,即只有在键盘有键按下时才产生中断申请;CPU响应中断,进入中断服务程序进行键盘扫描,并做相应处理。,图9-7 中断方式键盘接口,2021/3/11,18,9.1 人-机通道配置与接口技术,9.1.1 键盘接口及处理程序3、键操作及功能处理程序求出键号后,按不同类型进行处理。数字键:存贮、显示等功能键:转向相应的功能处理程序

16、,图9-8 求功能键地址转换程序流程图,2021/3/11,19,9.1 人-机通道配置与接口技术,9.1.1 键盘接口及处理程序3、键操作及功能处理程序,BUFFEQU30H KEYADR:MOVA,BUFF;键号ACJNEA,0FH,KYARD1AJMPDIGPRO;等于F,转数字键处理KYARD1:JCDIGPRO;小于F,转数字键处理KEYTBL:MOVDPTR,JMPTBL;送功能键地址表指针CLRC;请进位位SUBBA,10H;功能键值(10H1FH)减16RLA;(A)2,使(A)为偶数:0,2,4,JMPADPTR;转相应的功能键处理程序,JMPTBL: AJMPAAA AJM

17、PBBB AJMPCCC AJMPDDD AJMPEEE AJMPFFF AJMPGGG AJMPHHH AJMPIII AJMPJJJJ AJMPKKK AJMPLLL AJMPMMM,2021/3/11,20,9.1 人-机通道配置与接口技术,9.1.2 LED显示器接口及显示程序单片机应用系统中使用的显示器主要有:发光二极管,简称 LED (Light Emitting Diode);液晶显示器,简称 LCD (Liquid Crystal Display);1、LED显示器结构原理 LED显示器有共阴极和共阳极两种。,图9-9 LED 7段显示器,2021/3/11,21,9.1 人-

18、机通道配置与接口技术,9.1.2 LED显示器接口及显示程序1、LED显示器结构原理,表9-1 共阴极和共阳极7段LED显示字型编码表(书中有错误),2021/3/11,22,9.1 人-机通道配置与接口技术,9.1.2 LED显示器接口及显示程序2、LED显示器接口及显示方式 LED显示器有静态显示和动态显示两种方式。1)LED静态显示方式显示某个字符时,LED相应的段恒定地导通或截止。各位的共阴极(公共端K0)接地.若为共阳极(公共端K0),则接+5v电源。每位的段选线(adp)分别与8位的输出口相连,相互独立,字符一经确定,相应锁存的输出维持不变。可用8D锁存器(如74LS273)或带锁

19、存的译码器(如CD4511)、串行移位寄存器(如74LS164)来扩展 IO端口.其输出端(8位)可驱动一位LED。 静态显示器的亮度较高,编程容易,管理也较简单,但占用口线资源较多。在显示位数较多的情况下,一般都采用动态显示方式。,2021/3/11,23,9.1 人-机通道配置与接口技术,9.1.2 LED显示器接口及显示程序2、LED显示器接口及显示方式2)LED动态显示方式 在多位LED显示时,将所有位的段选线并联在一起,由一个8位口控制。而共阴(或共阳)极公共端分别由相应的线控制,实现各位的分时选通。,图9-10 6位LED动态显示接口电路,2021/3/11,24,9.1 人-机通

20、道配置与接口技术,9.1.2 LED显示器接口及显示程序2、LED显示器接口及显示方式2)LED动态显示方式例如,显示“EE020”, I/O口1和I/O口2轮流送入段选码、位选码及显示状态如图9-11所示。 段选码、位选码每送入一次后延时1ms,因人眼的视觉暂留时间为100ms,所以每位显示间隔不超过20ms,并保持延时一段时间,造成视觉暂留效果。称为软件扫描显示。,图9-11 6位动态扫描显示状态,2021/3/11,25,9.1 人-机通道配置与接口技术,9.1.2 LED显示器接口及显示程序3、LED显示器与89C51/S51接口及显示子程序,图9-12 6只LED动态显示接口,202

21、1/3/11,26,9.1 人-机通道配置与接口技术,9.1.2 LED显示器接口及显示程序3、LED显示器与89C51/S51接口及显示子程序,图9-13 DIS显示子程序流程图,DIS:MOVR0,#7EH;显示缓冲区末地址R0MOVR2,#01H;位控字,先点亮最低位(右边)MOVA,R2MOVDPTR,#TAB;字型表头地址DPTRLP0:MOVP1,AMOVA,R0;取显示数据MOVCA,A+DPTR;取出字形码MOVP0,A;送出显示ACALLD1MS;调延时子程序DECR0;数据缓冲区地址减1MOVA,R2JBACC.5,LP1;扫描到最左面的显示器了吗?RLA;没有到,左移1位

22、MOVR2,AAJMPLP0LP1:RETTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FHDB6FH,77H,7CH,39H,5EH,79H,71H,40H,00HD1MS:MOVR7,#02H;延时1 ms子程序DL:MOVR6,#0FFHDL1:DJNZR6,DL1DJNZR7,DLRET,2021/3/11,27,9.1 人-机通道配置与接口技术,9.1.3 串行口控制的键盘/LED显示器接口电路1、硬件电路74LS164 :键列扫描74LS164 、: 串行口扩展并口,LED驱动P1.O、P1.1:键行线输入RXD:串行数据输出TXD:移位脉冲(串口模

23、式0)P1.2:显示输出控制,图9-15 串行控制键盘扫描和显示器接口图,2021/3/11,28,9.1 人-机通道配置与接口技术,9.1.3 串行口控制的键盘/LED显示器接口电路,2、程序设计功能:循环扫描键盘,若有数字键(09)则送显示缓冲区显示,若有命令键(AF)则转相应命令处理。片内RAM分配:58H5FH:显示缓冲区; 60H:显示缓冲区指针寄存器分配:R6列选择;R3列号子程序嵌套:LED显示子程序,PK1:ACALLD10MS;有键按下,延时10s消除键抖动JNBP1.0,PK2;确定是否键抖动引起JBP1.1,KL1PK2:MOVR7,08H;不是键抖动引起则逐列扫描MOV

24、R6,0FEH;选中第0列MOVR3,00H;记下列号初值PL5:MOVA,R6;使某一列为低MOVSBUF,AKL2:JNBTI,KL2CLRTIJNBP1.0,PK4;是第1行吗?JNBP1.1,PK5;是第2行吗?MOVA,R6;不是本列,则继续下一列RLAMOVR6,AINCR3;列号加1DJNZR7,PL5;若8列扫描仍未找到,则退出;等待执行下一次RET,KEY:MOVA,00H;向串口数据缓冲器送全0CLRP1.2MOVSBUF,AKL0:JNBTI,KL0;等待8位数据发送完毕CLRTI;清中断标志KL1:JNBP1.0,PK1;第1行有键按下否?JBP1.1,KL1;第2行有

25、键按下否?,2021/3/11,29,9.1 人-机通道配置与接口技术,9.1.3 串行口控制的键盘/LED显示器接口电路,2、程序设计,MOVR0,A;将字形码入显示缓冲区INCR0CJNER0,60H,KD;显示缓冲区未满转KDMOV60H,58H;重设显示缓冲区首地址SJMPKD1;转显示KD:MOV60H,R0;保存显示缓冲区地址KD1:ACALLLED;调用送显示程序RETKL6:MOVB,03H;修正命令键地址转移表指针MULABMOVDPTR,KTAB;地址转移表首地址送DPTRJMPADPTR;根据指针跳转 KTAB:LJMPK1;K1,K3为各命令键服务程序首地址LJMPK3

26、:,PK5:MOVR4,08H;是第2行,则R4送首键号值08HAJMPPK3;转键处理PK4:MOVR4,00H;是第1行,则R4送首键号值00HPK3:MOVA,00H;等待键释放MOVSBUF,A KL3:JNBTI,KL3CLRTIKL4:JNBP1.0,KL4JNBP1.1,KL4MOVA,R4;取行初值ADDA,R3;计算键号CLRCSUBBA,0AH;是命令键吗?JNCKL6;转命令键处理程序MOPDPTR,TABL;字形码表首址送DPTRADDA,0AH;恢复键号MOVCA,ADPTR;取字形码数据MOVR0,60H;取显示缓冲区指针,2021/3/11,30,9.1 人-机通

27、道配置与接口技术,9.1.3 串行口控制的键盘/LED显示器接口电路,2、程序设计,TABL:DBC0H,F9H,A4H,B0H;09字形码转换(共阳)DB99H,92H,82H,F8HDB80H,90HLED:SETBP1.2;开放显示器控制MOVR7,08H;显示位数送R7MOVR0,58H;选送最低位 LED1:MOVA,R0;送显示器数据 MOVSBUF,ALED2:JNBTI,LED2 CLRTIINCR0;继续下一位DJNZR7,LED1;全部送完 CLRP1.2;关闭显示器控制RET,2021/3/11,31,9.2 系统前向通道中的A/D转换器及接口技术,2021/3/11,3

28、2,9.2 系统前向通道中的A/D转换器及接口技术,模/数(A/D)转换电路的种类有:计数比较型、逐次逼近型、双积分型等等。逐次逼近型A/D转换器,在精度、速度和价格上都适中,是最常用的A/D转换器件。双积分A/D转换器,具有精度高、抗干扰性好、价格低廉等优点,但转换速度低。接口类型:,串行输出:节省单片机I/O,但通信速度稍慢。,并行接口:通信速度快、但占用数据线较多,SPI三线接口:TLC0381、TLC1549、TLC1543、TLC2543、MAX187等,I2C两线接口:MAX127、PCF8591(4路8位A/D,还含1路8位D/A)等。,2021/3/11,33,9.2 系统前向

29、通道中的A/D转换器及接口技术,9.2.1 8位串行A/D芯片TLC0831与单片机接口及编程TLC0831是TI公司生产的A/D转换器,特点是:8位分辨率;单通道;串行SPI输出;5V工作电压下其输入电压可达5V;输入/输出电平与TTL/CMOS兼容;工作频率位250kHz时,转换时间为32s。1、TLC0831与单片机接口电路,2021/3/11,34,9.2 系统前向通道中的A/D转换器及接口技术,9.2.1 8位串行A/D芯片TLC0831与单片机接口及编程2、TLC0831的A/D转换条件与通信时序 置/CS为低电平开始一次转换,在整个转换过程中/CS必须为低。连续输入10个脉冲完成

30、一次转换及输出。 转换结束后应将/CS置高,当/CS重新拉低时将开始新的一次转换。,2021/3/11,35,9.2 系统前向通道中的A/D转换器及接口技术,9.2.1 8位串行A/D芯片TLC0831与单片机接口及编程3、A/D转换及结果读取程序,CLRCLK;拉低CLK端,形成第2个下降沿NOPNOPMOVR7,#8;准备送后8个时钟脉冲AD8:MOVC,DO;接收数据MOVACC.0,CRLA;左移1次SETBCLKNOPNOPCLRCLK;形成1次时钟脉冲NOPNOPDJNZR7,AD8;循环8次SETBCS;拉高CS端CLRCLK;拉低CLK端SETBDO;拉高数据端,回到初始状态R

31、ET,;引脚定义CSbitP1.0CLKbitP1.1;书上错了DObitP1.2;书上错了;子程序名:ADC;资源占用:R7,ACC;出口:累加器A为获得的A/D转换结果ADC:CLRCS;拉低CS端NOPNOPSETBCLK;拉高CLK端NOPNOPCLRCLK;拉低CLK端,形成下降沿NOPNOPSETBCLK;拉高CLK端NOPNOP,2021/3/11,36,9.2 系统前向通道中的A/D转换器及接口技术,9.2.7 8位并行输出A/D芯片ADC0809与单片机接口及编程1、ADC0809 A/D转换器芯片,图9-37 ADC0809结构,2021/3/11,37,9.2 系统前向通

32、道中的A/D转换器及接口技术,9.2.7 8位并行输出A/D芯片ADC0809与单片机接口及编程1、ADC0809 A/D转换器芯片引脚说明: IN0IN7:8个输入通道。 D0D7:8位数字量输出端。 START:启动信号,加上正脉冲后,A/D转换开始(下降沿启动)。 ALE:地址锁存信号。 EOC:转换结束信号(输出)。 OE:输出允许控制端。 CLK:时钟信号,最高允许640kHz。 VREF+和VREF-:A/D转换器的参考电压。 Vcc:电源电压。 ADDA、ADDB、ADDC:输入通道选择。,2021/3/11,38,9.2 系统前向通道中的A/D转换器及接口技术,9.2.7 8位

33、并行输出A/D芯片ADC0809与单片机接口及编程1、ADC0809 A/D转换器芯片,图9-38 ADC0809的时序图,ALE=1期间:通道选择地址存入地址锁存器;ALE=0期间:地址被锁存。START上升沿:复位ADC0809。START下降沿:启动A/D转换。转换期间:EOC=0;转换结束:EOC=1。OE=1:转换结果放到D0D7。OE=0:D0D7保持高阻态。,2021/3/11,39,9.2 系统前向通道中的A/D转换器及接口技术,9.2.7 8位并行输出A/D芯片ADC0809与单片机接口及编程2、ADC0809与89C51/S51接口,图9-39 ADC0809与89C51/

34、S51的连接,这里将ADC0809作为一个外部扩展并行I/O口,采用线选法寻址。由P2.7和WR联合控制启动转换新号(START)和ALE。所以IN0通道的地址为7FF8H。 工作过程:首先用“MOVX DPTR,A”指令产生WR信号,使ALE和START信号生效,启动转换;AD转换完毕EOC发出一正脉冲,申请中断;中断服务程序中,用指令“MOV A,DPTR”产生RD信号,使OE有效。 ADC0809的时钟取自89C51/S51的ALE(ALE在不用于地址锁存时,输出fosc/6的定频脉冲),2021/3/11,40,9.2 系统前向通道中的A/D转换器及接口技术,9.2.7 8位并行输出A

35、/D芯片ADC0809与单片机接口及编程3、8路巡回检测系统例9-2 某冷冻厂需对8点(8个冷冻室)的温度进行巡回检测。要求设计一个单片机巡回检测系统。温度传感器采用热敏电阻+ADC0809。将读数依次存放在片外数据存储器A0HA7H单元。其主程序和中断服务程序如下:,中断服务程序:MOVXA,DPTR;读数MOVXR0,A;存数INCDPTR;更新通道INCR0;更新暂存单元DJNZR2,DONERETIDONE:MOVXDPTR,ARETI,主程序:MAIN:MOVR0,#0A0H;数据暂存区首址MOVR2,#08H;8路计数初值SETBIT1;脉冲触发方式SETBEA;开中断SETBEX

36、1;MOVDPTR,#7FF8H;指向0809首地址MOVXDPTR,A;启动A/D转换HERE:SJMPHERE;等待中断,2021/3/11,41,9.3 系统后向通道配置及接口技术,2021/3/11,42,9.3 系统后向通道配置及接口技术,后向通道是计算机实现控制运算处理后,对被控对象的输出通道接口。系统的后向通道是一个输出通道,其特点是弱电控制强电,即小信号输出实现大功率控制。常见的被控对象有电机、电磁开关等。单片机实现控制是以数字信号或模拟信号的形式通过口送给被控对象的。其中,数字信号形态的开关量、二进制数字量和频率量可直接用于开关量、数字量系统及频率调制系统的控制;但对于一些模

37、拟量控制系统,则应通过转换器转换成模拟量控制信号后,才能实现控制。,2021/3/11,43,9.3.1 后向通道中的功率开关器件及接口1、继电器及接口2、光电耦合器(隔离器)件及驱动接口,9.3 系统后向通道配置及接口技术,图9-40 继电器接口,图9-43 光电耦合器4N25的接口电路,续流二极管,限流电阻,阻值如何计算?,2021/3/11,44,9.3.1 后向通道中的功率开关器件及接口3、光电耦合驱动晶闸管(可控硅)功率开关及接口,9.3 系统后向通道配置及接口技术,图9-45 晶闸管输出型光电耦合器驱动接口,单向晶闸管输出型光电耦合器,也称固态继电器(SSR, Solid Stat

38、e Relay) 4N40是常用的单向晶闸管输出型光电耦合器。 MOC3041是常用的双向晶闸管输出的光电耦合器。,2021/3/11,45,9.3.2 双向晶闸管(可控硅)温度控制系统,9.3 系统后向通道配置及接口技术,图9-46 电阻炉炉温控制系统原理图,2021/3/11,46,9.3.3 串行输入D/A芯片TLC5615接口技术1、TLC5615的特点2、TLC5615的功能方框图,9.3 系统后向通道配置及接口技术,图9-47 TLC5615功能方框图,10位CMOS电压输出;5V单电源工作;与微处理器3线串行接口(SPI);最大输出电压是基准电压的2倍;输出电压具有和基准电压相同

39、的极性;建立时间12.5 s;内部上电复位;低功耗,最高为1.75 mW;引脚与MAX515兼容。,2021/3/11,47,9.3.3 串行输入D/A芯片TLC5615接口技术3、TLC5615的引脚排列及功能,9.3 系统后向通道配置及接口技术,2021/3/11,48,9.3.3 串行输入D/A芯片TLC5615接口技术4、TLC5615的时序分析,9.3 系统后向通道配置及接口技术,非级联方式,级联方式,2021/3/11,49,9.3.3 串行输入D/A芯片TLC5615接口技术5、TLC5615的输入/输出关系6、TLC5615与89C51/S51的串行接口电路,9.3 系统后向通

40、道配置及接口技术,图9-50 TLC5615与89C51/S51接口电路,2021/3/11,50,9.3.3 串行输入D/A芯片TLC5615接口技术6、TLC5615与89C51/S51的串行接口电路,9.3 系统后向通道配置及接口技术,子程序如下:Wrdata:NOP;空操作LOOP:CLRP3.1;时钟低电平RLCA;数据送入进位位CYMOVP3.2,C;数据输入TLC5615有效SETB P3.1;时钟高电平DJNZR2,LOOP;循环送数RET,89C51要输出的12位数据存在R0和R1寄存器中CLRP3.0;片选有效MOVR2,#4;将要送入的前4位数据位数MOVA,R0;前4位

41、数据送累加器低4位SWAPA;A中高低4位互换(4位数在高位)LCALLWrdata;由DIN输入前4位数据MOVR2,#8;将要送入的后8位数据位数MOVA,R1;8位数据送入累加器ALCALLWrdata;由DIN输入后8位数据CLRP3.1;时钟低电平SETBP3.0;片选高电平,输入的12位数据有效RET;结束送数,2021/3/11,51,9.3.4 并行输入D/A芯片及接口技术1、DAC0832芯片,9.3 系统后向通道配置及接口技术,图9-51 DAC0832结构,2021/3/11,52,9.3.4 并行输入D/A芯片及接口技术2、DAC0832与89C51接口实际应用中常常需

42、要芯片的输出还需要有将电流转换为电压的电路。下面介绍两种电路供参考: 图9-52(a)是反相电压输出电路,输出电压Vout=-iR; 图9-52(b)是同相电压输出电路,输出电压Vout=iR(1+R2/R1),9.3 系统后向通道配置及接口技术,图9-52 D/A转换输出电路,2021/3/11,53,9.3.4 并行输入D/A芯片及接口技术2、DAC0832与89C51接口(1)直通式工作方式,9.3 系统后向通道配置及接口技术,图9-53 DAC0832直通式电压输出电路,2021/3/11,54,9.3.4 并行输入D/A芯片及接口技术2、DAC0832与89C51接口(2)单缓冲工作

43、方式应用,9.3 系统后向通道配置及接口技术,图9-54 一路D/A输出连线图,2021/3/11,55,9.3.4 并行输入D/A芯片及接口技术2、DAC0832与89C51接口(2)单缓冲工作方式应用 产生锯齿波的程序程序如下:MOVDPTR,#2FFFH;设置D/A口地址MOVA,#00H;输入数字量00H到A(初值为00H)LOOP:MOVXDPTR,A;输出对应于A内容的模拟量INCA;修改A的内容(原来值加1)AJMPLOOP,9.3 系统后向通道配置及接口技术,2021/3/11,56,9.3.4 并行输入D/A芯片及接口技术2、DAC0832与89C51接口(2)单缓冲工作方式应用 产生方波的程序程序如下:MOVDPTR,#2FFFH;设置D/A口地址LOOP:MOVA,#0FFH;给A送最大值MOVXDPTR,A;D/A输出相应模拟量ACALLDelay;延时MOVA,#00H;给A送最小值MOVXDPTR,A;D/A输出相应模拟量ACALLDelay;延时AJMPLOOP;返回循环,9.3 系统后向通道配置及接口技术,2021/3/11,57,谢谢!,

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

当前位置:首页 > 社会民生


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