单片机中断与定时系统课件

上传人:无*** 文档编号:212111054 上传时间:2023-05-21 格式:PPT 页数:134 大小:981KB
收藏 版权申诉 举报 下载
单片机中断与定时系统课件_第1页
第1页 / 共134页
单片机中断与定时系统课件_第2页
第2页 / 共134页
单片机中断与定时系统课件_第3页
第3页 / 共134页
资源描述:

《单片机中断与定时系统课件》由会员分享,可在线阅读,更多相关《单片机中断与定时系统课件(134页珍藏版)》请在装配图网上搜索。

1、16.1 MCS-51单片机的中断系统6.2 MCS-51单片机的定时器/计数器6.3 MCS-51单片机外部中断源的扩展6.4 定时器/计数器与中断综合应用举例6 单片机中断与定时系统单片机中断与定时系统26 单片机中断与定时系统6.1 MCS-51单片机的中断系统6.1.1 单片机中断技术概述6.1.2 中断源1.外部中断源 (P3.2)和 (P3.3)2.定时器中断源T0和T13.串行口中断源INT0INT1单片机中断与定时系统36 单片机中断与定时系统6.1.3 中断控制1.定时器控制寄存器(TCONTimer/Counter Control Register)(1)IE0和IE1外中

2、断请求标志位(硬件置1或清0)(2)IT0和IT1外中断请求触发方式控制位(软件置1或清0)(0电平触发,1脉冲触发)(3)TF0和TF1计数器溢出标志位(硬件置1或清0)(4)TR0和TR1Run Control bits for Timer 1 and Timer 0.Set to run,reset to hold.(软件置1或清0)位地址8FH8EH8DH8CH8BH8AH89H88H位符号TF1TR1TF0TR0IE1IT1IE0IT0单片机中断与定时系统46 单片机中断与定时系统2.串行口控制寄存器(SCONSerial Port Control Register)(1)SM0、S

3、M1、SM2Serial Port Mode Bits (2)REN允许串行接收位Receiver Enable(软件置1或清0)(3)TB8Transmit bit 8.Ninth bit transmitted(in mode 2 and 3);set/cleared by software.(4)RB8Receive bit 8.Ninth bit received(in mode 2 and 3);Mode 0:Not used Mode 1:Stop bit Mode 2,3:Ninth data bit.(5)TI发送中断标志位Transmit interrupt flag.Set

4、 at end of character transmission;cleared by software.(6)RI接收中断标志位Receive interrupt flag.Set at end of character reception;cleared by software.位地址9FH9EH9DH9CH9BH9AH99H98H位符号SM0SM1SM2RENTB8RB8TIRI单片机中断与定时系统56 单片机中断与定时系统3.中断允许控制寄存器(IEInterrupt Enable Register)(1)EA中断允许总控制位 (2)EX0和EX1外部中断允许控制位 (3)ET0和E

5、T1定时/计数中断允许控制位 (4)ES串行中断允许控制位位地址 0AFH 0AEH 0ADH 0ACH 0ABH 0AAH 0A9H 0A8H位符号EA/ESET1EX1ET0EX0单片机中断与定时系统66 单片机中断与定时系统4.中断优先级控制寄存器(IPInterrupt Priority Register)(1)PX0外部中断0优先级设定位 (2)PT0定时中断0优先级设定位 (3)PX1外部中断1优先级设定位 (4)PT1定时中断1优先级设定位 (5)PS串行中断优先级设定位位地址 0BFH 0BEH 0BDH 0BCH 0BBH 0BAH 0B9H 0B8H位符号/PSPT1PX1

6、PT0PX0单片机中断与定时系统76 单片机中断与定时系统5.中断优先级控制原则和控制逻辑n 中断嵌套高优先级可以中断低优先级n 同级不能嵌套n 同级中断同时请求,查询次序为:外部中断0定时中断0外部中断1定时中断1串行中断6.中断初始化与中断控制寄存器状态设置MOV IE,#81H ;开放外部中断0或SETB EASETB EX0单片机中断与定时系统86 单片机中断与定时系统MCS-51的中断系统IE0TF0IE1TF1TIRIEX0ET0EX1ET1ES1PX0PT0PX1PT1PS高级低级内部查询内部查询入口地址入口地址INT0INT1T0T1TIRI中断请求标志中断允许控制中断优先级E

7、A中断源单片机中断与定时系统96 单片机中断与定时系统6.1.4 中断响应过程1.中断采样在每个机器周期的S5P2采样 和2.中断查询在每个机器周期的最后一个状态S6查询3.中断响应硬件自动产生LCALL addr16指令响应过程单片机响应中断后,自动执行下列操作:(1)置位中断优先级有效触发器,即关闭同级和低级中断:(2)调用入口地址,断点入栈,相当于LCALL指令;(3)进入中断服务程序。例如:LCALL 0003H ;响应外部中断0INT0INT1单片机中断与定时系统106 单片机中断与定时系统响应条件CPU要响应中断需满足下列条件:(1)无同级或高级中断正在服务;(2)当前指令周期结束

8、,如果查询中断请求的机器周期不是当前指令的最后一个周期,则不响应;(3)若现行指令是RETI、RET或访问IE、IP指令,则需要执行完当前指令及下一条指令方可响应。4.中断响应时间最短为3个机器周期;最长为8个机器周期。响应时间从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。单片机中断与定时系统116 单片机中断与定时系统(1)最快响应时间以外部中断的电平触发为最快。从查询中断请求信号到中断服务程序需要三个机器周期:1个周期(查询)2个周期(长调用LCALL)(2)最长时间若当前指令是RET、RETI和访问IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期:2个周期执行当

