收藏 分享(赏)

键盘和led显示实例.ppt

上传人:无敌 文档编号:970712 上传时间:2018-05-10 格式:PPT 页数:118 大小:1.22MB
下载 相关 举报
键盘和led显示实例.ppt_第1页
第1页 / 共118页
键盘和led显示实例.ppt_第2页
第2页 / 共118页
键盘和led显示实例.ppt_第3页
第3页 / 共118页
键盘和led显示实例.ppt_第4页
第4页 / 共118页
键盘和led显示实例.ppt_第5页
第5页 / 共118页
点击查看更多>>
资源描述

1、第三节、键盘/显示器接口实例,一、利用8155芯片实现键盘/显示器接口二、利用8051的串行口实现键盘/显示器接口三、利用8279专用键盘/显示器接口芯片实现键盘/显示器接口,四、利用7289芯片实现键盘/显示器接口,一、利用8155芯片实现键盘/显示器接口,1.接口电路,一、利用8155芯片实现键盘/显示器接口,1.接口电路,8031外扩一片8155,8155的RAM地址为7E007EFFH,I/O口地址为7F00H7F05H。 8155的PA口为输出口,控制键盘的列线的电位,同时又是6位显示器的扫描口。PB口作为显示器的段数据口,8155的PC口作为键输入口,PC0PC3接4根行线。 图中

2、75452为反相驱动器,7407为同相驱动器。,一、利用8155芯片实现键盘/显示器接口,2.接口程序设计,对于图中的6位显示器,在8031内部RAM中设置6个显示缓冲单元79H7EH,分别存放显示器的6位字符代码,显示时先通过软件转换为段码。 8155的PA口输出位选择信号,8155H的PB口输出相应位的段数据。,8155芯片实现键盘/显示器接口程序,显示子程序清单:,DIR: MOV DPTR,#7F00H ;8155初始化 MOV A,#03H MOVX DPTR,A MOV R0,#79H ;置缓冲器指针初值 MOV R3,#01H ;扫描位初值 LD0: MOV DPTR,#7F02

3、H ;关显示 MOV A,#00H MOVX DPTR,A MOV DPTR,#7F01H ;扫描模式8155PA口 MOV A,R3,8155芯片实现键盘/显示器接口程序,MOVX DPTR,A INC DPTR MOV A,R0 ;取显示数据 ADD A,#17H ;加偏移量 MOVC A,A+PC ;查表取段数据DIR1: MOVX DPTR,A ;段数据8155PB口 ACALL DL1 ;延时1ms INC R0 MOV A,R3 JB ACC.5,LD1 ;6位都显示完? RL A ;未完,准备显示下一位 MOV R3,A,8155芯片实现键盘/显示器接口程序,AJMP LD0LD

4、1 : RETDL1 : MOV R7,#02H ;延时子程序DL : MOV R6,#0FFHDL6 : DJNZ R6,DL6 DJNZ R7,DL RETDSEG: DB 3FH,06H, ;段数据表,一、利用8155芯片实现键盘/显示器接口,2.接口程序设计,键输入子程序,先调用KS1子程序,判断有无键闭合。若有键闭合,则进一步分析此按键在哪一行、哪一列,并进而获得键读数。程序中多处调用显示子程序,是为了使显示器保持稳定显示,有时还起到延时的作用。,8155芯片实现键盘/显示器接口程序,键输入子程序清单:,KEY1:ACALL KS1 ;调用判有无键闭合子程序 JNZ LK1 ;有键闭

5、合,转 NI: ACALL DIR ;无键,调用显示子程序延迟6ms AJMP KND ;无键返回 LK1: ACALL DIR ;延迟12ms ACALL DIR ACALL KS1 ;调用判有无键闭合子程序 JNZ LK2 ;有键闭合 ACALL DIR ;无键,调用显示子程序延迟6ms AJMP KND ;返回,8155芯片实现键盘/显示器接口程序,LK2: MOV R2,#0FEH ;扫描模式R2 MOV R4,#00H ;列计数器置初值LK4: MOV DPTR,#7F01H ;扫描模式8155PA口 MOV A,R2 MOVX DPTR,A INC DPTR INC DPTR MO

6、VX A,DPTR ;读8155PC口 JB ACC.0,LONE ;0行无键,转判1行 MOV A,#00H ;0行有键闭合, 首键号0A AJMP LKP,8155芯片实现键盘/显示器接口程序,LONE: JB ACC.1,LTWO ;1行无键,转判2行 MOV A,#08H ;1行有键闭合,首键号8A AJMP LKPLTWO: JB ACC.2,LTHR ;2行无键,转判3行 MOV A,#10H ;2行有键闭合, 首键号10H A AJMP LKPLTHR: JB ACC.3,NEXT ;转判下一列 MOV A,#18H ;3行有键闭合, 首键号18H ALKP: ADD A,R4

7、PUSH A ;键号进栈保护,8155芯片实现键盘/显示器接口程序,LK3: ACALL DIR ;判键释放否 ACALL KS1 JNZ LK3 POP A ;键号A RETNEXT: INC R4 ;列计数器加1 MOV A,R2 ;判是否已扫描到最后一列 JNB ACC.7,KND ;是,无键入再查 RL A ;未到最后列,扫描模式左移一位 MOV R2,A AJMP LK4,8155芯片实现键盘/显示器接口程序,KND: MOV A , #0FFH ;无键,置A为全1,返回 RETKS1 : MOV DPTR,#7F01H ;全“0”扫描口 MOV A,#00H MOVX DPTR,A

8、 INC DPTR INC DPTR MOVX A,DPTR ;读入键状态 CPL A ANL A,#0FH ;屏蔽高位 RET,二、利用8051的串行口实现键盘/显示器接口,应用8051的串行口方式0输出,在串行口外接74LS164移位寄存器,构成键盘/显示器接口,其硬件接口电路如下图所示:,二、利用8051的串行口实现键盘/显示器接口,二、利用8051的串行口实现键盘/显示器接口,图中下边的8个74LS164作为8位七段显示器的静态显示口,上边的74LS164作为键扫描输出口,8051的P3.4、P3.5作为键输入线,P3.3作为同步脉冲输出控制线。 这种静态显示方式显示亮度高、不闪烁。C

9、PU不必频繁地为显示服务,软件设计比较简单,从而使单片机有更多的时间处理其它事务。 下面分别列出显示子程序和键盘扫描子程序的清单。,二、利用8051的串行口实现键盘/显示器接口,显示子程序:,DIR: SETB P3.3 ;开放显示输出 MOV R7,#08H ;8位显示器计数 MOV R0,#7FH ;7FH78H为显示缓冲器DL0: MOV A,R0 ;取出要显示的数 ADD A,#0DH ;加上偏移量 MOVC A,A+PC ;查表取出字形数据 MOV SBUF,A ;送出显示DL1: JNB TI,DL1 ;输出完否? CLR TI ;完,清中断标志 DEC R0 ;准备再取下一个数

10、DJNZ R7,DL0 CLR P3.3 ;关闭显示器输出 RET ;返回,二、利用8051的串行口实现键盘/显示器接口,显示子程序:,SEGTAB: DB 0C0H,0F9H,0A4H,0B0H,99H ;0,1,2,3,4 DB 92H,82H,0F8H,90H,88H ;5,6,7,8,9 DB 83H,0C6H,0A1H,86H,8FH ;A,B,C,D,E DB 0BFH,8CH,0FFH,0FFH ;F,-,P,暗,键盘扫描子程序:,KEY: MOV A , #00H MOV SBUF , A ;使扫描键盘的164输出为00H KL0: JNB TI , KL0 ;输出完否? CL

