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

📄 40x2.txt

📁 常用液晶模块选型资料及中文数据手册
💻 TXT
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;            中断入口程序             ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
ORG     0000H    ;程序执行开始地址
LJMP    MAIN     ;跳至MAIN执行
ORG     0003H    ;外中断0中断入口地址
RETI             ;中断返回(不开中断)
ORG     000BH    ;定时器T0中断入口地址
RETI             ;中断返回(不开中断)
ORG     0013H    ;外中断1中断入口地址
RETI             ;中断返回(不开中断)
ORG     001BH    ;定时器T1中断入口地址
RETI             ;中断返回(不开中断)
ORG     0023H    ;串行口中断入口地址
RETI             ;中断返回(不开中断)
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;             初始化程序             ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
   CLEARMEN:    MOV A,#01H            ;清屏
                LCALL OUTI            ;调用指令传送程序
                LCALL DL1MS           ;确保清屏成功
                LCALL DL1MS           ;确保清屏成功
                MOV A,#38H            ;置8位接口,双行显示,5*7点阵
                LCALL OUTI            ;调用指令传送程序
                MOV A,#0CH            ;置显示开,关光标,不闪烁
                LCALL OUTI            ;调用指令传送程序
                MOV A,#06H            ;置RAM读写按地址递增
                LCALL OUTI            ;调用指令传送程序
                MOV A,#80H            ;置DD RAM首地址为00H
                LCALL OUTI            ;调用指令传送程序
                RET                   ;返回
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;               主程序               ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
   MAIN:         LCALL   CLEARMEN     ;调用初始化程序
  START:         LCALL   DISP3        ;调用中文显示程序
                 LCALL   DELAY        ;停止显示1S
                 AJMP    START        ;跳回START循环
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;           中文显示程序             ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
DISP3:        MOV A,#40H             ;置CG RAM首地址为00H
               LCALL OUTI             ;调用指令传送程序
               MOV B,#00H             ;字符数据地址
               MOV R1,#40H            ;字符计数初值
DISPD:        MOV A,B
               MOV DPTR,#TAB3
               MOVC A,@A+DPTR
               LCALL OUTD
               INC B
               DJNZ R1,DISPD
               MOV A,#0C0H            ;置DD RAM首地址为14H
               LCALL OUTI             ;调用指令传送程序
               MOV B,#00H             ;字符数据地址
               MOV R1,#14H            ;字符计数初值
DISPE:        MOV A,B
               MOV DPTR,#TAB4
               MOVC A,@A+DPTR
               LCALL OUTD
               INC B
               DJNZ R1,DISPE
               MOV A,#0CH             ;开显示
               LCALL OUTI
               RET                    ;返回                 
  TAB3:        DB  08H,0FH,12H,0FH,0AH,1FH,02H,02H   ;年
               DB  0FH,09H,0FH,09H,0FH,09H,09H,13H   ;月
               DB  0FH,09H,09H,0FH,09H,09H,0FH,00H   ;日
               DB  1FH,0AH,0AH,1FH,0AH,0AH,0AH,12H   ;开
               DB  08H,0FH,0AH,17H,02H,07H,02H,03H   ;钟
               DB  04H,1FH,15H,15H,1FH,04H,04H,04H   ;
               DB  08H,0EH,09H,15H,0AH,04H,08H,05H   ;然
               DB  04H,05H,1FH,04H,04H,0AH,11H,0AH   ; 
               DB  04H,0AH,11H,0EH,05H,05H,09H,13H   ;分
               DB  00H,00H,0FH,09H,0FH,09H,0FH,00H   ;时
               DB  02H,02H,0FH,02H,0AH,02H,02H,06H   ;
               DB  02H,0EH,14H,0FH,04H,15H,04H,04H   ;秒
               DB  04H,04H,04H,14H,15H,05H,02H,0CH   ;
  TAB4:        DB  '2004',00H,'07',01H,'08',02H,'  ',04H,05H,' ',03H,' ',06H,07H
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;           指令传送程序             ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
OUTI:        CLR P3.1                ;传送指令
              CLR P3.1
              CLR P3.3
              CLR P3.3
              SETB P3.0
              SETB P3.0
              MOV P1,A
              MOV P1,A
              CLR P3.0
              CLR P3.0
              MOV R4,#02H             ;延时1MS
  TM4:        MOV R5,#0FFH
  TM5:        DJNZ R5,TM5
              DJNZ R4,TM4
              RET
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;           数据传送程序             ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
  OUTD:      SETB P3.3                ;传送数据
             SETB P3.3
             CLR P3.1
             CLR P3.1
             SETB P3.0
             SETB P3.0
             MOV P1,A
             MOV P1,A
             CLR P3.0
             CLR P3.0
             MOV R4,#0FFH             ;延时0.5MS
  TM2:       DJNZ R4,TM2
             RET
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;            1毫秒延时程序           ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
   DL1MS:   MOV     75H,#14H
     DL1:   MOV     76H,#19H
     DL2:   DJNZ    76H,DL2
            DJNZ    75H,DL1
            RET
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;             1秒延时程序            ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
   DELAY:   MOV     73H,#10H
     DLA:   MOV     74H,#0FFH
     DLB:   LCALL   DL1MS
            DJNZ    74H,DLB
            DJNZ    73H,DLA
            MOV     A,#01H          ;清屏
            LCALL   OUTI            ;调用指令传送程序
            LCALL   DL1MS           ;确保清屏成功
            LCALL   DL1MS           ;确保清屏成功
            RET
            END
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;               程序结束             ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

⌨️ 快捷键说明

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