Presentation is loading. Please wait.

Presentation is loading. Please wait.

第6章 MCS-51单片机的交互通道配置与接口 主要内容:

Similar presentations


Presentation on theme: "第6章 MCS-51单片机的交互通道配置与接口 主要内容:"— Presentation transcript:

1 第6章 MCS-51单片机的交互通道配置与接口 主要内容:

2 6.1 MCS-51单片机与键盘的接口技术 6.1.1 概述 人机界面:是指人与计算机系统进行信息交互的接口,包括信息的输入和输出。
键盘:单片机系统中完成控制参数输入及修改的基本输入设备,是人工干预系统的重要手段。 键盘的分类:按编码方式可分为编码键盘与非编码键盘。按键组连接方式可分为独立连接式键盘与矩阵连接式键盘。 概述 键盘输入的主要对象:各种按键或开关。 1.独立连接式键盘 每键相互独立,各自与一条I/O线相连,CPU可直接读取该I/O线的高/低电平状态。其优点是硬件、软件结构简单,判键速度快,使用方便;缺点是占I/O口线多。 适用场合:多用于设置控制键、功能键。适用于键数少的场合。

3 独立连接式键盘连接图如右图所示。当没有键被按下时,所有的数据输入线都为高电平;当有任意一个键被按下时,与之相连的数据输入线将变为低电平;通过相应指令,可以判断是否有键按下。
2. 矩阵连接式键盘 键按矩阵排列,各键处于矩阵行/列的结点处,CPU通过对连在行(列)的I/O线送已知电平的信号,然后读取列(行)线的状态信息。逐线扫描,得出键码。其特点是键多时占用I/O口线少,硬件资源利用合理,但判键速度慢。 适用场合:多用于设置数字键,适用于键数多的场合。

4 4行4列矩阵式键盘连接图如右图所示。这种键盘适合采取动态扫描的方式进行识别。
扫描方式:低电平扫描(回送线必须被上拉为高电平)、高电平扫描(回送线需被下拉为低电平)。右图中给出了低电平扫描的电路。 3. 薄膜开关 特点:不需要进行导线与开关间的焊接,结构简单、体积小、防尘、防水、防有害气体侵蚀、寿命长、可靠性高。 应用:与按键式键盘类似,多个薄膜开关也可按照独立式或矩阵式设计内部电路,其原理与普通键盘相同。

5 按键开关去抖动问题 * 键盘的抖动时间一般为5~10ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误。

6 消除抖动不良后果的方法: ⑴ 硬件去抖动 其中RC滤波电路去抖动电路简单实用,效果较好。 ⑵ 软件去抖动
检测到按键按下后,执行延时10ms子程序后再确认该键是否确实按下,消除抖动影响。

7 使用键盘时必须解决的问题 (1)开关状态的可靠输入。必须消除键抖动。可以采用硬件和软件两种方法,硬件方法就是在按键输入通道上添加去抖动电路;软件方法则采用延迟10~20ms   (2)键盘状态的监测方法——中断方式还是查询方式。    (3)键盘编码方法。   (4)键盘控制程序的编制。。 键盘接口 功能:对键盘上所按下的键进行识别。 分类: (1)编码键盘:采用专用的编码/译码器件,被按下的键由该器件译码输出相应的键码/键值。其特点是增加了硬件开销,编码固定,但编程简单。适用于规模大的键盘。

8 (2)非编码键盘:采用软件编/译码的方式,通过扫描,对每个被按下的键判别输出相应的键码/键值。其特点是不增加硬件开销,编码灵活,但编程较复杂,占CPU时间。适用于小规模的键盘,特别是单片机系统。键盘。
1.键盘接口的工作原理 对于矩阵式键盘,如上页图所示,键盘的行线X0~X3通过电阻接+5V,当键盘上没有键闭合时,所有的扫描线和回送线都断开,无论扫描线处于何种状态,回送线都呈高电平。当键盘上某一键闭合时,则该键所对应的扫描线和回送线被短路,可以确定,变为低电平的回送线与扫描线相交处的键闭合。 CPU对键盘扫描的方式:程序控制的随机方式( CPU空闲时扫描键盘)、定时控制方式(定时扫描键盘)、中断方式。 CPU对键盘上闭合键的键号确定方法:根据扫描线和回送线的状态计算求得,或根据行线和列线的状态查表求得。

9 特点:结构简单,每个按键接单片机的一条I/O线,通过对输入线的查询,可以识别每个按键的状态。
2.键输入程序的设计方法 (1)判断键盘上是否有键闭合; (2)消除键的机械抖动; (3)确定闭合键的物理位置; (4)得到闭合键的编号; (5)确保CPU对键的一次闭合只做一次处理 3.键盘接口方式 (1)独立式键盘接口(静态方式) 特点:结构简单,每个按键接单片机的一条I/O线,通过对输入线的查询,可以识别每个按键的状态。 [例题] 在MCS-51 单片机系统中,设计一个含8个按键的独立式键盘。 解:在MCS-51中,含8个按键的独立式键盘的线路连接如下页图所示,8个按键经上拉电阻拉高后分别接到MCS-51单片机P1口的8条I/O线上(P1.0~P1.7)。

10 在无键按下的情况下,P1.0~P1.7线上输入均为高电平。当有键按下时,与被按键相连的I/O线将得到低电平输入,其他位按键的输入线上仍维持高电平输入。
P1口8条I/O线经与非门74LS30实现逻辑与非后,再经过1个非门74LS04进行信号变换,然后接至MCS-51的 引脚上,可通过中断的方式处理键盘。在中断服务程序中,先延时20 ms消除键抖动,再对各键进行查询,找到所按键,并转到相应的处理程序中去。

11 CLOSE: JNB ACC.7, KEY 7 ; 查询7号键
INT0: RETI KEY 7: …… ; 7号键处理程序 KEY 71: MOV A, P1 ; 再读P1口各引脚 JNB ACC.7, FUNC71 ; 确认键是否释放 RETI KEY 6: …… ; 其他键处理程序 …… D20: …… ; 20ms延时子程序 END

12 主程序如下: 中断服务程序清单如下: ORG 0000H LJMP MAIN ORG 0003H ; 外部中断0中断服务入口地址
LJMP INT ; 转中断服务 ORG H MAIN: SETB EA ; 开总中断允许 SETB EX0 ; 开INT0中断 SETB IT0 ; 下降沿有效 …… 中断服务程序清单如下: INTI CALL D20 ; 延时去抖动 MOV P1, #0FFH ; P1口送全1值(准双向口原因) MOV A, P1 ; 读P1口各引脚 CJNE A, #0FFH,CLOSE ; 验证是否确实有键闭合 AJMP INT0 ; 无键按下(按键时间过短)则退 ;出中断

13 (2)矩阵式键盘接口——行反转法 矩阵式键盘按键识别方法有行反转法和扫描法等。行反转法需要两个双向I/O口分别接行、列线。步骤如下: (1)由行线输出全“0”,读入列线,判有无键按下。 (2)若有键按下,再将读入的列列线输出,读进行线的值。 (3)第一步读进的列线值与第二步读进的行线值运算,从而得到代表此键的唯一的特征值。 行反转法因输入与输出线反过来用而得名。优点是判键速度快,两次即可。 [例题]请为8051微处理器设计一个由4行4列键阵构成的键盘。 解:4×4矩阵键盘的线路连接如下页图所示。其中P2口的低4位作为输出线。P1口的低4位作为输入线,输入线通过74LS21进行逻辑相与后作为8051的一个外部中断源输入。当有键按下时就将引起中断。中断服务程序要对所按的键进行判别。

14 (1)查询闭合键的位置子程序KEYR KEYR子程序用以确定每组线中哪一位为0,是否有多个0。在调用前,应将读某组线的数据存入累加器A中。 KEYR子程序返回时,某组线中0的位置(0~3)保存在R3中。按键闭合引起中断后,执行中断服务程序。