11、R TI ;清0中断标志 KL1: JNB P3.4 , PK1 ;第一行键中有闭合键吗?有转 JB P3.5 , NOKEY ;在第二行键有闭合键吗?无转,二、利用8051的串行口实现键盘/显示器接口,键盘扫描子程序:,PK1: ACALL DL10 ;延时 JNB P3.4 , PK2 ;是否抖动引起的?不是,转PK2 JB P3.5 , NOKEY ;是抖动引起的PK2: MOV R7 , #08H ;不是抖动引起的,由R7控制8列 MOV R6 ,#0FEH ;判别是哪个键被按下,从最左开始 MOV R3 , #00H ;列计数,最左列开始,键读数由 ;该行首键号加上列号码 MOV A

12、 , R6KL5: MOV SBUF , A KL2: JNB TI , KL2 ;等待串行口发送完 CLR TI JNB P3.4 , PKONE ;是第一行某键否?是,转 JB P3.5 , NEXT ;是第二行某键否?不是,转,二、利用8051的串行口实现键盘/显示器接口,键盘扫描子程序:,MOV R4 , #08H ;第二行有键被按下, ;首键号08HR4 AJMP PK3 PKONE: MOV R4 , #00H ;第一行有键被按下, ;首键号00HR4 PK3: MOV SBUF , #00H ;等待键释放 KL3: JNB TI , KL3 CLR TI KL4: JNB P3.

13、4 , KL4 ;检测键释放 JNB P3.5 , KL4 MOV A , R4 ;键释放,取得键码 ADD A , R3 ;键码等于行首键号列号码 RET,二、利用8051的串行口实现键盘/显示器接口,键盘扫描子程序:,NEXT : MOV A , R6 ;判下一列键是否按下 RL A MOV R6 , A INC R3 DJNZ R7 , KL5 ;8列键都检查完否?未完继续NOKEY: MOV A , #0FFH ;完了,无键,置A为全1 RET ;返回DL10: MOV R7 , #0AH ;延时10ms子程序DL: MOV R6 , #0FFHDL6: DJNZ R6 , DL6 D

14、JNZ R7 , DL RET,三、利用8279专用键盘显示器接口芯片实现键盘显示器接口,8279是Intel公司生产的专用可编程键盘和显示器接口芯片。可实现对键盘/显示器的自动扫描,并识别键盘上闭合键的键号,不仅可以大大节省CPU对键盘/显示器的操作时间,而且显示稳定,接口程序简单。,三、利用8279专用键盘显示器接口芯片实现键盘显示器接口,(一)8279的引脚及内部结构,8279的引脚及逻辑结构图如下所示:,三、利用8279专用键盘显示器接口芯片实现键盘显示器接口,(一)8279的引脚及内部结构,8279的内部结构图如下所示:,(一)8279的引脚及内部结构,1. I/O控制和数据缓冲器,

15、双向的三态数据缓冲器将内部总线和外部总路线DB07连接,用于传送CPU和8279之间的命令、数据和状态。 CS片选信号,低电平有效。 A0:用以区分信息的特性。当A0为1时,CPU写入8279的信息为命令,CPU从8279读出的信息为状态。当A0为0时,I/O信息都为数据。,(一)8279的引脚及内部结构,2. 控制逻辑,控制与定时寄存器用于寄存键盘及显示器的工作方式,锁存操作命令,通过译码产生相应的控制信号,使8279的各个部件完成一定的控制功能。 定时控制逻辑含有一个可编程的5位计数器,对外部输入时钟信号进行分频,以产生100kHz的内部定时信号。外部时钟输入信号的周期不小于500ns。,

16、(一)8279的引脚及内部结构,3. 扫描计数器,扫描计数器有两种输出方式: 外部译码方式,计数器以二进制方式计数,4位计数状态从扫描线SL0SL3输出。经外部译码器译出16位扫描线; 内部译码方式,即扫描计数器的低二位经片内译码器译码后从SL0SL3输出,直接作为扫描信号。,(一)8279的引脚及内部结构,4. 键输入控制,这个部件完成对键盘的自动扫描,锁存RL0RL7的键输入信息,搜索闭合键,去除键的抖动,并将键输入数据写入内部先进先出存贮器FIFO RAM。,(一)8279的引脚及内部结构,5. FIFO RAM和显示缓冲器RAM,8279具有8个先进先出(FIFO)的键输入缓冲器,并提

