单片机中断与定时系统.ppt

上传人:牧羊曲112 文档编号:5096567 上传时间:2023-06-03 格式:PPT 页数:134 大小:964KB
返回 下载 相关 举报
单片机中断与定时系统.ppt_第1页
第1页 / 共134页
单片机中断与定时系统.ppt_第2页
第2页 / 共134页
单片机中断与定时系统.ppt_第3页
第3页 / 共134页
单片机中断与定时系统.ppt_第4页
第4页 / 共134页
单片机中断与定时系统.ppt_第5页
第5页 / 共134页
点击查看更多>>
资源描述

《单片机中断与定时系统.ppt》由会员分享,可在线阅读,更多相关《单片机中断与定时系统.ppt(134页珍藏版)》请在三一办公上搜索。

1、1,6.1 MCS-51单片机的中断系统6.2 MCS-51单片机的定时器/计数器6.3 MCS-51单片机外部中断源的扩展6.4 定时器/计数器与中断综合应用举例,6 单片机中断与定时系统,2,6 单片机中断与定时系统,6.1 MCS-51单片机的中断系统 单片机中断技术概述 中断源1.外部中断源(P3.2)和(P3.3)2.定时器中断源T0和T13.串行口中断源,3,6 单片机中断与定时系统,中断控制1.定时器控制寄存器(TCONTimer/Counter Control Register)(1)IE0和IE1外中断请求标志位(硬件置1或清0)(2)IT0和IT1外中断请求触发方式控制位(

2、软件置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),4,6 单片机中断与定时系统,2.串行口控制寄存器(SCONSerial Port Control Register)(1)SM0、SM1、SM2Serial Port Mode Bits(2)REN允许串行接收位Receiver Enable(软件置1或清0)(3)TB8Transmit bit 8.Ninth bit tran

3、smitted(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 at end of character transmission;cleared by software.(6)RI接收中断标志位Receive interrupt flag.Set at end

4、of character reception;cleared by software.,5,6 单片机中断与定时系统,3.中断允许控制寄存器(IEInterrupt Enable Register)(1)EA中断允许总控制位(2)EX0和EX1外部中断允许控制位(3)ET0和ET1定时/计数中断允许控制位(4)ES串行中断允许控制位,6,6 单片机中断与定时系统,4.中断优先级控制寄存器(IPInterrupt Priority Register)(1)PX0外部中断0优先级设定位(2)PT0定时中断0优先级设定位(3)PX1外部中断1优先级设定位(4)PT1定时中断1优先级设定位(5)PS串

5、行中断优先级设定位,7,6 单片机中断与定时系统,5.中断优先级控制原则和控制逻辑 中断嵌套高优先级可以中断低优先级 同级不能嵌套 同级中断同时请求,查询次序为:外部中断0定时中断0外部中断1定时中断1串行中断6.中断初始化与中断控制寄存器状态设置MOV IE,#81H;开放外部中断0或SETB EASETB EX0,8,6 单片机中断与定时系统,MCS-51的中断系统,1,高级,低级,内部查询,内部查询,入口地址,入口地址,INT0,INT1,T0,T1,TI,RI,中断请求标志,中断允许控制,中断优先级,EA,中断源,9,6 单片机中断与定时系统,中断响应过程1.中断采样在每个机器周期的S

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

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

8、自动清TF0和TF1)2.脉冲方式外部中断请求的撤销自动撤销(硬件自动清IE0和IE1;脉冲信号消失)3.电平方式外部中断请求的撤销硬件自动清IE0和IE1,但低电平中断请求信号需强制变为高电平。4.串行中断请求的撤销软件撤销(CLR TI,CLR RI),13,6 单片机中断与定时系统,ORL P1,#01HANL P1,#0FEH,P1.0,Q,外部中断请求信号,1,INT0,80C51,D,CP,SD,电平方式外部中断请求的撤销电路,14,6 单片机中断与定时系统,中断服务流程1.现场保护和现场恢复(PUSH direct、POP direct)2.关中断和开中断(CLR、SETB)3.

