《第6章MCS-51单片机的交互通道配置与接口.ppt》由会员分享,可在线阅读,更多相关《第6章MCS-51单片机的交互通道配置与接口.ppt(66页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第6章MCS-51单片机的交互通道配置与接口 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望 人机界面人机界面:是指人与计算机系统进行信息交互的接口,包括信息的输入和输出。6.1 MCS-516.1 MCS-51单片机与键盘的接口技术单片机与键盘的接口技术 键盘:键盘:单片机系统中完成控制参数输入及修改的基本输入设备,是人工干预系统的重要手段。键盘的分类:键盘的分类:按编码方式可分为编码键盘与非编码键盘。按键组连接方式可分为独立连接式键盘与矩阵连接式键盘。6.1.
2、1 6.1.1 概述概述 键盘输入的主要对象:键盘输入的主要对象:各种按键或开关。1 1独立连接式键盘独立连接式键盘 每键相互独立,各自与一条I/O线相连,CPU可直接读取该I/O线的高/低电平状态。其优点是硬件、软件结构简单,判键速度快,使用方便;缺点是占I/O口线多。适用场合:适用场合:多用于设置控制键、功能键。适用于键数少的场合。独立连接式键盘连接图如右图所示。当没有键被按下时,所有的数据输入线都为高电平;当有任意一个键被按下时,与之相连的数据输入线将变为低电平;通过相应指令,可以判断是否有键按下。2.2.矩阵连接式键盘矩阵连接式键盘 键按矩阵排列,各键处于矩阵行/列的结点处,CPU通过
3、对连在行(列)的I/O线送已知电平的信号,然后读取列(行)线的状态信息。逐线扫描,得出键码。其特点是键多时占用I/O口线少,硬件资源利用合理,但判键速度慢。适用场合:适用场合:多用于设置数字键,适用于键数多的场合。4行4列矩阵式键盘连接图如右图所示。这种键盘适合采取动态扫描的方式进行识别。扫扫描描方方式式:低电平扫描(回送线必须被上拉为高电平)、高电平扫描(回送线需被下拉为低电平)。右图中给出了低电平扫描的电路。3.3.薄膜开关薄膜开关特特点点:不需要进行导线与开关间的焊接,结构简单、体积小、防尘、防水、防有害气体侵蚀、寿命长、可靠性高。应应用用:与按键式键盘类似,多个薄膜开关也可按照独立式或
4、矩阵式设计内部电路,其原理与普通键盘相同。按键开关去抖动问题按键开关去抖动问题*键盘的抖动时间一般为键盘的抖动时间一般为5 510ms10ms,抖动现象会引起,抖动现象会引起CPUCPU对一次键操作进行多次处理,从而可能产生错误。对一次键操作进行多次处理,从而可能产生错误。硬件去抖动硬件去抖动 消除抖动不良后果的方法:消除抖动不良后果的方法:其中其中RCRC滤波电路去抖动电路简单实用,效果较好。滤波电路去抖动电路简单实用,效果较好。软件去抖动软件去抖动 检测到按键按下后,执行延时检测到按键按下后,执行延时10ms10ms子程序后再确认该键子程序后再确认该键是否确实按下,消除抖动影响。是否确实按
5、下,消除抖动影响。(1)开关状态的可靠输入。必须消除键抖动。可以采用硬件和软件两种方法,硬件方法就是在按键输入通道上添加去抖动电路;软件方法则采用延迟1020ms(2)键盘状态的监测方法中断方式还是查询方式。(3)键盘编码方法。(4)键盘控制程序的编制。6.1.3 6.1.3 键盘接口键盘接口 功能:功能:对键盘上所按下的键进行识别。分类:分类:(1)编码键盘:采用专用的编码/译码器件,被按下的键由该器件译码输出相应的键码/键值。其特点是增加了硬件开销,编码固定,但编程简单。适用于规模大的键盘。6.1.2 6.1.2 使用键盘时必须解决的问题使用键盘时必须解决的问题(2)非编码键盘:采用软件编
6、/译码的方式,通过扫描,对每个被按下的键判别输出相应的键码/键值。其特点是不增加硬件开销,编码灵活,但编程较复杂,占CPU时间。适用于小规模的键盘,特别是单片机系统。键盘。1 1键盘接口的工作原理键盘接口的工作原理 对于矩阵式键盘,如上页图所示,键盘的行线X0X3通过电阻接+5V,当键盘上没有键闭合时,所有的扫描线和回送线都断开,无论扫描线处于何种状态,回送线都呈高电平。当键盘上某一键闭合时,则该键所对应的扫描线和回送线被短路,可以确定,变为低电平的回送线与扫描线相交处的键闭合。CPUCPU对对键键盘盘扫扫描描的的方方式式:程序控制的随机方式(CPU空闲时扫描键盘)、定时控制方式(定时扫描键盘
7、)、中断方式。CPU对键盘上闭合键的键号确定方法:对键盘上闭合键的键号确定方法:根据扫描线和回送线的状态计算求得,或根据行线和列线的状态查表求得。2 2键输入程序的设计方法键输入程序的设计方法(1)判断键盘上是否有键闭合;(2)消除键的机械抖动;(3)确定闭合键的物理位置;(4)得到闭合键的编号;(5)确保CPU对键的一次闭合只做一次处理3 3键盘接口方式键盘接口方式(1)独立式键盘接口(静态方式)特特点点:结构简单,每个按键接单片机的一条I/O线,通过对输入线的查询,可以识别每个按键的状态。例例题题在MCS-51单片机系统中,设计一个含8个按键的独立式键盘。解解:在MCS-51中,含8个按键
8、的独立式键盘的线路连接如下页图所示,8个按键经上拉电阻拉高后分别接到MCS-51单片机P1口的8条I/O线上(P1.0P1.7)。在无键按下的情况下,P1.0P1.7线上输入均为高电平。当有键按下时,与被按键相连的I/O线将得到低电平输入,其他位按键的输入线上仍维持高电平输入。P1口8条I/O线经与非门74LS30实现逻辑与非后,再经过1个非门74LS04进行信号变换,然后接至MCS-51的引脚上,可通过中断的方式处理键盘。在中断服务程序中,先延时20ms消除键抖动,再对各键进行查询,找到所按键,并转到相应的处理程序中去。CLOSE:JNBACC.7,KEY7;查询7号键JNBACC.6,KE
9、Y6;查询6号键JNBACC.5,KEY5;查询5号键JNBACC.4,KEY4;查询4号键JNBACC.3,KEY3;查询3号键JNBACC.2,KEY2;查询2号键JNBACC.1,KEY1;查询1号键JNBACC.0,KEY0;查询0号键INT0:RETIKEY7:;7号键处理程序KEY71:MOV A,P1;再读P1口各引脚JNBACC.7,FUNC71;确认键是否释放RETIKEY6:;其他键处理程序D20:;20ms延时子程序END 主程序如下:主程序如下:ORG 0000HLJMPMAINORG0003H;外部中断0中断服务入口地址LJMPINT;转中断服务ORG 0100HMA
10、IN:SETB EA;开总中断允许SETB EX0;开INT0中断SETBIT0;下降沿有效中断服务程序清单如下:INTICALL D20;延时去抖动MOV P1,#0FFH;P1口送全1值(准双向口原因)MOV A,P1;读P1口各引脚CJNEA,#0FFH,CLOSE;验证是否确实有键闭合AJMP INT0;无键按下(按键时间过短)则退;出中断(2)矩阵式键盘接口行反转法 矩阵式键盘按键识别方法有行反转法和扫描法等。行反转法需要两个双向I/O口分别接行、列线。步骤如下:(1)由行线输出全“0”,读入列线,判有无键按下。(2)若有键按下,再将读入的列列线输出,读进行线的值。(3)第一步读进的
11、列线值与第二步读进的行线值运算,从而得到代表此键的唯一的特征值。行反转法因输入与输出线反过来用而得名。优点是判键速度快,两次即可。例题例题 请为8051微处理器设计一个由4行4列键阵构成的键盘。解:解:44矩阵键盘的线路连接如下页图所示。其中P2口的低4位作为输出线。P1口的低4位作为输入线,输入线通过74LS21进行逻辑相与后作为8051的一个外部中断源输入。当有键按下时就将引起中断。中断服务程序要对所按的键进行判别。(1)查询闭合键的位置子程序查询闭合键的位置子程序KEYRKEYR子程序用以确定每组线中哪一位为0,是否有多个0。在调用前,应将读某组线的数据存入累加器A中。KEYR子程序返回
12、时,某组线中0的位置(03)保存在R3中。按键闭合引起中断后,执行中断服务程序。表2-5工作寄存器组选择控制表KEYR子程序如下:子程序如下:KEYR:CJNE A,#0FEH,TESTP11;测试P1.0MOV R3,#0;P1.0=0,说明被按键的输入线为P1.0LJMP FINISH;返回TESTP11:CJNE A,#0FDH,TESTP12;测试P1.1MOV R3,#1LJMP FINISHTESTP12:CJNE A,#0FBH,TESTP13;测试P1.2MOV R3,#2LJMP FINISHTESTP13:CJNE A,#0F7H,FINISH;测试P1.3MOV R3,#
13、3FINISH:RET (2)中断服务程序 中断服务程序开始部分应利用软件延时消除键抖动,然后再对所按的键做出处理。中断服务程序如下:中断服务程序如下:ORG1000HINT11:LCALLDELAY;延时去抖动MOVA,P1;读输入线ANLA,#0FH;判断是否有键闭合CJNEA,#0FH,TEST;有键闭合,转判断按键程序RETI;无键闭合,返回TEST:MOVB,A;暂存LCALL KEYR;调用读取子程序MOV 40H,R3;暂存在40H单元MOV P2,#0FFH;输出线写1MOV P1,B;输入线写入数据MOV A,P2;读输出线LCALL KEYR;调用读取子程序XCHA,R3S
14、WAP AORL40H,A;得按键特征值RETI 中断程序结束后,键的特征值存放在40H单元中。此键的输出线号位于40H单元的高4位,其输入线号位于低4位。此后,根据40H单元的内容去查表,得到相应键的代码,可进行显示或其他处理。(3)去抖动的延时子程序DELAY利用CPU的空闲方式,通过定时器T1实现延时,T1必须预先置初值,以得到需要的延迟时间。设晶振频率为6MHz,欲延时20ms,定时时间为:(216TC)6/12=20103s,初值:TC=25536=63C0H。程序如下:程序如下:DELAY:MOVTOMD,#11H;方式1定时MOVTL1,#0C0H;定时器1定时初值MOVTH1,
15、#63HSETBEA;开中断SETBET1;开定时器1中断SETBPT1;定时器1为高级中断(因被键盘中断调用)SETBTR1;启动定时器ORLPCON,#1;启动空闲方式,实际CPU在此处等待CLRTR1;以下四条指令只有在延时后,定时器被唤醒,才能执行CLRPT1CLRET1RETEND(4)通过串行口扩展键盘接口 MCS-51系列单片机的串行口与串/并转换芯片配合(如串入并出芯片74LS164)可以扩展键盘。例例题题 利用MCS-51的串行口与串/并转换芯片配合,扩展2行8列的键盘接口,键号为015。要求给出其硬件连接和键盘查询子程序。解解:串口与串/并转换芯片配合扩展键盘的线路连接如下
16、图所示。其中,P1.0和P1.1作为行线。键盘的编码为:P1.0线上的8个键分别为00H+(00H07H),P1.1线上的8个键分别为08H+(00H07H)。扫描线(00H07H)的具体值存放在R4中。程序采取查询方式读取键号,并且考虑了键的抖动问题。DLY1是延时子程序。程序如下:程序如下:ORG1000HSERKEY:MOVSCON,#00H;设置串行口MOVA,#00H;键盘初始化,送00H到列线上LCALLVARTO;发送数据CHK:JNBP1.0,CHK0;检查是否有键按下JNBP1.1,CHK0;检查是否有键按下AJMPCHK;无键按下,继续查找CHK0:LCALLDLY1;调用
17、10ms延时子程序,去抖JNBP1.0,CHEN;确实有键按下,转CHENJNBP1.1,CHENAJMPCHK;无键按下,继续查找CHEN:MOVR2,#0FEH;首列扫描字送R2,查键号,最低位为0MOVR4,#00H;首列偏移值送R4CHKN:MOVA,R2;发送列扫描字LCALLVARTOJBP1.0,CH1;检查P1.0有无键按下;若无,转CH1MOVA,#0;第一行首列值送A,00H+(R4)AJMPCKEY;转求键号CH1:JBP1.1,NEXT;检查P1.1有无键按下;若无,转NEXTMOVA,#8H;第二行首列值送ACKEY:ADDA,R4;求键号,并入栈保护RETNEXT:
18、INCR4;指向下一列MOVA,R2;取出原扫描字JNBACC.7,KEND;是否已检查完8列?RLA;8列未完,指向下一列MOVR2,A;列扫描字送R2AJMPCHKN;8列未完,检查下一列KEND:AJMPSERKEY;8列查完,未查到有键按下,等待VARTO:MOVSBUF,A;发送A中数据JNBTI,$;发送等待CLRTI;清除RETDLY1:;延时10ms子程序(略)END;结束6.2 MCS-516.2 MCS-51单片机与显示器的接口技术单片机与显示器的接口技术 显示器用于实现单片机应用系统中的数据输出和状态的反馈。单片机系统中常用的显示器有发光二极管、七段数码显示器、液晶显示器
19、等。6.2.1 LED6.2.1 LED显示器及其接口显示器及其接口 发光二极管简称LED(LightEmittingDiode)。LED显示器从外观可分为“8”字形的七段数码管、米字形数码管、点阵块、矩形平面显示器、数字笔划显示器等。1 1七段七段LEDLED数码显示器数码显示器 七段LED数码管显示器能够显示十进制或十六进制数字及某些简单字符。但控制简单,使用方便,在单片机系统中应用较多。其结构如下页图所示。上图中的ag七个笔划(段)及小数点dp均为发光二极管。数码管显示器根据公共端的连接方式,可以分为共阴极数码管(将所有发光二极管的阴极连在一起)和共阳极数码管(将所有发光二极管的阳极连在
20、一起)。单片机系统扩展LED数码管时多用共阳LED。共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱动功率很小;而共阴数码管段笔画是用高电平(“0”)点亮的,要求驱动功率较大。通常每个段笔画要串一个数百欧姆的降压电阻。2 2LEDLED点阵模块显示器点阵模块显示器 LED点阵模块显示器是指由发光二极管排成一个mn的点阵,每个发光二极管构成点阵中的一个点。这种显示器显示的字形逼真,能显示的字符比较多,但控制比较复杂。适用于显示汉字、图形和表格,广泛应用于公共场合的信息发布。七段LED字形码如下表所示。3.LED3.LED的驱动接口的驱动接口 LED工作时需要一定的工作电流,才能正常发光。单
21、个LED实际上是一个压降为1.21.5V的发光二极管,流过LED的电流大小决定了它的发光强度,R为限流电阻。适当减小限流电阻可以增加LED的工作电流,使LED的显示效果更好。但工作电流过大,会对驱动器件、LED造成损害。通常每个段笔画要串一个数百欧姆的降压电阻。下图为单个LED的驱动接口电路。4 4LEDLED数码管的显示与驱动数码管的显示与驱动 LED数码管显示器的工作方式:静态和动态两种显示方式。(1 1)静态显示方式)静态显示方式 静态显示方式的各数码管在显示过程中持续得到送显信号,与各数码管接口的I/O口线是专用的。其特点是显示稳定,无闪烁,用元器件多,占I/O线多,无须扫描。系统运行
22、过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,节省CPU时间,提高CPU的工作效率,编程简单。例例题题 利用在8051串行口扩展多片串行输入并行输出的移位寄存器74LS164作为静态显示器接口的方法,设计3位静态显示器接口,并写出显示更新子程序,实现将7FH7DH 3个单元的数值分别显示在3位LED2LED0上。解解:接口电路如图下图所示。3个共阳极数码管的公共端均接Vcc,段码通过串行口,采用串并转换原理,分别送出3个数码管的段码(先送出的段码字节在LED2数码管上显示),图中的电阻值取100500。程序如下:程序如下:ORG 1000HDISPSER:MOV R5,#03H;
23、显示3个字符MOVR1,#7FH;7FH7DH存放要显示的数据DL0:MOV A,R1;取出要显示的数据MOVDPTR,#STAB;指向段数据表MOVCA,A+DPTR;查表取字形数据MOV SBUF,A;送出数据,进行显示JNBT1,$;输出完否?CLRT1;输出完,清中断标志DECR1;再取下一个数据DJNZ R5,DL0;循环3次RET;返回STAB:DB0C0H,0F9H,0A4H,0B0H;段数据表(共阳极)DBEND(2 2)动态显示方式)动态显示方式 动态显示方式是指一位一位地轮流点亮每位显示器,与各数码管接口的I/O口线是共用的。其特点是有闪烁,用元器件少,占I/O线少,必须扫
24、描,花费CPU时间,编程复杂。例题例题设计89S51通过74LS273扩展6位七段共阳极LED显示器。解解:接口电路如下页图所示。在程序中通过P0口将相应的字形码写入74LS273,P2.0P2.5作为段码输出口,P0口的端口地址为00FFH。进行扫描时,P2的低6位依次置1,依次选中了从左至右的显示器。使用74LS04作为段码输出驱动(反相驱动),所以共阴极数码管在段数据表中的字形码应与共阳极数码管的字形码相同。显示器就可以显示出6位字符。说明说明:1、单片机、单片机WR引脚要与引脚要与273的的CLK连接连接 2、273的的CLR引脚要与引脚要与VCC连接连接 3、DPTR值不一定是值不一
25、定是7FFFh,用用FFH可消除闪烁可消除闪烁6.2.2 LCD6.2.2 LCD显示器及其接口显示器及其接口 液晶显示器简称LCD(LiquidCrystalDiodes)是利用液晶经过处理后能够改变光线传输方向的特性,达到显示字符或者图形的目的。其特点是体积小、重量轻、功耗极低、显示内容丰富等特点,在单片机应用系统中有着日益广泛的应用。1LCD的分类及特点的分类及特点 分类:分类:笔段式和点阵式(可分为字符型和图像型)。笔段式LCD显示器:类似于LED数码管显示器。每个显示器的段电极包括a,b,c,d,e,f,g七个笔划(段)和一个背电极BP(或COM)。可以显示数字和简单的字符。点阵式L
26、CD显示器:段电极与背电极呈正交带状分布,液晶位于正交的带状电极间。点阵式LCD的控制一般采用行扫描方式,如图右所示为显示字符“A”的情况。2 2笔段式笔段式LCDLCD液晶显示器的驱动液晶显示器的驱动 在LCD的公共极(一路为背电极)加上恒定的交变方波信号,通过控制段极的电压变化,在LCD两极间产生所需的零电压或二倍幅值的交变电压,以达到LCD亮、灭的控制。在笔段式LCD的段电极与背电极间施加周期地改变极性的电压(通常为4V或5V),可使该段呈黑色。3LCD显示模块显示模块LCM(Liquid Crystal Display Module)在实际应用中,用户很少直接设计LCD显示器驱动接口,
27、一般是直接使用专用的LCD显示驱动器和LCD显示模块LCM。LCM是把LCD显示屏、背景光源、线路板和驱动集成电路等部件构造成一个整体,作为一个独立部件使用。其特点是功能较强、易于控制、接口简单,在单片机系统中应用较多。其内部结构如下页图所示。LCM一般带有内部显示RAM和字符发生器,只要输入ASCII码就可以进行显示。LCD显示器接口原理1LCD的基本结构及工作原理图图 液晶显示器基本结构液晶显示器基本结构液晶字符显示屏液晶图形点阵显示屏 LCD显示模块LCM按显示功能可分为:LCD段式显示模块、LCD字符型显示模块、LCD图形显示模块三类。HD44780字符显示模块是较常用的LCD显示模块
28、,共有14个引脚,其中,8个数据引脚,3个控制引脚,3个电源引脚。每个HD44780可控制的字符可达每行80个,具有驱动1640点阵的能力。具有其自身的11条指令构成的指令系统,用户对模块写入适当的控制命令,即可完成清屏、显示、地址设置等操作。各引脚功能定义如下表所示。例题例题设计8051单片机驱动HD44780显示模块的接口电路。解解:8051单片机与HD44780显示模块的线路连接如下图所示,8051的P1口与HD44780的数据线相连,HD44780的端信号由8051的P3.5提供,HD44780的通信允许信号E由8051的P3.3提供,HD44780的寄存器选择信号RS由8051的P3
29、.4提供。HD44780初始化的方法主要有以下两种:(1)利用模块内部的复位电路进行初始化,完成清除显示、功能设置、开/关显示、设置光标状态及闪烁功能、方式设置。(2)利用软件编程实现初始化。1602液晶显示模块接线图(16字符2行)6.3 利用利用MCS-51的串行口实现键盘和显示器接口的串行口实现键盘和显示器接口1 1接口电路接口电路 应用MCS-51单片机的串行口方式0的输出方式,在串行口外接移位寄存器74LS164,构成键盘和显示器接口,其硬件接口如下页图所示(图中只画出三位LED静态显示和16个按键,用户根据需要可以扩展)。采用静态显示,软件设计比较简单,节约CPU的资源。2 2软件
30、设计软件设计显示子程序如下:显示子程序如下:ORG 1000HDSPSER:SETB P3.3;开放显示输出MOV R7,#03H;送出的显示段码个数MOV R0,#7FH;7FH7DH为显示缓冲区DSPS1:MOV A,R0;取出要显示的数据ADD A,#0DH;加上偏移量MOVCA,A+PC;查段码表TAB1MOV SBUF,A;经过串行口将段码送出DSPS2:JNBTI,DSPS2;数据发送完?CLRTIDECR0;指向下一个数据单元DJNZR7,DSPS1;三个显示器是否全部显示?CLRP3.3;三个数据显示完,关闭送显示数据通道RETTAB1:DB;段码表键盘扫描子程序如下:键盘扫描
31、子程序如下:KEYS1:MOV A,#00HMOV SBUF,A;扫描键盘全部输出0KSY0:JNBTI,KSY0;数据发送完?CLRTIKSY1:JNBP3.4,PKS1;有键闭合吗?有则转PKS1处理JBP3.5,KSY1;第二行有键闭合吗?PKS1:ACALL DELAY10;调用延时10ms子程序,键盘去抖JNBP3.4,PKS2;有键闭合吗?JBP3.5,KSY1;无键闭合,是抖动PKS2:MOV R7,#08H;不是抖动引起的MOV R6,#0FEH;判断是哪个键按下?MOV R3,#00HMOVA,R6KSY2:MOV SBUF,AKSY3:JNBTI,KSY3;等待串行口发送完
32、CLRTIJNBP3.4,PKONE;是第一行的某键按下?JBP3.5,NEXT;是第二行的某键按下?MOV R4,#08H;第二行有键按下AJMP PKS3PKONE:MOVR4,#00H;第一行有键按下PKS3:MOVSBUF,#00H;等待键的释放KSY4:JNBTI,KSY4;CLRTIKSY5:JNBP3.4,KSY5;是第一行的某键按下?JNBP3.5,KSY5MOV A,R4ADDA,R3RETNEXT:MOV A,R6;判断下一列是否有键按下RLAMOV R6,AINCR3DJNZR7,KSY2;8列是否全部扫描完?AJMP KEYS1;扫描完成DELAY10:;延时10ms子
33、程序RETEND6.3.3 6.3.3 利用专用芯片实现键盘和显示器接口利用专用芯片实现键盘和显示器接口 键盘的处理和显示的处理可由专用芯片完成,键盘和显示器管理专用芯片种类较多,常用的键盘和显示器管理专用芯片有Intel公司的8279芯片,可实现64个按键、16位LED显示器的管理。在由单片机组成的控制系统中,大多数外围电路是处于各种各样的复杂环境中,如控制对象可能处于大电流、高电压的情况。控制的执行机构可能是电动机、继电器或电磁铁等大功率机构。因此,单片机不可能和这些外部机构直接连接。通常必须采取两个基本措施:一是采用隔离的方法把单片机的工作环境与外电路隔离开来;另一种是采用电流接续的办法
34、扩大输出电流的能力,以驱动各种外电路。6.4.1 6.4.1 扩大驱动电流的方法扩大驱动电流的方法1 1、采用晶体三极管扩大输出电流、采用晶体三极管扩大输出电流2 2、采用带驱动电路的逻辑门扩大驱动电流、采用带驱动电路的逻辑门扩大驱动电流3 3、采用达林顿管作驱动器扩大驱动电流、采用达林顿管作驱动器扩大驱动电流 下面分别给出具体电路图下面分别给出具体电路图6.4 MCS-516.4 MCS-51单片机功率驱动接口技术单片机功率驱动接口技术1、三极管三极管的概述半导体三极管也称为晶体三极管,可以说它是电子电路中最重要的器件。它最主要的功能是电流放大和开关作用。三极管顾名思义具有三个电极。二极管是
35、由一个PN结构成的,而三极管由两个PN结构成,共用的一个电极成为三极管的基极(用字母b表示)。其他的两个电极成为集电极(用字母c表示)和发射极(用字母e表示)。由于不同的组合方式,形成了一种是NPN型的三极管,另一种是PNP型的三极管。三极管的种类很多,并且不同型号各有不同的用途。三极管大都是塑料封装或金属封装,常见三极管的外观如图,大的很大,小的很小。三极管的电路符号有两种:有一个箭头的电极是发射极,箭头朝外的是NPN型三极管,而箭头朝内的是PNP型。实际上箭头所指的方向是电流的方向。电子制作中常用的三极管有90系列,包括低频小功率硅管9013(NPN)、9012(PNP),低噪声管9014
36、(NPN),高频小功率管9018(NPN)等。它们的型号一般都标在塑壳上,而样子都一样,都是TO-92标准封装。半导体三极管的管脚判别半导体三极管的管脚判别在安装半导体三极管之前,首先搞清楚三极管的管脚排列。一方面可以通过查手册获得,另一方面也可利用电子仪器进行测量,下面讲一下利用万用表判定三极管管脚的方法。首先判定PNP型和NPN型晶体管:用万用表的R1kW(或R100W)档,用黑表笔接三极管的任一管脚,用红表笔分别接其他两管脚。若表针指示的两阻值均很大,那么黑表笔所接的那个管脚是PNP型管的基极;如果万用表指示的两个阻值均很小,那么黑表笔所接的管脚是NPN型的基极;如果表针指示的阻值一个很
37、大,一个很小,那么黑表笔所接的管脚不是基极。需要新换一个管脚重试,直到满足要求为止。进一步判定三极管集电极和发射极:首先假定一个管脚是集电极,另一个管脚是发射极;对NPN于型三极管,黑表笔接假定是集电极的管脚,红表笔接假定是发射极的管脚(对于PNP型管,万用表的红、黑表笔对调);然后用大拇指将基极和假定集电极连接(注意两管脚不能短接),这时记录下万用表的测量值;最后反过来,把原先假定的管脚对调,重新记录下万用表的读数,两次测量值较小的黑表笔所接的管脚是集电极(对于PNP型管,则红表笔所接的是集电极)。2、逻辑门3、达林顿管ULN2003内部逻辑电路图例题:设计使单片机唱歌的程序;在接在单片机的
38、P2.0上的小喇叭唱八月桂花香实验;执行结果:程序运行后在在单片机的P2.0上的小喇叭唱八月桂花香;本实验源程序如下:;*;*Date:2004.4.20-*;*SupportMb:0735-2197559E-mail:-*;*Createby:dengdewuhttp:/更多例程请登陆网站-*;*网站单片机学习资料同步更新,敬请新老朋友随时关注-*;*ORG0000HLJMPSTARTORG000BH;中断入口INC20H;中断服务程序,中断计数器加1MOVTH0,#0D8HMOVTL0,#0EFH;12M晶振,形成10毫秒中断RETISTART:MOVSP,#50HMOVTH0,#0D8H
39、MOVTL0,#0EFHMOVTMOD,#01H;设定定时器工作方式MOVIE,#82HMUSIC0:NOPMOVDPTR,#DAT;表头地址送DPTRMOV20H,#00H;中断计数器清0MOVB,#00H;表序号清0MUSIC1:NOPCLRAMOVCA,A+DPTR;查表取代码JZEND0;是00H,则结束CJNEA,#0FFH,MUSIC5LJMPMUSIC3MUSIC5:NOPMOVR6,AINCDPTRMOVA,BMOVCA,A+DPTR;取节拍代码送R7MOVR7,ASETBTR0;启动计数MUSIC2:NOPCPLP2.0MOVA,R6MOVR3,ACPLAMOVP1,A;显示
40、(修改者加入的显示)CPLALCALLDELMOVA,R7CJNEA,20H,MUSIC2;中断计数器(20H)=R7否?;不等,则继续循环MOV20H,#00H;等于,则取下一代码INCDPTRLJMPMUSIC1MUSIC3:NOPCLRTR0;休止100毫秒MOVR2,#0DHMUSIC4:NOPMOVR3,#0FFHLCALLDELDJNZR2,MUSIC4INCDPTRLJMPMUSIC1END0:MOVR2,#64H;歌曲结束,延时1秒后继续MUSIC6:MOVR3,#00HLCALLDELDJNZR2,MUSIC6LJMPMUSIC0DEL:;延时子程序NOPDEL3:MOVR4
41、,#05HDEL4:NOPDJNZR4,DEL4NOPDJNZR3,DEL3RETDAT:;数据表格存放在ROM中。DB18H,30H,1CH,10H,20H,40H,1CH,10H,18H,10H,20H,10HDB1CH,10H,18H,40H,1CH,20H,20H,20H,1CH,20H,18H,20HDB20H,80H,0FFH,20H,30H,1CH,10H,18H,20H,15H,20H,1CHDB20H,20H,20H,26H,40H,20H,20H,2BH,20H,26H,20H,20HDB20H,30H,80H,0FFH,20H,20H,1CH,10H,18H,10H,20
42、H,20HDB26H,20H,2BH,20H,30H,20H,2BH,40H,20H,20H,1CH,10HDB18H,10H,20H,20H,26H,20H,2BH,20H,30H,20H,2BH,40HDB20H,30H,1CH,10H,18H,20H,15H,20H,1CH,20H,20H,20HDB26H,40H,20H,20H,2BH,20H,26H,20H,20H,20H,30H,80HDB20H,30H,1CH,10H,20H,10H,1CH,10H,20H,20H,26H,20HDB2BH,20H,30H,20H,2BH,40H,20H,15H,1FH,05H,20H,10HD
43、B1CH,10H,20H,20H,26H,20H,2BH,20H,30H,20H,2BH,40HDB20H,30H,1CH,10H,18H,20H,15H,20H,1CH,20H,20H,20HDB26H,40H,20H,20H,2BH,20H,26H,20H,20H,20H,30H,30HDB20H,30H,1CH,10H,18H,40H,1CH,20H,20H,20H,26H,40HDB13H,60H,18H,20H,15H,40H,13H,40H,18H,80H,00HEND例题例题2 2:使继电器按一下按键就吸合,放开按键:使继电器按一下按键就吸合,放开按键就不吸合的程序。就不吸合的程
44、序。P2.0P2.0接继电器,接继电器,P1.2P1.2接继电接继电器合灯,器合灯,P1.4P1.4接继电器断开灯。接继电器断开灯。程序设计如下:程序设计如下:org 00h ;源程序起始地址源程序起始地址 jmp main ;跳转到跳转到MAIN org 0050h ;主程序开始地址主程序开始地址main:clr p2.0 ;关继电器和灯关继电器和灯 clr p1.2;灯灯1灭灭 setb p1.4;灯灯2亮亮loop:jb p3.6,lop1 ;键没按下则去;键没按下则去lop1 setb p2.0;否则继电器吸合;否则继电器吸合 setb p1.2;灯;灯1亮亮 clr p1.4 ;灯;灯2灭灭 jmp lop2lop1:clr p2.0;继电器松开;继电器松开 clr p1.2 ;灯;灯1灭灭 setb p1.4 ;灯;灯2亮亮lop2:nop ajmp loop;循环;循环 ret end作业与练习:6.16.46.56.66.96.126.136.14