9、前指令(其中含有1个周期查询)4个周期乘除指令2个周期长调用8个周期。单片机中断与定时系统126 单片机中断与定时系统6.1.5 中断请求的撤销1.定时中断请求的撤销自动撤销(硬件自动清TF0和TF1)2.脉冲方式外部中断请求的撤销自动撤销(硬件自动清IE0和IE1;脉冲信号消失)3.电平方式外部中断请求的撤销硬件自动清IE0和IE1,但低电平中断请求信号需强制变为高电平。4.串行中断请求的撤销软件撤销(CLR TI,CLR RI)单片机中断与定时系统136 单片机中断与定时系统ORL P1,#01HANL P1,#0FEHP1.0Q外部中断请求信号1INT080C51DCPSD电平方式外部中

10、断请求的撤销电路单片机中断与定时系统146 单片机中断与定时系统6.1.6 中断服务流程1.现场保护和现场恢复(PUSH direct、POP direct)2.关中断和开中断(CLR、SETB)3.中断处理4.中断返回(RETI)6.1.7 MCS-51的单步工作方式外部中断0的中断服务程序:JNBP3.2,$JBP3.2,$RETI80C51+5VINT0单片机中断与定时系统156.2 MCS-51单片机的定时器/计数器6.2.1 定时方法概述1.软件定时2.硬件定时3.可编程定时器定时6.2.2 定时器/计数器的定时和计数功能1.计数功能2.定时功能6 单片机中断与定时系统单片机中断与定

11、时系统166 单片机中断与定时系统6.2.3 定时器/计数器的控制寄存器1.定时器/计数器控制寄存器 (TCONTimer/Counter Control Register)D7D6D5D4D3D2D1D0TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0中断请求标志触发方式选择启动定时/计数器0 低电平1 下降沿0 停止1 启动单片机中断与定时系统176 单片机中断与定时系统2.定时器/计数器方式控制寄存器 (TMODTimer/Counter Mode Control Register)M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7T1控制T0控制

12、GATE门控位C/T计数/定时选择M1 M0工作方式选择单片机中断与定时系统6 单片机中断与定时系统6.2.4 定时工作方式01.电路逻辑结构方式013位方式 计数脉冲输入TF0T0TR0GATEINT011&C/T=1振荡器1/12C/T=0TL0 TH08位低5位13位计数器定时器计数器18单片机中断与定时系统196 单片机中断与定时系统2.定时和计数应用 设晶振频率fosc=6MHz,方式0的最长定时时间为:(2130)2us=214us=16384us=16.384ms例 6.1 设晶振频率fosc=6MHz,使用定时器1以方式0产生周期为500s的方波脉冲,并由P1.0 输出。以查询

13、方式实现。80C51P1.0P1.0500s单片机中断与定时系统206 单片机中断与定时系统例 6.1程序如下:org0movtmod,#0movth1,#0fchmovtl1,#3movie,#0setbtr1loop:jbctf1,loop1ajmplooploop1:movth1,#0fchmovtl1,#3cplp1.0ajmploopend单片机中断与定时系统216 单片机中断与定时系统6.2.5 定时工作方式1方式116位方式 振荡器1/12TL0 TH0TF011&T0TR0GATEINT0C/T=0C/T=18位8位16位计数器单片机中断与定时系统226 单片机中断与定时系统设

14、晶振频率fosc=6MHz,方式1的最长定时时间为:(2160)2us=217us=131.072ms例 6.2 设晶振频率fosc=6MHz,使用定时器1以方式1产生周期为500s的方波脉冲,并由P1.0 输出。以中断方式实现。80C51P1.0P1.0500s单片机中断与定时系统236 单片机中断与定时系统例 6.2程序如下:org0ljmpmainorg001bhljmpintt1main:movtmod,#10hmovth1,#0ffhmovtl1,#83hsetbeasetbet1setbtr1sjmp$intt1:movth1,#0ffhmovtl1,#83hcplp1.0reti

15、end单片机中断与定时系统6 单片机中断与定时系统6.2.6 定时工作方式21.电路逻辑结构24方式28位自动装入时间常数方式 TF0振荡器1/1211&T0TR0GATEINT0C/T=0C/T=1TL0 TH0单片机中断与定时系统256 单片机中断与定时系统设晶振频率fosc=6MHz,方式2的最长定时时间为:(280)2us=29us=0.512ms例 6.3 设晶振频率fosc=6MHz,使用定时器0以方式2产生周期为200s的方波脉冲,并由P1.0 输出。分别以查询和中断方式实现。80C51P1.0P1.0200s单片机中断与定时系统266 单片机中断与定时系统例 6.3程序如下:查

16、询方式:org0movtmod,#2movth0,#0cehmovtl0,#0cehmovie,#0setbtr0loop:jbctf0,loop1ajmp looploop1:cplp1.0ajmp loopend中断方式:org0ljmpmainorg000bhcplp1.0retimain:movtmod,#2movth0,#0cehmovtl0,#0cehsetbeasetbet0setbtr0sjmp$end单片机中断与定时系统276 单片机中断与定时系统例 6.4 设晶振频率fosc=6MHz,使用定时器1以方式2实现计数,每计数100次累加器加1。org0movtmod,#60h

17、movth1,#9chmovtl1,#9chmovie,#0setbtr1loop:jbctf1,loop1ajmp looploop1:incaajmp loopend单片机中断与定时系统6 单片机中断与定时系统6.2.7 定时工作方式328方式32个8位方式 INT0振荡器1/12TL0TF011&T0TR0GATEC/T=0C/T=18位TH0TF1振荡器1/12TR18位单片机中断与定时系统296 单片机中断与定时系统n 只有T0可以工作在方式3此时T0分成2个独立的计数器TL0和TH0,前者用原来T0的控制信号(TR0、TF0),后者用原来T1的控制信号(TR1、TF1)。n T1处