9、中断处理4.中断返回(RETI)MCS-51的单步工作方式外部中断0的中断服务程序:JNBP3.2,$JBP3.2,$RETI,15,6.2 MCS-51单片机的定时器/计数器 定时方法概述1.软件定时2.硬件定时3.可编程定时器定时 定时器/计数器的定时和计数功能1.计数功能2.定时功能,6 单片机中断与定时系统,16,6 单片机中断与定时系统,定时器/计数器的控制寄存器1.定时器/计数器控制寄存器(TCONTimer/Counter Control Register),17,6 单片机中断与定时系统,2.定时器/计数器方式控制寄存器(TMODTimer/Counter Mode Contr

10、ol Register),6 单片机中断与定时系统,定时工作方式01.电路逻辑结构,18,19,6 单片机中断与定时系统,2.定时和计数应用 设晶振频率fosc=6MHz,方式0的最长定时时间为:(2130)2us=214us=16384us=16.384ms例 6.1 设晶振频率fosc=6MHz,使用定时器1以方式0产生周期为500s的方波脉冲,并由P1.0 输出。以查询方式实现。,20,6 单片机中断与定时系统,例 6.1程序如下:org0movtmod,#0movth1,#0fchmovtl1,#3movie,#0,setbtr1loop:jbctf1,loop1ajmplooploo

11、p1:movth1,#0fchmovtl1,#3cplp1.0ajmploopend,21,6 单片机中断与定时系统,定时工作方式1,22,6 单片机中断与定时系统,设晶振频率fosc=6MHz,方式1的最长定时时间为:(2160)2us=217us=131.072ms例 6.2 设晶振频率fosc=6MHz,使用定时器1以方式1产生周期为500s的方波脉冲,并由P1.0 输出。以中断方式实现。,23,6 单片机中断与定时系统,例 6.2程序如下:org0ljmpmainorg001bhljmpintt1main:movtmod,#10hmovth1,#0ffhmovtl1,#83hsetbe

12、asetbet1setbtr1sjmp$,intt1:movth1,#0ffhmovtl1,#83hcplp1.0retiend,6 单片机中断与定时系统,定时工作方式21.电路逻辑结构,24,25,6 单片机中断与定时系统,设晶振频率fosc=6MHz,方式2的最长定时时间为:(280)2us=29us=0.512ms例 6.3 设晶振频率fosc=6MHz,使用定时器0以方式2产生周期为200s的方波脉冲,并由P1.0 输出。分别以查询和中断方式实现。,26,6 单片机中断与定时系统,例 6.3程序如下:查询方式:org0movtmod,#2movth0,#0cehmovtl0,#0ceh

13、movie,#0setbtr0loop:jbctf0,loop1ajmplooploop1:cplp1.0ajmploopend,中断方式:org0ljmpmainorg000bhcplp1.0retimain:movtmod,#2movth0,#0cehmovtl0,#0cehsetbeasetbet0setbtr0sjmp$end,27,6 单片机中断与定时系统,例 6.4 设晶振频率fosc=6MHz,使用定时器1以方式2实现计数,每计数100次累加器加1。org0movtmod,#60hmovth1,#9chmovtl1,#9chmovie,#0setbtr1loop:jbctf1,l

14、oop1ajmplooploop1:incaajmploopend,6 单片机中断与定时系统,定时工作方式3,28,方式32个8位方式,29,6 单片机中断与定时系统,只有T0可以工作在方式3此时T0分成2个独立的计数器TL0和TH0,前者用原来T0的控制信号(TR0、TF0),后者用原来T1的控制信号(TR1、TF1)。T1处于方式3时相当于TR1=0,停止计数。,30,6.3 MCS-51单片机外部中断源的扩展 通过OC门线或实现ORG0013HINTER:JBP1.0,LOOP1JBP1.1,LOOP2JBP1.n,LOOPnINTEND:RETILOOP1:AJMPINTEND,6 单

