单片机课件—显示器与键盘控制_第1页
单片机课件—显示器与键盘控制_第2页
单片机课件—显示器与键盘控制_第3页
单片机课件—显示器与键盘控制_第4页
单片机课件—显示器与键盘控制_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 成成都都理理工工大大学学工工程程技技术术学学院院显示器与键盘控制显示器与键盘控制 成成都都理理工工大大学学工工程程技技术术学学院院键盘键盘 单片机系统中单片机系统中完成控制参数输入完成控制参数输入及及修改修改的基本输的基本输入设备,是人工干预系统的重要手段。入设备,是人工干预系统的重要手段。单片机与计算机在键盘规模单片机与计算机在键盘规模/键符设置等方面差别键符设置等方面差别很大。很大。键盘分类键盘分类 按键值编码方式分按键值编码方式分 (硬件硬件)编码键盘编码键盘与与非非(硬件硬件)编码键盘编码键盘。 按键组连接方式分按键组连接方式分 独立连接键盘独立连接键盘与与矩阵连接键盘矩阵连接键盘。

2、 成成都都理理工工大大学学工工程程技技术术学学院院编码键盘编码键盘: 采用采用专用的编码专用的编码/译码器件译码器件,被按下的键被按下的键由该器件由该器件译码输出相应的译码输出相应的键码键码/键值键值。特点:增加了硬件开销,编码因选用器件而异,编特点:增加了硬件开销,编码因选用器件而异,编码固定,但编程简单。适用于规模大的键盘。码固定,但编程简单。适用于规模大的键盘。非编码键盘非编码键盘: 单片机系统多采用此类键盘单片机系统多采用此类键盘 采用采用软件编软件编/译码译码的方式的方式,通过扫描,对每个被按下通过扫描,对每个被按下的键判别输出相应的的键判别输出相应的键码键码/键值键值。特点:不增加

3、硬件开销,编码灵活,适用于小规模特点:不增加硬件开销,编码灵活,适用于小规模的键盘,特别是单片机系统。但编程较复杂的键盘,特别是单片机系统。但编程较复杂,占占CPU时间,还须软件时间,还须软件“消抖消抖”。P.160按键值编码方式按键值编码方式:编码键盘与非编码键盘编码键盘与非编码键盘 成成都都理理工工大大学学工工程程技技术术学学院院按键组连接方式按键组连接方式:独立连接键盘与矩阵连接键盘独立连接键盘与矩阵连接键盘独立连接键盘独立连接键盘: 每键相互独立,各自与一条每键相互独立,各自与一条I/O线线相连,相连,CPU可直接读取该可直接读取该I/O线的高线的高/低电平状态。低电平状态。特点:占特

4、点:占I/O口线多,但判键速度快,多用于设置口线多,但判键速度快,多用于设置控制键、功能键。适用于键数少的场合。控制键、功能键。适用于键数少的场合。矩阵连接键盘矩阵连接键盘: 键按矩阵排列键按矩阵排列,各键处于矩阵行各键处于矩阵行/列列的的 节点处节点处,CPU通过对连在行通过对连在行(列列)的的I/O线送已知电线送已知电平的信号平的信号,然后读取列然后读取列(行行)线的状态信息。逐线扫描线的状态信息。逐线扫描,得出键码。得出键码。特点:键多时占用特点:键多时占用I/O口线少口线少,但判键速度慢但判键速度慢,多用多用于设置数字键。适用于键数多的场合。于设置数字键。适用于键数多的场合。 成成都都

5、理理工工大大学学工工程程技技术术学学院院独立连接式键盘独立连接式键盘 特点:特点:此子程序采用此子程序采用中断中断查询查询不会漏判不会漏判, ,省时。省时。键的优先级由指令键的优先级由指令顺序决定。顺序决定。P1.0P1.0P1.1P1.1P1.2P1.2P1.3P1.3 ORG 0003H ORG 0003H LJMP KEY LJMP KEY KEY:KEY: JNB P1.0,FUNC1 ; JNB P1.0,FUNC1 ;逐键判别逐键判别 JNB P1.1,FUNC2 JNB P1.1,FUNC2 JNB P1.2,FUNC3 JNB P1.2,FUNC3 JNB P1.3,FUNC4

