⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex9-9.sdi

📁 《单片机原理实用教程——基于Proteus虚拟仿真》一书的配套光盘
💻 SDI
字号:
,,,        ORG 0000H
0000,02 00 30,START,START:  LJMP MAIN
,,,        ORG 0030H
0030,12 00 8B,MAIN,MAIN:   LCALL INIT          ;主程序开始,调用液晶模块初始化子程序
0033,12 00 B6,,        LCALL WPAD          ;调用自定义汉字字符子程序
0036,7A 81,,        MOV   R2,#81H       ;从第1行第2位开始,设置DDRAM地址
0038,12 00 73,,        LCALL WRTC          ;写入
003B,7C 0E,,        MOV   R4,#14        ;第1行共14个字符
003D,90 00 4F,,        MOV   DPTR,#ZIFU    ;指向显示字符代码首地址
0040,12 00 C0,,        LCALL WP1           ;第1行字符代码写入DDRAM
0043,7A C4,,        MOV   R2,#0C4H      ;设置第2行DDRAM地址
0045,12 00 73,,        LCALL WRTC          ;写入
0048,7C 0C,,        MOV   R4,#12        ;第2行共12个字符
004A,12 00 C0,,        LCALL WP1           ;第2行字符代码写入DDRAM
004D,80 FE,,        SJMP  $
004F,48 65 6C 6C,ZIFU,ZIFU:   DB   "Hello Everyboy" ;显示字符
005D,32 30 30 38,,        DB   "2008",00H,"10",01H,"26",02H,20H
,,,
,,,
,,,;忙标志判断子程序
0069,75 A0 7F,WAIT,WAIT:   MOV  P2,#7FH
006C,78 F1,,        MOV  R0,#0F1H      ;读忙标志地址
006E,E2,,        MOVX A,@R0
006F,20 E7 F7,,        JB   ACC.7,WAIT
0072,22,,        RET
,,,
,,,;写指令代码子程序
0073,12 00 69,WRTC,WRTC:   LCALL WAIT          ;判断BF标志
0076,EA,,        MOV   A,R2
0077,78 F0,,        MOV   R0,#0F0H      ;写指令地址
0079,F2,,        MOVX  @R0,A
007A,22,,        RET
,,,
,,,;写数据子程序
007B,12 00 69,WRTD,WRTD:   LCALL WAIT          ;判断BF标志
007E,EA,,        MOV   A,R2
007F,78 F2,,        MOV   R0,#0F2H      ;写数据地址
0081,EA,,        MOV   A,R2
0082,F2,,        MOVX  @R0,A
0083,22,,        RET
,,,
,,,;读数据子程序
0084,12 00 69,RDD,RDD:    LCALL WAIT          ;判断BF标志
0087,78 F3,,        MOV   R0,#0F3H      ;读数据地址
0089,E2,,        MOVX  A,@R0
008A,22,,        RET
,,,
,,,;初始化子程序
008B,12 00 E2,INIT,INIT:   LCALL TIM1           ;延时15ms
008E,7A 38,,        MOV   R2,#38H        ;功能设置命令,设定8位字长,2行,5*7点阵
0090,12 00 73,,        LCALL WRTC           ;写入
0093,12 00 F2,,        LCALL TIM3           ;延时100us
0096,7A 38,,        MOV   R2,#38H
0098,12 00 73,,        LCALL WRTC           ;写入
009B,12 00 F2,,        LCALL TIM3           ;延时100us
009E,7A 38,,        MOV   R2,#38H
00A0,12 00 73,,        LCALL WRTC           ;写入
00A3,12 00 F2,,        LCALL TIM3           ;延时100us
00A6,7A 01,,        MOV   R2,#01H        ;清屏命令
00A8,12 00 73,,        LCALL WRTC           ;写入
00AB,7A 06,,        MOV   R2,#06H        ;输入方式命令
00AD,12 00 73,,        LCALL WRTC           ;写入
00B0,7A 0E,,        MOV   R2,#0EH        ;开显示、光标不闪命令
00B2,12 00 73,,        LCALL WRTC           ;写入
00B5,22,,        RET
,,,
,,,;自定义汉字字符子程序
00B6,7A 40,WPAD,WPAD:   MOV   R2,#40H        ;设置CGRAM首地址为0
00B8,12 00 73,,        LCALL WRTC           ;写入CGRAM首地址
00BB,7C 18,,        MOV   R4,#24         ;3个汉字共24字节子模数据
00BD,90 00 CA,,        MOV   DPTR,#ZIMO     ;指向字模首地址
00C0,E4,WP1,WP1:    CLR   A
00C1,93,,        MOVC  A,@A+DPTR
00C2,FA,,        MOV   R2,A
00C3,12 00 7B,,        LCALL WRTD           ;写入1字节字模数据
00C6,A3,,        INC   DPTR
00C7,DC F7,,        DJNZ  R4,WP1
00C9,22,,        RET
00CA,08 0F 12 0F,ZIMO,ZIMO:   DB  08H,0FH,12H,0FH,0AH,1FH,02H,00H;“年”
00D2,0F 09 0F 09,,        DB  0FH,09H,0FH,09H,0FH,09H,11H,00H;“月”
00DA,0F 09 09 0F,,        DB  0FH,09H,09H,0FH,09H,09H,0FH,00H;“日”
,,,
,,,;延时15ms子程序
00E2,7D 03,TIM1,TIM1:   MOV   R5,#03H
00E4,12 00 EA,TT1,TT1:    LCALL TIM2
00E7,DD FB,,        DJNZ  R5,TT1
00E9,22,,        RET
,,,;延时5ms子程序
00EA,7C 32,TIM2,TIM2:   MOV   R4,#50
00EC,12 00 F2,TT2,TT2:    LCALL TIM3
00EF,DC FB,,        DJNZ  R4,TT2
00F1,22,,        RET
,,,;延时100us子程序
00F2,7B 32,TIM3,TIM3:   MOV   R3,#50
00F4,DB FE,TT3,TT3:    DJNZ  R3,TT3
00F6,22,,        RET
,,,
000E,,,        END
,,,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -