久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 7212|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

本人的12864M LCD程序(asm51單片機(jī)匯編程序)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:72705 發(fā)表于 2015-1-24 16:15 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
X      EQU   26H         ;LCD 地址變量
         RS EQU P2.0
         RW EQU P2.1
         EN   EQU P2.2
         PSB EQU P2.3
         RST EQU P2.5

          ORG 0000H
          JMP   MAIN
          ORG 0003H          ;外部中斷INT0入口地址

MAIN:
           MOV    SP,#40H
           MOV    A,#00H
           MOV    R0,#20H
LOOP0:     MOV    @R0,A           ;20H-26H清零
           INC    R0
           CJNE   R0,#27H,LOOP0
           MOV   IE,#81H        ;允許總中斷中斷,使能 INT0 外部中斷
           MOV   TCON,#01H      ;觸發(fā)方式為脈沖負(fù)邊沿觸發(fā)
           SETB RST
    NOP
    SETB PSB             ;8位數(shù)據(jù),并口
           CALL   SET_LCD         ;初始化TS12864m
           CALL   MENU1
           CALL   MENU2
           CALL   MENU3
           CALL   MENU4
LOOP1:
           MOV   A,22H
           CJNE   A,#40H,LOOP2            
LOOP2:     CJNE   A,#04H,LOOP3            
LOOP3:     JMP    LOOP1
;=============================================
;   LCD 初始化設(shè)置
;=============================================-
SET_LCD:
           CLR   EN
           MOV   A,#34H      ;34H--擴(kuò)充指令操作
           CALL   WCOM
           MOV   A,#30H      ;30H--基本指令操作
           CALL   WCOM
           MOV   A,#0CH      ;開(kāi)顯示,關(guān)光標(biāo),
           CALL   WCOM
           MOV   A,#01H      ;清除 LCM 顯示屏
           CALL   WCOM
           RET
;===================================================
;在 LCM 各行顯示信息字符
;===================================================
LCD_SHOW:
           CJNE   A,#1,LINE2   ;判斷是否為第一行
   LINE1:   MOV   A,#80H        ;設(shè)置 LCD 的第一行地址
           CALL   WCOM         ;寫(xiě)入命令
           CALL   CLR_LINE     ;清除該行字符數(shù)據(jù)
           MOV   A,#80H        ;設(shè)置 LCD 的第一行地址
           CALL   WCOM         ;寫(xiě)入命令
           JMP   FILL
   LINE2:   CJNE   A,#2,LINE3   ;判斷是否為第三行
           MOV   A,#090H       ;設(shè)置 LCD 的第三行地址
           CALL   WCOM         ;寫(xiě)入命令
           CALL   CLR_LINE     ;清除該行字符數(shù)據(jù)
           MOV   A,#090H       ;設(shè)置 LCD 的第三行地址
           CALL   WCOM
           JMP   FILL
   LINE3:   CJNE   A,#3,LINE4   ;判斷是否為第三行
           MOV   A,#088H       ;設(shè)置 LCD 的第三行地址
           CALL   WCOM         ;寫(xiě)入命令
           CALL   CLR_LINE     ;清除該行字符數(shù)據(jù)
           MOV   A,#088H       ;設(shè)置 LCD 的第三行地址
           CALL   WCOM
           JMP   FILL
   LINE4:   CJNE   A,#4,LINE5   ;判斷是否為第三行
           MOV   A,#098H       ;設(shè)置 LCD 的第三行地址
           CALL   WCOM         ;寫(xiě)入命令
           CALL   CLR_LINE     ;清除該行字符數(shù)據(jù)
           MOV   A,#098H       ;設(shè)置 LCD 的第三行地址
           CALL   WCOM
   FILL:    CLR   A             ;填入字符
           MOVC   A,@A+DPTR    ;由消息區(qū)取出字符
           CJNE   A,#0,LC1     ;判斷是否為結(jié)束碼
   LINE5:   RET
   LC1:     CALL   WDATA        ;寫(xiě)入數(shù)據(jù)
           INC   DPTR          ;指針加1
           JMP   FILL          ;繼續(xù)填入字符
           RET
;=================================================
;清除該行 LCM 的字符
;=================================================
CLR_LINE:
           MOV   R0,#16      
    CL1:    MOV   A,#' '
           CALL   WDATA
           DJNZ   R0,CL1
           RET
;==================================================
;LCM 顯示工作菜單信息
;==================================================
MENU1:
          MOV    DPTR,#MENU1A
          MOV    A,#1          ;在第一行顯示信息
          CALL   LCD_SHOW
          RET
MENU1A:   DB   "MUC 控制GPRS模塊",0
MENU2:
          MOV    DPTR,#MENU2A
          MOV    A,#2          ;在第二行顯示信息
          CALL   LCD_SHOW
          RET
MENU2A:   DB   "TEL:13991316679",0
MENU3:
          MOV    DPTR,#MENU3A
          MOV    A,#3          ;在第三行顯示信息
          CALL   LCD_SHOW
          RET
MENU3A:   DB   "方案設(shè)計(jì): 龔   偉",0
MENU4:
          MOV    DPTR,#MENU4A
          MOV    A,#4          ;在第四行顯示信息
          CALL   LCD_SHOW
          RET
MENU4A:   DB   "程序編寫(xiě): 靳   鵬",0
;==============================================
; 寫(xiě)指令使能子程序
;RS=L,RW=L,D0-D7=指令碼,E=高脈沖
;==============================================
WCOM:
           MOV   P0,A
           CLR RS
           CLR RW
           SETB EN
           CALL   DELAY0
           CLR EN
           RET
;=============================================
;寫(xiě)數(shù)據(jù)使能子程序
;RS=H,RW=L,D0-D7=數(shù)據(jù),E=高脈沖
;=============================================
WDATA:
           MOV    P0,A
           SETB   RS
           CLR    RW
           SETB   EN
           CALL   DELAY0
           CLR    EN
           RET
DELAY0:    MOV   R7,#250       ;延時(shí)500微秒
           DJNZ   R7,$
           RET
         END

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:61140 發(fā)表于 2022-3-24 20:13 | 只看該作者
請(qǐng)教匯編怎么在LCD12864上面顯示變量,比如在第四行顯示一個(gè)從0%-100%的變量
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久免费视频网 | 成人福利在线视频 | 久久亚洲国产精品日日av夜夜 | 91日b| 久久久天堂 | 福利视频一区二区 | 欧美精品一区二区免费 | av一区二区三区 | 久热精品视频 | 欧美激情视频网站 | 日韩欧美一区二区三区在线播放 | www在线| 欧美日韩国产中文 | 国产乱码久久久 | 久久久国 | 性生活毛片 | 成人综合视频在线观看 | 亚洲九色 | 欧美在线观看一区 | 久久另类视频 | 蜜桃臀av一区二区三区 | 国产精品久久久久一区二区三区 | 自拍偷拍av| 国产精品视频一区二区三区 | 久久久一区二区三区 | 日韩欧美中文字幕在线观看 | 综合久久国产 | 欧美一区二区三区在线观看 | 欧美国产亚洲一区二区 | 搞黄网站在线观看 | 久久久久久久一区 | 免费av直接看 | 一区二区三区四区毛片 | 中文字幕在线视频免费观看 | 亚洲欧洲日韩精品 中文字幕 | www.天天干.com | 欧美日日| 国产高清视频 | 久久亚洲精品视频 | 欧美福利视频 | 中文字幕亚洲一区二区三区 |