18、于方式3时相当于TR1=0,停止计数。单片机中断与定时系统306.3 MCS-51单片机外部中断源的扩展6.3.1 通过OC门线或实现ORG0013HINTER:JBP1.0,LOOP1JBP1.1,LOOP2JBP1.n,LOOPnINTEND:RETILOOP1:AJMP INTEND6 单片机中断与定时系统单片机中断与定时系统316.3.2 通过自身的定时器/计数器实现 在计数方式下,如果把计数器预置为全1,则只要在计数输入端(T0或T1输入端)加一脉冲就可以使计数器溢出,产生溢出中断。这就是定时器/计数器实现外部中断扩展的思想。具体方法是:(1)置定时器/计数器为工作方式2,即自动加载

19、式8位计数,以便在一次中断响应后,自动为下一次中断作准备;(2)TH和TL均置为FFH;(3)扩展的外部中断请求信号接计数脉冲输入端(T0或T1);(4)把扩展的外中断服务程序存放在所占用的定时器/计数器中断入口地址处(000BH或001BH)。6 单片机中断与定时系统单片机中断与定时系统32 例如用定时器/计数器0扩展一个外部中断,其初始化程序段如下:MOVTMOD,#06HMOVTH0,#0FFHMOVTL0,#0FFHSETB EASETB ET0SETB TR06 单片机中断与定时系统单片机中断与定时系统336.4 定时器/计数器与中断综合应用举例时钟程序org0start:ajmp

20、mainorg000bhajmp pitomain:movsp,#60hmovr0,#79hmovr7,#6ml1:movr0,#0incr0djnzr7,ml16 单片机中断与定时系统movtmod,#1movtl0,#0dchmovth0,#0bhsetbtr0setbeasetbet0mov30h,#8;ml0:lcallsmxs;sjmp ml0sjmp$单片机中断与定时系统34pito:pushpswpushaccsetbpsw.3movtl0,#0dchmovth0,#0bhdjnz30h,ret0mov30h,#8movr0,#7ahacalldaad1mova,r2xrla,#

21、60hjnzret0acallclr06 单片机中断与定时系统movr0,#7chacalldaad1mova,r2xrla,#60hjnzret0acallclr0movr0,#7ehacalldaad1mova,r2xrla,#24hjnzret0acallclr0ret0:popaccpoppswreti单片机中断与定时系统35daad1:mova,r0decr0swap aorla,r0adda,#1daamovr2,aanla,#0fhmovr0,amova,r2incr0anla,#0f0hswap amovr0,aret6 单片机中断与定时系统clr0:clramovr0,ade

22、cr0movr0,aretend单片机中断与定时系统367.1 单片机为什么需要I/O扩展7.2 单片机简单I/O扩展7.3 8255A可编程通用并行接口芯片7.4 8155带RAM和定时器/计数器的可编程并行接口芯片7.5 8279可编程键盘/显示器接口芯片7.6 MCS-51单片机键盘接口技术7.7 MCS-51单片机显示器接口技术7.8 MCS-51单片机打印机接口技术7 单片机I/O扩展及应用单片机中断与定时系统377.1 单片机为什么需要I/O扩展7.1.1 I/O口的直接使用1.数据的无条件传送7 单片机I/O扩展及应用P1.0P1.1P1.2P1.3P1.7P1.6P1.5P1.

23、480C51K0K3LED0LED3+5VORG0200HEXTR:MOVA,#0FHMOVP1,AMOVA,P1CPLAANLA,#0FHSWAPAMOVP1,ARETEND单片机中断与定时系统382.中断方式的数据传送7 单片机I/O扩展及应用P1.0P1.1P1.2P1.3P1.7P1.6P1.5P1.480C51INT0+5VK0K3LED0LED3K+5V74LS001K1KORG0000HSTART:AJMPMAINORG0003HAJMPEXTRORG0030HMAIN:SETBIT0SETBEX0 SETBEA SJMP$ORG0200HEXTR:MOVA,#0FHMOVP1,

24、AMOVA,P1CPLAANLA,#0FHSWAPAMOVP1,ARETIEND单片机中断与定时系统397.1.2 为什么要扩展I/O接口1.单片机本身接口功能有限2.单片机控制应用中的复杂接口要求 (1)速度差异大 (2)设备种类繁多 (3)数据信号形式多种多样3.扩展I/O接口电路的功能 (1)速度协调 (2)输出数据锁存 (3)输入数据三态缓冲 (4)数据转换7 单片机I/O扩展及应用单片机中断与定时系统407.1.3 I/O扩展的相关技术1.接口与端口2.数据总线隔离技术3.单片机I/O编址技术 (1)独立编址方式 (2)统一编址方式7.1.4 单片机I/O控制方式1.无条件传送方式2

25、.查询方式3.中断方式7 单片机I/O扩展及应用单片机中断与定时系统417.2 单片机简单I/O扩展7.2.1 简单输入口扩展1.两个输入口扩展 简单输入口扩展使用中小规模集成电路芯片,比较典型的有74LS244芯片。7 单片机I/O扩展及应用1510CE11A12Y41A22Y31A32Y21A42Y1GND输入设备74LS244CE1CE2地址选通信号ALEP074LS373271674LS24480C51RDVccCE21Y12A41Y22A31Y32A21Y42A1201611单片机中断与定时系统422.多输入口扩展 使用多片74LS244实现多个(例如5个)输入口扩展。3.应用举例

26、一个拨盘可产生一个BCD码形式的十进制数(4位)。现有A、B、C、D 4个拨盘,要求把它们产生的BCD码依次输入到R4(B、A)和R5(C、D)中去。MOVDPTR,#7FFFHMOVX A,DPTRMOVR4,AMOVDPTR,#0BFFFHMOVX A,DPTRMOVR5,A7 单片机I/O扩展及应用单片机中断与定时系统437.2.2 简单输出口扩展1.简单输出口扩展使用的典型芯片74LS3772.输出口扩展连接7 单片机I/O扩展及应用QDP0 WR地址译码信号80C5174LS377输出设备CKG单片机中断与定时系统447.3 8255A可编程通用并行接口芯片7.3.1 可编程I/O接