6、 JNB P1.3,FUNC4 RETI ; RETI ;无任何键按下由此返回无任何键按下由此返回FUNC1FUNC1: : ; ;做做P1.0P1.0要求的要求的“功能功能1 1” RETI RETIFUNC2FUNC2: : ; ;做做P1.1P1.1要求的要求的“功能功能2 2” RETI RETIFUNC3FUNC3: : ; ;做做P1.2P1.2要求的要求的“功能功能3 3” RETI RETIFUNC4FUNC4: : ; ;做做P1.3P1.3要求的要求的“功能功能4 4” RETI RETIINT0INT0&(上拉上拉)AT89C51 成成都都理理工工大大学学工工程程

7、技技术术学学院院矩阵连接式键盘矩阵连接式键盘高五位高五位低四位低四位 成成都都理理工工大大学学工工程程技技术术学学院院KS: MOV DPTR,#8FFFH MOV A,#00HMOVX DPTR,A ;向所有列线发出低电平信号向所有列线发出低电平信号MOV DPTR,#0BFFFHMOVX A,DPTR ;输入行线信号输入行线信号CPL A ;A不为不为0则有键按下则有键按下ANL A,#0FHRET判断是否有键按下子程序:判断是否有键按下子程序: 成成都都理理工工大大学学工工程程技技术术学学院院K2: MOV R3,#0F7HKEY: MOV DPTR,#8FFFH MOV A,R3 ;使

8、某列为使某列为 0 MOVX DPTR,A MOV DPTR,#0BFFFH MOVX A,DPTR ;输入行线信号输入行线信号 ANL A,#0FH CJNE A,#0FH ,KN1 ;判断端口判断端口3是否得到全是否得到全“1”信号信号 MOV A,R3 RL A MOV R3,A ;扫描下一列扫描下一列 CJNE A,#0FEH,KEY CLR 00H;位地址;位地址00H=0表示没有找到键值;表示没有找到键值;00H=1,表,表示找到键值。示找到键值。 RET键识别子程序键识别子程序 成成都都理理工工大大学学工工程程技技术术学学院院KN1: XCH A,03H ;得到非全得到非全1信号

9、,则表明信号,则表明找到键找到键 ANL A,#0F0H ADD A,R3 ;形成特征码形成特征码 MOV R2,A MOV R3,#0LKP: MOV DPTR,#TG MOV A,R3 MOVC A,A+DPTR ;取某键的特征码取某键的特征码 CJNE A,02H,NEXT ;与形成特征码比较与形成特征码比较 SETB 00H ;找到键值,在找到键值,在R3寄存器中寄存器中 MOV A,R3 RET 成成都都理理工工大大学学工工程程技技术术学学院院NEXT: INC R3 MOV A,R3 CJNE A,#14H,LKP CLR 00H RETTG:DB 0FEH,0FDH,0FBH,0

10、F7H ;特征码特征码 DB 0EEH,0EDH,0EBH,0E7H DB 0DEH,0DDH,0DBH,0D7H DB 0BEH,0BDH,0BBH,0B7H DB 7EH,7DH,7BH,77H 成成都都理理工工大大学学工工程程技技术术学学院院 找到闭合键后,读入相应的键值,再转至相应的找到闭合键后,读入相应的键值,再转至相应的键处理程序。可以利用键的散转程序实现相应键处理程序。可以利用键的散转程序实现相应的键处理程序。键的转移首地址在的键处理程序。键的转移首地址在DPTR 中。中。常用的程序段如下:常用的程序段如下: MOV DPTR,#TBB MOV A,R3 ;取键值取键值 RL A

11、 JMP A + DPTRTBB:AJMP KK1 AJMP KK2 AJMP KK20 成成都都理理工工大大学学工工程程技技术术学学院院LEDLED显示器的扩展显示器的扩展( (结构结构) )LEDLED数码管的数码管的结构结构:共阳与共阴共阳与共阴 单片机系统扩展单片机系统扩展LEDLED数码管时多用共阳数码管时多用共阳LED:LED:共阳数码管每个段笔画是用低电平共阳数码管每个段笔画是用低电平(“0”)(“0”)点亮的点亮的, ,要求驱要求驱动功率很小;而共阴数码管段笔画是用高电平动功率很小;而共阴数码管段笔画是用高电平(“0”)(“0”)点亮点亮的,要求驱动功率较大。的,要求驱动功率较