17、供16个字节的显示缓冲器RAM。 将段码写入显示缓冲器RAM,8279自动对显示器扫描,将其内部显示缓冲器RAM中的数据在显示器上显示出来。,(一)8279的引脚及内部结构,5. FIFO RAM和显示缓冲器RAM,IRQ为中断请求输出线,高电平有效。当FIFO RAM缓冲器中存有键盘上闭合键的信息时,IRQ线升高,向CPU请求中断,当CPU将缓冲器中的输入键信息全部读取时,中断请求线下降为低电平。,(一)8279的引脚及内部结构,5. FIFO RAM和显示缓冲器RAM,SHIFT、CNTL/STB为控制键输入线,由内部拉高电阻拉成高电平,也可由外部控制按键拉成低电平。 RL0RL7为反馈输

18、入线,作为键输入线,由内部拉高电阻拉成高电平,也可由键盘上按键拉成低电平。,(一)8279的引脚及内部结构,5. FIFO RAM和显示缓冲器RAM,SL0SL3为扫描输出线,用于对键盘显示器扫描。 OUTB03、OUTA03为显示段数据输出线,可分别作为两个半字节输出,也可作为8位段数据输出口,此时OUTB0为最低位,OUTA3为最高位。,(一)8279的引脚及内部结构,5. FIFO RAM和显示缓冲器RAM,BD为消隐输出线,低电平有效,当显示器切换时或使用显示消隐命令时,将显示消隐。 RESET为复位输入线,高电平有效,当RESET输入端出现高电平时,8279被初始复位。,(二)827

19、9的操作命令字,8279内部的命令寄存器和状态寄存器合用一个地址(由A0C/D1选中),对其写入的是命令,读出的是状态。 8279共有8条命令,每条命令8位,用其中的高三位(特征位)来区分8条命令。,(二)8279的操作命令字,(1)键盘/显示器方式设置命令字,键盘工作方式选择,设置显示方式,特征位,(二)8279的操作命令字,(1)键盘/显示器方式设置命令字,D4D3两位用来设定显示方式,其定义如下:,(二)8279的操作命令字,(1)键盘/显示器方式设置命令字,CPU将显示数据写入缓冲器RAM单元,有左边输入和右边输入两种方式。左边输入地址为0 15的显示缓冲器,分别对应于显示器的0(左)

20、位15(右)位。CPU依次从0地址或某一个地址开始将段数据写入显示缓冲器。 当16个显示缓冲器都已写满(从0地址开始写,写了16次)时,第17次写,再从0地址开始写入,写入过程如下:,(二)8279的操作命令字,(1)键盘/显示器方式设置命令字,(二)8279的操作命令字,(1)键盘/显示器方式设置命令字,右边输入方式是移位输入方式,输入数据总是写入右边的显示缓冲器,数据写入显示缓冲器后,原来缓冲器的内容左移一个字节,原最左边显示器缓冲器的内容被移出。写入过程如下: 在右边输入方式中,显示器的各位和显示缓冲器RAM的地址并不是对应的。,(二)8279的操作命令字,(1)键盘/显示器方式设置命令

21、字,1,(二)8279的操作命令字,(1)键盘/显示器方式设置命令字,D2、D1、D0为键盘工作方式选择位,见下表:,(二)8279的操作命令字,(1)键盘/显示器方式设置命令字,键扫描方式:扫描线SL3SL0(或经外部译码后)和返回线RL7RL0与矩阵式键盘的行、列线相连,当有按键时8279自动识别,并将被按键的行列信息送入FIFO RAM 同时产生IRQ信号。,(二)8279的操作命令字,(1)键盘/显示器方式设置命令字,扫描传感矩阵方式:片内去抖动逻辑被禁止,能对每一行传感器的状态进行扫描,当扫描的行中任何一个列位状态发生变化时便自动产生IRQ信号,并将返回线状态直接送往传感器RAM(即

22、FIFO RAM),(二)8279的操作命令字,(1)键盘/显示器方式设置命令字,选通输入方式:返回线RL7RL0作为选通输入口,CNTL/STB作为选通信号输入端。在选通信号CNTL/STB上升沿将返回线上的数据传送到FIFO RAM中。,(二)8279的操作命令字,(1)键盘/显示器方式设置命令字,双键互锁,当键盘中同时有两个以上的键被按下时,任何一个键的编码信息均不能进入FIFO RAM中,直至仅剩下一键保持闭合时,该键的信息方能进入FIFO,这种工作方式可以避免部分误操作信号进入计算机。,(二)8279的操作命令字,(1)键盘/显示器方式设置命令字,N键依次读出方式:当多个键同时按下时