27、口扩展概述n 8255A可编程通用并行接口n 8155带RAM和定时器/计数器的可编程并行接口n 8259可编程中断控制器n 8279可编程键盘/显示器接口n 8253可编程通用定时器7.3.2 8255A的逻辑结构和信号引脚7.3.3 8255A的工作方式及数据I/O操作7.3.4 8255A控制字及初始化编程7 单片机I/O扩展及应用单片机中断与定时系统457 单片机I/O扩展及应用7.4 8155带RAM和定时器/计数器的可编程并行接口芯片7.4.1 8155基本结构及工作方式Vcc(+5V)Vss(GND)RDCEAD7AD0RESETWRTIMER INTIMER OUTM/IOAL

28、E256字节静态RAM14位定时计数器ABCPA7PA0PB7PB0PC5PC0单片机中断与定时系统467 单片机I/O扩展及应用1.主要接口信号AD7AD0地址数据复用线。ALE地址锁存信号。除了进行AD7AD0的地址锁存控制外,还用于把片选信号 和 等信号进行锁存。读选通信号。写选通信号。片选信号。I/O与RAM的选择信号。RESET复位信号。复位后A口、B口和C口均为数据输入方式。2.I/O及其工作方式A口该口作输入还是输出,由软件决定。B口该口作输入还是输出,由软件决定。C口该口除可作输入、输出口外,还可作为控制口,传送控制和状态信号,因此C口共有四种工作方式,即:输入方式(ALT1)

29、,输出方式(ALT2),A口控制端口方式(ALT3)以及A口 和B口控制端口方式(ALT4)。其工作方式由软件决定。CEIO/MCEIO/MWRRD单片机中断与定时系统477 单片机I/O扩展及应用3.RAM单元及I/O口编址AD7AD6AD5AD4AD3AD2AD1AD0对应端口000命令/状态寄存器001A口010B口011C口100定时器/计数器低8位101定时器/计数器高8位单片机中断与定时系统487 单片机I/O扩展及应用7.4.2 8155与MCS-51单片机的连接1.用或非门产生 信号2.以高位地址直接作为 信号IO/MIO/M单片机中断与定时系统497 单片机I/O扩展及应用7

30、.4.3 8155的命令/状态寄存器1.命令字434210D1D2D3D4D5D6D7DA口工作方式0:输入1:输出43421定时器工作方式00:无操作01:停止计数10:计满后停止11:开始计数B口工作方式0:输入1:输出C口工作方式00:ALT101:ALT210:ALT311:ALT4A口中断0:禁止1:允许B口中断0:禁止1:允许单片机中断与定时系统507 单片机I/O扩展及应用2.状态字0D1D2D3D4D5D6DINTRA:A口中断请求TIMER:定时器中断(计数满时为高电平,读出状态字或硬件复位为低电平)ABF:A口缓冲器满/空INTEA:A口中断允许INTEB:B口中断允许IN

31、TRB:B口中断请求BBF:B口缓冲器满/空单片机中断与定时系统517 单片机I/O扩展及应用7.4.4 8155的定时器/计数器1.定时器/计数器的计数结构 8155的定时器/计数器是一个14位的减法计数器,由两个8位寄存器构成,以其中的低14位组成计数器,剩下的两个高位(M2,M1)用于定义计数器输出的信号形式。输出方式计数器高6位计数器低8位D7D6D5D4D3D2D1D0T7T6T5T4T3T2T1T0D7D6D5D4D3D2D1D0M2M1T13T12T11T10T9T8单片机中断与定时系统527 单片机I/O扩展及应用2.定时器/计数器的使用n 8155的定时器/计数器是减法计数,

32、而MCS-51单片机的定时器/计数器却是加法计数,因此确定计数初值的方法是不同的。n MCS-51单片机的定时器/计数器有多种工作方式,而8155的定时器/计数器只有一种固定的工作方式,即14位计数。通过软件方法进行计数初加载。n MCS-51单片机的定时器计数器有两种计数脉冲。定时功能时,内部按机器周期提供固定频率的计数脉冲;计数功能时,从芯片外部引入计数脉冲。但8155的定时器/计数器,不论是定时功能还是计数功能都是由外部提供计数脉冲,其信号引脚是TIMER IN。n MCS-51单片机的定时器/计数器,计数溢出时,自动置位TCON寄存器的计数溢出标志位(TF),供用户查询或中断方式使用;

33、但8155的定时器/计数器,计数溢出时向芯片外部输出一个信号(TIMER OUT)。而且这一信号还有脉冲和方波两种形式,可由用户进行选择。具体(M2,M1)两位定义。单片机中断与定时系统537 单片机I/O扩展及应用M2M1=00 单个方波M2M1=01 连续方波M2M1=10 单个脉冲M2M1=11 连续脉冲这四种输出形式如下图所示。2M1M 0 00 11 01 1单个方波连续方波单个脉冲连续脉冲开始计数停止计数单片机中断与定时系统547 单片机I/O扩展及应用3.定时器/计数器的控制 8155定时器/计数器的工作方式由命令字中的最高两位进行控制。具体说明如下:D7D6=00 不影响计数器

34、工作。D7D6=01 停止计数。如计数器未启动则无操作,如计数器正运行则停止计数。D7D6=10 达到计数值(计数器减为0)后停止。D7D6=11 启动,如果计数器没运行,则在装入计数值后开始计数;如果计数器已运行,则在当前计数值计满后,再以新的计数值进行计数。单片机中断与定时系统557 单片机I/O扩展及应用7.4.5 8155初始化 要求使用8155定时器/计数器对计数脉冲进行千分频,即计数1000后,TIAMER OUT端电平状态发生变化,并重新置数以产生连续方波。此外假定A口为输入方式,B口为输出方式,C口为输入方式,禁止中断。请编写初始化程序。解:要求输出连续方波,所以定时器/计数器

