电子产业一站式赋能平台

PCB联盟网

搜索
查看: 1745|回复: 0
收起左侧

单片机C语言实例-207-12864测试程序

[复制链接]
发表于 2022-2-23 14:29:13 | 显示全部楼层 |阅读模式
单片机C语言实例-207-12864测试程序

;12864(带字库汉字显示演示程序)
;***************************************************************************
;*  saxmcu@126.com                          www.saxmcu.com                   *
;*  laosong     www.saxmcu.com 更多例程请登陆网站                          *
;*  P0.0--P0.7口接J21口                                                    *  
;*  P2.0----接J20的0脚座上                                                 *
;*  P2.1----接J20的1脚座上                                                 *
;*  P2.2----接J20的2脚座上                                                 *
;*  P2.3----接J20的4脚座上                                                 *
;*  P2.5----接J20的6脚座上                                                 *
;***************************************************************************

RS EQU P2.0
          RW EQU P2.1
          E  EQU P2.2
          PSB EQU P2.3
          RST EQU P2.5
;-----------------------------------------------
          LCD_X  EQU 30H
          LCD_Y  EQU 31H
          COUNT  EQU 32H
          COUNT1 EQU 33H
          COUNT2 EQU 34H
          COUNT3 EQU 35H
;-----------------------------------------------
       LCD_DATA  EQU 36H
       LCD_DATA1 EQU 37H
       LCD_DATA2 EQU 38H
          STORE  EQU 39H

;-----------------------------------------------
  ORG 0000H
  LJMP MAIN
  ORG 0100H
;-----------------------------------------------
MAIN:
     MOV SP,#5FH
            CLR  RST             ;复位
            LCALL DELAY4
            SETB RST
     NOP
            SETB PSB             ;通讯方式为8位数据并口

;********************初始化**********************
LGS0:     MOV A,#34H  ;34H--扩充指令操作
     LCALL SEND_I
     MOV A,#30H  ;30H--基本指令操作
     LCALL SEND_I
     MOV A,#01H  ;清除显示
     LCALL SEND_I
            MOV A,#06H  ;指定在资料写入或读取时,光标的移动方向
     LCALL SEND_I        ;DDRAM 的地址计数器(AC)加1
     MOV A,#0CH  ;开显示,关光标,不闪烁
     LCALL SEND_I
;===============================================
TU_PLAY1:
            MOV  DPTR,#TU_TAB1      ;显示图形
     LCALL PHO_DISP
     LCALL DELAY3

;=================================================
;;显示汉字和字符
;加入80ms的延时,使你能够看清楚显示的过程
;根据汉字显示坐标分段写入(顺序写入)
;=================================================
HAN_WR2:
            LCALL CLEAR_P
HAN_WR2A:
            MOV DPTR,#TAB1A ;显示汉字和字符
     MOV COUNT,#10H      ;地址计数器设为16。
     MOV A,#80H          ;第一行起始地址
     LCALL SEND_I
            LCALL   QUSHU
HAN_WR2B:
            MOV DPTR,#TAB1B ;显示汉字和字符
     MOV COUNT,#10H      ;地址计数器设为16。
     MOV A,#90H          ;第二行起始地址
     LCALL SEND_I
            LCALL QUSHU
HAN_WR2C:
            MOV DPTR,#TAB1C ;显示汉字和字符
     MOV COUNT,#10H      ;地址计数器设为16。
     MOV A,#88H          ;第三行起始地址
     LCALL SEND_I
            LCALL QUSHU
HAN_WR2D:
            MOV DPTR,#TAB1D  ;显示汉字和字符
     MOV COUNT,#10H       ;地址计数器设为16。
     MOV A,#98H           ;第四行起始地址
     LCALL SEND_I
            LCALL QUSHU
            LCALL DELAY3
            LCALL FLASH
            LCALL CLEAR_P
            JMP  TU_PLAY2
;----------------------------------------------
;TU_PLAY1:
            MOV  DPTR,#TU_TAB1      ;显示图形
     LCALL PHO_DISP
     LCALL DELAY3

;----------------------------------------------
TU_PLAY2:
     MOV DPTR,#TU_TAB2   ;显示图形
     LCALL PHO_DISP
     LCALL DELAY3

;----------------------------------------------
TU_PLAY3:
     MOV DPTR,#TU_TAB4   ;显示图形
     LCALL PHO_DISP
     LCALL DELAY3

;-----------------------------------------------
;显示点阵
;-----------------------------------------------
LATPLAY1:
            MOV A,#01H         ;清屏
            LCALL SEND_I
     MOV LCD_DATA1,#0CCH  ;显示点阵
     MOV LCD_DATA2,#0CCH
     LCALL LAT_DISP
     LCALL DELAY3
            LCALL CLEAR_P

KU_PLAY2:

            LJMP  TU_PLAY1


更多详情参考附件文档
+08:00C311联盟网6782.png
游客,如果您要查看本帖隐藏内容请回复

回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表