15 KEYR子程序如下: KEYR: CJNE A, #0FEH, TESTP11 ; 测试P1.0
MOV R3, # ; P1.0=0,说明被按键的输入线为P1.0 LJMP FINISH ; 返回 TESTP11: CJNE A, #0FDH, TESTP12 ; 测试P1.1 MOV R3, #1 LJMP FINISH TESTP12: CJNE A, #0FBH, TESTP13 ; 测试P1.2 MOV R3, #2 TESTP13: CJNE A, #0F7H, FINISH ; 测试P1.3 MOV R3, #3 FINISH: RET 表2-5 工作寄存器组选择控制表

16 中断服务程序开始部分应利用软件延时消除键抖动,然后再对所按的键做出处理。
(2)中断服务程序 中断服务程序开始部分应利用软件延时消除键抖动,然后再对所按的键做出处理。 中断服务程序如下: ORG 1000H INT11:LCALL DELAY ; 延时去抖动 MOV A, P1 ; 读输入线 ANL A, #0FH ; 判断是否有键闭合 CJNE A, #0FH, TEST ; 有键闭合,转判断按键程序 RETI ; 无键闭合,返回 TEST: MOV B, A ; 暂存 LCALL KEYR ; 调用读取子程序 MOV H, R3 ; 暂存在40H单元 MOV P2, #0FFH ; 输出线写1 MOV P1, B ; 输入线写入数据 MOV A, P2 ; 读输出线 LCALL KEYR ; 调用读取子程序 XCH A, R3 SWAP A ORL H, A ; 得按键特征值 RETI

17 利用CPU的空闲方式,通过定时器T1实现延时, T1必须预先置初值,以得到需要的延迟时间。设晶振频率为6MHz,欲延时20ms,定时时间为:
中断程序结束后,键的特征值存放在40H单元中。此键的输出线号位于40H单元的高4位,其输入线号位于低4位。此后,根据40H单元的内容去查表,得到相应键的代码,可进行显示或其他处理。 (3)去抖动的延时子程序DELAY 利用CPU的空闲方式,通过定时器T1实现延时, T1必须预先置初值,以得到需要的延迟时间。设晶振频率为6MHz,欲延时20ms,定时时间为: (216-TC)×6/12=20×103μs,初值:TC=25536=63C0H。 程序如下: DELAY: MOV TOMD, #11H ; 方式1定时 MOV TL1, #0C0H ; 定时器1定时初值 MOV TH1, #63H SETB EA ; 开中断 SETB ET1 ; 开定时器1中断 SETB PT1 ; 定时器1为高级中断(因被键盘中断调用) SETB TR1 ; 启动定时器 ORL PCON,#1 ; 启动空闲方式,实际CPU在此处等待 CLR TR ; 以下四条指令只有在延时后,定时器被唤醒,才能执行 CLR PT1 CLR ET1 RET END

18 (4)通过串行口扩展键盘接口 MCS-51系列单片机的串行口与串/并转换芯片配合(如串入并出芯片74LS164 )可以扩展键盘。 [例题] 利用MCS-51的串行口与串/并转换芯片配合,扩展2行8列的键盘接口,键号为0~15。要求给出其硬件连接和键盘查询子程序。 解:串口与串/并转换芯片配合扩展键盘的线路连接如下图所示。

19 程序采取查询方式读取键号,并且考虑了键的抖动问题。 DLY1是延时子程序。 程序如下:
其中,P1.0和P1.1作为行线。键盘的编码为: P1.0线上的8个键分别为00H+(00H~07H),P1.1线上的8个键分别为08H+(00H~07H)。扫描线(00H~07H)的具体值存放在R4中。 程序采取查询方式读取键号,并且考虑了键的抖动问题。 DLY1是延时子程序。 程序如下: ORG H SERKEY:MOV SCON, #00H ; 设置串行口 MOV A, #00H ; 键盘初始化,送00H到列线上 LCALL VARTO ; 发送数据 CHK:JNB P1.0, CHK0 ; 检查是否有键按下 JNB P1.1, CHK0 ; 检查是否有键按下 AJMP CHK ; 无键按下,继续查找 CHK0:LCALL DLY1 ; 调用10ms延时子程序,去抖 JNB P1.0, CHEN ; 确实有键按下,转CHEN JNB P1.1, CHEN AJMP CHK ; 无键按下,继续查找 CHEN:MOV R2, #0FEH ; 首列扫描字送R2,查键号,最低位为0 MOV R4, #00H ; 首列偏移值送R4

20 CHKN:MOV A, R2 ; 发送列扫描字 LCALL VARTO JB P1.0, CH1 ; 检查P1.0有无键按下;若无,转CH1 MOV A, #0 ; 第一行首列值送A,00H+(R4) AJMP CKEY ; 转求键号 CH1:JB P1.1, NEXT ; 检查P1.1有无键按下;若无,转NEXT MOV A, #8H ; 第二行首列值送A CKEY:ADD A, R4 ; 求键号,并入栈保护 RET NEXT:INC R4 ; 指向下一列 MOV A, R2 ; 取出原扫描字 JNB ACC.7,KEND ; 是否已检查完8列? RL A ; 8列未完,指向下一列 MOV R2, A ; 列扫描字送R2 AJMP CHKN ; 8列未完,检查下一列 KEND:AJMP SERKEY ; 8列查完,未查到有键按下,等待 VARTO:MOV SBUF, A ; 发送A中数据 JNB TI, $ ; 发送等待 CLR TI ; 清除 DLY1: …… ; 延时10ms子程序(略) END ; 结束

21 6.2 MCS-51单片机与显示器的接口技术 6.2.1 LED显示器及其接口
显示器用于实现单片机应用系统中的数据输出和状态的反馈。单片机系统中常用的显示器有发光二极管、七段数码显示器、液晶显示器等。 LED显示器及其接口 发光二极管简称LED(Light Emitting Diode)。LED显示器从外观可分为 “8”字形的七段数码管、米字形数码管、点阵块、矩形平面显示器、数字笔划显示器等。 1.七段LED数码显示器 七段LED数码管显示器能够显示十进制或十六进制数字及某些简单字符。但控制简单,使用方便,在单片机系统中应用较多。其结构如下页图所示。

22 上图中的a~g七个笔划(段)及小数点dp均为发光二极管。数码管显示器根据公共端的连接方式,可以分为共阴极数码管(将所有发光二极管的阴极连在一起)和共阳极数码管(将所有发光二极管的阳极连在一起)。
单片机系统扩展LED数码管时多用共阳LED。共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱动功率很小;而共阴数码管段笔画是用高电平(“0”)点亮的,要求驱动功率较大。通常每个段笔画要串一个数百欧姆的降压电阻。

23

24 七段LED字形码如下表所示。 2.LED点阵模块显示器 LED点阵模块显示器是指由发光二极管排成一个m×n的点阵,每个发光二极管构成点阵中的一个点。这种显示器显示的字形逼真,能显示的字符比较多,但控制比较复杂。适用于显示汉字、图形和表格,广泛应用于公共场合的信息发布。

25 3. LED的驱动接口 LED工作时需要一定的工作电流,才能正常发光。单个LED实际上是一个压降为1.2~1.5V的发光二极管,流过LED的电流大小决定了它的发光强度,R为限流电阻。适当减小限流电阻可以增加LED的工作电流,使LED的显示效果更好。但工作电流过大,会对驱动器件、LED造成损害。通常每个段笔画要串一个数百欧姆的降压电阻。下图为单个LED的驱动接口电路。

26 4.LED数码管的显示与驱动 LED数码管显示器的工作方式:静态和动态两种显示方式。 (1)静态显示方式 静态显示方式的各数码管在显示过程中持续得到送显信号,与各数码管接口的I/O口线是专用的。其特点是显示稳定,无闪烁,用元器件多,占I/O线多,无须扫描。系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,节省CPU时间,提高CPU的工作效率,编程简单。 [例题] 利用在8051串行口扩展多片串行输入并行输出的移位寄存器74LS164作为静态显示器接口的方法,设计3位静态显示器接口,并写出显示更新子程序,实现将7FH~7DH 3个单元的数值分别显示在3位LED2~LED0上。

27 解:接口电路如图下图所示。3个共阳极数码管的公共端均接Vcc,段码通过串行口,采用串—并转换原理,分别送出3个数码管的段码(先送出的段码字节在LED2数码管上显示),图中的电阻值取100~500。