15、片机中断与定时系统,31,通过自身的定时器/计数器实现 在计数方式下,如果把计数器预置为全1,则只要在计数输入端(T0或T1输入端)加一脉冲就可以使计数器溢出,产生溢出中断。这就是定时器/计数器实现外部中断扩展的思想。具体方法是:(1)置定时器/计数器为工作方式2,即自动加载式8位计数,以便在一次中断响应后,自动为下一次中断作准备;(2)TH和TL均置为FFH;(3)扩展的外部中断请求信号接计数脉冲输入端(T0或T1);(4)把扩展的外中断服务程序存放在所占用的定时器/计数器中断入口地址处(000BH或001BH)。,6 单片机中断与定时系统,32,例如用定时器/计数器0扩展一个外部中断,其初

16、始化程序段如下:MOVTMOD,#06HMOVTH0,#0FFHMOVTL0,#0FFHSETBEASETBET0SETBTR0,6 单片机中断与定时系统,33,6.4 定时器/计数器与中断综合应用举例时钟程序org0start:ajmpmainorg000bhajmppitomain:movsp,#60hmovr0,#79hmovr7,#6ml1:movr0,#0incr0djnzr7,ml1,6 单片机中断与定时系统,movtmod,#1movtl0,#0dchmovth0,#0bhsetbtr0setbeasetbet0mov30h,#8;ml0:lcallsmxs;sjmpml0sjm

17、p$,34,pito:pushpswpushaccsetbpsw.3movtl0,#0dchmovth0,#0bhdjnz30h,ret0mov30h,#8movr0,#7ahacalldaad1mova,r2xrla,#60hjnzret0acallclr0,6 单片机中断与定时系统,movr0,#7chacalldaad1mova,r2xrla,#60hjnzret0acallclr0movr0,#7ehacalldaad1mova,r2xrla,#24hjnzret0acallclr0ret0:popaccpoppswreti,35,daad1:mova,r0decr0swapaorla

18、,r0adda,#1daamovr2,aanla,#0fhmovr0,amova,r2incr0anla,#0f0hswapamovr0,aret,6 单片机中断与定时系统,clr0:clramovr0,adecr0movr0,aretend,36,7.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扩展及应用

19、,37,7.1 单片机为什么需要I/O扩展 I/O口的直接使用1.数据的无条件传送,7 单片机I/O扩展及应用,ORG0200HEXTR:MOVA,#0FHMOVP1,AMOVA,P1CPLAANLA,#0FHSWAPAMOVP1,ARETEND,38,2.中断方式的数据传送,7 单片机I/O扩展及应用,ORG0000HSTART:AJMPMAINORG0003HAJMPEXTRORG0030HMAIN:SETBIT0SETBEX0 SETBEA SJMP$ORG0200HEXTR:MOVA,#0FHMOVP1,AMOVA,P1CPLAANLA,#0FHSWAPAMOVP1,ARETIEND,

20、39,为什么要扩展I/O接口1.单片机本身接口功能有限2.单片机控制应用中的复杂接口要求(1)速度差异大(2)设备种类繁多(3)数据信号形式多种多样3.扩展I/O接口电路的功能(1)速度协调(2)输出数据锁存(3)输入数据三态缓冲(4)数据转换,7 单片机I/O扩展及应用,40,I/O扩展的相关技术1.接口与端口2.数据总线隔离技术3.单片机I/O编址技术(1)独立编址方式(2)统一编址方式 单片机I/O控制方式1.无条件传送方式2.查询方式3.中断方式,7 单片机I/O扩展及应用,41,7.2 单片机简单I/O扩展 简单输入口扩展1.两个输入口扩展 简单输入口扩展使用中小规模集成电路芯片,比

21、较典型的有74LS244芯片。,7 单片机I/O扩展及应用,42,2.多输入口扩展 使用多片74LS244实现多个(例如5个)输入口扩展。3.应用举例 一个拨盘可产生一个BCD码形式的十进制数(4位)。现有A、B、C、D 4个拨盘,要求把它们产生的BCD码依次输入到R4(B、A)和R5(C、D)中去。MOVDPTR,#7FFFHMOVXA,DPTRMOVR4,AMOVDPTR,#0BFFFHMOVXA,DPTRMOVR5,A,7 单片机I/O扩展及应用,43,简单输出口扩展1.简单输出口扩展使用的典型芯片74LS3772.输出口扩展连接,7 单片机I/O扩展及应用,44,7.3 8255A可编