23、,则所有键均以扫描顺序被识别,按键信息依次写入FIFO RAM中。,(二)8279的操作命令字,(2)时钟编程命令字,8279的内部定时信号由外部的输入时钟经过分频后产生,分频系数由时钟编程命令字确定,时钟编程命令字格式如下:,分频系数,特征位,(二)8279的操作命令字,(2)时钟编程命令字,D4-D0为分频系数,可在231次分频中进行选择,将进入8279的时钟频率进行N次分频后,可获得8279内部所需的100khz的时钟。,(二)8279的操作命令字,(3)读FIFO RAM命令字,特征位,起始地址,起始地址自动增量标志,(二)8279的操作命令字,(3)读FIFO RAM命令字,在键扫描

24、方式中,AI、AAA均被忽略,CPU读键输入数据时,总是按先进先出的规律读出,直至输入键 全部读出为止。 在传感器矩阵扫描中,若AI1,CPU则从起始地址开始依次读出,每次读出后地址自动加1;AI0时,CPU仅读一个单元的内容。,(二)8279的操作命令字,(4)写显示缓冲器RAM命令字,特征位,起始地址自动增量标志,起始地址,(二)8279的操作命令字,(4)写显示缓冲器RAM命令字,当CPU执行写显示缓冲RAM时,首先用该命令字给出要写入的显示缓冲器RAM的地址。四位二进制代码AAAA用来寻址显示缓冲器RAM的一个缓冲单元,若AI1,则CPU在第一次写入时须给出地址,以后每次写入,地址自动

25、加1,直至所有显示缓冲器RAM全部写毕。,(二)8279的操作命令字,(5)读显示缓冲器RAM命令字,特征位,起始地址,起始地址自动增量标志,(二)8279的操作命令字,(5)读显示缓冲器RAM命令字,在CPU读显示数据之前,必须先输出读显示缓冲器RAM的命令。四位二进制代码AAAA用来寻址显示缓冲器RAM的一个缓冲单元,AI为自动增量标志,若AI1,则CPU每次读出后,地址自动加1。,(二)8279的操作命令字,(6)显示屏蔽消隐命令字,屏蔽A组显示缓冲器RAM,屏蔽B组显示缓冲器RAM,消隐A组显示输出,消隐B组显示输出,特征位,(二)8279的操作命令字,(6)显示屏蔽消隐命令字,高3位

26、101为该命令字的特征位。IWA和IWB分别用以屏蔽A组和B组显示缓冲器RAM。在使用双4位显示器时,即OUTA0-3和OUTB0-3独立地作为两个半字节输出时,可改写显示缓冲器RAM中的低半字节而不影响高半字节的状态(D31),反之D21时可改写高半字节而不影响低半字节。 BL位是消隐特征位,要消隐两组显示输出,必须使D0,D1同时为1,BL0时,则恢复显示。,(二)8279的操作命令字,(7)清除命令字,总清特征位,清除FIFO RAM位,设置清除显示RAM的方式,特征位,(二)8279的操作命令字,(7)清除命令字,清除显示RAM大约需要100us,在此期间,不能向显示RAM写数据。,C