28 程序如下: ORG 1000H DISPSER: MOV R5, #03H ; 显示3个字符
MOV R1, #7FH ; 7FH~7DH存放要显示的数据 DL0: MOV ; 取出要显示的数据 MOV DPTR, #STAB ; 指向段数据表 MOVC ; 查表取字形数据 MOV SBUF, A ; 送出数据,进行显示 JNB T1, $ ; 输出完否? CLR T1 ; 输出完,清中断标志 DEC R1 ; 再取下一个数据 DJNZ R5, DL0 ; 循环3次 RET ; 返回 STAB: DB 0C0H, 0F9H, 0A4H, 0B0H; 段数据表(共阳极) DB · …… …… END

29 (2)动态显示方式 动态显示方式是指一位一位地轮流点亮每位显示器,与各数码管接口的I/O口线是共用的。其特点是有闪烁,用元器件少,占I/O线少,必须扫描,花费CPU时间,编程复杂。 [例题]设计89S51通过74LS273扩展6位七段共阳极LED显示器。 解:接口电路如下页图所示。在程序中通过P0口将相应的字形码写入74LS273,P2.0~P2.5作为段码输出口, P0口的端口地址为00FFH。进行扫描时,P2的低6位依次置1,依次选中了从左至右的显示器。使用74LS04作为段码输出驱动(反相驱动),所以共阴极数码管在段数据表中的字形码应与共阳极数码管的字形码相同。显示器就可以显示出6位字符。

30 说明:1、单片机WR引脚要与273的CLK连接 2、273的CLR引脚要与VCC连接 3、DPTR值不一定是7FFFh,用FFH可消除闪烁

31 LCD显示器及其接口 液晶显示器简称LCD(Liquid Crystal Diodes)是利用液晶经过处理后能够改变光线传输方向的特性,达到显示字符或者图形的目的。其特点是体积小、重量轻、功耗极低、显示内容丰富等特点,在单片机应用系统中有着日益广泛的应用。 1.LCD的分类及特点 分类:笔段式和点阵式(可分为字符型和图像型)。 笔段式LCD显示器:类似于LED数码管显示器。每个显示器的段电极包括a, b, c, d, e, f, g七个笔划(段)和一个背电极BP(或COM)。可以显示数字和简单的字符。 点阵式LCD显示器:段电极与背电极呈正交带状分布,液晶位于正交的带状电极间。点阵式LCD的控制一般采用行扫描方式,如图右所示为显示字符“A”的情况。

32 3.LCD显示模块LCM (Liquid Crystal Display Module)
在LCD的公共极(一路为背电极)加上恒定的交变方波信号,通过控制段极的电压变化,在LCD两极间产生所需的零电压或二倍幅值的交变电压,以达到LCD亮、灭的控制。在笔段式LCD的段电极与背电极间施加周期地改变极性的电压(通常为4 V或5 V),可使该段呈黑色。 3.LCD显示模块LCM (Liquid Crystal Display Module) 在实际应用中,用户很少直接设计LCD显示器驱动接口,一般是直接使用专用的LCD显示驱动器和LCD显示模块LCM 。 LCM是把LCD显示屏、背景光源、线路板和驱动集成电路等部件构造成一个整体,作为一个独立部件使用。其特点是功能较强、易于控制、接口简单,在单片机系统中应用较多。其内部结构如下页图所示。 LCM一般带有内部显示RAM和字符发生器,只要输入ASCII码就可以进行显示。

33 LCD显示器接口原理 1.LCD的基本结构及工作原理 图 液晶显示器基本结构

34 液晶字符显示屏 液晶图形点阵显示屏

35 LCD显示模块LCM按显示功能可分为:LCD段式显示模块、LCD字符型显示模块、LCD图形显示模块三类。
HD44780字符显示模块是较常用的LCD显示模块,共有14个引脚,其中,8个数据引脚,3个控制引脚,3个电源引脚。每个HD44780可控制的字符可达每行80个,具有驱动16×40点阵的能力。具有其自身的11条指令构成的指令系统,用户对模块写入适当的控制命令,即可完成清屏、显示、地址设置等操作。

36 各引脚功能定义如下表所示。