22、程通用并行接口芯片 可编程I/O接口扩展概述 8255A可编程通用并行接口 8155带RAM和定时器/计数器的可编程并行接口 8259可编程中断控制器 8279可编程键盘/显示器接口 8253可编程通用定时器 8255A的逻辑结构和信号引脚 8255A的工作方式及数据I/O操作 8255A控制字及初始化编程,7 单片机I/O扩展及应用,45,7 单片机I/O扩展及应用,7.4 8155带RAM和定时器/计数器的可编程并行接口芯片 8155基本结构及工作方式,46,7 单片机I/O扩展及应用,1.主要接口信号AD7AD0地址数据复用线。ALE地址锁存信号。除了进行AD7AD0的地址锁存控制外,还

23、用于把片选信号 和 等信号进行锁存。读选通信号。写选通信号。片选信号。I/O与RAM的选择信号。RESET复位信号。复位后A口、B口和C口均为数据输入方式。2.I/O及其工作方式A口该口作输入还是输出,由软件决定。B口该口作输入还是输出,由软件决定。C口该口除可作输入、输出口外,还可作为控制口,传送控制和状态信号,因此C口共有四种工作方式,即:输入方式(ALT1),输出方式(ALT2),A口控制端口方式(ALT3)以及A口 和B口控制端口方式(ALT4)。其工作方式由软件决定。,47,7 单片机I/O扩展及应用,3.RAM单元及I/O口编址,48,7 单片机I/O扩展及应用,8155与MCS-

24、51单片机的连接1.用或非门产生 信号2.以高位地址直接作为 信号,49,7 单片机I/O扩展及应用,8155的命令/状态寄存器1.命令字,50,7 单片机I/O扩展及应用,2.状态字,51,7 单片机I/O扩展及应用,8155的定时器/计数器1.定时器/计数器的计数结构 8155的定时器/计数器是一个14位的减法计数器,由两个8位寄存器构成,以其中的低14位组成计数器,剩下的两个高位(M2,M1)用于定义计数器输出的信号形式。,输出方式,计数器高6位,计数器低8位,52,7 单片机I/O扩展及应用,2.定时器/计数器的使用 8155的定时器/计数器是减法计数,而MCS-51单片机的定时器/计

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

26、外部输出一个信号(TIMER OUT)。而且这一信号还有脉冲和方波两种形式,可由用户进行选择。具体(M2,M1)两位定义。,53,7 单片机I/O扩展及应用,M2M1=00 单个方波M2M1=01 连续方波M2M1=10 单个脉冲M2M1=11 连续脉冲这四种输出形式如下图所示。,54,7 单片机I/O扩展及应用,3.定时器/计数器的控制 8155定时器/计数器的工作方式由命令字中的最高两位进行控制。具体说明如下:D7D6=00 不影响计数器工作。D7D6=01 停止计数。如计数器未启动则无操作,如计数器正运行则停止计数。D7D6=10 达到计数值(计数器减为0)后停止。D7D6=11 启动,

27、如果计数器没运行,则在装入计数值后开始计数;如果计数器已运行,则在当前计数值计满后,再以新的计数值进行计数。,55,7 单片机I/O扩展及应用,8155初始化 要求使用8155定时器/计数器对计数脉冲进行千分频,即计数1000后,TIAMER OUT端电平状态发生变化,并重新置数以产生连续方波。此外假定A口为输入方式,B口为输出方式,C口为输入方式,禁止中断。请编写初始化程序。解:要求输出连续方波,所以定时器/计数器的最高两位M2M1=01。计数器的其它14位装入计数初值。8155为减法计数,所以计数初值为1000,化为16进制数为03E8H。则定时器/计数器的高8位为:43H,低8位为:0E

28、8H。命令字为0C2H。,56,7 单片机I/O扩展及应用,初始化程序如下:MOVDPTR,#0FD00HMOVA,#0C2HMOVDPTR,AMOVDPTR,#0FD04HMOVA,#0E8HMOVDPTR,AINCDPTRMOVA,#43HMOVDPTR,A,57,7.5 8279可编程键盘/显示器接口芯片 8279是Intel公司生产的通用可编程键盘和显示器I/O接口器件。由于它本身可提供扫描信号,因而可代替微处理器完成键盘和显示器的控制,从而减轻了主机的负担。,7 单片机I/O扩展及应用,58,8279的电路逻辑和信号引脚1.8279的电路逻辑(1)I/O控制和数据缓冲器 双向的三态数

