《键盘和显示器课件》由会员分享,可在线阅读,更多相关《键盘和显示器课件(161页珍藏版)》请在金锄头文库上搜索。
1、河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系第四章第四章 智能仪表的键盘和显示智能仪表的键盘和显示器接口器接口第四章第四章 智能化测控仪表的键盘、显示器及打印输出接口智能化测控仪表的键盘、显示器及打印输出接口1 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系 智能化测控仪表的操作管理是通过计智能化测控仪表的操作管理是通过计算机的算机的外部输入输出设备外部输入输出设备完成的,键盘、完成的,键盘、显示器和打印机是最常用的外部输入显示器和打印机是最常用的外部输入/输输出设备。出设备。第四章第四章 智能化测控仪表的键盘、显示器及打印输出接口智能化测控仪表的
2、键盘、显示器及打印输出接口2 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系第四章第四章 智能化测控仪表的键盘、显示器及打印输出接口智能化测控仪表的键盘、显示器及打印输出接口4.1 键盘接口技术键盘接口技术 键盘是由排列成矩阵形式的一系列按键开关组成键盘是由排列成矩阵形式的一系列按键开关组成的,最常用的人机联系的一种输入设备。的,最常用的人机联系的一种输入设备。键盘按其结构形式可分为键盘按其结构形式可分为编码式键盘编码式键盘和和非编码式键非编码式键盘盘两大类。两大类。编码式键盘是编码式键盘是由其内部硬件逻辑电路自动产生被按由其内部硬件逻辑电路自动产生被按键的编码键的
3、编码。这种键盘使用方便。这种键盘使用方便,但价格较贵。但价格较贵。3 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系智智能能仪仪表表中中普普遍遍使使用用非非编编码码式式键键盘盘。非非编编码码式式键键盘盘硬硬件件接接口口简简单单,但但要要占占用用较较多多的的CPUCPU时时间间。这类键盘应主要解决以下几个问题:这类键盘应主要解决以下几个问题:(1)(1)键的识别键的识别; ;(2)(2)反弹跳反弹跳; ;(3)(3)串键的保护。串键的保护。4.1 键盘接口技术键盘接口技术4 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系(1)(1)键的识别
4、键的识别; ;决定是否有键按下,若有,识别是哪个键。决定是否有键按下,若有,识别是哪个键。常用方法:行扫描法和线反转法。常用方法:行扫描法和线反转法。4.1 键盘接口技术键盘接口技术(2)(2)反弹跳反弹跳; ;由于按键采用的是机械开关,当开关的由于按键采用的是机械开关,当开关的触点闭合或者断开到稳定,会产生一个短触点闭合或者断开到稳定,会产生一个短暂的抖动和弹跳。暂的抖动和弹跳。5 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4.1 键盘接口技术键盘接口技术6 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系消除方法:消除方法:硬硬件件
5、方方法法(适适用用于于键键数数较较少少的情况)的情况) 软软件件延延时时的的方方法法(键键数数较较多多时)时)4.1 键盘接口技术键盘接口技术7 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系(3 3)串键串键保护保护 由于操作不慎,可能会造成同时有几个键被按由于操作不慎,可能会造成同时有几个键被按下,称为串键。下,称为串键。处理技术有三处理技术有三:两键同时按下两键同时按下 * *只有一个键按下才读取键盘,最后仍被按下的是只有一个键按下才读取键盘,最后仍被按下的是有效的正确按键有效的正确按键软件扫描键盘;软件扫描键盘; * *当第当第1 1个按键未松开时,按第个按
6、键未松开时,按第2 2个按键不产生选通个按键不产生选通信号信号4.1 键盘接口技术键盘接口技术8 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系n n键同时按下键同时按下 不理会所有按下的键,或者将所有的按键信息存不理会所有按下的键,或者将所有的按键信息存储,然后逐个处理。储,然后逐个处理。n n键锁定键锁定 只处理只处理1 1个键,任何其他按下又松开的键不产生任个键,任何其他按下又松开的键不产生任何码。通常第一个按下或者最后一个松开的按键何码。通常第一个按下或者最后一个松开的按键产生代码。产生代码。4.1 键盘接口技术键盘接口技术9 键盘和显示器河北工程大学河北工
7、程大学 自动化与电气工程系自动化与电气工程系1.1.非编码式键盘的结构非编码式键盘的结构 非非编编码码式式键键盘盘一一般般采采用用行行列列式式结结构构并并按按矩矩阵阵形形式排列式排列, ,如图如图4.34.3所示。所示。 4.1.1 非编码键盘非编码键盘输入三态缓冲器输入三态缓冲器+5VR1R2R3R4行线行线C4C3C2C1输输出出锁锁存存器器至至CPU数据总线数据总线图图4.3 44矩阵键盘接口矩阵键盘接口通过检查行线的输出电平和列通过检查行线的输出电平和列线的输入电平来识别按键线的输入电平来识别按键列线列线10 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系2
8、.按键识别方法按键识别方法非非编编码码式式键键盘盘识识别别闭闭合合键键通通常常有有两两种种方方法法:一一种称为行扫描法种称为行扫描法, ,另一种称为线反转法。另一种称为线反转法。1)1)行扫描法行扫描法就就是是通通过过行行线线发发出出低低电电平平信信号号, ,如如果果该该行行线线所所连连接接的的键键没没有有按按下下的的话话, ,则则列列线线所所连连接接的的输输出出端端口口得得到到的的是是全全“1”“1”信信号号; ;如如果果有有键键按按下下的的话话, ,则得到的是非全则得到的是非全“1”“1”信号。信号。4.1.1 非编码键盘非编码键盘行扫描法行扫描法11 键盘和显示器河北工程大学河北工程大学
9、 自动化与电气工程系自动化与电气工程系输输 入入+5VR1R2R3R4C4C3C2C1输输 出出输输 入入+5VR1R2R3R4C4C3C2C1输输 出出01110111图图4.4 行扫描按键识别行扫描按键识别4.1.1 非编码键盘非编码键盘行扫描法行扫描法12 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系图图4.4 行扫描按键识别行扫描按键识别输输 入入+5VR1R2R3R4C4C3C2C1输输 出出110111104.1.1 非编码键盘非编码键盘行扫描法行扫描法输输 入入+5VR1R2R3R4C4C3C2C1输输 出出13 键盘和显示器河北工程大学河北工程大学
10、 自动化与电气工程系自动化与电气工程系R1R2R3R4C2C1C4C3K1K2K3K4K5K6K7K8K9K10K11 K12K13 K14 K15 K16表表4-1 键位与行列线关系表键位与行列线关系表输输 入入+5VR1R2R3R4C4C3C2C1输输 出出4.1.1 非编码键盘非编码键盘行扫描法行扫描法行号行号列号列号键值键值14 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系采用行扫描法进行按键识别时,常用软件编程采用行扫描法进行按键识别时,常用软件编程来提供串键保护。来提供串键保护。基本思路基本思路:当有多个按键被压下时,不立即求:当有多个按键被压下时,不
11、立即求取键值,而是重新回到按键识别直至只剩下取键值,而是重新回到按键识别直至只剩下1个键压下为止。个键压下为止。4.1.1 非编码键盘非编码键盘行扫描法行扫描法15 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系2) 2) 线反转法线反转法 线线反反转转法法也也是是识识别别闭闭合合键键的的一一种种常常用用方方法法。该该方方法法比比行行扫扫描描法法速速度度要要快快, ,但但在在硬硬件件电电路路上上要要求求行行线线与与列列线线均均需需有有上上拉拉电电阻阻, ,故故比比行行扫扫描描法稍复杂些。法稍复杂些。 线线反反转转法法借借助助并并行行接接口口实实现现,比比行行扫扫描描
12、法法的的速度快速度快。 要要求求所所使使用用的的并并行行接接口口芯芯片片具具有有方方向向寄寄存存器和数据寄存器。器和数据寄存器。4.1.1 非编码键盘非编码键盘线反转法线反转法16 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4.1.1 非编码键盘非编码键盘线反转法线反转法并行并行接口接口数据寄存器数据寄存器方向寄存器方向寄存器+5V+5VINT“1”输出端输出端口口“0”输入端输入端口口01230 1 2 3行行列列PB0PB1PB2PB3PB4PB5PB6PB7列线信息:列线信息:PB7PB4=101117 键盘和显示器河北工程大学河北工程大学 自动化与电气工
13、程系自动化与电气工程系并行并行接口接口数据寄存器数据寄存器方向寄存器方向寄存器+5V+5VINT“1”输入端输入端口口“0”输出端输出端口口01230 1 2 3行行列列PB0PB1PB2PB3PB4PB5PB6PB74.1.1 非编码键盘非编码键盘线反转法线反转法行线信息:行线信息:PB3PB0=1011完整信息:完整信息:PB7PB0=10111011B并行并行接口接口数据寄存器数据寄存器方向寄存器方向寄存器+5V+5VINT“1”输入端输入端口口“0”输出端输出端口口01230 1 2 3行行列列PB0PB1PB2PB3PB4PB5PB6PB718 键盘和显示器河北工程大学河北工程大学
14、自动化与电气工程系自动化与电气工程系4.1.1 非编码键盘非编码键盘+5VLED4反反向向驱驱动动器器同同向向驱驱动动器器+5V740775452PC0PC1PC2PC3PA口口PB口口AD0AD7ALEWRRDCEIO/MALEWRRDP0.0P0.7P2.7P2.080C51图图4.7 单片机单片机80C51通过通过8155实现的键盘、显示器接口实现的键盘、显示器接口C840D951EA62FB73PA0PA1PA2PA319 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系KEY: MOV DPTR, #7F00H ;8155命令口地址命令口地址 MOV A,
15、#03H ;置置8155的的PA、PB为输入,为输入,PC为输出为输出 MOVX DPTR, A MOV R4, #00H ;0 键号寄存器键号寄存器 MOV R2, #01H ;扫描方式扫描方式 R2KEY1: MOV DPTR, #7F01H MOV A, R2 MOVX DPTR, A INC DPTR INC DPTR ;指向指向PC口口 MOVX A, DPTR JB ACC.0, KEY2; 判断判断PC0=1?即第即第0列有键入么列有键入么? MOV A, #00H AJMP KEY5KEY2: JB ACC.1, KEY3 MOV A, #01H AJMP KEY5 4.1.1
16、 非编码键盘非编码键盘20 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系KEY3: JB ACC.2, KEY4 MOV A, #02H AJMP KEY5KEY4: JB ACC.3, NEXT MOV A, #03HKEY5: ADD A, R4 ;列线号列线号+(R4)作为键值作为键值 A MOV R4, A RETNEXT: MOV A, R4 ADD A, #04H MOV R4, A MOV A, R2 JB ACC.3, NEXT1 ;判别是否已扫描到最后一行判别是否已扫描到最后一行 RL A MOV R2, A AJMP KEY1NEXT1: MO
17、V R4, #88H ;扫描到最后一行仍无按键置无键闭合标志扫描到最后一行仍无按键置无键闭合标志 RET 4.1.1 非编码键盘非编码键盘21 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4.1.2 键值分析键值分析单片机从键盘接口获得键值后究竟执行什么操作,单片机从键盘接口获得键值后究竟执行什么操作,完全取决于键盘解释程序。完全取决于键盘解释程序。对于同一个键盘接口,由于分析和解释键盘的程序对于同一个键盘接口,由于分析和解释键盘的程序不同,使其功能全然不同。不同,使其功能全然不同。按键基本上分为数字键和功能键。功能键又分为单按键基本上分为数字键和功能键。功能键又
18、分为单个功能键和字符串功能键。个功能键和字符串功能键。22 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4.1.2 键值分析键值分析单个功能键的作用是按了一个键,仪表就完成该键单个功能键的作用是按了一个键,仪表就完成该键所规定的功能。所规定的功能。字符串功能键是在按完多个键后,仪表才会完成规字符串功能键是在按完多个键后,仪表才会完成规定的功能。定的功能。键值分析常采用键值分析常采用查表法查表法和和状态分析法状态分析法。查表法查表法根据得到的键值代码,到固化在根据得到的键值代码,到固化在ROM中的中的表格中查找对应该代码的程序首地址,适用于单个表格中查找对应该代码的
19、程序首地址,适用于单个命令键。命令键。状态分析法状态分析法根据键码和当前所处的状态找出下一根据键码和当前所处的状态找出下一个应进入的状态及动作例行程序,适用于多键配合个应进入的状态及动作例行程序,适用于多键配合产生一个动作的多意键。产生一个动作的多意键。23 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系现设计一仪表的键盘有以下功能:现设计一仪表的键盘有以下功能:4.1.2 键值分析键值分析查表法查表法表表4-3 键值表键值表按按 键键键键 值值0FRUNRETADRSSTOREREADWRITE00H0FH10H11H12H13H14H15H表表4-2 功能子程序
20、转移地址表功能子程序转移地址表功能子程序功能子程序入口地址入口地址入口地址入口地址1入口地址入口地址2入口地址入口地址3子程序子程序1子程序子程序2子程序子程序324 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系INPUT: LCALL KEY;INPUT: LCALL KEY;调用按键识别子程序,键值在调用按键识别子程序,键值在A A中中 MOV R0, A MOV R0, A ANL A, #10H ANL A, #10H JZ DATAIN; JZ DATAIN;小于小于10H10H为数字键,转入数字操作为数字键,转入数字操作 MOV A, R0 MOV A
21、, R0 ANL A, #0FH; ANL A, #0FH; 保留键值的低保留键值的低4 4位位 MOV R0, A ; MOV R0, A ;实现实现(A) 3(A) 3 RL A RL A ADD A, R0 ADD A, R0 MOV DPTR, #TABLE; MOV DPTR, #TABLE; 取转移表首地址取转移表首地址 JMP A+DPTR; JMP A+DPTR; 按不同的键值转入不同的子程序按不同的键值转入不同的子程序4.1.2 键值分析键值分析查表法查表法为什么?为什么?25 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系TABLE: LJMP
22、#RUN ; TABLE: LJMP #RUN ; 转入转入RUNRUN命令子程序命令子程序 LJMP #RET ; LJMP #RET ; 转入转入RETRET命令子程序命令子程序 LJMP #ADRS ; LJMP #ADRS ; 转入转入ADRSADRS命令子程序命令子程序 LJMP #STORE ; LJMP #STORE ; 转入转入STORESTORE命令子程序命令子程序 LJMP #READ ; LJMP #READ ; 转入转入READREAD命令子程序命令子程序 LJMP #WRITE ; LJMP #WRITE ; 转入转入WRITEWRITE命令子程序命令子程序DATAI
23、N:DATAIN:4.1.2 键值分析键值分析查表法查表法3字节指令字节指令26 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系 当按键较多,复用次数较多时,若依然采用当按键较多,复用次数较多时,若依然采用查表法,使得命令的识别和子程序的执行交织在查表法,使得命令的识别和子程序的执行交织在一起,结构复杂,一起,结构复杂, 层次不清,不易阅读和修改。层次不清,不易阅读和修改。这时可采用这时可采用状态变量法状态变量法。 系统的系统的“状态状态”是表示系统的最小一组变量是表示系统的最小一组变量(状态变量)。只要知道了(状态变量)。只要知道了t=t0时的时的状态变量状态变量
24、和和tt0时的时的输入输入就可完全确定系统在就可完全确定系统在tt0任何时间内任何时间内的的行为行为。4.1.2 键值分析键值分析状态变量法状态变量法27 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系PESET=PESET=f f(K(Kc-1c-1,K,Kc-2c-2,),)其中,其中,K Kc-1c-1,K,Kc-2c-2为为t0t0时刻以前的按键序列;时刻以前的按键序列;PESETPESET称为程序的当前状态(简称现状)。称为程序的当前状态(简称现状)。4.1.2 键值分析键值分析状态变量法状态变量法表表4-4 状态矩阵表状态矩阵表SUB01 NEXT01S
25、UB02 NEXT02SUB0n NEXT0nK1K2KnST0ST1STmSUB11 NEXT11SUB12 NEXT12SUB1n NEXT1nSUBm1 NEXTm1SUBm2 NEXTm2SUBmn NEXTmn按键按键状态状态28 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系应用状态变量法设计键值分析程序具有如下优点:应用状态变量法设计键值分析程序具有如下优点:(1)应用一张状态表,统一处理任何一组按键状态)应用一张状态表,统一处理任何一组按键状态的组合,简化编译过程、使程序易读、易懂。的组合,简化编译过程、使程序易读、易懂。(2)翻译、解释按键序列与执
26、行子程序完全分离,)翻译、解释按键序列与执行子程序完全分离,键值分析程序可单独进行。键值分析程序可单独进行。(3)若仪表功能发生改变,程序的结构不变,仅需)若仪表功能发生改变,程序的结构不变,仅需要修改状态表。要修改状态表。(4)仪表设计越复杂,按键复用次数越多,效率越)仪表设计越复杂,按键复用次数越多,效率越高。高。4.1.2 键值分析键值分析状态变量法状态变量法29 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系* *发光二极管价格低、寿命长,对电压电流要求低。发光二极管价格低、寿命长,对电压电流要求低。*LED*LED是是近近似似恒恒压压的的元元件件,导导电电
27、的的正正向向压压降降一一般般为为1.6V1.6V或或2.4V2.4V,反向击穿电压一般,反向击穿电压一般5V5V。* *工作电流在工作电流在101020mA20mA,需串联适当的限流电阻。,需串联适当的限流电阻。4. 2 LED显示器接口技术显示器接口技术30 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系1. LED1. LED数码显示器的结构数码显示器的结构 LEDLED数数码码显显示示器器是是1 1种种由由LEDLED发发光光二二极极管管组组合合显显示示字字符符的的显显示示器器件件。它它使使用用了了8 8个个LEDLED发发光光二二极极管管, ,其其中中7 7
28、个个用用于于显显示示字字符符,1,1个个用用于于显显示示小小数数点点, ,故故通通常常称称之之为为7 7段段( (也也有有称称作作8 8段段) )发发光光二二极极管管数数码码显显示示器。其内部结构如图器。其内部结构如图4.144.14所示。所示。4. 2 LED显示器接口技术显示器接口技术31 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系图图4.14 74.14 7段段LEDLED数码显示器数码显示器4. 2 LED显示器接口技术显示器接口技术32 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系2. LED2. LED数码显示器的显示段
29、码数码显示器的显示段码 为为了了显显示示字字符符, ,要要为为LEDLED显显示示器器提提供供显显示示段段码码( (或或称称字字形形代代码码) ),组组成成一一个个“8”“8”字字形形字字符符的的7 7段段, ,再再加加上上1 1个个小小数数点点位位, ,共共计计8 8段段, ,因因此此提提供供给给LEDLED显显示示器器的的显显示示段段码码为为1 1个个字字节节。各各段段码码位位的对应关系如下:的对应关系如下: 段码位段码位 D7D6D5D4D3D2D1D0 显示段显示段 dp g f e d c b a4. 2 LED显示器接口技术显示器接口技术33 键盘和显示器河北工程大学河北工程大学
30、自动化与电气工程系自动化与电气工程系表表4-7 4-7 十六进制数及空白字符与十六进制数及空白字符与P P的显示段码的显示段码 4. 2 LED显示器接口技术显示器接口技术34 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系3.LED3.LED数码显示器的接口方法数码显示器的接口方法单单片片机机与与LEDLED数数码码显显示示器器有有以以硬硬件件为为主主和和以以软软件为主的两种接口方法。件为主的两种接口方法。1)1)以硬件为主的接口方法以硬件为主的接口方法这种接口方法的电路如图这种接口方法的电路如图4.154.15所示。所示。4. 2 LED显示器接口技术显示器接口
31、技术35 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系图图4.15 4.15 采用硬件译码器的采用硬件译码器的LEDLED接口接口edcbagfD1 D1 D2D2D3D3D4D4Q1 Q1 Q2Q2Q3Q3Q4Q4A AB BC CD DD1 D1 D2D2D3D3D4D47475747593689368FND500FND500+5V0088H0088H锁存器锁存器段译码器段译码器共阴极显示器共阴极显示器将输入的十六进制数将输入的十六进制数转换成段码输出转换成段码输出若该接口地址为若该接口地址为0088H0088H,显示数,显示数字字0 0程序如下:程序如下:M
32、OV MOV DPTR,#0088HDPTR,#0088HMOV A, #00HMOV A, #00HMOVX DPTR, AMOVX DPTR, A4. 2 LED显示器接口技术显示器接口技术36 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系 2)2)以软件为主的接口方法以软件为主的接口方法 接接口口方方法法的的电电路路如如图图4.164.16所所示示,它它是是以以软软件件查查表表代代替替硬硬件件译译码码, ,不不但但省省去去了了译译码码器器, ,而而且且还还能能显显示示更更多多的的字字符符。但但是是驱驱动动器器是是必必不不可可少少的的, ,因因为为仅仅靠靠接接
33、口口提提供供不不了了较较大大的的电电流流供供LEDLED显显示器使用。示器使用。 4. 2 LED显示器接口技术显示器接口技术37 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 2 LED显示器接口技术显示器接口技术字型码字型码字位字位LED6反反向向驱驱动动器器同同向向驱驱动动器器740775452PA口口PB口口AD0AD7ALEWRRDCEIO/MALEWRRDP0.0P0.7P2.7P2.080C51LED1图图4.16 4.16 软件译码的动态扫描多位软件译码的动态扫描多位LEDLED显示接口显示接口815538 键盘和显示器河北工程大学河北工程大学
34、 自动化与电气工程系自动化与电气工程系4. LED4. LED数码显示器的显示方法数码显示器的显示方法 由由于于各各位位数数码码管管的的显显示示段段码码是是互互相相并并联联的的, ,因因此此在在同同一一时时刻刻只只能能显显示示同同一一种种字字符符。对对于于这这种种接接口口电电路路来来说说, ,其显示方法有静态显示和动态显示两种。其显示方法有静态显示和动态显示两种。 (1 1)静态显示)静态显示 静静态态显显示示 就就是是在在同同一一时时刻刻只只显显示示1 1种种字字符符, ,或或者者说说被被显显示的字符在同一时刻是稳定不变的。示的字符在同一时刻是稳定不变的。* *其其显显示示方方法法比比较较简
35、简单单, ,只只要要将将显显示示段段码码送送至至段段码码口口, ,并并把把位控字送至位控口即可。所用指令为:位控字送至位控口即可。所用指令为: 4. 2 LED显示器接口技术显示器接口技术39 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系MOV DPTR,MOV DPTR,SEGPORT ;SEGPORT ;指向段码口指向段码口MOV A,MOV A,SEG ;SEG ;取显示段码取显示段码MOVX DPTR,A ;MOVX DPTR,A ;输出段码输出段码MOV DPTR,MOV DPTR,BITPORT ;BITPORT ;指向位控口指向位控口MOV A,MO
36、V A,BIT ;BIT ;取位控字取位控字MOVX DPTR,A ;MOVX DPTR,A ;输出位控字输出位控字4. 2 LED显示器接口技术显示器接口技术40 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系(2 2)动态显示)动态显示 如如果果要要在在同同一一时时刻刻显显示示不不同同的的字字符符, ,从从电电路路上上看看, ,这这是是办办不不到到的的。因因此此只只能能利利用用人人眼眼对对视视觉觉的的残残留留效效应应, ,采采用用动动态态扫扫描描显显示示的的方方法法, ,逐逐个个地地循循环环点点亮亮各各位位数数码码管管, ,每每位位显显示示1ms1ms左左右右,
37、使使人人看看起起来来就就好好象象在在同同时时显显示示不不同同的的字字符符一一样样( (在在亮亮度度上上要要有有差差别别) )。 在在进进行行动动态态扫扫描描显显示示时时, ,往往往往事事先先并并不不知知道道应应显显示示什什么么内内容容, ,这这样样也也就就无无从从选选择择被被显显示示字字符符的的显显示示段段码码。为为此此, ,一一般般采采用用查查表表的的方方法法, ,由由待待显显示示的的字符通过查表得到其对应的显示段码。字符通过查表得到其对应的显示段码。 4. 2 LED显示器接口技术显示器接口技术41 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 2 LED
38、显示器接口技术显示器接口技术字型码字型码字位字位LED6反反向向驱驱动动器器同同向向驱驱动动器器740775452PA口口PB口口AD0AD7ALEWRRDCEIO/MALEWRRDP0.0P0.7P2.7P2.080C51LED1图图4.16 4.16 软件译码的动态扫描多位软件译码的动态扫描多位LEDLED显示接口显示接口8155PA.0PA.542 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系DISPB:DISPB: MOV DPTR, #7F00H ;8155命令口地址命令口地址 MOV A, #03H MOVX DPTR, A ;PA、PB为输出方式为输
39、出方式 MOV R0, #7AH ;显示缓冲区首地址显示缓冲区首地址 MOV R3, #01H MOV A, R3DISPB1:MOV DPTR, #7F01H ;指向指向PA口口 MOVX DPTR, A4. 2 LED显示器接口技术显示器接口技术将单片机将单片机80C5180C51内部内部RAMRAM中的中的7AH7AH7FH7FH单元作为显示缓冲区,用单元作为显示缓冲区,用来存放欲显示的数据。来存放欲显示的数据。81558155的口地址为的口地址为7F00H7F00H7F05H;7F05H;程序中采用查表取段码指令程序中采用查表取段码指令MOVC A,A+PCMOVC A,A+PC或者或
40、者MOVC A,A+DPTRMOVC A,A+DPTR43 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系 INC DPTR ;指向指向PB口口 MOV A, R0 ;取显示数据取显示数据 ADD A, #0DH ; 查表偏移量查表偏移量 MOVC A, A+PC ;执行后执行后A中为段码值中为段码值 MOVX DPTR, A ;1字节字节 ACALL DELAY ;延时延时 2字节字节 INC R0 ; 1字节字节 MOV A, R3 ; 1字节字节 4. 2 LED显示器接口技术显示器接口技术将单片机将单片机80C5180C51内部内部RAMRAM中的中的7AH
41、7AH7FH7FH单元作为显示缓冲区,用单元作为显示缓冲区,用来存放欲显示的数据。来存放欲显示的数据。81558155的口地址为的口地址为7F00H7F00H7F05H;7F05H;程序中采用查表取段码指令程序中采用查表取段码指令MOVC A,A+PCMOVC A,A+PC或者或者MOVC A,A+DPTRMOVC A,A+DPTR44 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系 JB ACC.5, DISPB2 ;判断判断6位位LED是否都显示完是否都显示完 3字字节节 RL A ;扫描模式左移扫描模式左移1位位 1字节字节 MOV R3, A ; 1字节字节
42、 AJMP DISPB1 ; 2字节字节 DISPB2: RET ;1字节字节 SEGPT2: DB 3FH,06H,5BH,4FH,66H,6DH,DELAY: ;延时延时 RET4. 2 LED显示器接口技术显示器接口技术将单片机将单片机80C5180C51内部内部RAMRAM中的中的7AH7AH7FH7FH单元作为显示缓冲区,用单元作为显示缓冲区,用来存放欲显示的数据。来存放欲显示的数据。81558155的口地址为的口地址为7F00H7F00H7F05H;7F05H;程序中采用查表取段码指令程序中采用查表取段码指令MOVC A,A+PCMOVC A,A+PC或者或者MOVC A,A+DP
43、TRMOVC A,A+DPTR45 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系程序说明:程序说明:(1)(1)本本例例接接口口电电路路是是以以软软件件为为主主的的接接口口电电路路, ,显显示示数据有数据有6 6位位, ,每位数码管对应每位数码管对应1 1位有效显示数据。位有效显示数据。 (2)(2)由由程程序序可可知知, ,由由于于数数码码显显示示器器的的低低位位( (最最右右边边的的位位) )显显示示的的是是显显示示缓缓冲冲区区中中的的低低地地址址单单元元中中的的数数,因因此此数数在在显显示示缓缓冲冲区区中中存存放放的的次次序序为为低低地址单元存低位地址单元存
44、低位, ,高地址单元存高位。高地址单元存高位。(3)(3)在在动动态态扫扫描描显显示示过过程程中中, ,每每位位数数码码管管的的显显示示时时间约间约1ms,1ms,这由调用延时这由调用延时1ms1ms子程序子程序DELYDELY来实现。来实现。 4. 2 LED显示器接口技术显示器接口技术46 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系(4)(4)本本程程序序是是利利用用查查表表方方法法来来得得到到显显示示段段码码的的, ,这这是是一一种种既既简简便便又又快快速速的的方方法法。由由于于MCS-51MCS-51单单片片机机具具有有查查表表指指令令(MOVC(MOV
45、C指指令令),),因因此此用用来来编编制制查查表程序是非常方便的。表程序是非常方便的。(5)(5)在在实实际际的的单单片片机机应应用用系系统统中中, ,一一般般将将显显示示程程序序作为作为1 1个子程序供监控程序调用。个子程序供监控程序调用。 4. 2 LED显示器接口技术显示器接口技术47 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系LEDLED数码显示器应用数码显示器应用1.1.静态显示举例静态显示举例例例1 1:开开始始时时在在数数码码显显示示器器的的最最右右边边一一位位上上显显示示1 1个个“P”“P”字字, ,以以后后每每隔隔0.50.5秒秒将将“P”“
46、P”字字左左移移1 1位位, ,直直到到最最左左边边一一位位后后则则停停止止显显示示。接接口口电电路路与与端端口口地地址址同同上上, ,设设有有20ms20ms延延时时子子程程序序D20MSD20MS可可供调用。试编写相应的程序。供调用。试编写相应的程序。4. 2 LED显示器接口技术显示器接口技术48 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系2.2.动态显示举例动态显示举例例例2 2:有一单字节无符号数存放在片内有一单字节无符号数存放在片内RAM30HRAM30H单元单元中中, ,要求在数码显示器的最右边两位上显示。要求在数码显示器的最右边两位上显示。提示:
47、在不显示数字的位上数码管应该不亮提示:在不显示数字的位上数码管应该不亮, ,而动而动态扫描显示子程序每次对态扫描显示子程序每次对6 6位数码管全扫描一遍。位数码管全扫描一遍。程序按如下思路编写:程序按如下思路编写:(1) (1) 将将该该无无符符号号数数拆拆字字节节后后存存入入显显示示缓缓冲冲区区, ,应应注注意意数数的的存存放放次次序序。根根据据题题意意, ,低低位位数数应应存存入入显显示示缓缓冲区的低地址单元。冲区的低地址单元。(2)(2)将将“空空白白”字字符符的的查查表表值值10H10H送送入入不不显显示示位位所所对应的显示缓冲区中。对应的显示缓冲区中。(3)(3)反复调用动态扫描显示
48、子程序。反复调用动态扫描显示子程序。 4. 2 LED显示器接口技术显示器接口技术49 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 2 LED显示器接口技术显示器接口技术字型码字型码字位字位LED6反反向向驱驱动动器器同同向向驱驱动动器器740775452PA口口PB口口AD0AD7ALEWRRDCEIO/MALEWRRDP0.0P0.7P2.7P2.080C51LED1图图4.16 4.16 软件译码的动态扫描多位软件译码的动态扫描多位LEDLED显示接口显示接口8155PA.0PA.550 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与
49、电气工程系MOV A,MOV A,0FH ;0FH ;取最右边取最右边1 1位字符位字符 MOV R0,MOV R0,7AH ;7AH ;指向显缓区首址指向显缓区首址( (最低位最低位) ) MOV R1,MOV R1,06H ;06H ;共送入共送入6 6个字符个字符LOOP:MOV R0,A ;LOOP:MOV R0,A ;将字符送入显缓区将字符送入显缓区 INC R0 ; INC R0 ;指向下一显示单元指向下一显示单元 DEC A ; DEC A ;取下一个显示字符取下一个显示字符 DJNZ R1,LOOP ;6 DJNZ R1,LOOP ;6个数未送完个数未送完, ,则重复则重复MM
50、: LCALL DIR ;MM: LCALL DIR ;扫描显示一遍扫描显示一遍 SJMP MM ; SJMP MM ;重复扫描重复扫描4. 2 LED显示器接口技术显示器接口技术例例3 3:编编一一动动态态显显示示程程序序, ,使使数数码码显显示示器器同同时时显显示示“ABCDEF”6ABCDEF”6个个字字符符。设设显显示示缓缓冲冲区区的的首首地地址址为为7AH,7AH,可调用动态扫描显示子程序可调用动态扫描显示子程序DIR(DIR(直接调用)。直接调用)。51 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系例例4 4:在在一一串串单单字字节节无无符符号号数数中
51、中找找出出最最大大值值, ,并并在在数数码码显显示示器器的的最最右右边边两两位位上上显显示示。设设数数据据串串的的长长度度为为20,20,存存放放在在片片内内RAMRAM从从30H30H单单元元开开始始的的一段区域中。一段区域中。解解:根根据据题题意意,LED,LED数数码码显显示示器器必必须须采采用用动动态态扫扫描显示的方法。描显示的方法。本本例例要要显显示示的的是是两两位位数数, ,而而数数码码显显示示器器有有6 6位位。在在不不显显示示数数字字的的位位上上数数码码管管应应该该不不亮亮, ,而而动动态态扫描显示子程序每次对扫描显示子程序每次对6 6位数码管全扫描一遍。位数码管全扫描一遍。
52、4. 2 LED显示器接口技术显示器接口技术52 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系程序按如下思路编写:程序按如下思路编写:(1)(1)先求出最大值。先求出最大值。(2)(2)将将最最大大值值拆拆字字节节后后存存入入显显示示缓缓冲冲区区, ,应应注注意意数数的的存存放放次次序序。根根据据题题意意, ,低低位位数数应应存存入入显显示示缓冲区的低地址单元。缓冲区的低地址单元。 如如72H72H,应应在在高高地地址址单单元元存存储储07H07H,低低地地址址存存存储存储02H02H。(3)(3)将将“空空白白”字字符符的的查查表表值值10H10H送送入入不不显
53、显示示位位所对应的显示缓冲区中。所对应的显示缓冲区中。(4)(4)反复调用动态扫描显示子程序。反复调用动态扫描显示子程序。 4. 2 LED显示器接口技术显示器接口技术53 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系程序如下:程序如下: MOV R0, MOV R0,30H ;R030H ;R0指向数据区首地址指向数据区首地址 MOV R1, MOV R1,13H ;13H ;比较次数送比较次数送R1R1 MOV A, R0 ; MOV A, R0 ;取第取第1 1个数个数M1: INC R0 ;M1: INC R0 ;指向下一个数指向下一个数 MOV 70H,
54、R0 ; MOV 70H,R0 ;下一个数送入下一个数送入70H70H单元中单元中 CJNE A,70H,M3 ; CJNE A,70H,M3 ;若前后两个数不相等则转若前后两个数不相等则转M2: DJNZ R1,M1 ;M2: DJNZ R1,M1 ;若相等若相等, ,则判比较完否则判比较完否? ? SJMP M4 ; SJMP M4 ;若已完若已完, ,则转至显示处理则转至显示处理M3: JNC M2 ;M3: JNC M2 ;前一个数大前一个数大, ,转至判结束否转至判结束否? ? 4. 2 LED显示器接口技术显示器接口技术54 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系
55、自动化与电气工程系 MOV A,70H ; MOV A,70H ;前一个数小前一个数小, ,将大数换入将大数换入A A中中 SJMP M2 ; SJMP M2 ;转至判结束处转至判结束处M4: MOV R2,A ;M4: MOV R2,A ;暂存最大值暂存最大值 ANL A, ANL A,0FH ;0FH ;保留低位数保留低位数 MOV 7AH,A ; MOV 7AH,A ;将低位数存入显示缓冲区中将低位数存入显示缓冲区中 MOV A,R2 ; MOV A,R2 ;恢复最大值恢复最大值 ANL A, ANL A,0F0H ;0F0H ;保留高位数保留高位数 SWAP ; SWAP ;将高位换入
56、低位中将高位换入低位中 MOV 7BH,A ; MOV 7BH,A ;存入高位数存入高位数4. 2 LED显示器接口技术显示器接口技术55 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系 MOV A, MOV A,10H ;10H ;取取“空白空白”字符查表值字符查表值 MOV 7CH,A ; MOV 7CH,A ;放入显示缓冲区不显示位的单元中放入显示缓冲区不显示位的单元中 MOV 7DH,A ; MOV 7DH,A ;高高4 4位不显示位不显示 MOV 7EH,A MOV 7EH,A MOV 7FH,A MOV 7FH,A MM:LCALL DIR ;MM:LC
57、ALL DIR ;扫描显示一遍扫描显示一遍 SJMP MM ; SJMP MM ;重复扫描,显示最大值重复扫描,显示最大值4. 2 LED显示器接口技术显示器接口技术56 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系MAX7219MAX7219是是MAXIMMAXIM公司生产的一种串行接口方式公司生产的一种串行接口方式7 7段段共阴极共阴极LEDLED显示驱动器。显示驱动器。片内有一个片内有一个BCDBCD码到码到B B码的译码器、多路复用扫描码的译码器、多路复用扫描电路、字段和字位驱动器,以及存储每个数字的电路、字段和字位驱动器,以及存储每个数字的8 88RAM
58、8RAM。采用三线串行方式与单片机接口。采用三线串行方式与单片机接口。4. 2. 2 串行接口串行接口8位共阴极位共阴极LED 驱动器驱动器MAX721957 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 2. 2 串行接口串行接口8位共阴极位共阴极LED 驱动器驱动器MAX7219123456789101112242322212019181716151413DINDOUTDIG0DIG4DIG6DIG2DIG3DIG7GNDGNDDIG5DIG1LOADCLKSEGASEGFSEGBSEGGSEGDSEGDPSEGESEGCV+ISETMAX7219串行数据
59、输入,在串行数据输入,在CLKCLK时钟的上升沿移入,且时钟的上升沿移入,且最高位最高位(MSB)(MSB)在前在前串行数据输出串行数据输出58 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 2. 2 串行接口串行接口8位共阴极位共阴极LED 驱动器驱动器MAX7219123456789101112242322212019181716151413DINDOUTDIG0DIG4DIG6DIG2DIG3DIG7GNDGNDDIG5DIG1LOADCLKSEGASEGFSEGBSEGGSEGDSEGDPSEGESEGCV+ISETMAX7219字位驱动引脚,从字位驱
60、动引脚,从LEDLED显示器吸入电流显示器吸入电流59 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 2. 2 串行接口串行接口8位共阴极位共阴极LED 驱动器驱动器MAX7219123456789101112242322212019181716151413DINDOUTDIG0DIG4DIG6DIG2DIG3DIG7GNDGNDDIG5DIG1LOADCLKSEGASEGFSEGBSEGGSEGDSEGDPSEGESEGCV+ISETMAX7219两个地必须相连两个地必须相连60 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4.
61、 2. 2 串行接口串行接口8位共阴极位共阴极LED 驱动器驱动器MAX7219123456789101112242322212019181716151413DINDOUTDIG0DIG4DIG6DIG2DIG3DIG7GNDGNDDIG5DIG1LOADCLKSEGASEGFSEGBSEGGSEGDSEGDPSEGESEGCV+ISETMAX7219在在LOADLOAD的上升沿将串行输入的上升沿将串行输入数据的最后数据的最后1616位锁存位锁存61 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 2. 2 串行接口串行接口8位共阴极位共阴极LED 驱动器驱动器
62、MAX7219123456789101112242322212019181716151413DINDOUTDIG0DIG4DIG6DIG2DIG3DIG7GNDGNDDIG5DIG1LOADCLKSEGASEGFSEGBSEGGSEGDSEGDPSEGESEGCV+ISETMAX7219输入的移位脉冲,最高频率输入的移位脉冲,最高频率10MHz10MHz上升沿时,串行数据被上升沿时,串行数据被移入内部移位寄存器,下降移入内部移位寄存器,下降沿从沿从DOUTDOUT移出。移出。62 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 2. 2 串行接口串行接口8位共阴
63、极位共阴极LED 驱动器驱动器MAX7219123456789101112242322212019181716151413DINDOUTDIG0DIG4DIG6DIG2DIG3DIG7GNDGNDDIG5DIG1LOADCLKSEGASEGFSEGBSEGGSEGDSEGDPSEGESEGCV+ISETMAX72197 7段和小数点驱动输出,提段和小数点驱动输出,提供供LEDLED显示器源电流。显示器源电流。63 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 2. 2 串行接口串行接口8位共阴极位共阴极LED 驱动器驱动器MAX7219123456789101
64、112242322212019181716151413DINDOUTDIG0DIG4DIG6DIG2DIG3DIG7GNDGNDDIG5DIG1LOADCLKSEGASEGFSEGBSEGGSEGDSEGDPSEGESEGCV+ISETMAX7219+5V+5V电源电源64 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系 MAX7219 MAX7219采用采用串行数据串行数据传输方式,由传输方式,由1616位数据包位数据包发送到发送到DINDIN,每一位数据在,每一位数据在CLKCLK的上升沿被移入内部的上升沿被移入内部1616位移位寄存器中,然后在位移位寄存器中,
65、然后在LOADLOAD的上升沿将数据锁的上升沿将数据锁存到数据或控制寄存器中。存到数据或控制寄存器中。 串行数据以串行数据以1616为一楨,其中为一楨,其中D15-D12D15-D12任意,任意,D11-D11-D8D8为内部寄存器地址,为内部寄存器地址,D7- D0D7- D0为寄存器数据。为寄存器数据。4. 2. 2 串行接口串行接口8位共阴极位共阴极LED 驱动器驱动器MAX7219D15 D14 D13 D12 D11 D10 D9D8 D7D6D5D4 D3D2D1D0地址数据MSBLSB65 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系MAX7219具
66、有具有5个控制寄存器,分别用于译码方式、个控制寄存器,分别用于译码方式、显示亮度、扫描界限(扫描数位的个数)、停机显示亮度、扫描界限(扫描数位的个数)、停机和显示测试。和显示测试。每一种寄存器都有其固定的地址,编程时按照书中每一种寄存器都有其固定的地址,编程时按照书中介绍的对应十六进制代码。介绍的对应十六进制代码。P210P213MAX7219与单片机的接口如图所示:与单片机的接口如图所示:4. 2. 2 串行接口串行接口8位共阴极位共阴极LED 驱动器驱动器MAX721966 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 2. 2 串行接口串行接口8位共阴极
67、位共阴极LED 驱动器驱动器MAX721967 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 2. 2 串行接口串行接口8位共阴极位共阴极LED 驱动器驱动器MAX721968 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 2. 2 串行接口串行接口8位共阴极位共阴极LED 驱动器驱动器MAX7219MAX7219显示驱动程序显示驱动程序: ORG 0000H LJMP MAIN ORG 0030HMAIN: MOV SP,#60H MOV R7,#0AH ;亮度寄存器亮度寄存器 MOV R5,#07H ;亮度值亮度值 LCA
68、LL DINPUT ; 调用调用7219命令写入子程序命令写入子程序 MOV R7,#0BH ;扫描界限扫描界限 MOV R5,#07H ;显示显示0-7位数字位数字69 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 2. 2 串行接口串行接口8位共阴极位共阴极LED 驱动器驱动器MAX7219 LCALL DINPUT MOV R7,#09H ;译码方式寄存器译码方式寄存器 MOV R5,#0FFH ;7-0位译码位译码 LCALL DINPUT MOV R7,#0CH ;停止寄存器停止寄存器 MOV R5,#01H ;正常工作正常工作 LCALL DINP
69、UT MOV 30H,#08H ;要显示的数据;要显示的数据 MOV 31H,#00H MOV 32H,#05H 70 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 2. 2 串行接口串行接口8位共阴极位共阴极LED 驱动器驱动器MAX7219 MOV 33H,#01H MOV R7,#30H LCALL DISPLY HERE: SJMP HEREDINPUT: MOV A,R7 MOV R2,#08H ;作为作为7219控制寄存器的控制寄存器的8位地址值位地址值LOOP1: RLC A ; A的的D7位移到位移到P1.0,依次为依次为D6D0 MOV P1
70、.0,C ;8位地址移入位地址移入DIN CLR P1.2 ;P1.2输出时钟信号输出时钟信号 SETB P1.2 DJNZ R2,LOOP1 MOV A,R5 MOV R2,#08H ;8位数据位数据71 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 2. 2 串行接口串行接口8位共阴极位共阴极LED 驱动器驱动器MAX7219 LOOP2: RLC A ;A的的D7位移到位移到P1.0,依此为依此为D6D0 MOV P1.0,C CLR P1.2 SETB P1.2 DJNZ R2,LOOP2 CLR P1.1 ; 输出输出LOAD信号信号 SETB P1
71、.1 RET 72 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 2. 2 串行接口串行接口8位共阴极位共阴极LED 驱动器驱动器MAX7219 DISPLY: MOV A,R7 ;装缓冲区入口地址装缓冲区入口地址 MOV R0,A MOV R1,#01H ;R1指向指向8字节显示字节显示RAM首地址首地址 MOV R3,#08H LOOP3 : MOV A,R0 MOV R5,A MOV A,R1 ;取出显示取出显示RAM地址给地址给R7 MOV R7,A LCALL DINPUT INC R0 INC R1 DJNZ R3,LOOP3 RET 73 键盘和
72、显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术4.3.1 8279 4.3.1 8279 工作原理工作原理82798279分为两个部分:分为两个部分:键盘部分键盘部分和和显示部分显示部分。键盘部分键盘部分:提供:提供6464按键阵列的扫描接口,也可以接按键阵列的扫描接口,也可以接传感器阵列。传感器阵列。显示部分显示部分:对:对LEDLED数码管等提供显示接口。数码管等提供显示接口。74 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘
73、/显示器芯片接口技术显示器芯片接口技术8279 的组成及引脚的组成及引脚 82798279芯片有芯片有4040条引脚,由单一条引脚,由单一+5V+5V电源供电源供电。它主要由以下几部分组成:电。它主要由以下几部分组成: (1) I/O (1) I/O控制和数据缓冲器;控制和数据缓冲器; (2) (2) 控制和定时寄存器及定时控制部分;控制和定时寄存器及定时控制部分; (3) (3) 扫描计数器;扫描计数器; (4) (4)回送缓冲器与键盘去抖动控制电路;回送缓冲器与键盘去抖动控制电路; (5)FIFO( (5)FIFO(先进先出先进先出) )寄存器和状态电路;寄存器和状态电路; (6) (6)
74、显示器地址寄存器及显示显示器地址寄存器及显示RAMRAM。 75 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术双向数据总线。双向数据总线。76 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术命令状态或数据命令状态或数据选择线。选择线。A0=1A0=1,表示从,表示从DB0DB7DB0DB7线上传线上传送的是命令或送的是命令或状态字;状态字;A0=0A0=0表示为数据。表示为数据。77 键
75、盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术扫描线。可进行译码扫描线。可进行译码扫描扫描(4(4选选1)1),也可,也可进行编码扫描进行编码扫描(16(16选选1)1),但要使用,但要使用4-4-1616译码器。若用译码器。若用3-3-8 8译码器的话,则译码器的话,则扫描线为扫描线为8 8选选1 1。78 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术回送线。内部有上拉电阻,回送线。内部
76、有上拉电阻,从此线上得到键盘的回从此线上得到键盘的回扫信号。扫信号。79 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术显示器刷新寄存显示器刷新寄存器输出,与扫器输出,与扫描线同步。描线同步。80 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术4.3.2 8279 4.3.2 8279 的数据输入、显示及命令格式的数据输入、显示及命令格式1 1、数据输入、数据输入 8279 8279的数据
77、输入有的数据输入有3 3种方式:种方式: (1 1)键扫描方式键扫描方式 (2 2)传感器方式传感器方式 (3 3)选通输入方式选通输入方式81 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术(1)键扫描方式格式)键扫描方式格式CNTLSHIFT扫描行序号扫描行序号回馈线(列)序号回馈线(列)序号D7D6D5D4D3D2D1D0 如果如果CNTLCNTL和和SHIFTSHIFT接地,按下键的位置在第接地,按下键的位置在第二行,且与第四列回馈线相交,则该键的代码为二行,且与第四列回馈线相交,则
78、该键的代码为0000010010100100。 8279 8279的扫描输出有两种:译码扫描和编码扫的扫描输出有两种:译码扫描和编码扫描。在采用编码扫描时要选择合适的译码器。描。在采用编码扫描时要选择合适的译码器。 扫描的数据被存在扫描的数据被存在FIFOFIFO中。中。82 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术(2)传感器扫描方式)传感器扫描方式 这种扫描方式,将对开关阵列中的每一个结这种扫描方式,将对开关阵列中的每一个结点的通、断状态(传感器状态)进行扫描,当阵点的通、断状态(
79、传感器状态)进行扫描,当阵列中的任何一个状态改变时将产生列中的任何一个状态改变时将产生IRQIRQ信号。信号。 此时,此时,FIFOFIFO为一状态寄存器。为一状态寄存器。(3)选通输入方式)选通输入方式 选通工作方式时,选通工作方式时,RL0RL0RL7RL7作为并行输入端作为并行输入端口来使用,口来使用,CNTLCNTL作为选通输入信号输入端。作为选通输入信号输入端。83 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术2、显示输出、显示输出 8279 8279内部设置了内部设置了1681
80、68显示数据存储器,每个显示数据存储器,每个单元存一个字符的单元存一个字符的8 8位显示代码。位显示代码。8 8个输出端与存个输出端与存储单元的各位的对应关系为:储单元的各位的对应关系为:D7D6D5D4D3D2D1D0A3A2A1A0B3B2B1B0 扫描信号与键盘扫描共用。扫描信号与键盘扫描共用。84 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术3、命令格式、命令格式1 1)键盘、显示器工作模式设置命令)键盘、显示器工作模式设置命令D7D6D5D4D3D2D1D0000D1D0K2K1
81、K0说明:说明: (1 1) D7 D7D5 D5 特征码特征码 (2 2) D1 D0 D1 D0 显示管理方式显示管理方式 0 0 8 0 0 8字符显示,字符显示,左端左端输入输入 0 1 160 1 16字符显示,左端输入字符显示,左端输入 1 0 8 1 0 8字符显示,字符显示,右端右端输入输入 1 1 16 1 1 16字符显示,字符显示,右端右端输入输入 85 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术说明:说明: (3 3)K2 K1 K0 K2 K1 K0 数据输入及
82、扫描方式数据输入及扫描方式 0 0 0 0 0 0 编码扫描,键盘输入,两键互锁编码扫描,键盘输入,两键互锁 0 0 1 0 0 1 译码扫描,键盘输入,两键互锁译码扫描,键盘输入,两键互锁 0 1 0 0 1 0 编码扫描,键盘输入,多键有效编码扫描,键盘输入,多键有效 0 1 1 0 1 1 译码扫描,键盘输入,多键有效译码扫描,键盘输入,多键有效 1 0 0 1 0 0 编码扫描,传感器阵列检测编码扫描,传感器阵列检测 1 0 1 1 0 1 译码扫描,传感器阵列检测译码扫描,传感器阵列检测 1 1 0 1 1 0 选通输入,编码扫描显示器选通输入,编码扫描显示器 1 1 1 1 1 1
83、 选通输入,译码扫描显示器选通输入,译码扫描显示器注意:RESET信号等效于08H。86 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术2 2)扫描频率设置命令)扫描频率设置命令D7D6D5D4D3D2D1D0001P4P3P2P1P0说明:说明: P4 P4P0P0的取值为的取值为2 23131,为外接时钟的分频,为外接时钟的分频系数,经分频后得到内部时钟频率。系数,经分频后得到内部时钟频率。RESETRESET后取后取3131。87 键盘和显示器河北工程大学河北工程大学 自动化与电气工程
84、系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术3 3)读)读FIFOFIFO堆栈命令堆栈命令D7D6D5D4D3D2D1D0010AIXA2A1A0说明:说明: 在读在读FIFOFIFO之前,之前,CPUCPU必须先输出该命令。必须先输出该命令。82798279领命之后,领命之后,CPUCPU执行输入指令,从执行输入指令,从FIFOFIFO读数读数据。地址由据。地址由A2A2A0A0给出。给出。 AI AI为自动加为自动加1 1标志。标志。省略了省略了CPUCPU修改地址的操修改地址的操作。作。88 键盘和显示器河北工程大学河北工程大学 自动化
85、与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术4 4)读显示)读显示RAMRAM命令命令D7D6D5D4D3D2D1D0011AIA3A2A1A0说明:在读显示说明:在读显示RAMRAM之前,之前,CPUCPU必须先输出该命令。必须先输出该命令。89 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术5 5)写显示)写显示RAMRAM命令命令D7D6D5D4D3D2D1D0100AIA3A2A1A0说明:在写显示说明:在写显示RAMRA
86、M之前,之前,CPUCPU必须先输出该命令。必须先输出该命令。90 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术6 6)显示屏蔽消隐命令)显示屏蔽消隐命令D7D6D5D4D3D2D1D0101A3IWA IWB BLA BLB说明:说明:IWAIWA和和IWBIWB分别用于屏蔽分别用于屏蔽A A组和组和B B组显示组显示RAMRAM。用于双四位显示器。用于双四位显示器。 BLA BLA和和BLBBLB是消隐特征位。要消隐两位显示输是消隐特征位。要消隐两位显示输出,必须使之为出,必须使之为1
87、 1,恢复显示时为,恢复显示时为0 0。91 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术7 7)清除命令)清除命令说明:说明:CD2 CD1 CD0 CD2 CD1 CD0 清除方式清除方式 0 0 显示显示RAMRAM全部清全部清0 0 1 1 0 1 1 0 全部置全部置20H20H 1 1 1 1 全部置全部置1 1 0 0 不清除(不清除(CACA0 0时)时) CF CF1 1 ,FIFOFIFO置空状态,复位置空状态,复位IRQIRQ CA CA是总清除的标志位。是总清除的标
88、志位。 D7D6D5D4D3D2D1D0110CD2CD1CD0CFCA92 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术8 8)中断结束)中断结束/ /设置出错方式命令设置出错方式命令说明:在传感器工作方式中,该命令使说明:在传感器工作方式中,该命令使IRQIRQ输出线输出线为低电平,允许对为低电平,允许对RAMRAM再次写入。再次写入。 在在N N键巡回工作方式中,键巡回工作方式中,E E1 1指在消颤期内如指在消颤期内如果有多键按下,则产成中断,并且阻止写入果有多键按下,则产成中断,
89、并且阻止写入RAMRAM。D7D6D5D4D3D2D1D0111EXX93 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术4 4、状态字、状态字说明:说明:N2N2N0N0表示表示FIFOFIFO中数据个数中数据个数 F F1 1,表示,表示FIFOFIFO满满 在在FIFOFIFO中没有数据时,中没有数据时,CPUCPU读读FIFOFIFO,则,则U U置置1 1 当当FIFOFIFO满数据时,又输入一个字符时满数据时,又输入一个字符时O O置置1 1 S/E, S/E,传感器工作方式时,
90、多个传感器同时闭传感器工作方式时,多个传感器同时闭合则置合则置1 1 清除命令期间清除命令期间DUDU为为1 1,此时对显示,此时对显示RAMRAM的写无的写无效效D7D6D5D4D3D2D1D0DUS/EOUFN2N1N0( FIFO中字符个数、出错信息、中字符个数、出错信息、能否对显示能否对显示RAM进行写入操进行写入操作)作)94 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术4.3.3 8279 4.3.3 8279 接口方法接口方法95 键盘和显示器河北工程大学河北工程大学 自动化
91、与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术开始开始清除命令清除命令8279读读8279状态字状态字DU=1?方式命令送方式命令送8279时钟编程命令送时钟编程命令送8279开中断开中断返回返回YN8279初始化子程序框图:初始化子程序框图:96 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术初始化程序如下:初始化程序如下: INI79:MOV DPTR,#7FFFH ;置;置8279命令命令/状态口地址状态口地址 MOV A,#
92、0D1H ;置清显示命令字;置清显示命令字 MOVX DPTR,A ;送清显示命令;送清显示命令 WNDU:MOVX A,DPTR ;读状态;读状态 JB ACC.7,WNDU ;等待清显示;等待清显示RAM结束结束 MOV A,#34H ;置分频系数;置分频系数 MOVX DPTR,A ;送分频系数;送分频系数 MOV A,#00H ;置键盘;置键盘/显示命令显示命令 MOVX DPTR,A ;送键盘;送键盘/显示命令显示命令 MOV IE,#84H ;允许;允许8279中断中断 RET97 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键
93、盘可编程键盘/显示器芯片接口技术显示器芯片接口技术显示子程序如下:显示子程序如下: DIS:MOV DPTR,#7FFFH ;置;置8279命令命令/状态口地址状态口地址 MOV R0,#78H ;字段码首地址;字段码首地址 MOV R7,#08H ;8位显示位显示 MOV A,#90H ;置显示命令字;置显示命令字 MOVX DPTR,A ;送显示命令;送显示命令 MOV DPTR,#7FFEH ;置数据口地址;置数据口地址 LP:MOV A,R0 ;取显示数据;取显示数据 ADD A,#5 ;加偏移量;加偏移量 MOVC A,APC ;查表,取得数据的段码;查表,取得数据的段码 MOVX
94、DPTR,A ;送段码显示;送段码显示 INC R0 ;调整数据指针;调整数据指针 DJNZ R7,LP ; RET 98 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术SEG:DB 3FH,06H,5BH,4FH,66H,6DH ;字符;字符0、1、2、3、4、5段码段码 DB 7DH,07H,7EH,6FH,77H,7CH ;字符;字符6、7、8、9、A、b段码段码 DB 39H,5EH,79H,71H,73H,3EH ;字符;字符C、d、E、F、P、U段码段码 DB 76H,38H,4
95、0H,6EH,FFH,00H ;字符;字符H、L、-、Y、日、日、“空空”段码段码99 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系键盘中断子程序如下:键盘中断子程序如下:KEY:PUSH PSW PUSH DPL PUSH DPH PUSH ACC PUSH B SETB PSW.3 ;选工作寄存器;选工作寄存器 MOV DPTR,#7FFFH ;置状态口地址;置状态口地址 MOVX A,DPTR ;读;读FIFO状态状态 ANL A,#0FH ; JZ PKYR ; 4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术100 键盘和显示
96、器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系 MOV A,#40H ;置读;置读FIFO命令命令 MOVX DPTR,A ;送读;送读FIFO命令命令 MOV DPTR,#7FFEH ;置数据口地址;置数据口地址 MOVX A,DPTR ;读数据;读数据 LJMP KEY1 ;转键值处理程序;转键值处理程序PKYR: POP B POP ACC POP DPH POP DPL POP PSW RETI ;KEY1: ;键值处理程序;键值处理程序4. 3 8279可编程键盘可编程键盘/显示器芯片接口技术显示器芯片接口技术101 键盘和显示器河北工程大学河北工程大学 自动化与电
97、气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术 液晶显示是一种功耗极低的被动式显示器液晶显示是一种功耗极低的被动式显示器件。其优点为:工作电流比件。其优点为:工作电流比LEDLED小几个数量小几个数量级,尺寸小,厚度约为级,尺寸小,厚度约为LEDLED的的1/31/3等等一、工作原理和驱动方式一、工作原理和驱动方式1 1、工作原理、工作原理 目前常用的目前常用的LCDLCD是根据液晶的是根据液晶的扭曲扭曲- -向列向列效应原理效应原理制成的。制成的。 加在两块导电玻璃电极之间的液晶经一加在两块导电玻璃电极之间的液晶经一定的处理后,偏振面会旋转定的处理后,偏振面会
98、旋转9090。有电场,。有电场,扭曲结构小时,旋光作用也消失,偏振光扭曲结构小时,旋光作用也消失,偏振光通过;无电场,正好相反。通过;无电场,正好相反。102 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术 当上、下电极加上一定的当上、下电极加上一定的电压电压后,电极后,电极部分的液晶分子垂直排列,失去旋光性,部分的液晶分子垂直排列,失去旋光性,从上偏振片入射的偏振光不被旋转,从上偏振片入射的偏振光不被旋转,光无光无法通过下偏振片返回法通过下偏振片返回,因而,因而呈黑色呈黑色。 根据需要,将电极做成各种文字、数字、
99、根据需要,将电极做成各种文字、数字、图形。就可以获得各种状态显示图形。就可以获得各种状态显示。103 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术 LCDLCD常采用交流电驱动,采用常采用交流电驱动,采用“异或异或”门门将显示信号和显示频率信号合并为交变的将显示信号和显示频率信号合并为交变的驱动信号。驱动信号。显示控制信号显示控制信号显示频率信号显示频率信号ACLCDB104 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系1=1LCDABC不显示显 示VB VC VA-VC 4. 4
100、LCD液晶显示器接口技术液晶显示器接口技术VA105 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系2 2、驱动方式、驱动方式 液晶显示器的驱动方式一般有静态驱动液晶显示器的驱动方式一般有静态驱动和动态驱动两种。和动态驱动两种。 (1 1)在静态显示方式中,某个液晶显示)在静态显示方式中,某个液晶显示字段上两个电极的电压相位相同时,两电字段上两个电极的电压相位相同时,两电极的相对电压为零,极的相对电压为零,该字段不显示该字段不显示;当此;当此字段上两个电极的电压相位相反时,两电字段上两个电极的电压相位相反时,两电极的相对电压为极的相对电压为两倍幅值方波电压两倍幅值方
101、波电压,该字,该字段呈黑色显示。段呈黑色显示。4. 4 LCD液晶显示器接口技术液晶显示器接口技术106 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系 (2 2)动态驱动方式采用矩阵驱动法来驱动字段)动态驱动方式采用矩阵驱动法来驱动字段显示。显示。 分时驱动是常用的动态驱动方法,常采用分时驱动是常用的动态驱动方法,常采用偏偏压法压法。其占空比有。其占空比有1/21/2,1/81/8,1/111/11,1/161/16,1/321/32,1/641/64等,偏比有等,偏比有1/21/2,1/31/3,1/41/4,1/51/5,1/71/7,1/91/9等。等。4.
102、 4. 1 LCD液晶显示器接口技术液晶显示器接口技术4. 4 LCD液晶显示器接口技术液晶显示器接口技术107 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术2Vc/3Vc/3Vc/3Vc0VCDRSVc/3Vc/3Vc/3CDRS2Vc/3Vc/3Vc/3RCCSDRVcDS108 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术 液晶显示器有液晶显示器有字段型字段型、字符型字符型、点阵图形点阵图形型,型,在使用时,有的液晶显示器内部
103、有控制器,使用在使用时,有的液晶显示器内部有控制器,使用比较方便。比较方便。 字段型液晶显示器有六段、七段、八段等多字段型液晶显示器有六段、七段、八段等多种,七段是常用的一种。种,七段是常用的一种。 字段型字段型LCDLCD以七段显示为常见,用于显示以七段显示为常见,用于显示0 09 9十个数字及少量字符,在单片机应用中需要专用的十个数字及少量字符,在单片机应用中需要专用的液晶显示译码驱动器才能工作。液晶显示译码驱动器才能工作。109 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术 字段型显示器采用通用的三位半字段
104、式字段型显示器采用通用的三位半字段式芯片,它的具体尺寸和显示信息见图芯片,它的具体尺寸和显示信息见图110 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系a b c d e f gBI PH A B C D LDMC14543MC14543a b c d e f gBI PH A B C D LDMC14543MC14543a b c d e f gBI PH A B C D LDMC14543MC14543a1b1c1d1e1f1g1a1b1c1d1e1f1g1a1b1c1d1e1f1g1a1b1c1d1e1f1g14N07COMP3.7P1.4P1.5P1.64
105、. 4. 2 字段式字段式LCD液晶显示器的驱动接口液晶显示器的驱动接口工作电压为工作电压为3-6V3-6V,阈值电压为,阈值电压为1.5V1.5V,工作频率为,工作频率为50-200Hz50-200Hz。静态驱动。静态驱动。a b c d e f gBI PH A B C D LDMC14543MC14543111 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系a b c d e f gBI PH A B C D LDMC14543MC145434. 4. 2 字段式字段式LCD液晶显示器的驱动接口液晶显示器的驱动接口MC14543是译码驱动器,将输入的是译码驱动
106、器,将输入的BCD码转换为码转换为7段显示码输出至段显示码输出至ag控制驱动方式,输控制驱动方式,输入显示方波信号入显示方波信号内部锁存器选通端内部锁存器选通端“1”时允许时允许AD端输入端输入BCD码数码数据;据;“0”时锁存时锁存BCDBCD码输入端,码输入端,D D为为高位高位消隐控制端,消隐控制端,“1”“1”消隐;消隐;“0”“0”显示显示112 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4. 2 字段式字段式LCD液晶显示器的驱动接口液晶显示器的驱动接口a b c d e f gBI PH A B C D LDMC14543MC14543P3.
107、7P1.0P1.1P1.2a b c d e f gBI PH A B C D LDMC14543MC14543a b c d e f gBI PH A B C D LDMC14543MC14543a b c d e f gBI PH A B C D LDMC14543MC14543a1b1c1d1e1f1g1a1b1c1d1e1f1g1a1b1c1d1e1f1g1a1b1c1d1e1f1g14N07COMP3.7P1.4P1.5P1.6P1.7P1.3113 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系将显示缓冲区将显示缓冲区DISBDISB中的内容显示在中的内
108、容显示在LCDLCD上。上。程序代码如下:程序代码如下:主程序主程序显示子程序显示子程序中断子程序中断子程序4. 4. 2 字段式字段式LCD液晶显示器的驱动接口液晶显示器的驱动接口114 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系DISB EQU 60H ORG 0000HHINIT: LJMP STARTORG 001BH ;定时器定时器1入口入口LJMP INTT1ORG 0030HSTART: MOV TMOD, #10H MOV TH1,#0ECH MOV TL1,#78H SETB TR1 SETB EA SETB ET1 LCALL DISP; 调
109、用显示子程序调用显示子程序4. 4. 2 字段式字段式LCD液晶显示器的驱动接口液晶显示器的驱动接口115 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系显示子程序:显示子程序:DISP: MOV R0, #DISB MOV R2, #10H;设定最高位锁存控制标志设定最高位锁存控制标志DISP1: MOV A, R0 ANL A, #0FH; 保留保留BCD码码 ORL A, R2; 加上锁存控制位加上锁存控制位 MOV P1, A ANL P1, #0FH; 令所有的位处于锁存状态令所有的位处于锁存状态 INC R0 MOV A, R2; 修改锁存控制位修改锁存
110、控制位 RL A MOV R2, A JNB ACC.0, DISP1; 未完成未完成4位则继续位则继续 RET 4. 4. 2 字段式字段式LCD液晶显示器的驱动接口液晶显示器的驱动接口116 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系定时器定时器1中断服务程序如下:中断服务程序如下:INTT: CPL P3.7 MOV TH1,#0ECH MOV TL1,#78H RETI4. 4. 2 字段式字段式LCD液晶显示器的驱动接口液晶显示器的驱动接口117 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系 点阵式液晶显示模块能显示的字符
111、多,还可显点阵式液晶显示模块能显示的字符多,还可显示汉字,在智能测控仪表中应用广泛。示汉字,在智能测控仪表中应用广泛。 点阵图形型液晶显示器内部都有点阵图形型液晶显示器内部都有控制器控制器,各种类型的点阵图形液晶显示器的控制器使各种类型的点阵图形液晶显示器的控制器使用要求不同,指令各异,但基本控制方式相用要求不同,指令各异,但基本控制方式相同,一般点阵图形型液晶显示器都有一个对同,一般点阵图形型液晶显示器都有一个对外的外的接口接口,了解了接口引脚的定义和使用条,了解了接口引脚的定义和使用条件,可以应用单片机的数据总线或件,可以应用单片机的数据总线或P1P1口对点口对点阵图形型液晶显示器件进行控
112、制。阵图形型液晶显示器件进行控制。4. 4. 3 点阵式液晶显示模块点阵式液晶显示模块118 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术EA_ D20040EA_ D20040点阵式液晶显示模块点阵式液晶显示模块引脚:引脚: Vss Vss 地线地线 Vdd +5v Vdd +5v电源电源 V0 V0 液晶显示面板调节,通过液晶显示面板调节,通过10-20K10-20K电阻电阻 RS RS 寄存器选择信号输入,寄存器选择信号输入,0 0选通指令寄存选通指令寄存器,器,1 1选通数据寄存器选通数据寄存器 R /W
113、 R /W 读写控制,读写控制,0 0写入,写入,1 1度出度出 E E片选,片选,1 1有效有效 D0-D7 D0-D7数据线数据线119 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术 显示数据存储器显示数据存储器DDRAMDDRAM与显示屏幕的物理与显示屏幕的物理位置一一对应。如表位置一一对应。如表4-174-17字符编码就是字符存储器的地址。有字符编码就是字符存储器的地址。有CGRAMCGRAM ;CGROM;CGROM用于造字用于造字120 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与
114、电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术命令:D7D6D5D4D3D2D1D0000000011清显示命令清显示命令该命令把空格编码该命令把空格编码20H送入数据存储器的所有单元送入数据存储器的所有单元121 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术D7D6D5D4D3D2D1D00000001X2 光标返回命令光标返回命令122 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术D7D6D5D4D3D2D1D0
115、000001I/DS3 设置输入方式命令设置输入方式命令DDRAM地址增减位地址增减位123 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术D7D6D5D4D3D2D1D000001DCB 4 显示开关控制命令显示开关控制命令D =0 显示器关闭,显示器关闭,=1显示器立即显示显示器立即显示DDRAM 中数据中数据C =0 不显示光标,不显示光标,=1显示光标显示光标B =1 显示闪烁光标显示闪烁光标124 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术
116、液晶显示器接口技术D7D6D5D4D3D2D1D00000S/C R/LXX5 5 光标或显示屏移动命令光标或显示屏移动命令S/C R/L S/C R/L 作用作用0 0 0 0 光标左移,地址计数器减光标左移,地址计数器减1 10 1 0 1 光标右移,地址计数器加光标右移,地址计数器加1 11 0 1 0 显示屏左移,光标跟随显示屏左移,光标跟随1 1 1 1 显示屏右移,光标跟随显示屏右移,光标跟随125 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术D7D6D5D4D3D2D1D0001IFNFXX6 功能
117、设置命令功能设置命令I/F =1 数据数据8位传输,位传输,=0数据数据4位传输;位传输;N F 显示行数显示行数 字符点阵字符点阵 0 0 1 5X70 1 1 5X101 0 2 5X71 1 2 5X7126 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术D7D6D5D4D3D2D1D001A5A4A3A2A1A07 设置设置CGRAM地址命令地址命令功能功能; 设置设置CGRAM的地址的地址127 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液
118、晶显示器接口技术D7D6D5D4D3D2D1D01A6A5A4A3A2A1A08 设置设置DDRAM地址命令地址命令128 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术D7D6D5D4D3D2D1D0BFA6A5A4A3A2A1A09 读忙标志和地址命令读忙标志和地址命令功能:读出功能:读出BF标志,标志,=1系统内部忙系统内部忙129 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术D7D6D5D4D3D2D1D0DDDDDDDD10
119、 向向CGRAM或或 DDRAM写数据命令写数据命令130 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术D7D6D5D4D3D2D1D0DDDDDDDD11 从从CGRAM或或 DDRAM读数据命令读数据命令131 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术 例程例程初始化初始化START: MOV DPTR,#2820 MOV A,#38H ;置功能,置功能,2 2行,行,5X75X7点阵,点阵,8 8位数据位数据 MOVX D
120、PTR,A LCALL WAIT MOV A,#06H ;置输入模式,光标左移置输入模式,光标左移 MOVX DPTR,A LCALL WAIT MOV A,#0FH ;置显示开关控制置显示开关控制 MOVX DPTR,A LCALL WAIT MOV A,#01H ;总清除总清除 MOVX DPTR,A LCALL WAIT RET132 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术WAIT: MOV DPTR,#2820H MOV A,DPTR JB ACC.7 WAIT RET133 键盘和显示器河北工程大
121、学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术显示显示“SINGLE”SINGLE: MOV DPTR, #2820H MOV A,#84H ;重置重置DDRAMDDRAM中地址初值中地址初值04H04H MOV DPTR,A LCALL WAIT MOV A,#53H ;显示;显示S LCALL CHAR1 MOV A,#49H LCALL CHAR1134 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术 MOV A,#4EH LCALL CHAR1 MO
122、V A,#47H LCALL CHAR1 MOV A,#4CH LCALL CHAR1 MOV A,#45H LCALL CHAR1 LJMP SINGLECHAR1: MOV DPTR,#2821H ;数据寄存器地址;数据寄存器地址 MOVX DPTR,A LCALL WAIT RET135 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术显示显示“上上”字字CHART1: MOV DPTR ,#2820H ;置命令寄存器地址置命令寄存器地址 MOV A,#40H ;置置CGRAM地址初值为地址初值为00H MOV
123、X DPTR,A LCALL WAIT MOV A,#04H LCALL CHAR1 MOV A,#04H LCALL CHAR1136 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术 MOV A MOV A,#04H,#04H LCALL CHAR1 LCALL CHAR1 MOV A,# MOV A,#07H07H LCALL CHAR1 LCALL CHAR1 MOV A,# MOV A,#04H04H LCALL CHAR1 LCALL CHAR1 137 键盘和显示器河北工程大学河北工程大学 自动化与电气
124、工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术 MOV A,# MOV A,#04H04H LCALL CHAR1 LCALL CHAR1 MOV A,# MOV A,#1FH1FH LCALL CHAR1 LCALL CHAR1 MOV A,# MOV A,#00H00H LCALL CHAR1 LCALL CHAR1138 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 4 LCD液晶显示器接口技术液晶显示器接口技术SHG: SHG: MOV DPTR,# MOV DPTR,#2820H2820H MOV A,# MOV A,#
125、88H 88H ;置;置DDRAMDDRAM地址地址08H08H MOVX DPTR,A MOVX DPTR,A LCALL WAIT LCALL WAIT MOV A,# MOV A,#00H 00H ;显示;显示上上 LCALL CHAR1 LCALL CHAR1 LJMP SHG LJMP SHG139 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系 在智能测控仪表中,有时需要将测量数在智能测控仪表中,有时需要将测量数据打印输出。仪表中所使用的打印机具有据打印输出。仪表中所使用的打印机具有结构简单、体积小、成本低并便于安装仪结构简单、体积小、成本低并便于安装仪
126、表内部。属于微型打印机,如表内部。属于微型打印机,如TPuP-40ATPuP-40A4. 5 打印机输出接口技术打印机输出接口技术 140 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系 TPuP-40ATPuP-40A是微型点阵式打印机,内部采是微型点阵式打印机,内部采用单片机控制,具有用单片机控制,具有2KB2KB的的ROMROM存放打印程存放打印程序。序。 命令丰富,命令格式简单,可打印出全命令丰富,命令格式简单,可打印出全部标准的部标准的ASCIIASCII字符以及字符以及128128个非标准字符个非标准字符和图符。字符和图形的宽及高可放大。和图符。字符和图
127、形的宽及高可放大。4. 5.1 TPuP-40A性能和接口信号性能和接口信号141 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系引脚功能:引脚功能:DB0DB7: 单向数据线单向数据线STB:数据选通信号,上升沿打印机读入数据选通信号,上升沿打印机读入8 8位位数据数据BUSY:“忙忙”状态信号状态信号ACK:打印机应答信号,打印机应答信号,“0”“0”表明打印机已表明打印机已取走数据取走数据ERR:出错信号出错信号4. 5.1 TPuP-40A性能和接口信号性能和接口信号142 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 5.
128、1 TPuP-40A打印命令打印命令 TPuP-40A TPuP-40A共有共有256256个代码,其中个代码,其中00H00H无效。代码无效。代码01H01H0FH0FH为打印命令;代码为打印命令;代码10H10H1FH1FH为用户自定义为用户自定义代码;代码代码;代码20H20H7FH7FH为标准为标准ASCIIASCII码;码;80H80HFFHFFH为为非标准非标准ASCIIASCII码。码。 全部字符代码为全部字符代码为10H10HFFHFFH,其中,其中0DH0DH为回车换行为回车换行代码,为命令结束代码。代码,为命令结束代码。 TPuP-40A TPuP-40A的控制命令由一个命
129、令字节和若干个参的控制命令由一个命令字节和若干个参数字节组成。格式如下:数字节组成。格式如下: CCXX CCXX0 0XXXXn n CC CC为命令代码,为命令代码,XXnXXn为参数代码;为参数代码;n n0 0250250143 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 5. 2 TPuP-40A的打印命令的打印命令命令代码命令代码 功功 能能格格 式式说说 明明字符、图符增宽字符、图符增宽57点阵字符(基准字符)点阵字符(基准字符)010101010201030104横向为基准字符的横向为基准字符的2倍,即倍,即107点阵点阵横向为基准字符的横向
130、为基准字符的3倍,即倍,即157点阵点阵横向为基准字符的横向为基准字符的4倍,即倍,即207点阵点阵02010202020302040257点阵字符(基准字符)点阵字符(基准字符)纵向为基准字符的纵向为基准字符的2倍,即倍,即514点阵点阵纵向为基准字符的纵向为基准字符的3倍,即倍,即521点阵点阵纵向为基准字符的纵向为基准字符的4倍,即倍,即528点阵点阵字符、图符增高字符、图符增高 表表4-21 TPuP-40A命令代码命令代码144 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 5. 3 TPuP-40A的接口方法的接口方法P0.7P0.6P0.5P0.
131、4P0.3P0.2P0.1P0.0GNDWRRD80C51P2.7+DB7DB6DB5DB4DB3DB2DB1DB0GNDBUSYSTBTPuP-40A图图4.32 TPuP-40A4.32 TPuP-40A与单片机与单片机80C5180C51的直接接口的直接接口145 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 5. 3 TPuP-40A的接口方法的接口方法INT1P0.7P0.0P2.0GNDWRRD80C51P2.7DB7BUSYSTBTPuP-40AALERESETVccDB0DB1DB2DB3DB4DB5DB6AD7AD0ALECEIO/MWRRD
132、RESETVccVssPA0PA1PA2PA3PA4PA5PA6PA7PC0图图4.33 TPuP-40A4.33 TPuP-40A通过通过81558155与单片机接口与单片机接口146 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 5 微型打印机图例微型打印机图例147 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系集打印头与控制电路一体,可方便安装在仪表集打印头与控制电路一体,可方便安装在仪表的面板上或独立外置。热敏打印机更具有高速、的面板上或独立外置。热敏打印机更具有高速、清晰、无噪音、无需色带等显著特点,打印效果清晰、无噪音
133、、无需色带等显著特点,打印效果清晰美观、高速流畅、完整。清晰美观、高速流畅、完整。自检测功能:通过自带键盘可对打印机进行功自检测功能:通过自带键盘可对打印机进行功能测试,自检出打印型号及相关信息。能测试,自检出打印型号及相关信息。接口形式:接口形式:1 1)并行接口(面板式:并行接口(面板式:2626线双排插座)。线双排插座)。标准:与标准:与CENTRONICSCENTRONICS标准兼容,信号电平:标准兼容,信号电平:TTLTTL。2 2)串行接口串行接口* *标准标准RS232RS232串口(面板式:串口(面板式:1010线双排插座),线双排插座),内装内装66位位DIPDIP开关开关4
134、. 5 微型打印机图例微型打印机图例148 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 5 微型打印机图例微型打印机图例 TA220 TA220系列微型打印机体积小、功能全、操系列微型打印机体积小、功能全、操作简单,产品配套使用,可在工程现场使用。作简单,产品配套使用,可在工程现场使用。 149 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 5 微型打印机例程微型打印机例程;打印程序;打印程序 MOV DPTR,#7FFFH ; MOV DPTR,#7FFFH ;打印机口地址送打印机口地址送DPTRDPTR MOV R1,#
135、03H ; MOV R1,#03H ;送打印字符命令送打印字符命令03020302 LCALL SUB1 LCALL SUB1 ;查询打印机,送代码子程序;查询打印机,送代码子程序 MOV R1, #02H MOV R1, #02H LCALL SUB1 LCALL SUB1 MOV R2,#0AH MOV R2,#0AH150 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 5 微型打印机图例微型打印机图例LP1: MOV R1,#24H LP1: MOV R1,#24H ;连续打印;连续打印“$”“$”、“*”“*”各各1010个个 LCALL SUB1 L
136、CALL SUB1 MOV R1,#2AH MOV R1,#2AH LCALL SUB1 LCALL SUB1 DJNZ R2,LP1 DJNZ R2,LP1 MOV R3,#29H ;“DATA” MOV R3,#29H ;“DATA”末地址偏移量末地址偏移量 +1=29H +1=29H MOV R4,#22H ;“DATA” MOV R4,#22H ;“DATA”首地址偏移量首地址偏移量 =22H =22H LCALL SUB2 LCALL SUB2 ;调打印字符串子程序打印;调打印字符串子程序打印“DATA”“DATA” MOV R0,#30H MOV R0,#30H ;打印缓冲区首地址
137、;打印缓冲区首地址 LCALL SUB3 LCALL SUB3 调填表打印子程序打印调填表打印子程序打印“年年”,地址自动加,地址自动加1 1 LCALL SUB3 LCALL SUB3151 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 5 微型打印机图例微型打印机图例 MOV R1,#8CH MOV R1,#8CH ;“年年”代码送代码送R1R1LCALL SUB1 LCALL SUB1 ;打印;打印“年年“LCALL SUB3 LCALL SUB3 ;填表打印;填表打印“月月”,MOV R1,#8DH MOV R1,#8DH ;“月月”代码送代码送R1R
138、1LCALL SUB1 LCALL SUB1 ;打印;打印“月月”LCALL SUB3 LCALL SUB3 ;填表打印;填表打印“日日”,MOV R1,#8EH MOV R1,#8EH ;日;日”代码送代码送R1R1LCALL SUB1 LCALL SUB1 ;打印;打印“日日“MOV R3,#30H MOV R3,#30H ;“name:“name:末地址偏移量末地址偏移量+ 1=30H+ 1=30H LCALL SUB2 ;LCALL SUB2 ;换行打印字符串换行打印字符串“name:”“name:”LCALL SUB3 ;LCALL SUB3 ;填表打印填表打印“name:”“nam
139、e:”LCALL SUB3LCALL SUB3152 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 5 微型打印机图例微型打印机图例 MOV R3,#37H ;“code” MOV R3,#37H ;“code” 末地址偏移量末地址偏移量+ 1=37H+ 1=37HLCALL SUB2 ;LCALL SUB2 ;打印字符串打印字符串“code”“code”LCALL SUB3 ;LCALL SUB3 ;填表打印填表打印“code”“code”LCALL SUB3LCALL SUB3MOV R3,#3BH ;“No.:” MOV R3,#3BH ;“No.:”
140、末地址偏移量末地址偏移量+ 1=3BH+ 1=3BHLCALL SUB2 ;LCALL SUB2 ;换行打印字符串换行打印字符串“No.:” “No.:” LCALL SUB3 ;LCALL SUB3 ;填表打印填表打印“No.:”“No.:”LCALL SUB3LCALL SUB3 MOV R3,#3DH ; MOV R3,#3DH ;换行换行153 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 5 微型打印机图例微型打印机图例LP2: LP2: LCALL SUB2 LCALL SUB2MOV R2,#05H MOV R2,#05H ;5 5行数据行数据M
141、OV R3,#03H MOV R3,#03H ;每个参数占;每个参数占3 3个字节个字节MOV A,R4 MOV A,R4 ;给;给R3R3填入字符串表偏移量填入字符串表偏移量ADD A,R3ADD A,R3MOV R3,AMOV R3,ALCALL SUB2 LCALL SUB2 ;打印;打印“TO:” “TO:” LCALL SUB3 LCALL SUB3 ;填表打印;填表打印“TO:” “TO:” LCALL SUB3 LCALL SUB3LCALL SUB3LCALL SUB3154 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 5 微型打印机图例微型
142、打印机图例 MOV R3,#05H MOV R3,#05H ;打印;打印5 5个代码个代码 MOV A,R4 MOV A,R4 ADD A,R3 ADD A,R3 MOV R3,A MOV R3,A LCALL SUB2 LCALL SUB2 ;打印;打印“AL:”“AL:” LCALL SUB3 ; LCALL SUB3 ;打印缓冲区数据打印缓冲区数据 LCALL SUB3 LCALL SUB3 LCALL SUB3 LCALL SUB3 DJNZ R2,LP2 DJNZ R2,LP2 ;5 5行未打印完,继续行未打印完,继续 MOV R3,#0B5H MOV R3,#0B5H ;5 5行打
143、印完成行打印完成 LCALL SUB2 LCALL SUB2 打印打印“END”“END”LOP: SJMP LOPLOP: SJMP LOP; ;暂停暂停155 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 5 微型打印机图例微型打印机图例打印机查询、送数字程序:打印机查询、送数字程序:SUB1: MOVX A,DPTR SUB1: MOVX A,DPTR ;查询;查询BUSYBUSY JB ACC.7,SUB1 JB ACC.7,SUB1 MOV A,R1 MOV A,R1 MOVX DPTR,A ; MOVX DPTR,A ;送打印命令、数据送打印命令、
144、数据后启动后启动 RET RET156 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 5 微型打印机图例微型打印机图例查表打印字符串子程序(查表打印字符串子程序(R4:表首偏移量;:表首偏移量;R3:表末偏移量加:表末偏移量加1)SUB2: MOVX A,DPTR ;读外部;读外部RAM,产生,产生RD信号信号 JB ACC.7 ,SUB2 ;查询;查询BUSY MOV A,R4 MOVC A,A+PC ;查表取打印数据;查表取打印数据 MOVX DPTR,A ;送打印机;送打印机LPP1: MOVX A,DPTR ;查询打印结束?;查询打印结束? JB AC
145、C.7 ,LPP1 INC R4 ;打印结束,指向下一个数据;打印结束,指向下一个数据 MOV A,R4 XRL A,R3 ;R3指示的数据打印完?指示的数据打印完? JNZ LPP1 ;未完,继续;未完,继续 RET157 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 5 微型打印机图例微型打印机图例参数打印子程序,填一个字节十进制数:参数打印子程序,填一个字节十进制数:SUB3: MOVX A,DPTR ;查询;查询 “busy” JB ACC.7,SUB3 MOV A,R0 ANL A,#0F0H ;高;高4位变换成位变换成ASCII SWAP A AD
146、D A,#30H MOVX DPTR,A ;ASCII送打印机送打印机LPP2: MOVX A,DPTR ;查询;查询 “busy” JB ACC.7,LPP2 158 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 5 微型打印机图例微型打印机图例 MOV A,R0 ANL A,#0FH ;低;低4位变换成位变换成ASCII ADD A,#30HMOVX DPTR,A ;ASCII送打印机送打印机INC R0 ;指向下一个数据;指向下一个数据RET159 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系4. 5 微型打印机图例微型打印机图例TAB: DB ;字符串代码表;字符串代码表160 键盘和显示器河北工程大学河北工程大学 自动化与电气工程系自动化与电气工程系本章结束本章结束!161 键盘和显示器