37 [例题] 设计8051单片机驱动HD44780显示模块的接口电路。
解:8051单片机与HD44780显示模块的线路连接如下图所示,8051的P1口与HD44780的数据线相连,HD44780的 端信号由8051的P3.5提供,HD44780的通信允许信号E由8051的P3.3提供,HD44780的寄存器选择信号RS由8051的P3.4提供。 HD44780初始化的方法主要有以下两种: (1)利用模块内部的复位电路进行初始化,完成清除显示、功能设置、开/关显示、设置光标状态及闪烁功能、方式设置。 (2)利用软件编程实现初始化。

38 1602液晶显示模块接线图(16字符×2行)

39 6.3 利用MCS-51的串行口实现键盘和显示器接口
1.接口电路 应用MCS-51单片机的串行口方式0的输出方式,在串行口外接移位寄存器74LS164,构成键盘和显示器接口,其硬件接口如下页图所示(图中只画出三位LED静态显示和16个按键,用户根据需要可以扩展)。采用静态显示,软件设计比较简单,节约CPU的资源。

40

41 2.软件设计 显示子程序如下: ORG 1000H DSPSER: SETB P3.3 ; 开放显示输出
MOV R7, #03H ; 送出的显示段码个数 MOV R0, #7FH ; 7FH~7DH为显示缓冲区 DSPS1: MOV ; 取出要显示的数据 ADD A, #0DH ; 加上偏移量 MOVC ; 查段码表TAB1 MOV SBUF, A ; 经过串行口将段码送出 DSPS2: JNB TI, DSPS2 ; 数据发送完? CLR TI DEC R0 ; 指向下一个数据单元 DJNZ R7, DSPS1 ; 三个显示器是否全部显示? CLR P3.3 ; 三个数据显示完,关闭送显示数据通道 RET TAB1: DB …… ; 段码表

42 键盘扫描子程序如下: KEYS1: MOV A,#00H MOV SBUF, A ; 扫描键盘全部输出0
KSY0: JNB TI, KSY0 ; 数据发送完? CLR TI KSY1: JNB P3.4, PKS1 ; 有键闭合吗?有则转PKS1处理 JB P3.5, KSY1 ; 第二行有键闭合吗? PKS1: ACALL DELAY10 ; 调用延时10ms子程序,键盘去抖 JNB P3.4, PKS2 ; 有键闭合吗? JB P3.5, KSY1 ; 无键闭合,是抖动 PKS2: MOV R7, #08H ; 不是抖动引起的 MOV R6, #0FEH ; 判断是哪个键按下? MOV R3, #00H MOV A, R6 KSY2: MOV SBUF, A KSY3: JNB TI, KSY3 ; 等待串行口发送完 CLR TI JNB P3.4, PKONE ; 是第一行的某键按下? JB P3.5, NEXT ; 是第二行的某键按下? MOV R4, #08H ; 第二行有键按下 AJMP PKS3 PKONE: MOV R4, #00H ; 第一行有键按下

43 6.3.3 利用专用芯片实现键盘和显示器接口 PKS3: MOV SBUF, #00H ; 等待键的释放
KSY4: JNB TI, KSY4 ; CLR TI KSY5: JNB P3.4, KSY5 ; 是第一行的某键按下? JNB P3.5, KSY5 MOV A, R4 ADD A, R3 RET NEXT: MOV A, R6 ; 判断下一列是否有键按下 RL A MOV R6, A INC R3 DJNZ R7, KSY2 ; 8列是否全部扫描完? AJMP KEYS1 ; 扫描完成 DELAY10: ; 延时10ms子程序 …… END 利用专用芯片实现键盘和显示器接口 键盘的处理和显示的处理可由专用芯片完成,键盘和显示器管理专用芯片种类较多,常用的键盘和显示器管理专用芯片有Intel公司的8279芯片,可实现64个按键、 16位LED显示器的管理。

