一、概述
是一种图形点阵液晶显示器,它主要由行驱动器/ 列驱动器及122×32全点阵液晶显
示器组成。可完成16×2个(16×8点阵)ASCII码显示,也可以显示7.5×2个(16×16点阵)汉字。与外部CPU接口可采用并行方式控制。 主要技术参数和性能: 1.电源:VDD:+2.7∽+5V。
2.显示内容:122(列)×32(行)点。 3.全屏幕点阵。
4.2M ROM(CGROM)总共提供8192个汉字(16×16点阵)。 5.16K ROM(HCGROM)总共提供128个字符(16×8点阵)。 6.2MHZ频率。
7.工作温度: -15℃ ∽ +60℃ ,存储温度: -20℃ ∽ +70℃
BL12232F
二、外形尺寸图
图 1
2. 外形尺寸图
表 1
项目
模块体积 视域
行列点阵数 点距离 点大小
正常尺寸 84×44×13 60.5×18.0 122×32 0.36×0.41 0.40×0.45 单位 mm mm DOTS mm mm
第 1 页
三、模块主要硬件构成说明
RS,R/W的配合选择决定控制界面的4种模式: RS L L H H
R/W L H L H
功能说明
MPU写指令到指令暂存器(IR)
读出忙标志(BF)及地址记数器(AC)的状态 MPU写入数据到数据暂存器(DR) MPU从数据暂存器(DR)中读出数据
● 忙标志:BF
BF标志提供内部工作情况.BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据.
利用STATUS R D 指令,可以将BF读到DB7总线,从而检验模块之工作状态. ● 字型产生ROM(CGROM)
字型产生ROM(CGROM)提供8192个此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAY ON),DDRAM 的内容就显示在屏幕上,DFF=0为关显示(DISPLAY OFF)。 DFF 的状态是指令DISPLAY ON/OFF和RST信号控制的。 ● 显示数据RAM(DDRAM)
显示数据RAM提供×2个位元组的空间,最多可控制4行16字(个字)的中文字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型;此模块可显示三种字型,分别是瘦长的英数字型、CGRAM字型及CGROM的中文字型,三种字型的选择,由在DDRAM中写入的编码选择,在00~0F的编码中将选择CGRAM的字定义字型,10~7F的编码中将选择
瘦长英数字的字型,至于A0以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中
第 2 页
文字型的编码(A140~D75F)。 ● 字型产生RAM(CGRAM)
字型产生RAM提供图象定义(造字)功能, 可以提供四组16×16点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可和CGRAM中的定义一般的通过DDRAM显示在荧屏中。 ● 地址计数器AC
地址计数器是用来贮存DDRAM/CGRAM之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为“0”时而R/W为“1”时,地址计数器的值会被读取到DB6~DB0中。 ● ICON RAM(IRAM)
IC1提供256点的ICON 显示,它分别由16组的IRAM地址来组成,每一组IRAM 地址由16个位元构成,每次写入一组IRAM时,必须通过连续写入两个位元组的资料来完成,先写入高位元组再写入低位元组。 ● LCD 驱动电路
LCD 驱动电路提供33 COMMON 以及 SEGMENT 信号来驱动LCD 棉板,SEGMENT数据从CGRAM/CGROM转换储存到位元的SEGMENT串列锁存,当33个COMMON 中的一个COMMON 输出时,相对应的SEGMENT 数据将从位元的串列锁存输出到SEGMENT 驱动电路。 ● 游标/闪烁控制电路
此模块提供硬体游标及闪烁控制电路,由地址计数器的值来指定DDRAM中的游标或闪烁位置。
.绘图RAM(GDRAM)
绘图显示RAM提供128×8个字节的记忆空间,在更改绘图RAM时,先连续写入水平与垂直的坐标值,再写入两个字节的数据到绘图RAM,而地址计数器(AC)会自动加一;在写入绘图RAM的期间,绘图显示必须关闭,整个写入绘图RAM的步骤如下: 1、关闭绘图显示功能。
2、先将水平的位元组坐标(X)写入绘图RAM地址; 再将垂直的坐标(Y)写入绘图RAM地址; 将D15——D8写入到RAM中; 将D7——D0写入到RAM中; 打开绘图显示功能。
绘图显示的缓冲区对应分布请参考“显示坐标”
四·模块的外部接口
外部接口信号如下表2、3所示(并行接口):
表 2
管脚号 管脚名称 1 2 3 4 5 6 7 8 9
VSS VCC VEE RS(CS)R/W(SID)E(CLK) DB0 DB1 DB2
LEVER 0V - H/L H/L H/L H/L H/L H/L
管脚功能描述 电源地 对比度调整
RS=“H”,表示DB7~DB0为显示数据 RS=“L”,表示DB7~DB0为显示指令数据 R/W=“H”,E=“H”,数据被读到DB7~DB0
R/W=“L”,E=“H→L”, DB7~DB0的数据被写到IR或DR 使能信号 数据线 数据线 数据线
第 3 页
3.0+5V 电源正
10 11 12 13 14 15 16
DB3 DB4 DB5 DB6 DB7 BL+ BL-
H/L H/L H/L H/L H/L VDD Vss
数据线 数据线 数据线 数据线 数据线
背光源电压+4.2V-+5V 背光源公共端
串口接口管脚信号 表 3
管脚号 1 2 3 4 5 6 7 8
名称 VSS VDD
LEVER 0V +5V - H/L H/L H/L VDD VSS
功能
电源地
电源正(3.0V~5.5V)
对比度调整
串行同步时钟:上升沿时读取SID数据 串行数据输入端
模组片选端,高电平有效 背光源电压+4.2V-+5V 背光源公共端
VEE
CLK SID CS BL+ BL-
注:出厂默认为串口方式已 PSB接地; V0可通过外部电阻调节。
五、指令说明
IC1提供两套控制命令,基本指令和扩充指令如下:
指令表1:(RE=0:基本指令) 指 令 清除 显示 地址 归位 显示状态开/关
指 令 码 RS R/WD7 D6 D5D40
0
0
0
0
0
D30
D20
D10
D01
功 能
将DDRAM填满\"20H\且设定DDRAM的地址计数器(AC)到\"00H\"
0 0 0 0 0 0 0 0 1
设定DDRAM的地址计数器
X (AC)到\"00H\置;这个指令不改变DDRAM 的内容 B
D=1: 整体显示 ON C=1: 游标ON
第 4 页
0 0 0 0 0 0 1 D C
进入点 设定
0 0 0 0 0 0 0 1 I/D
游标或显示移位控制 功能 设定
0 0 0 0 0 1 S/CR/L
0 RE
X
0 0 0 0 1 DLX X
B=1:游标位置ON
指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位
I/D=1:游标向右移,DDRAM地址计数器S (AC)加1
I/D=0:游标向左移,DDRAM地址计数器(AC)减1
S:显示画面整体位移
设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容 X
S/C=0,R/L=0: 游标向左移动 S/C=0,R/L=1:游标向右移动 DL=1(必须设为1) X RE=1: 扩充指令操作
RE=0: 基本指令操作
设定CGRAM 0 0 0 1 AC5AC4AC3AC2AC1AC0设定CGRAM 地址到地址计数器 地址 设定DDRAM 0 0 1 AC6 AC5AC4AC3AC2AC1AC0设定DDRAM 地址到地址计数器 地址 读取忙读取忙标志(BF)可以确认内部动作是标志和0 1 BF AC6 AC5AC4AC3AC2AC1AC0否完成,同时可以读出地址计数器(AC)地址 的值 写数据1 0 数据 将数据D7~D0写入到内部的RAM 到RAM (DDRAM/CGRAM/IRAM/GRAM) 读出RAM1 1 数据 从内部RAM读取数据D7~D0 的值 (DDRAM/CGRAM/IRAM/GRAM) 指令表2:(RE=1:扩充指令)
指 指 令 码 功 能 令
RS R/WD7 D6 D5D4D3D2D1D0
待命
进入待命模式,执行其他指令都棵终止
模式 0 0 0 0 0 0 0 0 0 1
待命模式
卷动地址开关开启 反白 选择 睡眠 模式 点距 书面 移位 控制 扩充 功能 设定
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 1
0 1 SL
1 R1X
SRR0
SR=1:允许输入卷动地址 SR=0: 允许输入IRAM地址
0 0 0 0 0 1 OALRL1
0 0 0 0 1 CLX
1 RE
G
选择4行中的任一行作反白显示,并可决定反白与否
SL=0:进入睡眠模式 X
SL=1:脱离睡眠模式 OA=1:选择单行移位
OA=0:全部4行一起移位 L0LR=1:点距右移
LR=0:点距左移
L1,L0:选择移位行 CL=1 (必须设为1) RE=1: 扩充指令操作 GPRE=0: 基本指令操作
G=0:(必须设为0) GP=0: (必须设为0)
第 5 页
设定IRAM地
SR=1: AC5~AC0 为卷动地址
址或是0 0 0 1 AC5AC4AC3AC2AC1AC0
SR=0: AC5~AC0为ICON RAM 地址
卷动地 址
设定绘
0 0 1 AC6 AC5AC4AC3AC2AC1AC0本版本不提供此功能0 图RAM
地址
备注;当IC1在接受指令前,微处理器必须先确认其内部处于非忙碌状态,即读取BF标志时,BF需为零,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延长一段较长的时间,即是等待前一个指令确实执行完成。
具体指令介绍:
1、清除显示 CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L L L L L H
功能:清除显示屏幕,把DDRAM位址计数器调整为“00H”
2、位址归位 CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L L L L H X
功能:把DDRAM位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM 3、位址归位 CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L L L H I/D S
功能:把DDRAM位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM功能:执行该命令后,所设置的行将显示在屏幕的第一行。显示起始行是由Z地址计数器控制的,该命令自动将A0-A5位地址送入Z地址计数器,起始地址可以是0-63范围内任意一行。Z地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。
4、显示状态 开/关 CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L L H D C B
功能: D=1;整体显示ON C=1;游标ON B=1;游标位置ON
5、游标或显示移位控制 CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L H S/C R/L X X
功能:设定游标的移动与显示的移位控制位:这个指令并不改变DDRAM的内容
6、功能设定 CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L H DL X 0 REX X
功能:DL=1(必须设为1) RE=1;扩充指令集动作 RE=0:基本指令集动作
7、设定CGRAM位址 CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
第 6 页
L L L H
AC5 AC4 AC3 AC2 AC1 AC0
功能:设定CGRAM位址到位址计数器(AC)
8、设定DDRAM位址 CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L H AC6 AC5 AC4 AC3 AC2 AC1 AC0
功能:设定DDRAM位址到位址计数器(AC)
9、读取忙碌状态(BF)和位址 CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L H BF AC6 AC5 AC4 AC3 AC2 AC1 AC0
功能:读取忙碌状态(BF)可以确认内部动作是否完成,同时可以读出位址计数器(AC)的值
10、写资料到RAM CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
H L D7 D6 D5 D4 D3 D2 D1 D0
功能:写入资料到内部的RAM(DDRAM/CGRAM/TRAM/GDRAM)
11、读出RAM的值 CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
H H D7 D6 D5 D4 D3 D2 D1 D0
功能:从内部RAM读取资料(DDRAM/CGRAM/TRAM/GDRAM)
12、 待命模式(12H) CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L L L L L H
功能:进入待命模式,执行其他命令都可终止待命模式
13、卷动位址或IRAM位址选择(13H) CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L L L L H SR
功能:SR=1;允许输入卷动位址 SR=0;允许输入IRAM位址
14、反白选择(14H) CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L L L H R1 R0
功能:选择4行中的任一行作反白显示,并可决定反白的与否
15、睡眠模式(015H) CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L L H SL X X
功能:SL=1;脱离睡眠模式 SL=0;进入睡眠模式
第 7 页
16、扩充功能设定(016H) CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L H H X 1 REG L
功能:RE=1;扩充指令集动作 RE=0;基本指令集动作 G=1;绘图显示ON G=0;绘图显示OFF
17、设定IRAM位址或卷动位址(017H) CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L H AC5 AC4 AC3 AC2 AC1 AC0
功能:SR=1;AC5~AC0为垂直卷动位址 SR=0;AC3~AC0写ICONRAM位址
18、设定绘图RAM位址(018H) CODE: RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L H AC6 AC5 AC4 AC3 AC2 AC1 AC0
功能:设定GDRAM位址到位址计数器(AC)
六、显示坐标关系 1、图形显示坐标
水平方向X—以字节单位 垂直方向Y—以位为单位
第页 8
2、汉字显示坐标 X坐标 Line1 80H 81H 82H 83H 84H 85H 86H 87H Line2 90H 91H 92H 93H 94H 95H 96H 97H 七、时序图 RSRSVih1Vil1VihiViliTaVhihiViliTahR/WR/WVihiTasTpwTpwTahVihiTahEETasTrTrTdswTdswThThDB0~DB7DB0~DB7TddrVihiViliValid DataValid DataTcTcVihiVili MPU写数据 MPU 读数据 八位元界面时序图 串口读写时序: 第 9 页
八、软件初始化:
(8位并行接口)
电源开启 延迟时间超过15ms RS RW D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 1 X X X X
…….在此指令前,不能检查BF标志
延迟时间超过4.1ms 0 0 0 0 1 1 X X X X …….在此指令前,不能检查BF标志
第 10 页
延迟时间超过100us 0 0 0 0 1 1 X X X X …….在此指令前,不能检查BF标志 0 0 0 0 1 1 1 1 x x …… 在此指令前,不能检查BF标志 0 0 0 0 1 1 1 0 0 0 ….. 设为基本指令 0 0 0 0 0 0 0 0 0 1 ….. 荧屏显示清除 0 0 0 0 0 0 0 1 I/D S ….. 进入点设定
初始设定结束
九.应用举例:
12832B与单片机8031的一种接口如图5.所示
八、附录部分
附录1:ASCII码表
第 11 页
附录2:汉字码址表
第 12 页
第 13 页
第 14 页
第 15 页
第 16 页
第 17 页
八.应用举例:
12232F与
单片机8031的一种接口如图;This program is for 12232F
; RS--------P3.3 ; R/W-------P3.1 ; E---------P3.0 ; DB0~7-----P1
DI EQU P3.3 RW EQU P3.1 E EQU P3.0
ORG 0000H
AJMP START ORG 0003H
LCALL PAUSE START:
MOV IE,#81H ;EXT. INT0 PERMIT
MOV IP,#01H ;INT0 IS FIRST INT. LEVEL
MOV TCON,#00H ;TIMER/COUNTER CONTROLER INIT. mov SP, #67h LCALL DELAY LCALL DELAY LCALL SETUP LCALL DEF_CHAR MOV A,#80H
LCALL WRITE_COM MOV R3,#8 TEST11:
MOV DPTR,#CGRAM1 ;CGRAM TEST LCALL WRITE_CGRAM
5.所示
第 18 页
DJNZ R3,TEST11 MOV A,#90H
LCALL WRITE_COM MOV R3,#8 TEST12:
MOV DPTR,#CGRAM1 LCALL WRITE_CGRAM DJNZ R3,TEST12 LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY MOV A,#80H
LCALL WRITE_COM MOV R3,#8 TEST21:
MOV DPTR,#CGRAM2 LCALL WRITE_CGRAM DJNZ R3,TEST21 MOV A,#90H
LCALL WRITE_COM MOV R3,#8 TEST22:
MOV DPTR,#CGRAM2 LCALL WRITE_CGRAM DJNZ R3,TEST22 LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY MOV A,#80H
LCALL WRITE_COM MOV R3,#8 TEST31:
MOV DPTR,#CGRAM3 LCALL WRITE_CGRAM DJNZ R3,TEST31 MOV A,#90H
LCALL WRITE_COM MOV R3,#8 TEST32:
MOV DPTR,#CGRAM3 LCALL WRITE_CGRAM DJNZ R3,TEST32 LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY MOV A,#80H
第 19 页
LCALL WRITE_COM MOV R3,#8 TEST41:
MOV DPTR,#CGRAM4 LCALL WRITE_CGRAM DJNZ R3,TEST41 MOV A,#90H
LCALL WRITE_COM MOV R3,#8 TEST42:
MOV DPTR,#CGRAM4 LCALL WRITE_CGRAM DJNZ R3,TEST42 LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY
MOV A#80H ;WORD TEST LCALL WRITE_COM MOV DPTR,#CHINESE LCALL WRITE_HZ MOV A,#90H
LCALL WRITE_COM MOV DPTR,#TABLE1 LCALL WRITE_ASCII LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY MOV A#80H
LCALL WRITE_COM MOV DPTR,#table1 LCALL WRITE_ascii MOV A,#90H
LCALL WRITE_COM MOV DPTR,#chinese LCALL WRITE_hz LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY AAA: LJMP START
SETUP:
LCALL DELAY LCALL DELAY LCALL DELAY
MOV A,#01H ;CLEAR DISPLAY
第 20 页
LCALL WRITE_COM MOV A,#00110000B ;FUNCTION SETTING LCALL WRITE_COM MOV A,#00000010B ;DDRAM SET TO '00H' LCALL WRITE_COM MOV A,#00000100B ;
LCALL WRITE_COM MOV A,#00001100B ;DISPLAY ON LCALL WRITE_COM MOV A,#00000001B ;CLEARING SCREEN LCALL WRITE_COM MOV A,#10000000B ;SET DDRAM ADDRESS
LCALL WRITE_COM RET
WRITE_COM:
;WRIT///cv
;WRITE COMMANDS TO ST7920 LCALL DELAY1 ;INSTEAD OF CHECKING BF STATE
CLR RS CLR RS CLR RW CLR RW MOV P1,A MOV P1,A SETB E SETB E NOP NOP CLR E CLR E
;LCALL DELAY1 RET
WRITE_DAT: ;WRITE DISPLAY DATAS TO ST79220 LCALL DELAY1 SETB RS SETB RS CLR RW CLR RW MOV P1,A MOV P1,A SETB E SETB E NOP NOP CLR E CLR E RET DELAY1:
MOV R7,#010H
D11: MOV R6,#010H DJNZ R6,$
第 21 页
DJNZ R7,D11 RET
DELAY:
MOV R1,#00H D2: MOV R2,#00H DJNZ R2,$ DJNZ R1,D2 RET
DEF_CHAR: ;WRITE TO CGRAM
MOV A,#01000000B ;SET CGRAM ADDRESS LCALL WRITE_COM MOV R3,#8 DEF1:
MOV A,#000H LCALL WRITE_DAT LCALL WRITE_DAT MOV A,#0FFH LCALL WRITE_DAT LCALL WRITE_DAT DJNZ R3,DEF1 MOV R3,#8 DEF2:
MOV A,#0AAH LCALL WRITE_DAT LCALL WRITE_DAT MOV A,#0AAH LCALL WRITE_DAT LCALL WRITE_DAT DJNZ R3,DEF2 MOV R3,#8 DEF3:
MOV A,#055H LCALL WRITE_DAT LCALL WRITE_DAT MOV A,#0AAH LCALL WRITE_DAT LCALL WRITE_DAT DJNZ R3,DEF3 mov R3,#8 DEF4:
MOV A,#0FFH LCALL WRITE_DAT LCALL WRITE_DAT LCALL WRITE_DAT LCALL WRITE_DAT DJNZ R3,DEF4 RET
WRITE_ASCII: MOV R4,#16 DDDD: CLR A
第 22 页
MOVC A,@A+DPTR LCALL WRITE_DAT INC DPTR DJNZ R4,DDDD RET
WRITE_HZ: ;WRITE 8 CHINESE TO LCD MOV R4,#8 DD: CLR A MOVC A,@A+DPTR INC DPTR LCALL WRITE_DAT CLR A MOVC A,@A+DPTR INC DPTR LCALL WRITE_DAT DJNZ R4,DD RET
WRITE_CGRAM: ;CGRAM TESTING CLR A MOVC A,@A+DPTR LCALL WRITE_DAT INC DPTR CLR A MOVC A,@A+DPTR LCALL WRITE_DAT RET
PAUSE: SETB P3.2 ;PAUSE KEY PROCESS SETB P3.2 LCALL DELAY1 MOV C,P3.2 MOV C,P3.2 JNC PAUSE ;CHECK KEY WAS PRESSED PAUSE1: MOV C,P3.2 MOV C,P3.2 LCALL DELAY1 JC PAUSE1 ;CHECK KEY OPEN AFTER PRESSED PAUSE2: SETB P3.2 SETB P3.2 LCALL DELAY1 MOV C,P3.2 MOV C,P3.2 JNC PAUSE2 ;CHECK KEY WAS PRESSED AGAIN RETI
TABLE1:
;“这里是16*8点阵的字符代码”
CGRAM1: DB 000H,000H ;这里是自造字符地址表 CGRAM2: DB 000H,002H CGRAM3: DB 000H,004H CGRAM4: DB 000H,006H CHINESE:
第 23 页
;“这里是16*16点阵的汉字代码表” END
以下为串口写指令和数据的子程序: WRITE_COM:
LCALL DELAY1 ;INSTEAD OF CHECKING BF STATE SETB CS PUSH ACC MOV R0,#8 MOV A,#11111000B COMM1:
CLR C RLC A MOV SID,C CLR CLK SETB CLK DJNZ R0,COMM1 POP ACC MOV R5,A ANL A,#0F0H MOV R0,#8 COMM2: CLR C
RLC A MOV SID,C CLR CLK SETB CLK DJNZ R0,COMM2 MOV A,R5 SWAP A ANL A,#0F0H MOV R0,#8 COMM3: CLR C
RLC A MOV SID,C CLR CLK SETB CLK DJNZ R0,COMM3 CLR CS RET
WRITE_DAT:
LCALL DELAY1 SETB CS PUSH ACC MOV R0,#8 MOV A,#11111010B DATA1: CLR C
RLC A MOV SID,C CLR CLK SETB CLK DJNZ R0,DATA1 POP ACC
第 24 页
MOV R5,A ANL A,#0F0H MOV R0,#8 DATA2:
CLR C RLC A MOV SID,C CLR CLK SETB CLK DJNZ R0,DATA2 MOV A,R5 SWAP A ANL A,#0F0H MOV R0,#8 DATA3:
CLR C RLC A MOV SID,C CLR CLK SETB CLK DJNZ R0,DATA3 CLR CS RET
第 25 页
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务