29、据缓冲器将内部总线和外部总线DB07相连,用于传送CPU和8279之间的命令、数据和状态。(2)控制逻辑 控制与定时寄存器用以存储键盘及显示器的工作方式,锁存操作命令,通过译码产生相应的控制信号,使8279 的各个部件完成一定的控制功能。定时控制含有一些计数器,其中有一个可编程的5位计数器,对外部输入时钟信号进行分频,产生100kHz 的内部定时信号。外部时钟输入信号周期不小于500ns。,7 单片机I/O扩展及应用,59,(3)扫描计数器 扫描计数器有两种输出方式。一种为外部译码方式(也称编码方式),计数器以二进制方式计数,4位计数状态从扫描线SL0SL3输出,经外部译码器译码出l6 位扫描

30、线;另一种为内部译码方式(也称译码方式),即扫描计数器的低2位经内部译码器后从SL0SL3输出。(4)键输入控制 这个部件完成对键盘的自动扫描,锁存RL0RL7的键输入信息,搜索闭合键,去除键的抖动,并将键输入数据写入内部先进先出(FIFO)的RAM 存储器。(5)FIFO/传感器RAM 和显示RAM 8279具有8个先进先出的键输入缓冲器,并提供16个字节的显示数据缓冲器。CPU将段数据写入显示缓冲器,8279自动对显示器扫描,将其内部显示缓冲器中的数据在显示器上显示出来。,7 单片机I/O扩展及应用,60,7 单片机I/O扩展及应用,8279逻辑框图,61,7 单片机I/O扩展及应用,82

31、79引脚图,62,2.8279芯片的信号引脚 DB07双向外部数据总线。用于传送8279与CPU 之间的命令、数据和状态。可直接与MCS-51系列芯片连接。/CS选片信号。当/CS为低电平时,CPU才选中8279 芯片,并对其进行操作。A0区分信息的特性位。当A0为1时,CPU写入8279的信息为命令,CPU从8279读出的信息为8279的状态。当A0为0时,I/O信息均为数据。/RD、/WR是读、写选通信号,低电平有效。IRQ中断请求输出线。高电平有效。在键盘工作方式下,当FIFO/传感器RAM中有数据时,此中断请求线变高电平。在FIFO/传感器RAM 每次读出时,中断请求线就下降为低电平,

32、若在RAM中还有信息,则此线又重新变为高电平。在传感器工作方式中,每当传感器信号变化时,中断请求线就变为高电平。,7 单片机I/O扩展及应用,63,RL0RL7反馈输入线,作为键输入线,由内部拉高电阻拉成高电平,也可由键盘上按键拉成低电平。SL03扫描输出线,用于对键盘显示器扫描。OUTA03,OUTB03显示段数据输出线,可分别作为两个半字节输出,也可作为8位段数据输出口,此时OUTB0为最低位,OUTA3 为最高位。/BD消隐输出线,低电平有效,当显示器切换时或使用显示消隐命令时,将显示消隐。RESET复位输入线,高电平有效。当RESET输入端出现高电平时,8279被复位,复位后8279被

33、设置为:16个8 位字符显示为左端输入;编码的扫描键为两键连锁;程序时钟前置分频器被置为31H。SHIFT、CNTL/控制键输入线,由内部拉高电阻拉成高电平,也可由外部控制按键拉成低电平,SHIFT为换档,CNTL为控制,为选通。,7 单片机I/O扩展及应用,64,CLK外时钟输入端,CLK信号由外部振荡器提供。需说明的一点是:CLK是系统来的外时钟,8279靠设置定时器将外部时钟变为内时钟。其内时钟频率外时钟/定时值。内部时钟控制着扫描时间和键盘去抖动时间的长短。若8279内部时钟为100kHz,则扫描时间为5.1ms,去抖动时间为10.3ms。,7 单片机I/O扩展及应用,65,7 单片机