44 6.4 MCS-51单片机功率驱动接口技术 6.4.1 扩大驱动电流的方法
在由单片机组成的控制系统中,大多数外围电路是处于各种各样的复杂环境中,如控制对象可能处于大电流、高电压的情况。控制的执行机构可能是电动机、继电器或电磁铁等大功率机构。因此,单片机不可能和这些外部机构直接连接。通常必须采取两个基本措施:一是采用隔离的方法把单片机的工作环境与外电路隔离开来;另一种是采用电流接续的办法扩大输出电流的能力,以驱动各种外电路。 扩大驱动电流的方法 1、采用晶体三极管扩大输出电流 2、采用带驱动电路的逻辑门扩大驱动电流 3、采用达林顿管作驱动器扩大驱动电流 下面分别给出具体电路图

45 1、三极管

46 三极管的概述 半导体三极管也称为晶体三极管,可以说它是电子电路中最重要的器件。它最主要的功能是电流 放大和开关作用。 三极管顾名思义具有三个电极。二极管是由一个PN结构成的,而三极管由两个PN结构成,共用的一个电极成为三极管的基极(用字母b表示)。其他的两个电极成为集电极(用字母c表示)和发射极(用字母e表示)。由于不同的组合方式,形成了一种是NPN型的三极管,另一种是PNP型的三极管。 三极管 的种类很多,并且不同型号各有不同的用途。三极管大都是塑料封装或金属封装,常见三极管的外观如图,大的很大,小的很小。三极管的电路符号有两种:有一个箭头的电极是发射极,箭头朝外的是NPN型三极管,而箭头朝内的是PNP型。实际上箭头所指的方向是电流的方向。   电子制作中常用的三极管有9 0× ×系列,包括低频小功率硅管9013(NPN)、9012(PNP),低噪声管9014(NPN),高频小功率管9018(NPN)等。它们的型号一般都标在塑壳上,而样子都一样,都是TO-92标准封装。

47 半导体三极管的管脚判别 在安装半导体三极管之前,首先搞清楚三极管的管脚排列。一方面可以通过查手册获得,另一方面也可利用电子仪器进行测量,下面讲一下利用万用表判定三极管管脚的方法。首先判定PNP型和NPN型晶体管:用万用表的R×1kW(或R×100W)档,用黑表笔接三极管的任一管脚,用红表笔分别接其他两管脚。若表针指示的两阻值均很大,那么黑表笔所接的那个管脚是PNP型管的基极;如果万用表指示的两个阻值均很小,那么黑表笔所接的管脚是NPN型的基极;如果表针指示的阻值一个很大,一个很小,那么黑表笔所接的管脚不是基极。需要新换一个管脚重试,直到满足要求为止。进一步判定三极管集电极和发射极:首先假定一个管脚是集电极,另一个管脚是发射极;对NPN于型三极管,黑表笔接假定是集电极的管脚,红表笔接假定是发射极的管脚(对于PNP型管,万用表的红、黑表笔对调);然后用大拇指将基极和假定集电极连接(注意两管脚不能短接),这时记录下万用表的测量值;最后反过来,把原先假定的管脚对调,重新记录下万用表的读数,两次测量值较小的黑表笔所接的管脚是集电极(对于PNP 型管,则红表笔所接的是集电极)。

48

49

50

51

52

53 2、逻辑门

54

55 3、达林顿管ULN2003

56 内部逻辑电路图

57

58

59 例题:设计使单片机唱歌的程序 ;在接在单片机的P2.0上的小喇叭唱八月桂花香实验
;本实验源程序如下: ;***************************************************** ;* Date : * ;* Support Mb: * ;* Create by :dengdewu 更多例程请登陆网站--* ;* 网站单片机学习资料同步更新,敬请新老朋友随时关注 ---* ;****************************************************** ORG H LJMP START ORG BH ;中断入口 INC H ;中断服务程序,中断计数器加1 MOV TH0,#0D8H MOV TL0,#0EFH ;12M晶振,形成10毫秒中断 RETI

60 START: MOV SP,#50H MOV TH0,#0D8H MOV TL0,#0EFH MOV TMOD,#01H ;设定定时器工作方式 MOV IE,#82H MUSIC0: NOP MOV DPTR,#DAT ;表头地址送DPTR MOV H,#00H ;中断计数器清 MOV B,#00H ;表序号清0 MUSIC1: NOP CLR A MOVC ;查表取代码 JZ END ;是00H,则结束 CJNE A,#0FFH,MUSIC LJMP MUSIC3 MUSIC5: NOP