35、的最高两位M2M1=01。计数器的其它14位装入计数初值。8155为减法计数,所以计数初值为1000,化为16进制数为03E8H。则定时器/计数器的高8位为:43H,低8位为:0E8H。命令字为0C2H。单片机中断与定时系统567 单片机I/O扩展及应用初始化程序如下:MOVDPTR,#0FD00HMOVA,#0C2HMOVDPTR,AMOVDPTR,#0FD04HMOVA,#0E8HMOVDPTR,AINCDPTRMOVA,#43HMOVDPTR,A单片机中断与定时系统577.5 8279可编程键盘/显示器接口芯片 8279是Intel公司生产的通用可编程键盘和显示器I/O接口器件。由于它本

36、身可提供扫描信号,因而可代替微处理器完成键盘和显示器的控制,从而减轻了主机的负担。7 单片机I/O扩展及应用单片机中断与定时系统587.5.1 8279的电路逻辑和信号引脚1.8279的电路逻辑 (1)I/O控制和数据缓冲器 双向的三态数据缓冲器将内部总线和外部总线DB07相连,用于传送CPU和8279之间的命令、数据和状态。(2)控制逻辑 控制与定时寄存器用以存储键盘及显示器的工作方式,锁存操作命令,通过译码产生相应的控制信号,使8279 的各个部件完成一定的控制功能。定时控制含有一些计数器,其中有一个可编程的5位计数器,对外部输入时钟信号进行分频,产生100kHz 的内部定时信号。外部时钟

37、输入信号周期不小于500ns。7 单片机I/O扩展及应用单片机中断与定时系统59 (3)扫描计数器 扫描计数器有两种输出方式。一种为外部译码方式(也称编码方式),计数器以二进制方式计数,4位计数状态从扫描线SL0SL3输出,经外部译码器译码出l6 位扫描线;另一种为内部译码方式(也称译码方式),即扫描计数器的低2位经内部译码器后从SL0SL3输出。(4)键输入控制 这个部件完成对键盘的自动扫描,锁存RL0RL7的键输入信息,搜索闭合键,去除键的抖动,并将键输入数据写入内部先进先出(FIFO)的RAM 存储器。(5)FIFO/传感器RAM 和显示RAM 8279具有8个先进先出的键输入缓冲器,并

38、提供16个字节的显示数据缓冲器。CPU将段数据写入显示缓冲器,8279自动对显示器扫描,将其内部显示缓冲器中的数据在显示器上显示出来。7 单片机I/O扩展及应用单片机中断与定时系统607 单片机I/O扩展及应用8279逻辑框图数据缓冲器数据缓冲器I/O控制控制FIFO传感器传感器 RAM状态状态IRQ16 8显示用显示用RAM控制用控制用时序寄存器时序寄存器8 8FIFO/传感器传感器RAM键盘去抖动键盘去抖动和控制和控制显示寄存器显示寄存器时序时序和和控制控制扫描计数器扫描计数器回送回送显示地址显示地址寄存器寄存器848DB07OUTA03OUTB03BDRD WR CSA0SL03RL07

39、CNTL/STBSHIFTCLK RESET单片机中断与定时系统617 单片机I/O扩展及应用8279引脚图单片机中断与定时系统622.8279芯片的信号引脚n DB07双向外部数据总线。用于传送8279与CPU 之间的命令、数据和状态。可直接与MCS-51系列芯片连接。n/CS选片信号。当/CS为低电平时,CPU才选中8279 芯片,并对其进行操作。n A0区分信息的特性位。当A0为1时,CPU写入8279的信息为命令,CPU从8279读出的信息为8279的状态。当A0为0时,I/O信息均为数据。n/RD、/WR是读、写选通信号,低电平有效。n IRQ中断请求输出线。高电平有效。在键盘工作方

40、式下,当FIFO/传感器RAM中有数据时,此中断请求线变高电平。在FIFO/传感器RAM 每次读出时,中断请求线就下降为低电平,若在RAM中还有信息,则此线又重新变为高电平。在传感器工作方式中,每当传感器信号变化时,中断请求线就变为高电平。7 单片机I/O扩展及应用单片机中断与定时系统63n RL0RL7反馈输入线,作为键输入线,由内部拉高电阻拉成高电平,也可由键盘上按键拉成低电平。n SL03扫描输出线,用于对键盘显示器扫描。n OUTA03,OUTB03显示段数据输出线,可分别作为两个半字节输出,也可作为8位段数据输出口,此时OUTB0为最低位,OUTA3 为最高位。n/BD消隐输出线,低

41、电平有效,当显示器切换时或使用显示消隐命令时,将显示消隐。n RESET复位输入线,高电平有效。当RESET输入端出现高电平时,8279被复位,复位后8279被设置为:16个8 位字符显示为左端输入;编码的扫描键为两键连锁;程序时钟前置分频器被置为31H。n SHIFT、CNTL/控制键输入线,由内部拉高电阻拉成高电平,也可由外部控制按键拉成低电平,SHIFT为换档,CNTL为控制,为选通。7 单片机I/O扩展及应用STBSTB单片机中断与定时系统64n CLK外时钟输入端,CLK信号由外部振荡器提供。需说明的一点是:CLK是系统来的外时钟,8279靠设置定时器将外部时钟变为内时钟。其内时钟频

42、率外时钟/定时值。内部时钟控制着扫描时间和键盘去抖动时间的长短。若8279内部时钟为100kHz,则扫描时间为5.1ms,去抖动时间为10.3ms。7 单片机I/O扩展及应用单片机中断与定时系统657 单片机I/O扩展及应用7.5.2 8279的寄存器1.命令寄存器 (1)键盘/显示器方式设置命令 其中:D7D6D0=000是方式设置命令的特征位。DD(D4D3)为显示器方式选择位,其定义如下:所谓左入口,即显示位置从最左一位(最高位)开始,以后逐次输入的显示字符逐个向右顺序排列,所谓右入口,则是显示位置从最右一位(最低位)开始,以后逐次输入显示字符时,已有的显示字符依次向左移动。D7D6D5