34、I/O扩展及应用,8279的寄存器1.命令寄存器(1)键盘/显示器方式设置命令 其中:D7D6D0=000是方式设置命令的特征位。DD(D4D3)为显示器方式选择位,其定义如下:所谓左入口,即显示位置从最左一位(最高位)开始,以后逐次输入的显示字符逐个向右顺序排列,所谓右入口,则是显示位置从最右一位(最低位)开始,以后逐次输入显示字符时,已有的显示字符依次向左移动。,66,7 单片机I/O扩展及应用,KKK(D2D1D0)为键盘工作方式选择位,其定义如下:双键锁定与N 键轮回是多键按下时的两种不同的保护方式。双键锁定为两键同时按下提供的保持方法。在消颤周期里,如果有两键同时被按下,则只有其中一

35、个键弹起,而另一个键保持在按下位置时,才被认可。N键轮回为N键同时按下的保护方法。当有若干键按下时,键盘扫描能够根据发现它们的顺序,依次将它们的状态送入FIFO RAM 中。,67,7 单片机I/O扩展及应用,(2)内部时钟设置命令 8279 的内部定时信号是由外部输入时钟经过分频后产生的,分频系数由内部时钟设置命令确定。其中:D7D6D5=001为时钟编程命令的特征位,PPPPP(D4D0)用来设定对外部输入CLK 端的时钟进行分频的分频数N。N 取值为231。例如,外部时钟频率为2MHz,PPPPP被置为10100B(N=20),则对外部输入时钟20 分频,以获得8279内部要求的100k

36、Hz的基本频率。(3)读FIFO/传感器RAM 命令,68,7 单片机I/O扩展及应用,其中:D7D6D5=010为读FIFO/传感器RAM 命令的特征位。AAA(D2D0)为传感器RAM 中的8个字节地址。AI(D4)为自动增量特征。当AI=l时,每次读出传感器RAM 后地址自动加1 使地址指针指向下一个存储单元。这样,下一个数据便从下一个地址读出,而不必重新设置读FIFO/传感器RAM命令。AI=0时仅读出一个单元内容。在键盘工作方式中,由于读出操作严格按照先入先出顺序,因此,不需使用这条命令。(4)读显示RAM命令 在CPU读显示数据(用于检查)之前必须先输出读显示缓冲器RAM的命令。其

37、中:D7D6D5=011是该命令字的特征位。AAAA(D3D2D1D0)用来寻址显示RAM中的存储单元。由于显示RAM中有16个节单元故需要4位地址。AI(D4)为自动增量特征位。AI=1时,每次读出后地址自动加1,指向下一地址。,69,7 单片机I/O扩展及应用,(5)写显示数据命令 在CPU将显示数据写入8279 的显示缓冲器RAM之前必须先输出写显示数据缓冲器的命令。其中:D7D6D5=100为写显示RAM命令宇特征位。AAAA(D3D2D1D0)为将要写入的显示RAM中的存储单元地址。AI(D4)为自动增量特征位。AI=1时,每次写入后地址自动加1,指向下一地址。,70,7 单片机I/

38、O扩展及应用,(6)显示禁止写入/消隐命令(Display write inhibit/Blank)其中:D7D6D5=101为显示禁止写入/消隐命令特征位。IWA、IWB(D3D2)为A、B组显示RAM写入屏蔽位。由于显示寄存器分成A、B两组,可以单独送数,故用两位来分别屏蔽。当A组的屏蔽位D3=1时,A 组的显示RAM禁止入。因此,从CPU写入显示器RAM数据时,不会影响A的显示。这种情况通常在采用双4位显示器时使用。因为两个4位显示器是相互独立的。为了给其中一个4位显示器输入数据又不影响另一个4位显示器,因此必须对另一组的输入实行屏蔽。BLA、BLB(D3D2)为消隐设置位。用于对两组显