12、大。 通常每个段笔画要串一个数百欧姆的降压电阻通常每个段笔画要串一个数百欧姆的降压电阻。公共公共阳阳极极h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh h公共公共阴阴极极h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh hh g f ah g f a高电平点亮高电平点亮低电平点亮低电平点亮接高电平接高电平接地接地 成成都都理理工工大大学学工工程程技技术术学学院院LEDLED数码管的数码管的译码译码:硬件译码与软件译码硬件译码与软件译码硬件译码特点硬件译码特点: :采用专用的译码采用

13、专用的译码/ /驱动器件驱动器件, ,驱动功驱动功率较大率较大; ;增加了硬件的开销增加了硬件的开销; ;软件软件编程简单编程简单; ;字型固字型固定定( (比如比如: :只有七段只有七段, ,只可译数字只可译数字, ,字型不好看字型不好看)。共阴共阴LEDa ab bc cd dg ge ef fh hg gf fe ed dc cb b a aD DC CB BA AP1.3P1.3P1.2P1.2P1.1P1.1P1.0P1.0CD4511CD4511AT89C51AT89C5174LS48/CD451174LS48/CD4511是是“BCDBCD码码七段共阴译码七段共阴译码/ /驱动驱

14、动”IC; IC; 74LS4774LS47是是“BCDBCD码码七段共阳译码七段共阳译码/ /驱动驱动”ICICLEDLED显示器的扩展显示器的扩展( (结构结构) ) 成成都都理理工工大大学学工工程程技技术术学学院院LEDLED显示器的扩展显示器的扩展( (软件译码软件译码) )LEDLED数码管的译码:软件译码数码管的译码:软件译码软件译码特点软件译码特点: : 不用专用的译码不用专用的译码/ /驱动器件,驱动功率较小;不增驱动器件,驱动功率较小;不增加硬件的开销;软件编程较复杂;字型灵活加硬件的开销;软件编程较复杂;字型灵活( (比如:比如:有八段,可译多种字符,字型好看有八段,可译多

15、种字符,字型好看)。共阳共阳LEDa ab bc cd dg ge ef fh hP1.0P1.0P1.1P1.1P1.2P1.2P1.3P1.3P1.4P1.4P1.5P1.5P1.6P1.6P1.7P1.7+5V+5VAT89C51AT89C51硬件译码特点硬件译码特点: : 采用专用译码采用专用译码/ /驱动器件,驱动器件,驱动功率较大;增加了硬驱动功率较大;增加了硬件的开销;软件编程简单;件的开销;软件编程简单;字型固定字型固定( (比如:只可译比如:只可译数字,字型不好看数字,字型不好看)。 成成都都理理工工大大学学工工程程技技术术学学院院LEDLED数码管的软件译码数码管的软件译码

16、LEDLED数码管段代码编码表数码管段代码编码表( (连线不同可有多种表连线不同可有多种表):):公共阳极公共阳极h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh h公共阴极公共阴极h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh hh g f ah g f a高电平点亮高电平点亮低电平点亮低电平点亮接高电平接高电平接地接地字形字形0123456789黑黑共阳共阳0C00F90A40B09992820F880900FF共阴共阴3F065B4F666D7D077F6F00 成成都都理理

17、工工大大学学工工程程技技术术学学院院LEDLED显示器的扩展显示器的扩展( (显示方式显示方式) )LEDLED数码管的数码管的显示方式显示方式:静态与动态静态与动态动态显示特点动态显示特点: : 有闪烁,用元器件少,占有闪烁,用元器件少,占I/OI/O线少,必须扫描,花费线少,必须扫描,花费CPUCPU时间,时间,编程复杂。编程复杂。( (有多个有多个LEDLED时尤为突出)时尤为突出)静态显示特点静态显示特点: : 无闪烁,用元器件多,占无闪烁,用元器件多,占I/OI/O线多,无须扫描,节省线多,无须扫描,节省CPUCPU时间,时间,编程简单。编程简单。静态显示静态显示: : 各数码管在显

18、示过程中持续得到送显信号,与各数码管接口各数码管在显示过程中持续得到送显信号,与各数码管接口的的I/OI/O口线是专用的。口线是专用的。动态显示动态显示: : 各数码管在显示过程中轮流得到送显信号,与各数码管接口各数码管在显示过程中轮流得到送显信号,与各数码管接口的的I/OI/O口线是共用的。口线是共用的。 成成都都理理工工大大学学工工程程技技术术学学院院A AB BCLKCLKh g f e d c b ah g f e d c b aCLRCLRA AB BCLKCLKCLRCLRA AB BCLKCLKCLRCLR+5V+5VVCCVCCTxDTxDRxDRxD 89C51单片机单片机7

19、4LS16474LS16474LS164h g f e d c b ah g f e d c b ah g f e d c b ah g f e d c b a+5V+5V共阳共阳LED数码管数码管LEDLED数码管数码管静态显示静态显示举例举例有几个有几个LEDLED就要几个就要几个74LS16474LS164,但只要数据不变,但只要数据不变,送一次就保持住了,且不闪烁,编程十分简单。送一次就保持住了,且不闪烁,编程十分简单。 成成都都理理工工大大学学工工程程技技术术学学院院要求:根据上图编写通过串行口和要求:根据上图编写通过串行口和74LS16474LS164驱动共驱动共 阳阳LEDLED

20、数码管查表显示的子程序。数码管查表显示的子程序。条件:系统有条件:系统有6 6个个LEDLED数码管数码管, ,待显数据待显数据(00H09H)(00H09H)已放在已放在35H30H35H30H单元中单元中( (分别对应十万位分别对应十万位个位个位) ),DSPLY:MOV DPTR, #TABLE ;DSPLY:MOV DPTR, #TABLE ;共阳共阳LEDLED数码管译码表首址数码管译码表首址 MOV R0MOV R0,#30H ;#30H ;待显数据缓冲区的个位地址待显数据缓冲区的个位地址REDOREDO:MOV AMOV A, R0 ;R0 ;通过通过R0R0实现寄存器间接寻址实

21、现寄存器间接寻址 MOVC A, A+DPTR ;MOVC A, A+DPTR ;查表查表 MOV SBUF, A ;MOV SBUF, A ;经串行口发送到经串行口发送到74LS16474LS164 JNB TI, $ ; JNB TI, $ ;查询送完一个字节的第查询送完一个字节的第8 8位?位? CLR TI ;CLR TI ;为下一字节发送作准备为下一字节发送作准备 INC R0 ;R0INC R0 ;R0指向下一个数据缓冲单元指向下一个数据缓冲单元 CJNE R0CJNE R0,#36H#36H,REDO ;REDO ;判断是否发完判断是否发完6 6个数?个数? RET ;RET ;

22、发完发完6 6个数就返回个数就返回TABLETABLE:DB 0C0H,0F9H,0A4H,0B0H,99H ;DB 0C0H,0F9H,0A4H,0B0H,99H ;共阳共阳LEDLED译码表译码表 DB 92H, 82H, 0F8H, 80H,90HDB 92H, 82H, 0F8H, 80H,90H 成成都都理理工工大大学学工工程程技技术术学学院院LEDLED数码管数码管动态显示举例动态显示举例P1.5 P1.5 P1.4P1.4P1.3P1.3P1.2P1.2P1.2P1.2P1.0P1.0P0.7 P0.7 P0.6 P0.6 P0.5 P0.5 P0.4 P0.4 P0.3 P0.

23、3 P0.2 P0.2 P0.1 P0.1 P0.0P0.07406 OC7406 OC门门 X 3X 3上拉上拉电阻电阻1414+5V+5VAT89C51工作原理工作原理:从:从P0P0口送段代码口送段代码,P1,P1口送位选信号。段码虽同时口送位选信号。段码虽同时到达到达 6 6个个LEDLED,但一次仅一个,但一次仅一个LEDLED被选中。利用被选中。利用“视觉暂留视觉暂留”,每送一个字符并选中相应位线,延时一会儿每送一个字符并选中相应位线,延时一会儿, ,再送再送/ /选下一选下一个个循环扫描即可。循环扫描即可。共阴共阴 数码管数码管位位选选线线段段代代码码 成成都都理理工工大大学学工

24、工程程技技术术学学院院要求要求:此处为共阴数码管,:此处为共阴数码管,P0P0口送段代码,口送段代码,P1P1口送位选信号。口送位选信号。通过查表实现动态显示。通过查表实现动态显示。条件条件:待显数据:待显数据(00H09H)(00H09H)已放在已放在: 7FH7AH: 7FH7AH单元中单元中( (分别对分别对应十万位个位应十万位个位) )说明说明:由于用了反相驱动器:由于用了反相驱动器74067406,要用共阳译码表。,要用共阳译码表。 成成都都理理工工大大学学工工程程技技术术学学院院7406 OC7406 OC门门 X 3X 3+5V+5V(7FH) (7EH) (7DH) (7CH)

25、 (7BH) (7AH)十万十万 万位万位 千位千位 百位百位 十位十位 个位个位数据缓冲区数据缓冲区 / / 显示缓冲区显示缓冲区P0P0口送段口送段代码,代码,P1P1口送位选口送位选信号。信号。待显数据待显数据已经放在已经放在: : 7FH7AH7FH7AH单元单元( (分别分别对应十万对应十万位位个位个位) )使用共阳使用共阳译码表。译码表。 成成都都理理工工大大学学工工程程技技术术学学院院DIR: MOV DPTR, #DSEG ;DIR: MOV DPTR, #DSEG ;数码管译码表首址数码管译码表首址 MOV R0MOV R0,#7AH ;#7AH ;待显缓冲区个位地址待显缓冲

26、区个位地址 MOV R3MOV R3,#01H ;#01H ;个位的位选信号个位的位选信号=01H=01HLD1LD1: MOV AMOV A, R0 ;R0 ;通过通过R0R0间接寻址间接寻址 MOVC A, A+DPTR ;MOVC A, A+DPTR ;查表查表 MOV P0, A ;MOV P0, A ;字段码送到字段码送到P0P0口口 MOV P1MOV P1,R3 ;R3 ;字位选择送到字位选择送到P1P1口口 LCALL DELY ;LCALL DELY ;调延时调延时1ms1ms子程序子程序 MOV P0,#00HMOV P0,#00H INC R0 ;R0 INC R0 ;R

27、0 指向下一字节指向下一字节 MOV AMOV A,R3R3 JB ACC.5 JB ACC.5,LD2 ;LD2 ;判是否发完判是否发完6 6个数?个数? RL A ;R1RL A ;R1指向下一个位指向下一个位 MOV R3MOV R3,A ;A ;位选信号存回位选信号存回R3R3 SJMP LD1 ; SJMP LD1 ;跳去再显示下一个数跳去再显示下一个数LD2LD2: RET ;RET ;发完发完6 6个数就返回个数就返回DSEGDSEG:DB 0C0H,0F9H,0A4H,0B0H,99H;DB 0C0H,0F9H,0A4H,0B0H,99H;共阳译码表共阳译码表 DB 92H,

28、82H, 0F8H, 80H,90HDB 92H, 82H, 0F8H, 80H,90H 成成都都理理工工大大学学工工程程技技术术学学院院动态显示举例动态显示举例 ( (循环显示循环显示“1234”“1234”的实验的实验) ) 成成都都理理工工大大学学工工程程技技术术学学院院ORG 0000HMAIN: MOV R0, #01H MOV R1, #04 MOV R2,#00 MOV DPTR,#TAB LOOP: MOV A, R2 MOVC A, A+DPTR MOV P0,A MOV P1, R0 LCALL DELAY MOV P0,#0FFH INC R2 MOV A,R0 RL A MOV R0,A

温馨提示

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

评论

0/150

提交评论