版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章第六章 I/O I/O接口技术概述接口技术概述6.1 MCS-516.1 MCS-51对非编码键盘的接口对非编码键盘的接口6.2 LED6.2 LED数码管接口数码管接口6.3 MCS-516.3 MCS-51与液晶接口与液晶接口6.4 MCS-516.4 MCS-51与与AD/DAAD/DA接口接口6.5 MCS-516.5 MCS-51与与81558155并行扩展接口并行扩展接口第六章第六章 I/O I/O接口技术概述接口技术概述 数字计算机系统CPU对外部设备的控制、处理,或者CPU与各种外部设备之间交换数据信息,往往是和连接在系统总线上的接口电路实现的。在单片机诞生前就有接口电路
2、的概念,早期专指外部设备与CPU总线相连的电路。接口技术指的是这部分电路相应的硬件和软件技术。6.1 MCS-516.1 MCS-51对非编码键盘的接口对非编码键盘的接口 键盘是若干按键的集合,是单片机的常用输入设备,操作人员可以通过键盘输入数据或命令,实现人机通信。按键可以分为触点式和无触点式(SSR 固态继电器),可以分为独立连接式和行列式两类,每一类又可以根据对按键的译码方式分为编码键盘和非编码两种类型。在非编码键盘中,每个按键的作用只是使相应触点接通或断开,每个按键的键码并非由硬件电路产生,而是由相应扫描处理程序对他扫描形成的,因此,本节主要讲解MCS-51对非编码键盘的接口编程。6.
3、1.16.1.1键盘接口需要解决的问题键盘接口需要解决的问题 按键的抖动会造成按一次键产生的开关状态被CPU误读几次。为了使CPU能正确地读取按键状态,必须在按键闭合或断开时,消除产生的前沿或后沿抖动,去抖动的方法有硬件方法和软件方法两种。硬件方案双稳态去抖电路;开关和继电器触点等在闭合和断开时常存在抖动问题,解决这一问题的方法很多,如图6-1所示就是一个双稳态去抖电路。该电路主要由两个R-S触发器构成,当开关K处于常闭位置时,a端为低电平,输出端Q则为高电平;此时b端均为高电平,输出端R则为低电平,2端被锁定。这样,开关触头即使在常闭端产生振颤,但只要不和常开端连接,B端(2端)电位不变,则
4、输出端Q始终处于高电平。同理,开关处于常开位置时也是如此。因此,该电路在开关闭合或断开时只产生一个脉冲,触点抖动现象被消除。但是由于电路相对复杂,这种方法基本上不用。6.1.16.1.1键盘接口需要解决的问题键盘接口需要解决的问题6.1.16.1.1键盘接口需要解决的问题键盘接口需要解决的问题图6-1 硬件去抖电路 软件方案则是采取延时10ms20ms后再次判断的方法,软件方法是指编制一段延时时间为10ms的延时程序,在第一次检测到有键按下时,执行这段延时子程序,使键的前沿抖动消失后再检测该键状态,如果该键仍保持闭合状态电平,则确认为该键已稳定按下,否则无键按下,从而消除了抖动的影响.同理,在
5、检测到按键释放后,也同样要延迟一段时间,以消除后沿抖动,然后转入对该按键的处理。这种方案成本低而且较为容易实现,所以在实际应用中常采用该方案。6.1.16.1.1键盘接口需要解决的问题键盘接口需要解决的问题6.1.2 6.1.2 独立式按键独立式按键在独立连接式非编码键盘中,每个按键都是彼此独立的,均需占用CPU的一条I/O输入数据线,图6-2为MCS-51对独立式非编码键盘的接口电路,如图6-2图中的每个按键均和MCS-51的P1口中一条相连。若没有按键按下,MCS-51从P1口读得引脚电均为“1”。若某一按键按下,则该健所对应的端口线变为低电平。单片机定时对P1口进行程序查询,即可发现键盘
6、是否键按下以及哪个按键按下。6.1.2 6.1.2 独立式按键独立式按键图6-2 独立式非编码键盘接口电路解:资源分配用P1口的低3位(P1.2-P1.0)检测3个按键的输入,0:表示相应按键被按下1:表示按键没有按下如右边流程图:ORG 0000HKB:MOV P1,#0FFH ;P1口作为输入状态 MOV A,P1;读P1口状态按键按下=0,按键没有按下=1 CPL A;取反ANL A,#07H;取低4位0000 01116.1.2 6.1.2 独立式按键独立式按键例1:用P1口检测三个按键的状态并完成相应的功能。 JZ KB ;A=0,上一句A=0000 0000, CPL前111111
7、11 没有键按下 LCALL D10MS;延时10ms MOV A,P1 CPL A ANL A,#07H JZ KB ;再判断一次 CJNE A,#01H,KB01;0000 0001进入的条件是A不等于0 LCALL PGM1 ;A=01H,调用键1的功能子程序 SJMP KB6.1.2 6.1.2 独立式按键独立式按键 KB01: CJNE A,#02H,KB02;0000 0010 LCALL PGM2 ;调用键2的功能子程序 SJMP KBKB02: CJNE A,#04H,KB;0000 0100 LCALL PGM3 ;调用键3的功能子程序 SJMP KB END 独立式非编码键
8、盘的特点:一线一键,按键识别(编程)简单;但占用较多口线,适合8键以下使用。6.1.2 6.1.2 独立式按键独立式按键6.1.36.1.3矩阵式按键矩阵式按键矩阵式按键是一种把所有按键排列成行列矩阵的键盘。在这种键盘中,每根行线和列线的交叉处都接有一个按键,每当某个按键被按下时,与这个按键相连的行线和列线就会接通,否则是断开状态,因此,一个MXN的行列式矩阵键盘只需M条行线和N条列线,共占用M+N条单片机的I/O端口线。MCS-51对矩阵式键盘的接口电路图6-3所示。6.1.36.1.3矩阵式按键矩阵式按键图6-3 矩阵式键盘的接口电路1.判别有无按键按下;2.扫描获取闭合键的行、列值;3.
9、用计算法或查表法得到键值;4.判断闭合键释放否,如没释放则继续等待;5.保存闭合键号。6.1.36.1.3矩阵式按键矩阵式按键键盘扫描子程序一般包括以下内容:SERCH: MOV R2,#0EFH MOV R3,#00HLINE0: MOV A,R2 MOV P1,A MOV A,P1 JB ACC.3,LINE1 MOV A,#00H AJMP TRYKLINE1: JB ACC.2,LINE2 MOV A,#04H AJMP TRYK 6.1.36.1.3矩阵式按键矩阵式按键 LINE2: JB ACC.1,LINE3 MOV A,#08H AJMP TRYK LINE3: JB ACC.
10、3,LINE4 MOV A,#0CH AJMP TRYK LINE4: INC R3 MOV A,R2 RL A JNB ACC.3,BACK MOV R2,A AJMP LINE0 TRYK: ADD A,R3 BACK: RET6.1.36.1.3矩阵式按键矩阵式按键6.2 LED6.2 LED数码管接口数码管接口LED发光二极管(Light Emitting Diode)显示器有多种结构形式,单段的圆形或方形LED常用来显示设备的运行状态,8段LED可以显示各种数字和字符,所以也称为LED数码管。LED的伏安特性类似于普通二极管,正常工作电流Ig为 5-20mA,压降Vg为1.5-2.0
11、V左右。8段LED在控制系统中应用最为广泛,其接口电路也具有普遍借鉴性.利用PN结把电能转换成光能的固体发光器件,根据制造材料的不同可以发出红、黄、绿、白等不同色彩的可见光来.分为单联、双联、四联LED管。图6-4 LED数码管接口电路(a) (b)6.2 LED6.2 LED数码管接口数码管接口 单片机系统扩展LED数码管时多用共阳LED(记忆):共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱动功率很小;共阴数码管段笔画是用高电平(“0”)点亮的,要求驱动功率较大。通常每个段码要串一个数百欧姆(390)的限流电阻。6.2 LED6.2 LED数码管接口数码管接口6.2.1 LED6.
12、2.1 LED数码管译码数码管译码 硬件译码特点: (1)采用专用的译码/驱动器件,驱动功率较大; (2)增加了硬件的开销; (3)软件编程简单; (4)字型固定(比如:只有七段,只可译数字,字型不好)。(一)硬件译码图6-5 硬件译码接口(二)软件译码(二)软件译码软件译码特点: (1)不用专用的译码/驱动器件,驱动功率较小;(2)不增加硬件的开销;(3)软件编程较复杂;(4)字型灵活(比如:有八段,只可译多种字符,字型好看)。图6-6 软件译码接口6.2.1 LED6.2.1 LED数码管译码数码管译码6.2.2 LED6.2.2 LED数码管显示方式数码管显示方式静态显示: 各数码管在显
13、示过程中持续得到送显信号,与各数码管接口的I/O口线是专用的。无闪烁,使用的元器件较多,占I/O线多,无须扫描,节省CPU时间,编程简单.连接:所有LED的位选均共同连接到+Vcc或GND,每个LED的8根段选线分别连接一个8位并行I/O口,从该I/O口送出相应的字型码显示字型。特点:原理简单,显示亮度强,无闪烁,占用I/O资源较多。控制系统中的LED显示电路,除了要完成把字符转换成对应的段选码的译码功能以外,还要具有数据锁存与驱动的功能。 其中,译码功能可以通过硬件译码器完成,也可通过软件编程实现;而数据锁存与驱动只有依赖硬件电路来实现。静态显示方式的关键是多个LED需与多个I/O并行口相连
14、,一般的并行I/O口如8255A或锁存器只具备锁存功能,还要有硬件驱动电路,再配以软件译码程序。6.2.2 LED6.2.2 LED数码管显示方式数码管显示方式图6-7 LED组合的静态显示电路6.2.2 LED6.2.2 LED数码管显示方式数码管显示方式例2:4个LED组合的静态显示电路如图6-7所示。首先由I/O口(1)送出数字3的段选码4FH,即数据01001111到左边第一个LED的段选线上,阳极接受到高电平“1”的发光管g、d、c、b、a段因为有电流流过则被点亮,则结果为左边第一个LED显示3。接着由I/O口(2)送出数字4的段选码66H,即数据01100110到左边第二个LED的
15、段选线上,阳极接受到高电平“1”的共阴极发光管g、f、c、b段则被点亮,则结果为左边第二个LED显示4。同理,由I/O口(3)送出数字5的段选码6DH,即01101101到左边第三个LED的段选线上,由I/O口(4)送出数字6的段选码7DH,即01111101到左边第四个LED的段选线上,则第三、四个LED分别显示5、6。6.2.2 LED6.2.2 LED数码管显示方式数码管显示方式图6-8 74LS164驱动LED数码管电路 有几个LED就要几个74LS164串入并出的芯片,但只要数据不变,送一次就保持住了,且不闪烁,编程十分简单。6.2.2 LED6.2.2 LED数码管显示方式数码管显
16、示方式例3:LED数码管静态显示举例:要求:根据图6-8编写通过串行口和74LS164驱动共阳LED数码管查表显示的子程序。条件:系统有6个LED数码管,待显数据(00H09H)已放在内部RAM35H30H单元中(分别对应十万位个位)DSPLY: MOV DPTR, #TABLE ;共阳LED数码管译码表首址 MOV R0,#30H ;待显数据缓冲区的个位地址REDO: MOV A, R0 ;通过R0实现寄存器间接寻址 MOVC A, A+DPTR ;查表 MOV SBUF, A ;经串行口发送到74LS164 JNB TI, $ ;查询送完一个字节的第8位? 6.2.2 LED6.2.2 L
17、ED数码管显示方式数码管显示方式 CLR TI ;为下一字节发送作准备(分析,看懂) INC R0 ;R0指向下一个数据缓冲单元 CJNE R0,#36H,REDO ;判断是否发完6个数? RET ;发完6个数就返回TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H ;0-9共阳LED译码表 DB 92H, 82H, 0F8H, 80H,90H6.2.2 LED6.2.2 LED数码管显示方式数码管显示方式动态显示动态显示 各数码管在显示过程中轮流得到送显信号,与各数码管接口的I/O口线是共用的。有闪烁,使用的元器件较少,占I/O线少,必须扫描,花费CPU时间,编程复杂。(有多个
18、LED时尤为突出),LED动态显示电路如下图6-9所示。图6-9 LED动态显示电路6.2.2 LED6.2.2 LED数码管显示方式数码管显示方式要求:根据图6-9编写通过串行口和74LS164驱动共阳LED数码管查表显示的子程序。条件:系统有6个LED数码管,待显数据(00H09H)已放在内部RAM35H30H单元中(分别对应十万位个位)DSPLY: MOV DPTR, #TABLE ;共阳LED数码管译码表首址 MOV R0,#30H ;待显数据缓冲区的个位地址REDO: MOV A, R0 ;通过R0实现寄存器间接寻址 MOVC A, A+DPTR ;查表 MOV SBUF, A ;经
19、串行口发送到74LS164 JNB TI, $ ;查询送完一个字节的第8位?6.2.2 LED6.2.2 LED数码管显示方式数码管显示方式 CLR TI ;为下一字节发送作准备(分析,看懂) INC R0 ;R0指向下一个数据缓冲单元 CJNE R0,#36H,REDO ;判断是否发完6个数? RET ;发完6个数就返回TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H ;0-9共阳LED译码表 DB 92H, 82H, 0F8H, 80H,90H6.2.2 LED6.2.2 LED数码管显示方式数码管显示方式电路的接法决定了必须采用逐位扫描显示方式.即从段选口(段控)送出某位
20、LED的字型码,然后选通该位LED(位控),并保持一段延时时间(1ms 记忆)。最后选通下一位,直到所有位扫描完。要注意的两个问题: 1.字型码通常通过查表指令MOVC来求得。 2.换位显示时通常要加一些软件代码使所有的LED全灭。 硬件连接:所有LED的段控线共同连接在一起共用一个8位I/O口,而每个LED的位控线分别由一根相应的I/O口线控制。因此必须采用动态扫描显示方式,每一个时刻只选通其中一个数码管,同时在段选口送出该位LED的字型码。6.2.2 LED6.2.2 LED数码管显示方式数码管显示方式图6-10 C51与LED显示电路6.2.2 LED6.2.2 LED数码管显示方式数码
21、管显示方式例4:动态显示举例工作原理:从P0口送段代码,P1口送位选信号.段码虽同时到达6个LED,但一次仅一个LED被选中。利用“视觉暂留”,每送一个字符并选中相应位线,延时一会儿,再送/选下一个循环扫描即可。 视觉的暂留效应原理:什麽场面被人看了一眼,这场面都会在人的眼里停留0.1秒,电影在1秒中拍摄24张照片,所以在播放时,里面的事物总是移动的。 要求:此处为共阴数码管,P0口送段码,P1口送位选信号。通过查表实现动态显示。 条件:待显数据00H09H已放在7AH7FH(数据缓冲区/显示缓冲区)单元中(分别对应十万位个位)。 说明:由于用了反相驱动器7406,要用共阳译码表。6.2.2
22、LED6.2.2 LED数码管显示方式数码管显示方式6.3 MCS-516.3 MCS-51与液晶接口与液晶接口液晶显示器简称LCD显示器。它是利用液晶经过处理后能改变光线的传输方向的特性实现显示信息。液晶显示器按其功能可分为三类:笔段式液晶显示器、字符点阵式液晶显示器和图形点阵式液晶显示器。前两种可显示数字、字符和符号等,而图形点阵式液晶显示器还可以显示汉字和任意图形,达到图文并茂的效果。目前市面上常用的有16字1行、16字2行、20字2行和40字2行等的字符液晶显示模块。这些LCD虽然显示字数各不相同,但是都具有相同的输入输出界面。本节将以162字符型液晶显示模块RT-1602C为例,详细
23、介绍字符型液晶显示模块的应用:如图6-11为液晶RT-1602C外形。图6-11字符型液晶RT-1602C外形6.3 MCS-516.3 MCS-51与液晶接口与液晶接口RT-1602C采用标准的16脚接口,各引脚情况如下:第1脚:VSS,电源地第2脚:VDD,+5V电源第3脚:VL,液晶显示偏压信号第4脚:RS,数据/命令选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W,读/写选择端,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。 第6
24、脚:E,端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7,为8位双向数据线。第15脚:BLA,背光源正极第16脚:BLK,背光源负极6.3 MCS-516.3 MCS-51与液晶接口与液晶接口6.3.16.3.1指令格式与指令功能指令格式与指令功能LCD控制器HD44780内有多个寄存器,通过RS和R/W引脚共同决定选择哪一个寄存器,选择情况如表6.1:表6.1 寄存器标志位RSR/W寄存器及操作00指令寄存器写入01忙标志和地址计数器读出10数据寄存器写入11数据寄存器读出清屏命令 格式:RSR/WD7D6D5D4D3D2D1D00000000001 功能:清
25、除屏幕,将显示缓冲区DDRAM的内容全部写入空格(ASCII20H)。 光标复位,回到显示器的左上角。 地址计数器AC清零。6.3.16.3.1指令格式与指令功能指令格式与指令功能总共有11条指令,它们的格式和功能如下:2 2光标复位命令光标复位命令格式:RSR/WD7D6D5D4D3D2D1D00000000010 功能:设定当写入一个字节后,光标的移动方向以及后面的内容是否移动。 当I/D=1时,光标从左向右移动;I/D=0时,光标从右向左移动。 当S=1时,内容移动,S=0时,内容不移动。6.3.16.3.1指令格式与指令功能指令格式与指令功能3 3输入方式设置命令输入方式设置命令格式:
26、RSR/WD7D6D5D4D3D2D1D000000001I/DS 功能:设定当写入一个字节后,光标的移动方向以及后面的内容是否移动。 当I/D=1时,光标从左向右移动;I/D=0时,光标从右向左移动。 当S=1时,内容移动,S=0时,内容不移动。6.3.16.3.1指令格式与指令功能指令格式与指令功能4 4显示开关控制命令显示开关控制命令格式:RSR/WD7D6D5D4D3D2D1D00000001DCB 功能:控制显示的开关,当D=1时显示,D=0时不显示。 控制光标开关,当C=1时光标显示,C=0时光标不显示。 控制字符是否闪烁,当B=1时字符闪烁,B=0时字符不闪烁。6.3.16.3.
27、1指令格式与指令功能指令格式与指令功能5 5光标移位置命令光标移位置命令格式:RSR/WD7D6D5D4D3D2D1D0000001S/C R/L* 功能:移动光标或整个显示字幕移位。 当S/C=1时整个显示字幕移位,当S/C=0时只光标移位。 当R/L=1时光标右移,R/L=0时光标左移。6.3.16.3.1指令格式与指令功能指令格式与指令功能6 6功能设置命令功能设置命令格式:RSR/WD7D6D5D4D3D2D1D000001DLNF* 功能:设置数据位数,当DL=1时数据位为8位,DL=0时数据位为4位。 设置显示行数,当N=1时双行显示,N=0时单行显示。 设置字形大小,当F=1时5
28、10点阵,F=0时为57点阵。6.3.16.3.1指令格式与指令功能指令格式与指令功能7 7设置字库设置字库CGRAMCGRAM地址命令地址命令格式:RSR/WD7D6D5D4D3D2D1D00001CGRAM的地址 功能:设置用户自定义CGRAM的地址,对用户自定义CGRAM访问时,要先设定CGRAM的地址,地址范畴063。 6.3.16.3.1指令格式与指令功能指令格式与指令功能8 8显示缓冲区显示缓冲区DDRAMDDRAM地址设置命令地址设置命令格式:RSR/WD7D6D5D4D3D2D1D0001DDRAM的地址 功能:设置当前显示缓冲区DDRAM的地址,对DDRAM访问时,要先设定D
29、DRAM的地址,地址范畴0127。6.3.16.3.1指令格式与指令功能指令格式与指令功能9 9读忙标志及地址计数器读忙标志及地址计数器ACAC命令命令格式:RSR/WD7D6D5D4D3D2D1D001BFAC的值 功能:读忙标志及地址计数器AC,当BF=1时则表示忙,这时不能接收命令和数据;BF=0时表示不忙。低7位为读出的AC的地址,值为0127。6.3.16.3.1指令格式与指令功能指令格式与指令功能1010写写DDRAMDDRAM或或CGRAMCGRAM命令命令格式:RSR/WD7D6D5D4D3D2D1D010写入的数据 功能:向DDRAM或CGRAM当前位置中写入数据。对DDRA
30、M或CGRAM写入数据之前须设定DDRAM或CGRAM的地址。6.3.16.3.1指令格式与指令功能指令格式与指令功能1111读读DDRAMDDRAM或或CGRAMCGRAM命令命令格式:RSR/WD7D6D5D4D3D2D1D011读出的数据 功能:从DDRAM或CGRAM当前位置中读邮数据。当DDRAM或CGRAM读出数据时,先须设定DDRAM或CGRAM的地址。6.3.16.3.1指令格式与指令功能指令格式与指令功能6.3.2 LCD6.3.2 LCD显示器与单片机的接口与应用显示器与单片机的接口与应用如图6-12是LCD显示器与MCS-51单片机的接口图,图中RT-1602C的数据线与
31、MCS-51的P1口相连,RS与8051的P2.0相连,R/ W与8051的P2.1相连,E端与MCS-51的P2.7相连。编程在LCD显示器的第1行第1列开始显示“ G O O D ” , 第 2 行 第 6 列 开 始 显 示 “ B Y E ” 。图6-12 MCS-51与LCD显示电路6.3.2 LCD6.3.2 LCD显示器与单片机的接口与应用显示器与单片机的接口与应用汇编语言程序:汇编语言程序:RS BIT P2.0RW BIT P2.1E BIT P2.7ORG 00HAJMP STARTORG 50H;主程序:START:MOV SP,#50HACALL INITMOV A,#
32、10000000B ;写入显示缓冲区起始地址为第1行第1列。ACALL WC51R6.3.2 LCD6.3.2 LCD显示器与单片机的接口与应用显示器与单片机的接口与应用MOV A,“G” ;第1行第1列显示字母“G”。ACALL WC51DDRMOV A,“O” ;第1行第2列显示字母“O”。ACALL WC51DDRMOV A,“O” ;第1行第3列显示字母“O”。ACALL WC51DDRMOV A,“D” ;第1行第4列显示字母“D”。ACALL WC51DDRMOV A,#11000101B ;写入显示缓冲区起始地址为第2行第6列。ACALL WC51R6.3.2 LCD6.3.2
33、LCD显示器与单片机的接口与应用显示器与单片机的接口与应用MOV A,“B” ;第2行第6列显示字母“B”。ACALL WC51DDRMOV A,“Y” ;第2行第7列显示字母“Y”。ACALL WC51DDRMOV A,“E” ;第2行第8列显示字母“E”。ACALL WC51DDRLOOP:AJMP LOOP;初始化子程序INIT:MOV A,#00000001H ;清屏ACALL WC51RMOV A,#00111000B ;使用8位数据,显示两行,使用5*7的字型。LCALL WC51RMOV A,#00001110B ;显示器开,光标开,字符不闪烁。6.3.2 LCD6.3.2 LC
34、D显示器与单片机的接口与应用显示器与单片机的接口与应用LCALL WC51RMOV A,#00000110B ;字符不动,光标自动右移一格。LCALL WC51RRET ;检查忙子程序F_BUSY:PUSH ACC ;保护现场PUSH DPHPUSH DPLPUSH PSWWAIT:CLR RSSETB RWCLR ESETB EMOV A,P16.3.2 LCD6.3.2 LCD显示器与单片机的接口与应用显示器与单片机的接口与应用 CLR E JB ACC.7,WAIT ;忙,等待 POP PSW ;不忙,恢复现场 POP DPL POP DPH POP ACC ACALL DELAY RE
35、T;写入命令子程序:WC51R:ACALL F_BUSY CLR E CLR RS CLR RW SETB E MOV P1,ACC CLR E6.3.2 LCD6.3.2 LCD显示器与单片机的接口与应用显示器与单片机的接口与应用 ACALL DELAY RET;写入数据子程序: WC51DDR:ACALL F_BUSY CLR E SETB RS CLR RW SETB E MOV P1,ACC CLR E ACALL DELAY RET;6.3.2 LCD6.3.2 LCD显示器与单片机的接口与应用显示器与单片机的接口与应用延时子程序: DELAY:MOV R6,#5 D1:MOV R7
36、,#248 DJNZ R7,$ DJNZ R6,D1 RET END6.3.2 LCD6.3.2 LCD显示器与单片机的接口与应用显示器与单片机的接口与应用在工作控制和智能化仪表中,通常由微型计算机进行实时控制及实时数据处理。计算机所加工的信包总是数字量,而被控制或测量对象的有关参量往往是连续变化的模拟量,如温度、速度、压力等等,与此对应的电信号是模拟电信号。计算机要处理这种信号,首先必须将模拟量转换成数字量,这转换过程就是“模-数转换(A/D)”。由计算机运算处理的结果(数字量)往往也需要转换为模拟量,以便控制对象,这一过程即为“数模转换”(D/A)。6.4 MCS-516.4 MCS-51
37、与与AD-DAAD-DA接口接口 6.4.1 D/A 6.4.1 D/A电路原理电路原理 D/A转换是将数字量信号转换成模拟量信号的过程。D/A转换的方法比较多,这里仅举一种权电阻D/A转换法的方法,说明D/A转换的过程。权电阻D填转换电路实质上是一只反相求和放人器,图6-13是4位二进制D/A转换的示意图。电路由权电阻、位切换开关、反馈电阻和运算放大器组成。图6-13 4位二进制D/A转换的示意图 6.4.1 D/A 6.4.1 D/A电路原理电路原理 权电阻的阻值按8:4:2:l的比例配置,按照运放的“虚地”原理,当开关D3-D0合上时,流经各权电阻的电流分别是vR/8R、vR/4R、vR
38、/2R和vR/lR。其中vR为基准电压。而这些电流是否存在则取决于开关的闭合状态。输出电压则是: 其中D3-D0是输入一进制的相应位,其取值根据通断分别为0或1。显然,当D3-D0在0000-1111范围内变化时,输出电压值随返回值发生变化,这样,数字量的变化就转化成了电压(模拟量)的变化了。这里,由于仅有4位开关,所以这种变化是很粗糙的,从输出电压为0到输出电压为最高值仅有16档。显然,增加开关的个数和权电阻的个数,可以将电压的变化分得更细。一般,至少要有8个升关才比较实用。8个开关,就意味着输出量从最小到最大一共被分成256档了。 6.4.1 D/A 6.4.1 D/A电路原理电路原理6.
39、4.2 DAC08326.4.2 DAC0832芯片外部与内部特性芯片外部与内部特性D/A转换器有各种现成的集成电路。对使用者而言,关键是选择好合用的芯片以及掌握芯片与计算机的正确的连接方法。下面以常用的DAC0832为例作一说明。DAC0832是CMOS工艺制造的8位单片机D/A转换器,图6-14为其引脚图和内部框架图如图6-15所示。DAC0832主要由两个8位寄存器和一个8位D/A转换器组成。使用两个寄存器的好处是能简化某些应用中的硬件接口电路设计。图6-14 DAC0832的引脚示意图架示意图 图6-15 DAC0832的内部框 6.4.2 DAC08326.4.2 DAC0832芯片
40、外部与内部特性芯片外部与内部特性该D/A转换器为二十引脚双列直插封装,各引脚含义如下:D10-D7:数字量输入端。ILE:数据锁存允许信号,高电平有效;CS:输入寄存器选择信号,低电平有效;WR1:输入寄存器的写选通信号1,低电平有WR和CS、ILE配合构成第一级输入锁存;WR2:输入寄存器的写选通信号2,低电平有效;XFER:数据转移控制信号,输入低有效,和丽配合构成第二级锁存:VR:基准电压输入线;Rfb:反馈信号输入线,在芯片内部已有反馈电阻;6.4.2 DAC08326.4.2 DAC0832芯片外部与内部特性芯片外部与内部特性Iout1和Iout2电流输出线。IOUT1和IOUT2的
41、和为常数,IOUT随DAC寄存器的内容线性变化:VCC:工作电源DGND:数字地;AGND:模拟信号地。DA转换芯片输入的是数字量,模拟信号容易受到干扰,所以采用高精度的v。和独立的模拟地,以获得最好的效果。当然,这两种地最终还是要接在一起的,在布置印制板时,将这两路地线在电源处进行一点接地的处理。DAC0832是电流型输出,应用时要外接运算放大器使之成为电压型输出。6.4.2 DAC08326.4.2 DAC0832芯片外部与内部特性芯片外部与内部特性6.4.3 DAC08326.4.3 DAC0832的应用的应用(1)单缓冲方式应用 图6-16是DAC0832的典型应用系统,系统只有一路输
42、出,采用单缓冲方式。在这种方式F,将二级寄存器的控制信号并接即可。输入数据在控制信号的作用下,直接进入ADC0832的控制寄存器。START: MOV DPTR,#0EFFFH; MOV A,#00H;LOOP: MOVX DPTR,A; INC A AJMP LOOP 上面的程序中,A的值从一开始的0开始加,由O变到FFH,输出电压也随之由0v变到最大输出,然后A中的值(FFH)加1之后变成0,输出电压又加到0,这样就形成了一个锯齿波。图6-16 DAC0832的典型应用图6.4.3 DAC08326.4.3 DAC0832的应用的应用(2)双缓冲方式应用 DAC0832也可以方便地工作于双
43、缓冲模式,也适用于同时输出两路或多路模拟信号, 并且这些信号必须同步的情形。6.4.3 DAC08326.4.3 DAC0832的应用的应用6.4.4 6.4.4 模数转换接口模数转换接口模-数转换电路的种类很多,选择A/D转换器件主要从速度、精度和价格等方面进行考虑。根据A/D转换器的工作原理,可分为下面的三种类型: (1)并行A/D变换器:速度高,价格也很昂贵,用于高速(如视频处理)场合。 (2)次逼近型A/D转换器:精度、速度、价恪方面比较折衷,是最常用的一种A/D转换器件。 (3)积分型A/D转换器:精度高,抗十扰能力强,价格低,但是是速度幔,常用于测量仪表等场合。6.4.5 ADC0
44、8096.4.5 ADC0809的内部结构与外特性的内部结构与外特性ADC0809是CMOS工艺次逼近型A/D转换器,其字长为8位,可8路输入模拟量分时转换的组成芯片,图6-17是ADC0809的外部引脚配置图,图6-18是AD0809内部框架图。图6-17 ADC0809的外部引脚配置图 图6-18 AD0809内部框架1 1主要特性主要特性 1)8路8位AD转换器,即分辨率8位。2)具有转换起停控制端。3)转换时间为100s4)单个5V电源供电5)模拟输入电压范围05V,不需零点和满刻度校准。6)工作温度范围为-4085摄氏度7)低功耗,约15mw。6.4.5 ADC08096.4.5 A
45、DC0809的内部结构与外特性的内部结构与外特性2 2内部结构内部结构 单片型逐ADC0809是CMOS次逼近式AD转换器,内部结构如图6-18所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型DA转换器、逐次逼近组成。3 3外部特性(引脚功能)外部特性(引脚功能)ADC0809芯片有28条引脚,采用双列直插式封装,如图6-17所示。下面说明各引脚功能: IN0IN7:8路模拟量输入端。D1D8:8位数字量输出端。 ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。 ALE:地址锁存允许信号,输入,高电平有效。 START: A/D转换启动信号,输入,高电
46、平有效。6.4.5 ADC08096.4.5 ADC0809的内部结构与外特性的内部结构与外特性EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。REF(+)、REF(-):基准电压。Vcc:电源,单一5V。GND:地。6.4.5 ADC08096.4.5 ADC0809的内部结构与外特性的内部结构与外特性 ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存
47、入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。6.4.5 ADC08096.4.5 ADC0809的内部结构与外特性的内部结构与外特性6.4.6 MCS-516.4.6 MCS-51单片机配置单片机配置ADC0809ADC0809的硬件接口的硬件接口图6-19 是ADC0809与MCS-51单片机的接口电路图
48、。图6-19 ADC0809与MCS-51单片机的接口电路图 地址线与数据线的连接ADC0809的输出部份有三态缓冲器,可以直接和数据总线相连;ADC0809的地址选择信号线ADDA、ADDB、ADDC可以与地址线中的任意三根相连(图中与ADO、ADl、AD2相连);时钟线的连接:ADC0809工作时必须外接时钟,如果单片机的主振频率为6M,就可以直接借用ALE信号来作为ADC0809的时钟信号,当不使用MOVX类指令叫,ALE是时钟频率的6分频,在6M晶振的频率下,ALE的频率是lM,如果用了更高频率(如12M)的晶振,用ALE作为ADC0809的时钟就不恰当了。可以把ALE二分频之后再提供
49、给ADC0809。也可以用555之类的震荡电路做个时钟发生器。 控制信号的连接ADC0809所要求的或者所提供的都是高电平有效信号,而MCS-5l能够提供或者需要的却是低电下有效信号,所以必须用一门电路进行转换。6.4.6 MCS-516.4.6 MCS-51单片机配置单片机配置ADC0809ADC0809的硬件接口的硬件接口 例5:利用中断方式编写程序,将8个模拟量信号轮流采集一遍,并依次将转换后的结果放在MCS-5l单片机的30H升始的单元中。 ORG 0000H JMP MAIN ORG 13H ;外中断1入口地址 JMP ADINT ;转到中断服务程序 ORG 30H MAIN: MO
50、V R0,#30H ;存储区首地址 SETB IT1 ;下降沿中断 SETB EA ;开总中断 SETB EX1 ;开外部中断1 6.4.6 MCS-516.4.6 MCS-51单片机配置单片机配置ADC0809ADC0809的硬件接口的硬件接口 MOV R3 ,#08H ;共有8个通道 MOV DPTR,#0FF0H ;指向通道0 MOVX DPTR,A ;启动转换 LOOP:SJMP LOOP; ;等待转换的结果 ADINT: PUSH PSW PUSH ACC ;入堆栈保护 MOVX A,DPTR ;读转换结果 MOV R0,A ;存转换结果 INC DPTR ;指向下一通道 INC R
51、0 ;存储数据区指针加1 DEC R3 ;减去1次 CJNE R3,#0,AD1 ;和0比较,如果没到则转6.4.6 MCS-516.4.6 MCS-51单片机配置单片机配置ADC0809ADC0809的硬件接口的硬件接口 MOV R0,#30H ; 指向数据区首地址 MOV R3,#8 ; 转换次数恢复 JMP ADRET ;不再启动转换,直接返回AD1: MOVX DPTA,A ;启动转换ADRET: POP ACC POP PSW ;出栈 RET1 ;返回 6.4.6 MCS-516.4.6 MCS-51单片机配置单片机配置ADC0809ADC0809的硬件接口的硬件接口中断式数据采集比
52、较节约主程序的时间,每一个通道的数据采集完成之后,启动下一次的转换,然后返回主程序,不用等8个通道全部完成。当8通道的采集工作完成,把所有的指针指向他们原来的位置,不再启动下一次转换。一般主程序是一个循环,会由主程序再次启动下一轮8个通道的数据采集工作。除了可以采用中断的方式之外,还可以用查询的方式进行转换。例6:条件同上,但用查询方式编程。下面子程序的形式给出。6.4.6 MCS-516.4.6 MCS-51单片机配置单片机配置ADC0809ADC0809的硬件接口的硬件接口 MOV DPTR,#0FF0H ;指向通道0 MOV R0,#30H ;数据区首地址 MOV R3,#08H ;通道
53、数LOOP: MOVX DPTR,A ;启动转换HERE: JB P3.3,HERE ;查询一次转换是否结束MOVX A,DOTR ;读转换结果 MOV R0,A ;存转换结果 INC R0 ;指向下一次存储单元 INC DPTR ;指向下一个通道 DJNZ R3,LOOP ;8路数据未采集完,继续 RET 6.4.6 MCS-516.4.6 MCS-51单片机配置单片机配置ADC0809ADC0809的硬件接口的硬件接口6.5MCS-516.5MCS-51与与81558155并行扩展接口并行扩展接口 8155芯片内包含有256字节RAM,2个8位、1个6位的可编程并行I/O口,和1个14位定
54、时器/计数器。由于8155既具有RAM又具有I/O口,因而是单片机系统中最常用的外围接口芯片之一。 8155共40个引脚,采用了双列直插的封装,主要引脚功能如下: AD7AD0:地址数据总线;单片机和8155之间的地址、数据、命令、状态信息都是 通过它来传送的。 CE:片选信号线,低电平有效。 RD:存储器读信号线,低电平有效。 WR:存储器写信号线,低电平有效。 ALE:地址及片选信号锁存信号线,高电平有效。在下降沿时将地址及片选信号锁存到器件中。 IO/M:IO接口与存储器选择信号线,高电平选择I/O,低电平选择存储器。 PA7PA0:A口输出/输入线。 PB7PB0:B口输出/输入线。
55、6.5.16.5.1引脚说明引脚说明 PC5PC0:C口输出/输入或控制信号线,用作控制信号时其功能如下: (1) PC0:A INTR(A口中断信号线) (2) PC1:A BF(A口缓冲器满信号线) (3) PC2:ASTB(A 口选通线) (4) PC3:B INTR(B口中断信号线) TIMER IN:定时器/计数器输入端; TIMER OUT:定时器/计数器输出端; RESET:复位信号线。 8155引脚与逻辑如图6-20所示。当IO/M=0(低电平时),表示AD7AD0输入的是存储器地址,寻址范围为00FFH;当IO/M=1(高电平时),表示AD7AD0输入的是I/O接口地址,其编码如表6.2所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采购物料追踪管理制度
- 临时物质采购领用制度
- 县残联采购管理制度
- 厂区采购日常管理制度
- 采购相关规章制度
- 一般采购部管理制度
- 学校油盐糖采购管理制度
- 原材料采购管控管理制度
- 日常行政采购制度
- 采购部降成本激励制度
- 2026广东深圳市优才人力资源有限公司公开招聘聘员(派遣至龙城街道)18人备考题库附答案详解(典型题)
- 2024-2025学年度哈尔滨传媒职业学院单招考试文化素质数学通关题库完美版附答案详解
- 第8章《力》单元测试卷(提升卷)(原卷版+解析)
- 克服压力(认知行为自助手册)
- 2024年02月苏州工业园区房地产交易管理中心2024年招考4名辅助人员笔试近6年高频考题难、易错点荟萃答案带详解附后
- 北京市部分地区2024届高三语文期初检测试卷汇编:文学类文本阅读()
- 中医护理操作并发症预防及处理
- 《大学生职业生涯规划与就业指导》(李新伟) 项目5
- 甲基丙二酸血症课件
- 工程测量 控制点交桩记录表
- GB/Z 41083-2021下肢矫形器的分类及通用技术条件
评论
0/150
提交评论