43、D4D3D2D1D0000DDKKKD4D3显示器方式008个字符显示,左入口0 116个字符显示,左入口10 8个字符显示,右入口 1116个字符显示,右入口单片机中断与定时系统667 单片机I/O扩展及应用 KKK(D2D1D0)为键盘工作方式选择位,其定义如下:n 双键锁定与N 键轮回是多键按下时的两种不同的保护方式。双键锁定为两键同时按下提供的保持方法。在消颤周期里,如果有两键同时被按下,则只有其中一个键弹起,而另一个键保持在按下位置时,才被认可。N键轮回为N键同时按下的保护方法。当有若干键按下时,键盘扫描能够根据发现它们的顺序,依次将它们的状态送入FIFO RAM 中。D2D1D0操

44、 作 方 式000编码扫描键盘,双键锁定0 01译码扫描键盘,双键锁定010 编码扫描键盘,N 键轮回011译码扫描键盘,N 键轮回100编码扫描传感器矩阵101译码扫描传感器矩阵110选通输入,编码显示扫描111选通输入,译码显示扫描单片机中断与定时系统677 单片机I/O扩展及应用 (2)内部时钟设置命令 8279 的内部定时信号是由外部输入时钟经过分频后产生的,分频系数由内部时钟设置命令确定。其中:D7D6D5=001为时钟编程命令的特征位,PPPPP(D4D0)用来设定对外部输入CLK 端的时钟进行分频的分频数N。N 取值为231。例如,外部时钟频率为2MHz,PPPPP被置为1010

45、0B(N=20),则对外部输入时钟20 分频,以获得8279内部要求的100kHz的基本频率。(3)读FIFO/传感器RAM 命令D7D6D5D4D3D2D1D0001PPPPPD7D6D5D4D3D2D1D0010AIXAAA单片机中断与定时系统687 单片机I/O扩展及应用 其中:D7D6D5=010为读FIFO/传感器RAM 命令的特征位。AAA(D2D0)为传感器RAM 中的8个字节地址。AI(D4)为自动增量特征。当AI=l时,每次读出传感器RAM 后地址自动加1 使地址指针指向下一个存储单元。这样,下一个数据便从下一个地址读出,而不必重新设置读FIFO/传感器RAM命令。AI=0时

46、仅读出一个单元内容。在键盘工作方式中,由于读出操作严格按照先入先出顺序,因此,不需使用这条命令。(4)读显示RAM命令 在CPU读显示数据(用于检查)之前必须先输出读显示缓冲器RAM的命令。其中:D7D6D5=011是该命令字的特征位。AAAA(D3D2D1D0)用来寻址显示RAM中的存储单元。由于显示RAM中有16个节单元故需要4位地址。AI(D4)为自动增量特征位。AI=1时,每次读出后地址自动加1,指向下一地址。D7D6D5D4D3D2D1D0011AIAAAA单片机中断与定时系统697 单片机I/O扩展及应用 (5)写显示数据命令 在CPU将显示数据写入8279 的显示缓冲器RAM之前

47、必须先输出写显示数据缓冲器的命令。其中:D7D6D5=100为写显示RAM命令宇特征位。AAAA(D3D2D1D0)为将要写入的显示RAM中的存储单元地址。AI(D4)为自动增量特征位。AI=1时,每次写入后地址自动加1,指向下一地址。D7D6D5D4D3D2D1D0100AIAAAA单片机中断与定时系统707 单片机I/O扩展及应用 (6)显示禁止写入/消隐命令(Display write inhibit/Blank)其中:D7D6D5=101为显示禁止写入/消隐命令特征位。IWA、IWB(D3D2)为A、B组显示RAM写入屏蔽位。由于显示寄存器分成A、B两组,可以单独送数,故用两位来分别屏

48、蔽。当A组的屏蔽位D3=1时,A 组的显示RAM禁止入。因此,从CPU写入显示器RAM数据时,不会影响A的显示。这种情况通常在采用双4位显示器时使用。因为两个4位显示器是相互独立的。为了给其中一个4位显示器输入数据又不影响另一个4位显示器,因此必须对另一组的输入实行屏蔽。BLA、BLB(D3D2)为消隐设置位。用于对两组显示输出消隐。若BL=1,对应组的显示输出被消隐;当BL=0,则恢复显示。D7D6D5D4D3D2D1D0101XIWA IWB BLA BLB单片机中断与定时系统717 单片机I/O扩展及应用 (7)清除命令 CPU将清除命令写入8279,使显示缓冲器清成初态(暗码),同时也

49、能清除键输入标志和中断请求标志。其中:D7D6D5=110为清除命令特征位。CDCDCD(D4D3D2)用来设定清除显示RAM方式。共有四种消除方式。CF(D1)用来置空FIFO存储器,当CF=1时,执行清除命令后,FIFORAM 被置空,使中断输出线IRQ复位。同时,传感器RAM读出地址也被置为0。CA(D0)为总清的特征位。它兼有CD和CF的联合效能。在CF=1时,对显示的清除方式由D3、D2 的编码决定。清除显示RAM大约需100S时间,在此期间,CPU 不能向显示RAM 写入数据。D7D6D5D4D3D2D1D0110CDCDCDCFCAD4 D3 D2清除方式清除方式10X将显示将显

50、示RAM全部清全部清010将显示将显示RAM清成清成20H11将显示将显示RAM全部置全部置10X X不清除不清除(CA=0时时)单片机中断与定时系统727 单片机I/O扩展及应用 (8)结束中断/错误方式设置命令 其中:D7D6D5=111为结束中断/错误方式设置命令的特征位。此命令有两种不同的作用。n 作为结束中断命令。在传感器工作方式中使用。每当传感器状态出现变化时,扫描检测电路就将其状态写入传感器RAM,并启动中断逻辑,使IRQ变高,向CPU请求中断,并且禁止写入传感器RAM。此时,若传感器RAM读出地址的自动递增特征没有置位(AI=0),则中断请求IRQ在CPU第一次从传感器RAM读