39、示输出消隐。若BL=1,对应组的显示输出被消隐;当BL=0,则恢复显示。,71,7 单片机I/O扩展及应用,(7)清除命令 CPU将清除命令写入8279,使显示缓冲器清成初态(暗码),同时也能清除键输入标志和中断请求标志。其中:D7D6D5=110为清除命令特征位。CDCDCD(D4D3D2)用来设定清除显示RAM方式。共有四种消除方式。CF(D1)用来置空FIFO存储器,当CF=1时,执行清除命令后,FIFORAM 被置空,使中断输出线IRQ复位。同时,传感器RAM读出地址也被置为0。CA(D0)为总清的特征位。它兼有CD和CF的联合效能。在CF=1时,对显示的清除方式由D3、D2 的编码决

40、定。清除显示RAM大约需100S时间,在此期间,CPU 不能向显示RAM 写入数据。,72,7 单片机I/O扩展及应用,(8)结束中断/错误方式设置命令 其中:D7D6D5=111为结束中断/错误方式设置命令的特征位。此命令有两种不同的作用。作为结束中断命令。在传感器工作方式中使用。每当传感器状态出现变化时,扫描检测电路就将其状态写入传感器RAM,并启动中断逻辑,使IRQ变高,向CPU请求中断,并且禁止写入传感器RAM。此时,若传感器RAM读出地址的自动递增特征没有置位(AI=0),则中断请求IRQ在CPU第一次从传感器RAM读出数据时就被清除。若自动递增特征已置位(AI=0),则CPU对传感

41、器RAM的读出并不能清除IRQ,而必须通过给8279写入结束中断/错误方式设置命令才能使IRQ变低。因此,在传感器工作方式中,此命令用来结束传感器RAM的中断请求。,73,7 单片机I/O扩展及应用,作为特定错误方式设置命令。在8279已被设定为键盘扫描N键轮回方式以后,如果CPU给8279又写入结束中断/错误方式设置命令(D4=1),则8279将以一种特定的错误方式工作。这种方式的特点是:在8279的消颤周期内,如果发现多个按键同时按下,则FIFO状态宇中的错误特征位S/E将置1,并产生中断请求信号和阻止写入FIFO RAM。上述8种用于确定8279操作方式的命令字皆由D7D6D5 特征位确

42、定,输出到8279后能自动寻址相应的命令寄存器。因此,写入命令时唯一的要求是使数据选择信号A0=1。,74,7 单片机I/O扩展及应用,2.状态寄存器 8279的状态字节用于键输入和选通输入方式中,指出输入数据缓冲器FIFO中的字符个数和是否出错。状态字节的格式如下:DU(D7 Display Unavailable)在清除命令执行期间该位为“1”,D7为1时对显示RAM写操作无效。S/E(D6 Sensor/Errorflag)为传感器信号结束/错误特征位。该特征位在读出FIFO态状字时被读出。而在执行CF=1的清除命令时被复位。当8279工作在传感器工作方式时,若S/E=1,表示传感器的最

43、后一个信号已进入传感器RAM;而当8279工作在特殊错误方式时,若S/E=1则表示出现了多键同时按下的错误。O(D5 Overrun)当FIFO已满,又输入一个字符时发生溢出置“1”O位。,75,7 单片机I/O扩展及应用,U(D4 Underrun)在FIFO RAM中没有输入字符时,CFU对FIFO RAM 读,则置“1”U 位。F(D3 FIFO Full)在F=1时,表示FIFO RAM已满(8个键入数据)。NNN(D2D1D0 Number of characters in FIFO)表示FIFORAM中数据的个数。3.数据寄存器 在键扫描方式中,键输入数据格式如下:CNTL(D7)

44、控制键CNTL的状态。SHIFT(D6)控制键SHIFT的状态。D5D3指出输入键所在的行号(扫描计数值)。D2D0指出输入键所在的列号(回送计数值)。,76,7 单片机I/O扩展及应用,控制键CNTL、SHIFT,为单独的开关键。CNTL与其它键连用作特殊命令键,SHIFT可作为上下档控制键。在传感器扫描方式或选通输入方式中,输入数据即为RL07的输入状态。,77,8279的接口应用1.8279与80C51兼容信号的连接2.地址信号连接和寄存器地址3.8279与键盘的连接和操作4.8279与显示器的连接和操作,7 单片机I/O扩展及应用,78,7 单片机I/O扩展及应用,8279与80C51