27、D CD CD,(二)8279的操作命令字,(7)清除命令字,CA,0不清除,1清除FIFO和显示RAM,显示RAM清 除方式由D3、D2决定。,用来置空FIFO RAM,执行CF1的清除命令,FIFO RAM 被置空,使IRQ线复位,同时显示RAM的地址被置“0”。,CF,(二)8279的操作命令字,(8)结束中断/错误方式设置命令,其中:D7D6D5111为该命令的特征位。此命令有两种不同的作用。,特征位,(二)8279的操作命令字,(8)结束中断/错误方式设置命令,.作为结束中断命令。在传感器工作方式中。每当传感器状态出现变化时,扫描检测电路将其状态写入传感器RAM中,并启动中断逻辑,使

28、IRQ变高,向CPU请求中断,并且禁止写入传感器RAM。此时,若传感器RAM读出地址自动增量标志AI1,CPU对传感器RAM的读出并不能清除IRQ,而必须通过给8279写入结束中断/错误方式设置命令(E1)才能使IRQ变低,结束传感器RAM的中断请求。,(二)8279的操作命令字,(8)结束中断/错误方式设置命令,.作为特定错误方式设置命令。在8279已被设定为键盘扫描N键依次读出方式以后,如果CPU给8279又写入结束中断/错误方式设置命令(E=1),则8279将以一种特定的错误方式工作。这种方式的特点是:在8279的消颤周期内,如果发现多个按键同时按下,则状态字中的错误特征位S/E将置1,

29、并产生中断请求信号和阻止写入FIFO RAM。,(二)8279的操作命令字,上述八种用于确定8279操作方式的命令字皆由D7D6D5特征位确定,输入8279后能自动寻址相应的命令寄存器。因此,写入命令字时唯一的要求是使数据选择信号A0=1。,(三)状态字节,8279的状态字节用于键输入和选通输入方式中,指出FIFO RAM中的字符个数和是否出错,状态字的格式如下:,(三)状态字节,表示FIFO RAM中数据的个数,为1时表示FIFO RAM已满,当FIFO RAM为空时,若CPU读FIFO则置“1”标志,当FIFO RAM已满,又输入一个字符,发生溢出,该位置置1,错误的特征位,在清除命令执行

30、期间该位为1,此时对显示RAM的写操作无效,(三)状态字节,错误特征位,1、在传感器矩阵方式,当几个 传感器同时闭合时,该位置1。,2、在键扫描,N键依次读出,且 工作在特定错误工作方式时, 若S/E=1,表示出现了多键同 时按下的错误。,(四)输入数据格式,在键扫描方式中,键输入数据格式如下:,指出输入键据的列号(RL0-7状态确定),指出输入键所在的行号(扫描计数值),指出控制键SHIFT的状态。,指出控制键CNTL的状态。,(四)输入数据格式,控制键CNTL、SHIFT为单独的开关键 。CNTL与其它键连用作为特殊命令键,SHIFT可作为上下档控制键。若与键盘(88)配合,使键盘各键具有

31、上、下键 功能,这样键盘可扩充到128个键。CNTL线可接一键用作控制键,这样,最多可扩充到256键。 2、在传感器扫描方式或选通输入方式中,输入数据即为RL7RL0的输入状态。,D7,D0,(五)8279与键盘/显示器接口,下图为8位显示器、48键盘和8279的接口电路。图中键盘的行线接8279的RL0RL3,8279用外部译码方式,SL0-SL2经74LS138(1)译码输出Y0Y7接键盘的列线,SL0SL2又由74LS138(2)译码输出Y0Y7,经驱动后输出到显示器各位的公共阴极,输出线OUTB0-3、OUTA0-3作为8位段数据输出口。,(五)8279与键盘/显示器接口,BD控制74

32、LS138(2)的译码。当位切换时,BD输出低电平,使74LS138(2)输出全为高电平。 当键盘上出现有效的闭合键时,键输入数据自动地进入8279的FIFO RAM存储器,并向8051请求中断,8051响应中断读取FIFO RAM的输入键值。 要更新显示器输出,仅需改变8279中显示缓冲器RAM中的内容。,(五)8279与键盘/显示器接口,上图中,8279的命令/状态口地址为7FFFH,数据口地址为7FFEH,键输入中断服务程序和更新显示器的输出子程序流程图如下所示:,键输入中断服务程序流程,显示输出子程序流程,(五)8279与键盘/显示器接口,8279与键盘/显示器接口程序清单如下:,初始