51、出数据时就被清除。若自动递增特征已置位(AI=0),则CPU对传感器RAM的读出并不能清除IRQ,而必须通过给8279写入结束中断/错误方式设置命令才能使IRQ变低。因此,在传感器工作方式中,此命令用来结束传感器RAM的中断请求。D7D6D5D4D3D2D1D0111EXXXX单片机中断与定时系统737 单片机I/O扩展及应用n 作为特定错误方式设置命令。在8279已被设定为键盘扫描N键轮回方式以后,如果CPU给8279又写入结束中断/错误方式设置命令(D4=1),则8279将以一种特定的错误方式工作。这种方式的特点是:在8279的消颤周期内,如果发现多个按键同时按下,则FIFO状态宇中的错误

52、特征位S/E将置1,并产生中断请求信号和阻止写入FIFO RAM。上述8种用于确定8279操作方式的命令字皆由D7D6D5 特征位确定,输出到8279后能自动寻址相应的命令寄存器。因此,写入命令时唯一的要求是使数据选择信号A0=1。单片机中断与定时系统747 单片机I/O扩展及应用2.状态寄存器 8279的状态字节用于键输入和选通输入方式中,指出输入数据缓冲器FIFO中的字符个数和是否出错。状态字节的格式如下:n DU(D7 Display Unavailable)在清除命令执行期间该位为“1”,D7为1时对显示RAM写操作无效。n S/E(D6 Sensor/Errorflag)为传感器信号

53、结束/错误特征位。该特征位在读出FIFO态状字时被读出。而在执行CF=1的清除命令时被复位。当8279工作在传感器工作方式时,若S/E=1,表示传感器的最后一个信号已进入传感器RAM;而当8279工作在特殊错误方式时,若S/E=1则表示出现了多键同时按下的错误。n O(D5 Overrun)当FIFO已满,又输入一个字符时发生溢出置“1”O位。D7D6D5D4D3D2D1D0DUS/EOUFNNN单片机中断与定时系统757 单片机I/O扩展及应用n U(D4 Underrun)在FIFO RAM中没有输入字符时,CFU对FIFO RAM 读,则置“1”U 位。n F(D3 FIFO Full)

54、在F=1时,表示FIFO RAM已满(8个键入数据)。n NNN(D2D1D0 Number of characters in FIFO)表示FIFORAM中数据的个数。3.数据寄存器 在键扫描方式中,键输入数据格式如下:n CNTL(D7)控制键CNTL的状态。n SHIFT(D6)控制键SHIFT的状态。n D5D3指出输入键所在的行号(扫描计数值)。n D2D0指出输入键所在的列号(回送计数值)。D7D6D5D4D3D2D1D0CNTL SHIFTSL3SL0RL7RL0单片机中断与定时系统767 单片机I/O扩展及应用 控制键CNTL、SHIFT,为单独的开关键。CNTL与其它键连用作

55、特殊命令键,SHIFT可作为上下档控制键。在传感器扫描方式或选通输入方式中,输入数据即为RL07的输入状态。D7D6D5D4D3D2D1D0RL7RL6RL5RL4RL3RL2RL1RL0单片机中断与定时系统777.5.3 8279的接口应用1.8279与80C51兼容信号的连接2.地址信号连接和寄存器地址3.8279与键盘的连接和操作4.8279与显示器的连接和操作7 单片机I/O扩展及应用单片机中断与定时系统787 单片机I/O扩展及应用8279与80C51的连接20 F/16V列列 8 8线线 键盘键盘16位显示器位显示器3-8译码器译码器驱动器驱动器4-16译码器译码器驱驱动动器器IN

56、T1P0WRRDP2.7P2.0ALE80C51 D07WRRDCSA0CLKRESETSHIFTCNTL 8279IRQ OUTB03OUTA03RL07SL03BD24K+5VSL03SL02单片机中断与定时系统797.6 MCS-51单片机键盘接口技术7.6.1 单片机键盘和键盘接口概述7.6.2 单片机键盘接口和键功能的实现1.键盘接口处理的内容2.键盘接口的控制方式3.键处理子程序7.6.3 使用8155作单片机键盘接口1.接口电路逻辑图2.判定有无闭合键的子程序3.键盘扫描程序7 单片机I/O扩展及应用单片机中断与定时系统80用8155作键盘接口7 单片机I/O扩展及应用CEIO/

57、MWRRDALEAD70RESETP2.7P2.0WRRDALEP080C51 PA7PA6PA5PA4PA3PA2PA1PA0 PC0PC1PC2PC38155 8+5V+5V0 1 2 3 4 5 6 78 9 10 11 12 13 14 1516 17 18 19 20 21 22 2324 25 26 27 28 29 30 315.1k 4单片机中断与定时系统812.判定有无闭合键的子程序KS1:MOVDPTR,#0101HMOVA,#0MOVXDPTR,AINCDPTRINCDPTRMOVXA,DPTRCPLAANLA,#0FHRET7 单片机I/O扩展及应用单片机中断与定时系统

58、823.键盘扫描程序KEY1:ACALLKS1JNZLK1ACALLDIR;转显示程序AJMPKEY1LK1:ACALLDIRACALLDIR;延时去抖动ACALLKS1JNZLK2ACALLDIRAJMPKEY1LK2:MOVR2,#0FEHMOVR4,#0;列号LK4:MOVDPTR,#0101HMOVA,R2MOVXDPTR,AINCDPTRINCDPTR7 单片机I/O扩展及应用MOVX A,DPTRJBACC.0,LONEMOVA,#0AJMPLKPLONE:JBACC.1,LTWOMOVA,#8AJMPLKPLTWO:JBACC.2,LTHRMOVA,#16AJMPLKPLTHR:

59、JBACC.3,NEXTMOVA,#24LKP:ADDA,R4PUSHACCLK3:ACALL DIRACALL KS1JNZLK3;等键抬起POPACCRET单片机中断与定时系统83NEXT:INCR4MOVA,R2JNBACC.7,KNDRLAMOVR2,AAJMPLK4KND:AJMPKEY17 单片机I/O扩展及应用单片机中断与定时系统847.6.4 使用8279作单片机键盘接口1.接口电路逻辑图7 单片机I/O扩展及应用P0.7 P0.0INT1ALERDWRP2.7P2.0 80C51 DB7 DB0IRQCLKRD WRCSA0 8279CNTLSHIFT+5V1k 4SL0 S

60、L1 SL2 RL0RL1 RL2RL3RL4RL574LS156RESET单片机中断与定时系统8574LS156(Dual 2-Line to 4-Line Decoders)逻辑图7 单片机I/O扩展及应用单片机中断与定时系统862.汇编语言程序MASTER:MOVDPTR,#7FFFH MOVA,#2AHMOVXDPTR,AMOVA,#0DCHMOVXDPTR,AACALLDELAYMOVA,#10HMOVXDPTR,AMOVA,#80HMOVXDPTR,AMOVA,#73HMOVDPTR,#7EFFHMOVXDPTR,A;显示字符P7 单片机I/O扩展及应用MOVR0,#80HACAL

61、L RDKBDADDA,#0F3HJCORDER KEYAJMPDIGITAL KEYRDKBD:MOVA,R0JBACC.7,RDK10MOVR0,#80HCLREX1RETRDK10:SETBEASETBEX1AJMPRDKBD单片机中断与定时系统87ORG0013HINT:MOVDPTR,#7FFFHMOVA,#40HMOVXDPTR,AMOVDPTR,#7EFFHMOVXA,DPTRANLA,#3FHMOVR0,ARETI7 单片机I/O扩展及应用单片机中断与定时系统887 单片机I/O扩展及应用7.7 MCS-51单片机显示器接口技术7.7.1 LED显示器接口LEDLight Em

62、itting Diode1.LED显示原理字型字型共阳极代码共阳极代码共阴极代码共阴极代码字型字型共阳极代码共阳极代码共阴极代码共阴极代码0C0H3FH880H7FH1F9H06H990H6FH2A4H5BHA88H77H3B0H4FHb83H7CH499H66HCC6H39H592H6DHdA1H5EH682H7DHE86H79H7F8H07HF8EH71H单片机中断与定时系统897 单片机I/O扩展及应用LED显示器R 8abcdefgdpg f GND a be d GND c dpaefbgdcdp共阴极共阴极abcdefgdpR 8+5V共阳极共阳极单片机中断与定时系统902.用81

63、55作LED显示器接口7 单片机I/O扩展及应用74LS06PA0PA1PA2PA3PA4PA5PA6PA7 8155 PC5PC4PC3PC2PC1PC06路路反反相相驱驱动动8路路正正相相驱驱动动74LS244C5 C4 C3 C2 C1 C0 abcdefgdp单片机中断与定时系统9174LS244Octal Buffer/Line Driver with 3-State Outputs7 单片机I/O扩展及应用74LS06H=HIGH Voltage LevelL=LOW Voltage LevelX=ImmaterialZ=HIGH Impedance单片机中断与定时系统9274LS

64、06Hex Inverter Buffers/Drivers7 单片机I/O扩展及应用74LS06单片机中断与定时系统933.LED显示程序DIR:MOVR0,#79HMOVR3,#1MOVA,R3LD0:MOVDPTR,#0103HMOVXDPTR,AMOVDPTR,#101HMOVA,R0DIR0:ADDA,#0DHMOVCA,A+PCDIR1:MOVXDPTR,A;1BACALLDL;2B INCR0;1BMOVA,R3;1B7 单片机I/O扩展及应用JBACC.7,LD1;3BRLA;1BMOVR3,A;1BAJMPLD0;2BLD1:RET;1BDSEG:DB3FH,06HDB5BH

65、,4FHDB66H,6DHDB7DH,07HDB7FH,6FHDB77H,7CHDB39H,5EHDB79H,71H单片机中断与定时系统947.7.2 LCD显示器接口1.LCD显示器显示原理 LCDLiquid Crystal Display LCD七段显示器除了ag七个笔画之外,还有一个公共极COM。它可用静态方式驱动,也可用动态方式驱动。前者加直流信号,后者加交流信号。由于加直流信号将使LCD 的寿命减少,故通常采用动态驱动的方式。7 单片机I/O扩展及应用单片机中断与定时系统95 当加在笔画(ag)中某个电极上的方波和公共电极(COM)上的方波信号相位相同时,相对电压为零,则该笔画段不

66、显示;当加在某个笔画电极上的方波与公共电极上的方波信号相位相反时,则有幅值二倍于方波幅值的电压加在液晶上,该笔画被选中而显示。例:如果要显示字符“E”则应使 a、d、e、f、g 笔画段电极上的方波与 COM 电极上方波的相位相反,而b、c笔画电极上的方波与COM电极上方波的相位相同。一般控制方波的频率为25100Hz,并保证其为对称方波,从而使加在液晶极板上的交流电压平均值为零。否则有较大的直流分量,将使液晶材料迅速分解,这会大大缩短显示器的工作寿命。7 单片机I/O扩展及应用单片机中断与定时系统962.LCD显示器应用举例7 单片机I/O扩展及应用P1.0P1.1P1.2P1.380C51 P1.4P1.5P1.6P1.7ABCIBT 4514D STR +5V4047a g4056a g4056a g40564054S0S1S2S3 RCCOMdpdpdp单片机中断与定时系统974047单稳态/无稳态多谐振荡器(Monostable/Astable Multivibrator)7 单片机I/O扩展及应用单片机中断与定时系统9840544-Segment Display Driver

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!