45、的连接,79,7.6 MCS-51单片机键盘接口技术 单片机键盘和键盘接口概述 单片机键盘接口和键功能的实现1.键盘接口处理的内容2.键盘接口的控制方式3.键处理子程序 使用8155作单片机键盘接口1.接口电路逻辑图2.判定有无闭合键的子程序3.键盘扫描程序,7 单片机I/O扩展及应用,80,用8155作键盘接口,7 单片机I/O扩展及应用,CEIO/MWRRDALEAD70RESET,P2.7P2.0WRRDALEP080C51,PA7PA6PA5PA4PA3PA2PA1PA0 PC0PC1PC2PC38155,8,+5V,0 1 2 3 4 5 6 7,8 9 10 11 12 13 14

46、 15,16 17 18 19 20 21 22 23,24 25 26 27 28 29 30 31,5.1k4,81,2.判定有无闭合键的子程序KS1:MOVDPTR,#0101HMOVA,#0MOVXDPTR,AINCDPTRINCDPTRMOVXA,DPTRCPLAANLA,#0FHRET,7 单片机I/O扩展及应用,82,3.键盘扫描程序KEY1:ACALLKS1JNZLK1ACALLDIR;转显示程序AJMPKEY1LK1:ACALLDIRACALLDIR;延时去抖动ACALLKS1JNZLK2ACALLDIRAJMPKEY1LK2:MOVR2,#0FEHMOVR4,#0;列号LK

47、4:MOVDPTR,#0101HMOVA,R2MOVXDPTR,AINCDPTRINCDPTR,7 单片机I/O扩展及应用,MOVXA,DPTRJBACC.0,LONEMOVA,#0AJMPLKPLONE:JBACC.1,LTWOMOVA,#8AJMPLKPLTWO:JBACC.2,LTHRMOVA,#16AJMPLKPLTHR:JBACC.3,NEXTMOVA,#24LKP:ADDA,R4PUSHACCLK3:ACALLDIRACALLKS1JNZLK3;等键抬起POPACCRET,83,NEXT:INCR4MOVA,R2JNBACC.7,KNDRLAMOVR2,AAJMPLK4KND:AJ

48、MPKEY1,7 单片机I/O扩展及应用,84,使用8279作单片机键盘接口1.接口电路逻辑图,7 单片机I/O扩展及应用,85,74LS156(Dual 2-Line to 4-Line Decoders)逻辑图,7 单片机I/O扩展及应用,86,2.汇编语言程序MASTER:MOVDPTR,#7FFFH MOVA,#2AHMOVXDPTR,AMOVA,#0DCHMOVXDPTR,AACALLDELAYMOVA,#10HMOVXDPTR,AMOVA,#80HMOVXDPTR,AMOVA,#73HMOVDPTR,#7EFFHMOVXDPTR,A;显示字符P,7 单片机I/O扩展及应用,MOVR

49、0,#80HACALLRDKBDADDA,#0F3HJCORDER KEYAJMPDIGITAL KEYRDKBD:MOVA,R0JBACC.7,RDK10MOVR0,#80HCLREX1RETRDK10:SETBEASETBEX1AJMPRDKBD,87,ORG0013HINT:MOVDPTR,#7FFFHMOVA,#40HMOVXDPTR,AMOVDPTR,#7EFFHMOVXA,DPTRANLA,#3FHMOVR0,ARETI,7 单片机I/O扩展及应用,88,7 单片机I/O扩展及应用,7.7 MCS-51单片机显示器接口技术 LED显示器接口LEDLight Emitting Dio

50、de1.LED显示原理,89,7 单片机I/O扩展及应用,LED显示器,共阴极,90,2.用8155作LED显示器接口,7 单片机I/O扩展及应用,74LS06,91,74LS244Octal Buffer/Line Driver with 3-State Outputs,7 单片机I/O扩展及应用,74LS06,H=HIGH Voltage LevelL=LOW Voltage LevelX=ImmaterialZ=HIGH Impedance,92,74LS06Hex Inverter Buffers/Drivers,7 单片机I/O扩展及应用,74LS06,93,3.LED显示程序DIR

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号