61 MOV R6,A INC DPTR MOV A,B MOVC ;取节拍代码送R7 MOV R7,A SETB TR ;启动计数 MUSIC2: NOP CPL P MOV A,R MOV R3,A CPL A MOV P1,A ;显示(修改者加入的显示) CPL A LCALL DEL MOV A,R CJNE A,20H,MUSIC2 ;中断计数器(20H)=R7否? ;不等,则继续循环 MOV H,#00H ;等于,则取下一代码 INC DPTR LJMP MUSIC1

62 MUSIC3: NOP CLR TR ;休止100毫秒 MOV R2,#0DH MUSIC4: NOP MOV R3,#0FFH LCALL DEL DJNZ R2,MUSIC INC DPTR LJMP MUSIC1 END0: MOV R2,#64H ;歌曲结束,延时1秒后继续 MUSIC6: MOV R3,#00H LCALL DEL DJNZ R2,MUSIC LJMP MUSIC0 DEL: ;延时子程序 NOP DEL3: MOV R4,#05H DEL4: NOP DJNZ R4,DEL NOP DJNZ R3,DEL RET

63 DAT: ;数据表格存放在ROM中。 DB 18H, 30H, 1CH, 10H,20H, 40H, 1CH, 10H, 18H, 10H, 20H, 10H DB 1CH, 10H, 18H, 40H,1CH, 20H, 20H, 20H, 1CH, 20H, 18H, 20H DB 20H, 80H, 0FFH,20H,30H, 1CH, 10H, 18H, 20H, 15H, 20H, 1CH DB 20H, 20H, 20H, 26H,40H, 20H, 20H, 2BH, 20H, 26H, 20H, 20H DB 20H, 30H, 80H, 0FFH,20H, 20H, 1CH, 10H, 18H, 10H, 20H, 20H DB 26H, 20H, 2BH, 20H, 30H, 20H, 2BH, 40H, 20H, 20H, 1CH, 10H DB 18H, 10H, 20H, 20H, 26H, 20H, 2BH, 20H, 30H, 20H, 2BH, 40H DB 20H, 30H, 1CH, 10H,18H, 20H, 15H, 20H, 1CH, 20H, 20H, 20H DB 26H, 40H, 20H, 20H, 2BH, 20H, 26H, 20H, 20H, 20H, 30H, 80H DB 20H, 30H, 1CH, 10H,20H, 10H, 1CH, 10H, 20H, 20H, 26H, 20H DB 2BH, 20H, 30H, 20H,2BH, 40H, 20H, 15H, 1FH, 05H, 20H, 10H DB 1CH, 10H, 20H, 20H,26H, 20H, 2BH, 20H, 30H, 20H, 2BH, 40H DB 20H, 30H, 1CH, 10H,18H, 20H, 15H, 20H, 1CH, 20H, 20H, 20H DB 26H, 40H, 20H, 20H,2BH, 20H, 26H, 20H, 20H, 20H, 30H, 30H DB 20H, 30H, 1CH, 10H,18H, 40H, 1CH, 20H, 20H, 20H, 26H, 40H DB 13H, 60H, 18H, 20H,15H, 40H, 13H, 40H,18H, 80H, 00H END

64 例题2:使继电器按一下按键就吸合,放开按键就不吸合的程序。P2.0接继电器,P1.2接继电器合灯,P1.4接继电器断开灯。
程序设计如下: org 00h ;源程序起始地址 jmp main ;跳转到MAIN org 0050h ;主程序开始地址 main: clr p2.0 ;关继电器和灯 clr p1.2 ;灯1灭 setb p1.4 ;灯2亮

65 loop: jb p3.6,lop1 ;键没按下则去lop1
setb p2.0 ;否则继电器吸合 setb p1.2 ;灯1亮 clr p ;灯2灭 jmp lop2 lop1: clr p2.0 ;继电器松开 clr p ;灯1灭 setb p1.4 ;灯2亮 lop2: nop ajmp loop ;循环 ret end

66 作业与练习:


Download ppt "第6章 MCS-51单片机的交互通道配置与接口 主要内容:"

Similar presentations


Ads by Google