




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三节、键盘/显示器接口实例一、利用8155芯片实现键盘/显示器接口二、利用8051的串行口实现键盘/显示器接口三、利用8279专用键盘/显示器接口芯片实现键盘/显示器接口四、利用7289芯片实现键盘/显示器接口一、利用8155芯片实现键盘/显示器接口1.接口电路一、利用8155芯片实现键盘/显示器接口1.接口电路8031外扩一片8155,8155的RAM地址为7E00~7EFFH,I/O口地址为7F00H~7F05H。
8155的PA口为输出口,控制键盘的列线的电位,同时又是6位显示器的扫描口。PB口作为显示器的段数据口,8155的PC口作为键输入口,PC0~PC3接4根行线。图中75452为反相驱动器,7407为同相驱动器。一、利用8155芯片实现键盘/显示器接口2.接口程序设计对于图中的6位显示器,在8031内部RAM中设置6个显示缓冲单元79H~7EH,分别存放显示器的6位字符代码,显示时先通过软件转换为段码。8155的PA口输出位选择信号,8155H的PB口输出相应位的段数据。8155芯片实现键盘/显示器接口程序显示子程序清单:DIR:MOVDPTR,#7F00H;8155初始化MOVA,#03HMOVX@DPTR,AMOVR0,#79H;置缓冲器指针初值MOVR3,#01H;扫描位初值LD0:MOVDPTR,#7F02H;关显示MOVA,#00HMOVX@DPTR,AMOVDPTR,#7F01H;扫描模式→8155PA口MOVA,R38155芯片实现键盘/显示器接口程序MOVX@DPTR,AINCDPTRMOVA,@R0;取显示数据ADDA,#17H;加偏移量MOVCA,@A+PC;查表取段数据DIR1:MOVX@DPTR,A;段数据→8155PB口ACALLDL1;延时1msINCR0MOVA,R3JBACC.5,LD1;6位都显示完?RLA;未完,准备显示下一位MOVR3,A8155芯片实现键盘/显示器接口程序AJMPLD0LD1:RETDL1:MOVR7,#02H;延时子程序DL:MOVR6,#0FFHDL6:DJNZR6,DL6DJNZR7,DLRETDSEG:DB3FH,06H,……;段数据表一、利用8155芯片实现键盘/显示器接口2.接口程序设计键输入子程序,先调用KS1子程序,判断有无键闭合。若有键闭合,则进一步分析此按键在哪一行、哪一列,并进而获得键读数。程序中多处调用显示子程序,是为了使显示器保持稳定显示,有时还起到延时的作用。8155芯片实现键盘/显示器接口程序键输入子程序清单:KEY1:ACALLKS1;调用判有无键闭合子程序JNZLK1;有键闭合,转NI:ACALLDIR;无键,调用显示子程序延迟6msAJMPKND;无键返回LK1:ACALLDIR;延迟12msACALLDIRACALLKS1;调用判有无键闭合子程序JNZLK2;有键闭合ACALLDIR;无键,调用显示子程序延迟6msAJMPKND;返回8155芯片实现键盘/显示器接口程序LK2:MOVR2,#0FEH;扫描模式→R2MOVR4,#00H;列计数器置初值LK4:MOVDPTR,#7F01H;扫描模式→8155PA口MOVA,R2MOVX@DPTR,AINCDPTRINCDPTRMOVXA,@DPTR;读8155PC口JBACC.0,LONE;0行无键,转判1行MOVA,#00H;0行有键闭合,首键号0→AAJMPLKP8155芯片实现键盘/显示器接口程序LONE:JBACC.1,LTWO;1行无键,转判2行MOVA,#08H;1行有键闭合,首键号8→AAJMPLKPLTWO:JBACC.2,LTHR;2行无键,转判3行MOVA,#10H;2行有键闭合,首键号10H→AAJMPLKPLTHR:JBACC.3,NEXT;转判下一列MOVA,#18H;3行有键闭合,首键号18H→ALKP:ADDA,R4PUSHA;键号进栈保护8155芯片实现键盘/显示器接口程序LK3:ACALLDIR;判键释放否ACALLKS1JNZLK3POPA;键号→ARETNEXT:INCR4;列计数器加1MOVA,R2;判是否已扫描到最后一列JNBACC.7,KND;是,无键入再查RLA;未到最后列,扫描模式左移一位MOVR2,AAJMPLK48155芯片实现键盘/显示器接口程序KND:MOVA,#0FFH;无键,置A为全1,返回RETKS1:MOVDPTR,#7F01H;全“0”→扫描口MOVA,#00HMOVX@DPTR,AINCDPTRINCDPTRMOVXA,@DPTR;读入键状态CPLAANLA,#0FH;屏蔽高位RET二、利用8051的串行口实现键盘/显示器接口应用8051的串行口方式0输出,在串行口外接74LS164移位寄存器,构成键盘/显示器接口,其硬件接口电路如下图所示:二、利用8051的串行口实现键盘/显示器接口二、利用8051的串行口实现键盘/显示器接口图中下边的8个74LS164作为8位七段显示器的静态显示口,上边的74LS164作为键扫描输出口,8051的P3.4、P3.5作为键输入线,P3.3作为同步脉冲输出控制线。这种静态显示方式显示亮度高、不闪烁。CPU不必频繁地为显示服务,软件设计比较简单,从而使单片机有更多的时间处理其它事务。下面分别列出显示子程序和键盘扫描子程序的清单。二、利用8051的串行口实现键盘/显示器接口显示子程序:DIR:SETBP3.3;开放显示输出MOVR7,#08H;8位显示器计数MOVR0,#7FH;7FH~78H为显示缓冲器DL0:MOVA,@R0;取出要显示的数ADDA,#0DH;加上偏移量MOVCA,@A+PC;查表取出字形数据MOVSBUF,A;送出显示DL1:JNBTI,DL1;输出完否?CLRTI;完,清中断标志DECR0;准备再取下一个数DJNZR7,DL0CLRP3.3;关闭显示器输出
RET;返回二、利用8051的串行口实现键盘/显示器接口显示子程序:SEGTAB:DB0C0H,0F9H,0A4H,0B0H,99H;0,1,2,3,4DB92H,82H,0F8H,90H,88H;5,6,7,8,9DB83H,0C6H,0A1H,86H,8FH;A,B,C,D,EDB0BFH,8CH,0FFH,0FFH;F,--,P,,暗键盘扫描子程序:
KEY:
MOVA,#00HMOVSBUF,A ;使扫描键盘的164输出为00HKL0:JNBTI,KL0 ;输出完否?CLRTI ;清0中断标志KL1:
JNBP3.4,PK1 ;第一行键中有闭合键吗?有转JBP3.5,NOKEY ;在第二行键有闭合键吗?无转二、利用8051的串行口实现键盘/显示器接口键盘扫描子程序:PK1:ACALLDL10 ;延时JNBP3.4,PK2 ;是否抖动引起的?不是,转PK2JBP3.5,NOKEY ;是抖动引起的PK2:MOVR7,#08H ;不是抖动引起的,由R7控制8列MOVR6,#0FEH ;判别是哪个键被按下,从最左开始MOVR3,#00H;列计数,最左列开始,键读数由;该行首键号加上列号码MOVA,R6KL5:MOVSBUF,AKL2:JNBTI,KL2 ;等待串行口发送完CLRTIJNBP3.4,PKONE;是第一行某键否?是,转JBP3.5,NEXT ;是第二行某键否?不是,转
二、利用8051的串行口实现键盘/显示器接口键盘扫描子程序:MOVR4,#08H;第二行有键被按下,;首键号08H→R4AJMPPK3PKONE:MOVR4,#00H;第一行有键被按下,;首键号00H→R4PK3:MOVSBUF,#00H;等待键释放KL3:JNBTI,KL3CLRTIKL4:JNBP3.4,KL4;检测键释放JNBP3.5,KL4MOVA,R4;键释放,取得键码ADDA,R3 ;键码等于行首键号+列号码RET二、利用8051的串行口实现键盘/显示器接口键盘扫描子程序:NEXT:
MOVA,R6 ;判下一列键是否按下RLAMOVR6,AINCR3DJNZR7,KL5;8列键都检查完否?未完继续NOKEY:MOVA,#0FFH;完了,无键,置A为全1RET;返回DL10:MOVR7,#0AH;延时10ms子程序DL:MOVR6,#0FFHDL6:DJNZR6,DL6DJNZR7,DLRET三、利用8279专用键盘显示器接口芯片实现键盘显示器接口8279是Intel公司生产的专用可编程键盘和显示器接口芯片。可实现对键盘/显示器的自动扫描,并识别键盘上闭合键的键号,不仅可以大大节省CPU对键盘/显示器的操作时间,而且显示稳定,接口程序简单。三、利用8279专用键盘显示器接口芯片实现键盘显示器接口(一)8279的引脚及内部结构8279的引脚及逻辑结构图如下所示:三、利用8279专用键盘显示器接口芯片实现键盘显示器接口(一)8279的引脚及内部结构8279的内部结构图如下所示:(一)8279的引脚及内部结构
1.I/O控制和数据缓冲器
双向的三态数据缓冲器将内部总线和外部总路线DB0~7连接,用于传送CPU和8279之间的命令、数据和状态。CS片选信号,低电平有效。A0:用以区分信息的特性。当A0为1时,CPU写入8279的信息为命令,CPU从8279读出的信息为状态。当A0为0时,I/O信息都为数据。(一)8279的引脚及内部结构
2.控制逻辑控制与定时寄存器用于寄存键盘及显示器的工作方式,锁存操作命令,通过译码产生相应的控制信号,使8279的各个部件完成一定的控制功能。
定时控制逻辑含有一个可编程的5位计数器,对外部输入时钟信号进行分频,以产生100kHz的内部定时信号。外部时钟输入信号的周期不小于500ns。(一)8279的引脚及内部结构
3.扫描计数器扫描计数器有两种输出方式:外部译码方式,计数器以二进制方式计数,4位计数状态从扫描线SL0~SL3输出。经外部译码器译出16位扫描线;内部译码方式,即扫描计数器的低二位经片内译码器译码后从SL0~SL3输出,直接作为扫描信号。
(一)8279的引脚及内部结构
4.键输入控制这个部件完成对键盘的自动扫描,锁存RL0~RL7的键输入信息,搜索闭合键,去除键的抖动,并将键输入数据写入内部先进先出存贮器FIFORAM。(一)8279的引脚及内部结构
5.FIFORAM和显示缓冲器RAM8279具有8个先进先出(FIFO)的键输入缓冲器,并提供16个字节的显示缓冲器RAM。将段码写入显示缓冲器RAM,8279自动对显示器扫描,将其内部显示缓冲器RAM中的数据在显示器上显示出来。(一)8279的引脚及内部结构
5.FIFORAM和显示缓冲器RAMIRQ为中断请求输出线,高电平有效。当FIFORAM缓冲器中存有键盘上闭合键的信息时,IRQ线升高,向CPU请求中断,当CPU将缓冲器中的输入键信息全部读取时,中断请求线下降为低电平。(一)8279的引脚及内部结构
5.FIFORAM和显示缓冲器RAMSHIFT、CNTL/STB为控制键输入线,由内部拉高电阻拉成高电平,也可由外部控制按键拉成低电平。RL0~RL7为反馈输入线,作为键输入线,由内部拉高电阻拉成高电平,也可由键盘上按键拉成低电平。(一)8279的引脚及内部结构
5.FIFORAM和显示缓冲器RAMSL0~SL3为扫描输出线,用于对键盘显示器扫描。OUTB0~3、OUTA0~3为显示段数据输出线,可分别作为两个半字节输出,也可作为8位段数据输出口,此时OUTB0为最低位,OUTA3为最高位。(一)8279的引脚及内部结构
5.FIFORAM和显示缓冲器RAMBD为消隐输出线,低电平有效,当显示器切换时或使用显示消隐命令时,将显示消隐。RESET为复位输入线,高电平有效,当RESET输入端出现高电平时,8279被初始复位。(二)8279的操作命令字
8279内部的命令寄存器和状态寄存器合用一个地址(由A0=C/D=1选中),对其写入的是命令,读出的是状态。8279共有8条命令,每条命令8位,用其中的高三位(特征位)来区分8条命令。(二)8279的操作命令字
(1)键盘/显示器方式设置命令字000DDKKK键盘工作方式选择设置显示方式特征位(二)8279的操作命令字
(1)键盘/显示器方式设置命令字D4D3两位用来设定显示方式,其定义如下:
D4D3显示器方式008个字符显示-左边输入0116个字符显示-左边输入108个字符显示-右边输入1116个字符显示-右边输入(二)8279的操作命令字
(1)键盘/显示器方式设置命令字CPU将显示数据写入缓冲器RAM单元,有左边输入和右边输入两种方式。左边输入地址为0~15的显示缓冲器,分别对应于显示器的0(左)位~15(右)位。CPU依次从0地址或某一个地址开始将段数据写入显示缓冲器。
当16个显示缓冲器都已写满(从0地址开始写,写了16次)时,第17次写,再从0地址开始写入,写入过程如下:
(二)8279的操作命令字
(1)键盘/显示器方式设置命令字(二)8279的操作命令字
(1)键盘/显示器方式设置命令字右边输入方式是移位输入方式,输入数据总是写入右边的显示缓冲器,数据写入显示缓冲器后,原来缓冲器的内容左移一个字节,原最左边显示器缓冲器的内容被移出。写入过程如下:
在右边输入方式中,显示器的各位和显示缓冲器RAM的地址并不是对应的。(二)8279的操作命令字
(1)键盘/显示器方式设置命令字1(二)8279的操作命令字
(1)键盘/显示器方式设置命令字D2、D1、D0为键盘工作方式选择位,见下表:
(二)8279的操作命令字
(1)键盘/显示器方式设置命令字键扫描方式:扫描线SL3~SL0(或经外部译码后)和返回线RL7~RL0与矩阵式键盘的行、列线相连,当有按键时8279自动识别,并将被按键的行列信息送入FIFORAM同时产生IRQ信号。(二)8279的操作命令字
(1)键盘/显示器方式设置命令字扫描传感矩阵方式:片内去抖动逻辑被禁止,能对每一行传感器的状态进行扫描,当扫描的行中任何一个列位状态发生变化时便自动产生IRQ信号,并将返回线状态直接送往传感器RAM(即FIFORAM)(二)8279的操作命令字
(1)键盘/显示器方式设置命令字选通输入方式:返回线RL7~RL0作为选通输入口,CNTL/STB作为选通信号输入端。在选通信号CNTL/STB上升沿将返回线上的数据传送到FIFORAM中。(二)8279的操作命令字
(1)键盘/显示器方式设置命令字双键互锁,当键盘中同时有两个以上的键被按下时,任何一个键的编码信息均不能进入FIFORAM中,直至仅剩下一键保持闭合时,该键的信息方能进入FIFO,这种工作方式可以避免部分误操作信号进入计算机。(二)8279的操作命令字
(1)键盘/显示器方式设置命令字N键依次读出方式:当多个键同时按下时,则所有键均以扫描顺序被识别,按键信息依次写入FIFORAM中。(二)8279的操作命令字
(2)时钟编程命令字8279的内部定时信号由外部的输入时钟经过分频后产生,分频系数由时钟编程命令字确定,时钟编程命令字格式如下:001PPPPP分频系数特征位(二)8279的操作命令字
(2)时钟编程命令字D4-D0为分频系数,可在2-31次分频中进行选择,将进入8279的时钟频率进行N次分频后,可获得8279内部所需的100khz的时钟。(二)8279的操作命令字
(3)读FIFORAM命令字010AIXAAA特征位起始地址起始地址自动增量标志(二)8279的操作命令字
(3)读FIFORAM命令字010AIXAAA在键扫描方式中,AI、AAA均被忽略,CPU读键输入数据时,总是按先进先出的规律读出,直至输入键全部读出为止。在传感器矩阵扫描中,若AI=1,CPU则从起始地址开始依次读出,每次读出后地址自动加1;AI=0时,CPU仅读一个单元的内容。(二)8279的操作命令字
(4)写显示缓冲器RAM命令字100AIAAAA特征位起始地址自动增量标志起始地址(二)8279的操作命令字
(4)写显示缓冲器RAM命令字100AIAAAA当CPU执行写显示缓冲RAM时,首先用该命令字给出要写入的显示缓冲器RAM的地址。四位二进制代码AAAA用来寻址显示缓冲器RAM的一个缓冲单元,若AI=1,则CPU在第一次写入时须给出地址,以后每次写入,地址自动加1,直至所有显示缓冲器RAM全部写毕。(二)8279的操作命令字
(5)读显示缓冲器RAM命令字011AIAAAA特征位起始地址起始地址自动增量标志(二)8279的操作命令字
(5)读显示缓冲器RAM命令字011AIAAAA在CPU读显示数据之前,必须先输出读显示缓冲器RAM的命令。四位二进制代码AAAA用来寻址显示缓冲器RAM的一个缓冲单元,AI为自动增量标志,若AI=1,则CPU每次读出后,地址自动加1。(二)8279的操作命令字
(6)显示屏蔽消隐命令字101XIWAIWBBLABLB屏蔽A组显示缓冲器RAM屏蔽B组显示缓冲器RAM消隐A组显示输出消隐B组显示输出特征位(二)8279的操作命令字
(6)显示屏蔽消隐命令字高3位101为该命令字的特征位。IWA和IWB分别用以屏蔽A组和B组显示缓冲器RAM。在使用双4位显示器时,即OUTA0-3和OUTB0-3独立地作为两个半字节输出时,可改写显示缓冲器RAM中的低半字节而不影响高半字节的状态(D3=1),反之D2=1时可改写高半字节而不影响低半字节。BL位是消隐特征位,要消隐两组显示输出,必须使D0,D1同时为1,BL=0时,则恢复显示。(二)8279的操作命令字
(7)清除命令字110CDCDCDCFCA总清特征位清除FIFORAM位设置清除显示RAM的方式特征位(二)8279的操作命令字
(7)清除命令字设置清除显示RAM方式10X:将显示RAM全部清“0”110:将显示RAM全部清成20H111:将显示RAM全部置“1”0XX:若CA=0,则不清除若CA=1,则D3D2仍有效即根据D3D2的内容将显示RAM清“0”、置“1”、或清成20H
清除显示RAM大约需要100us,在此期间,不能向显示RAM写数据。CDCDCD(二)8279的操作命令字
(7)清除命令字CA-0-不清除1-清除FIFO和显示RAM,显示RAM清除方式由D3、D2决定。用来置空FIFORAM,执行CF=1的清除命令,FIFORAM被置空,使IRQ线复位,同时显示RAM的地址被置“0”。CF-(二)8279的操作命令字
(8)结束中断/错误方式设置命令111EXXXX其中:D7D6D5=111为该命令的特征位。此命令有两种不同的作用。特征位(二)8279的操作命令字
(8)结束中断/错误方式设置命令①.作为结束中断命令。在传感器工作方式中。每当传感器状态出现变化时,扫描检测电路将其状态写入传感器RAM中,并启动中断逻辑,使IRQ变高,向CPU请求中断,并且禁止写入传感器RAM。此时,若传感器RAM读出地址自动增量标志AI=1,CPU对传感器RAM的读出并不能清除IRQ,而必须通过给8279写入结束中断/错误方式设置命令(E=1)才能使IRQ变低,结束传感器RAM的中断请求。(二)8279的操作命令字
(8)结束中断/错误方式设置命令②.作为特定错误方式设置命令。在8279已被设定为键盘扫描N键依次读出方式以后,如果CPU给8279又写入结束中断/错误方式设置命令(E=1),则8279将以一种特定的错误方式工作。这种方式的特点是:在8279的消颤周期内,如果发现多个按键同时按下,则状态字中的错误特征位S/E将置1,并产生中断请求信号和阻止写入FIFORAM。(二)8279的操作命令字
上述八种用于确定8279操作方式的命令字皆由D7D6D5特征位确定,输入8279后能自动寻址相应的命令寄存器。因此,写入命令字时唯一的要求是使数据选择信号A0=1。(三)状态字节
8279的状态字节用于键输入和选通输入方式中,指出FIFORAM中的字符个数和是否出错,状态字的格式如下:DUS/EOUFNNN(三)状态字节DUS/EOUFNNN表示FIFORAM中数据的个数为1时表示FIFORAM已满当FIFORAM为空时,若CPU读FIFO则置“1”标志当FIFORAM已满,又输入一个字符,发生溢出,该位置置1错误的特征位在清除命令执行期间该位为1,此时对显示RAM的写操作无效(三)状态字节错误特征位1、在传感器矩阵方式,当几个传感器同时闭合时,该位置1。2、在键扫描,N键依次读出,且工作在特定错误工作方式时,若S/E=1,表示出现了多键同时按下的错误。(四)输入数据格式
在键扫描方式中,键输入数据格式如下:CNTLSHIFTSCANSCANSCANRETURNRETURNRETURN指出输入键据的列号(RL0-7状态确定)指出输入键所在的行号(扫描计数值)指出控制键SHIFT的状态。指出控制键CNTL的状态。(四)输入数据格式
控制键CNTL、SHIFT为单独的开关键。CNTL与其它键连用作为特殊命令键,SHIFT可作为上下档控制键。若与键盘(8×8)配合,使键盘各键具有上、下键功能,这样键盘可扩充到128个键。CNTL线可接一键用作控制键,这样,最多可扩充到256键。2、在传感器扫描方式或选通输入方式中,输入数据即为RL7-RL0的输入状态。RL7RL6RL5RL4RL3RL2RL1RL0D7D0(五)8279与键盘/显示器接口
下图为8位显示器、4×8键盘和8279的接口电路。图中键盘的行线接8279的RL0-RL3,8279用外部译码方式,SL0-SL2经74LS138(1)译码输出Y0-Y7接键盘的列线,SL0-SL2又由74LS138(2)译码输出Y0-Y7,经驱动后输出到显示器各位的公共阴极,输出线OUTB0-3、OUTA0-3作为8位段数据输出口。(五)8279与键盘/显示器接口
BD控制74LS138(2)的译码。当位切换时,BD输出低电平,使74LS138(2)输出全为高电平。当键盘上出现有效的闭合键时,键输入数据自动地进入8279的FIFORAM存储器,并向8051请求中断,8051响应中断读取FIFORAM的输入键值。要更新显示器输出,仅需改变8279中显示缓冲器RAM中的内容。(五)8279与键盘/显示器接口
上图中,8279的命令/状态口地址为7FFFH,数据口地址为7FFEH,键输入中断服务程序和更新显示器的输出子程序流程图如下所示:键输入中断服务程序流程显示输出子程序流程(五)8279与键盘/显示器接口
8279与键盘/显示器接口程序清单如下:初始化程序清单:INITl:SETBEX1;开INT1中断MOVDPTR,#7FFFHMOVA,#0DlH;清除命令MOVX@DPTR,ALP:MOVXA,@DPTR;读状态字节JBACC.7,LPMOVA,#00H;键盘/显示器方式设置命令MOVX@DPTR,AMOVA,#2AH;时钟编程命令MOVX@DPTR,ASETBEA…(五)8279与键盘/显示器接口
8279与键盘/显示器接口程序清单如下:键输入中断服务程序清单:PINTl:PUSHPSWPUSHDPHPUSHDPLPUSHACCMOVDPTR,#7FFFH;输出读FIFO命令MOVA,#40HMOVX@DPTR,AMOVDPTR,#7FFEHMOVXA,@DPTR;此接口中只要将键信息;的b5b4b3与b2b1b0交换即得到键值。MOVB,AANLA,#07H;取b2b1b0RLA;左移3次RLARLAMOVR2,AMOVA,BANLA,#38H;取b5b4b3RRA;右移3次RRARRAORLA,R2;合并得到键值MOVB,A;键值在B中(五)8279与键盘/显示器接口
(五)8279与键盘/显示器接口
8279与键盘/显示器接口程序清单如下:PRI1:POPAPOPDPLPOPDPHPOPPSWRETI显示子程序:DIR:MOVDPTR,#7FFFH;输出写显示RAM命令MOVA,#90H;0地址开始自动增1MOVX@DPTR,AMOVR0,#70H;显示缓冲区指针初值MOVR7,#08H;8位显示器计数初值MOVDRTR,#7FFEH(五)8279与键盘/显示器接口
8279与键盘/显示器接口程序清单如下:DL0:MOVA,@R0ADDA,#05HMOVCA,@A+PC;转换为段数据MOVX@DPTR,A
;写入显示RAMINCR0DJNZR7,DL0RETADSEG:DB3FH,06H,5BH,4FH…;段数据表(共阴极)四、利用7289芯片实现键盘/显示接口7289是具有SPI串行接口功能的可同时驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示、键盘接口的全部功能。7289内部含有译码器,可直接接受BCD码或16进制码,并同时具有2种译码方式,此外,还具有多种控制指令如消隐、闪烁、左移、右移、段寻址等。7289具有片选信号,可方便地实现多于8位的显示或多于64键的键盘接口。
(一)概述串行接口无需外围元件可直接驱动LED各位独立控制译码/不译码及消隐和闪烁属性(循环)左移/(循环)右移指令具有段寻址指令方便控制独立LED64键键盘控制器内含去抖动电路
7289特点:(一)概述四、利用7289芯片实现键盘/显示接口(一)概述引脚名称说
明1,2VDD正电源3,5NC悬空4VSS接地6/CS片选输入端,此引脚为低电平时,可向芯片发送指令及读取键盘数据7CLK同步时钟输入端,向芯片发送数据及读取键盘数据时,此引脚电平上升沿表示数据有效8DATA串行数据输入/输出端。当芯片接收指令时,此引脚为输入端;当读取键盘数据时,此引脚在‘读’指令最后一个时钟的下降沿变为输出端(一)概述9/KEY按键有效输出端,平时为高电平,当检测到有效按键时,此引脚变为低电平10-16SG-SA段g~段a驱动输出17DP小数点驱动输出18-25DIG0-DIG7数字0~数字7驱动输出26OSC2振荡器输出端27OSC1振荡器输入端28/RESET复位端1.纯指令(1)复位(清除)指令
当7289收到该指令后,将所有的显示清除,所有设置的字符消隐、闪烁等属性也被一起清除。执行该指令后,芯片所处的状态与系统上电后所处的状态一样。(二)控制指令:(2)测试指令该指令使所有的LED全部点亮,并处于闪烁状态,主要用于测试。
(二)控制指令:(3)左移指令使所有的显示自右向左(从第1位向第8位)移动一位(包括处于消隐状态的显示位),但对各位所设置的消隐及闪烁属性不变。移动后,最右边一位为空(无显示)。(二)控制指令:
例如,原显示为:其中第2位‘2’和第4位‘4’为闪烁显示,执行了左移指令后,显示变为
第二位‘3’和第四位‘5’为闪烁显示。
(二)控制指令:(4)右移指令与左移指令类似,但所做移动为自左向右(从第8位向第1位)移动,移动后,最左边一位为空。
(二)控制指令:(5)循环左移指令:与左移指令类似,不同之处在于移动后原最左边一位(第8位)的内容显示于最右位(第1位)。例如:执行完循环左移指令后的显示为(二)控制指令:(6)循环右移指令
与循环左移指令类似,但移动方向相反。
(二)控制指令:2.带有数据的指令:(1)下载数据且按方式0译码a)此命令由二个字节组成,前半部分为指令,其中a2,a1,a0为位地址,见下表:
(二)控制指令:(二)控制指令:2.带有数据的指令:(1)下载数据且按方式0译码b)第二字节为数据,x=无影响;c)小数点的显示由DP位控制,DP=1时,小数点显示,DP=0时,小数点不显示;d)d0—d3为数据,收到此指令时,zlg7289A按以下规则(译码方式0)进行译码。(二)控制指令:2.带有数据的指令:(1)下载数据且按方式0译码方式0译码(二)控制指令:2.带有数据的指令:(2)下载数据且按方式1译码X=无影响此指令与上一条指令基本相同,所不同的是译码方式,该指令的译码按下表进行:
(二)控制指令:方式1译码(二)控制指令:2.带有数据的指令:(3)下载数据,但不译码其中:(1)a2a1a0为位地址,(2)A-G和DP为显示数据,分别对应8段LED数码管的各段。当相应的数据位为‘1’时该段点亮,否则不亮。
(二)控制指令:2.带有数据的指令:(4)闪烁控制此命令控制各个数码管的消隐属性。d1—d8分别对应数码管1—8,0=闪烁,1=不闪烁。开机后,缺省的状态为各位均不闪烁。
(二)控制指令:2.带有数据的指令:(5)消隐控制此命令控制各个数码管的消隐属性。d1—d8分别对应数码管1—8,1=显示,0=消隐。当某一位被赋予了消隐属性后,7289在扫描时将跳过该位,该位不被显示,但写入的值将被保留。将该位重新设为显示状态后,最后一次写入的数据将被显示出来。
注意:至少应有一位保持显示状态,如果消隐控制指令中d1—d8全部为0,该指令将不被接受,7289保持原来的消隐状态不变。
(二)控制指令:2.带有数据的指令:(6)段点亮指令此为段寻址指令,作用为点亮数码管中某一指定的段,或LED矩阵中某一指定的LED。指令中,X=无影响;d0—d5段地址,范围从00H3FH,具体分配为:第1个数码管的G段地址为00H,F段为01H,….…A段为06H,小数点DP为07H,第2个数码管的G段为08H,F段为09H,…
…,依此类推直至第8个数码管的小数点DP地址为3FH。
(二)控制指令:2.带有数据的指令:(7)段关闭指令段寻址命令,作用为关闭(熄灭)数码管中的某一段,指令结构与‘段点亮指令’相同。(二)控制指令:2.带有数据的指令:(8)读键盘数据指令该指令从7289读出当前的按键代码。与其它指令不同,此命令的前一个字节0001010B为单片机传送到7289的指令,而后一个字节d0—d7则为7289返回的按键代码,其范围是0—3FH(无键按下时为0Xff),
(二)控制指令:(三)SPI串行接口7289的指令结构有三种类型:1.不带数据的纯指令,指令的宽度为8个BIT,即微处理器需发送8个CLK脉冲。2.带有数据的指令,宽度为16个BIT,即微处理器需发送16个CLK脉冲。3.读取键盘数据指令,宽度为16个BIT,前8个为微处理器发送到7289的指令,后8个BIT为7289返回的键盘代码。执行此指令时,7289的DATA端在第9个CLK脉冲的上升沿变为输出状态,并与第16个脉冲的下降沿恢复为输入状态,等待接收下一个指令。
串行接口时序图:1.纯指令(三)SPI串行接口串行接口时序图:1.带数据指令(三)SPI串行接口(三)SPI串行接口串行接口时序图:1.读键盘指令(三)SPI串行接口串行接口时序图:参
数意
义最小值典型值最大值单位T1从CS下降沿至CLK脉冲时间2550250T2传送指令时CLK脉冲宽度58250T3字节传送中CLK脉冲时间间隔58250(三)SPI串行接口串行接口时序图:参
数意
义最小值典型值最大值单位T4指令与数据时间间隔1525250T5读键盘指令中指令与输出数据时间间隔1525250T6输出键盘数据建立时间58T7读键盘数据时CLK脉冲宽度58250T8读键盘数据完成DATA转为输入状态时间5(四)应用设计实例(四)应用设计实例
以下为7289与8051单片机的接口例程。当系统开机时显示HELLO,键盘采用中断模式;当用户按下键盘时,进入中断服务模式,读取按键的键值并存放在REC_BUF之中。BIT_CNTDATA30H;定义BIT_CNT为内部RAM的30HDELAY1DATA31H;定义DELAY1为内部RAM的31HDELAYDATA33H;定义DELAY为内部RAM的33HDECIMALDATA32H;定义DECIMAL为内部RAM的32HREC_BUFDATA20H;定义REC_BUF为内部RAM的20HSEND_BUFDATA21H;定义SEND_BUF为内部RAM的21HCSBITP1.1;定义CS为P1.1CLKBITP1.2;定义CLK为P1.2DIOBITP1.3;定义DIO为P1.3(四)应用设计实例RESET:SETBCSSETBDIOMOVDELAY,#25MOVDELAY1,#100RST_DELAY1:DJNZDELAY1,RST_DELAY1;开机等待一段时间,;确保7289完成初始化DJNZDELAY,RST_DELAY1MOVSEND_BUF,#10100100B;7289复位指令ACALLSENDSETBCS;与SEND子程序中的CLRCS对应,;实现带数据指令的发送,可参看串行接口时序图(四)应用设计实例SETBIT0;采用边沿触发方式SETBEA;开中断SETBEX0……(四)应用设计实例当有键按下时7289申请中断,CPU响应,读取按键的键值。键输入中断服务程序清单:INIT0:MOVSEND_BUF,#00010101B;读键盘指令ACALLSENDACALLRECEIVE;得到键值,存放在REC_BUF中SETBCS;与SEND子程序中的CLRCS对应,;实现读键盘指令,可参看串行接口时序图RETI(四)应用设计实例显示子程序清单:DIR:MOVR0,#70H;R0为显示缓冲区指针初值MOVR7,#08H;R7为8位显示器计数初值MOVR1,#80H;R1存放7289要显示的;LED位码,80代表第0位,81代表第1位……DL0:MOVSEND_BUF,R1INCR1ACALLSENDMOVSEND_BUF,@R0ACALLSENDSETBCSINCR0DJNZR7,DL0(四)应用设计实例利用I/O口模拟SPI数据发送子程序清单:SEND:MOVBIT_CNT,#8;SPI发送子程序,利用P1口;模拟SPI数据发送CLRCS;拉低CS,通知7289,CPU将要与其通信ACALLLONG_DELAY;详见串行接口通信时序图SEND_LP:MOVA,SEND_BUFRLCA;将SEND_BUF(字节)里的数据一位位送出MOVSEND_BUF,AMOVDIO,CNOPNOP(四)应用设计实例SETBCLK;每送一位数据还要同时产生CLK脉冲ACALLSHORT_DELAY;CLK脉冲宽度CLRCLKACALLSHORT_DELAYDJNZBIT_CNT,SEND_LPCLRDIORET(四)应用设计实例利用I/O口模拟SPI数据接收子程序清单:RECEIVE:MOVBIT_CNT,#8;SPI接收子程序,利用P1口;模拟SPI数据接收ACALLLONG_DELAYRECEIVE_LP:SETBCLKACALLSHORT_DELAYMOVC,DIO;将一个字节一位位接收(共8位)MOVA,REC_BUFRLCAMOVREC_BUF,A;接收后存放在REC_BUF(字节)中CLRCLK(四)应用设计实例
ACALLSHORT_DELAYDJNZBIT_CNT,RECEIVE_LPCLRDIORET延时子程序清单:LONG_DELAY:MOVDELAY,#25;长延时,应串行接口;时序的要求DJNZDELAY,$RETSHORT_DELAY:MOVDELAY,#4;短延时,应串行接口;时序的要求DJNZDELAY,$RET(四)应用设计实例第一节活塞式空压机的工作原理第二节活塞式空压机的结构和自动控制第三节活塞式空压机的管理复习思考题单击此处输入你的副标题,文字是您思想的提炼,为了最终演示发布的良好效果,请尽量言简意赅的阐述观点。第六章活塞式空气压缩机
piston-aircompressor压缩空气在船舶上的应用:
1.主机的启动、换向;
2.辅机的启动;
3.为气动装置提供气源;
4.为气动工具提供气源;
5.吹洗零部件和滤器。
排气量:单位时间内所排送的相当第一级吸气状态的空气体积。单位:m3/s、m3/min、m3/h第六章活塞式空气压缩机
piston-aircompressor空压机分类:按排气压力分:低压0.2~1.0MPa;中压1~10MPa;高压10~100MPa。按排气量分:微型<1m3/min;小型1~10m3/min;中型10~100m3/min;大型>100m3/min。第六章活塞式空气压缩机
piston-aircompressor第一节活塞式空压机的工作原理容积式压缩机按结构分为两大类:往复式与旋转式两级活塞式压缩机单级活塞压缩机活塞式压缩机膜片式压缩机旋转叶片式压缩机最长的使用寿命-
----低转速(1460RPM),动件少(轴承与滑片),润滑油在机件间形成保护膜,防止磨损及泄漏,使空压机能够安静有效运作;平时有按规定做例行保养的JAGUAR滑片式空压机,至今使用十万小时以上,依然完好如初,按十万小时相当于每日以十小时运作计算,可长达33年之久。因此,将滑片式空压机比喻为一部终身机器实不为过。滑(叶)片式空压机可以365天连续运转并保证60000小时以上安全运转的空气压缩机1.进气2.开始压缩3.压缩中4.排气1.转子及机壳间成为压缩空间,当转子开始转动时,空气由机体进气端进入。2.转子转动使被吸入的空气转至机壳与转子间气密范围,同时停止进气。3.转子不断转动,气密范围变小,空气被压缩。4.被压缩的空气压力升高达到额定的压力后由排气端排出进入油气分离器内。4.被压缩的空气压力升高达到额定的压力后由排气端排出进入油气分离器内。1.进气2.开始压缩3.压缩中4.排气1.凸凹转子及机壳间成为压缩空间,当转子开始转动时,空气由机体进气端进入。2.转子转动使被吸入的空气转至机壳与转子间气密范围,同时停止进气。3.转子不断转动,气密范围变小,空气被压缩。螺杆式气体压缩机是世界上最先进、紧凑型、坚实、运行平稳,噪音低,是值得信赖的气体压缩机。螺杆式压缩机气路系统:
A
进气过滤器
B
空气进气阀
C
压缩机主机
D
单向阀
E
空气/油分离器
F
最小压力阀
G
后冷却器
H
带自动疏水器的水分离器油路系统:
J
油箱
K
恒温旁通阀
L
油冷却器
M
油过滤器
N
回油阀
O
断油阀冷冻系统:
P
冷冻压缩机
Q
冷凝器
R
热交换器
S
旁通系统
T
空气出口过滤器螺杆式压缩机涡旋式压缩机
涡旋式压缩机是20世纪90年代末期开发并问世的高科技压缩机,由于结构简单、零件少、效率高、可靠性好,尤其是其低噪声、长寿命等诸方面大大优于其它型式的压缩机,已经得到压缩机行业的关注和公认。被誉为“环保型压缩机”。由于涡旋式压缩机的独特设计,使其成为当今世界最节能压缩机。涡旋式压缩机主要运动件涡卷付,只有磨合没有磨损,因而寿命更长,被誉为免维修压缩机。
由于涡旋式压缩机运行平稳、振动小、工作环境安静,又被誉为“超静压缩机”。
涡旋式压缩机零部件少,只有四个运
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生足疗店创业计划
- 图书馆读书课件
- 五人联合影视制作2025知识产权归属协议
- 关于篮球的课件
- 地理-辽宁省协作校2024-2025学年2025届高三第一次模拟考试试题(协作校一模)试题和答案
- 广告设计专业知识讲座
- 废气处理培训课件
- 第2章 图形设计的基本原理
- 幼儿知识阅读
- 护士评职称个人述职报告
- 教师教学能力大赛-参赛教案-获奖作品(可做模板)
- (正式版)JBT 106-2024 阀门的标志和涂装
- 【真题】2023年南京市中考语文试卷(含答案解析)
- 高压旋喷桩安全教育
- 电子商务的用户关系构建和传播策略案例
- 河北开放大学2022年《合同法》形考1-4答案
- 动物遗传多样性研究
- 客运驾驶员岗前培训课件
- 大型风电场智能运维方案
- LMX2594实现跳频的编程时序分析
- 领导力与企业文化、企业管理之辩证关系-以泰州港务集团为案例的研究的开题报告
评论
0/150
提交评论