33、化程序清单:INITl:SETB EX1 ;开INT1中断 MOV DPTR ,#7FFFH MOV A,#0DlH ;清除命令 MOVX DPTR,ALP: MOVX A,DPTR ;读状态字节 JB ACC.7,LP MOV A,#00H ;键盘/显示器方式设置命令 MOVX DPTR,A MOV A,#2AH ;时钟编程命令 MOVX DPTR,A SETB EA ,(五)8279与键盘/显示器接口,8279与键盘/显示器接口程序清单如下:,键输入中断服务程序清单:PINTl:PUSH PSW PUSH DPH PUSH DPL PUSH ACC MOV DPTR , #7FFFH ;输

34、出读FIFO命令 MOV A , #40H MOVX DPTR ,A MOV DPTR , #7FFEH MOVX A , DPTR ;此接口中只要将键信息 ;的b5b4b3与b2b1b0交换即得到键值。 MOV B , A,ANL A , #07H ;取b2b1b0RL A ;左移3次RL ARL AMOV R2 , AMOV A , BANL A , #38H ;取b5b4b3RR A ;右移3次RR A RR A ORL A , R2 ;合并得到键值MOV B , A ;键值在B中,(五)8279与键盘/显示器接口,(五)8279与键盘/显示器接口,8279与键盘/显示器接口程序清单如下

35、:,PRI1: POP A POP DPL POP DPH POP PSW RETI,显示子程序:DIR: MOV DPTR , #7FFFH ;输出写显示RAM命令 MOV A , #90H ;0地址开始自动增1 MOVX DPTR , A MOV R0 , #70H ;显示缓冲区指针初值 MOV R7 , #08H ;8位显示器计数初值 MOV DRTR , # 7FFEH,(五)8279与键盘/显示器接口,8279与键盘/显示器接口程序清单如下:,DL0: MOV A , R0 ADD A , #05H MOVC A , A+PC ;转换为段数据 MOVX DPTR , A ;写入显示R

36、AM INC R0 DJNZ R7 , DL0 RETADSEG: DB 3FH,06H,5BH,4FH ;段数据表(共阴极),四、利用7289芯片实现键盘 /显示接口,7289是具有SPI串行接口功能的可同时驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示、键盘接口的全部功能。 7289内部含有译码器,可直接接受BCD码或16进制码,并同时具有2种译码方式,此外,还具有多种控制指令如消隐、闪烁、左移、右移、段寻址等。 7289具有片选信号,可方便地实现多于8位的显示或多于64键的键盘接口。,(一)概述,串行接口无需外

37、围元件可直接驱动LED各位独立控制译码/不译码及消隐和闪烁属性(循环)左移/(循环)右移指令具有段寻址指令方便控制独立LED64 键键盘控制器内含去抖动电路,7289特点:,(一)概述,四、利用7289芯片实现键盘 /显示接口,(一)概述,(一)概述,1. 纯指令(1) 复位(清除)指令,当7289 收到该指令后,将所有的显示清除,所有设置的字符消隐、闪烁等属性也被一起清除。 执行该指令后,芯片所处的状态与系统上电后所处的状态一样。,(二)控制指令:,(2)测试指令,该指令使所有的LED全部点亮,并处于闪烁状态,主要用于测试。,(二)控制指令:,(3)左移指令,使所有的显示自右向左(从第1 位向第8 位)移动一位(包括处于消隐状态的显示位),但对各位所设置的消隐及闪烁属性不变。移动后,最右边一位为空(无显示)。,(二)控制指令:,例如,原显示为:,其中第2位2和第4 位4为闪烁显示,执行了左移指令后,显示变为,第二位3和第四位5为闪烁显示。,(二)控制指令:,(4)右移指令,与左移指令类似,但所做移动为自左向右(从第8位向第1位)移动,移动后,最左边一位为空。,

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

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报