<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 顯示效果:全屏幕顯示0---9 :該程序試驗通過

          顯示效果:全屏幕顯示0---9 :該程序試驗通過

          作者: 時間:2011-02-27 來源:網(wǎng)絡(luò) 收藏

          現(xiàn)在:我?guī)ьI(lǐng)大家從字符型1602液晶入手, 一步一步的來掌握液晶的編程

          SMC1602接口程序(MCS51模擬口線方式)

          以上為運行的照片,實際是動態(tài)的, 從0--9

          ;********************************************************************************
          ;1602液晶全屏幕顯示0-9 *
          ;********************************************************************************
          ;* 日期: 2007-3-25 *
          ;* 版本: 3.0 *
          ;* 作者: 深圳學(xué)林電子有限公司 專業(yè)8051教程站 *
          ;* 郵箱: sxj1974@163.com *
          ;* 網(wǎng)站: http://www.51c51.com http://www.8951.com 更多例程請登陸網(wǎng)站 *
          ;********************************************************************************
          ;* 硬件:此程序在本公司xlisp系列實驗儀運行通過 *
          ;********************************************************************************
          ;* 【版權(quán)】 Copyright(C)深圳學(xué)林電子有限公司 www.51c51.com All Rights Reserved *
          ;* 【聲明】 此程序僅用于學(xué)習(xí)與參考,引用請注明版權(quán)和作者信息! *
          ;********************************************************************************
          RSPIN EQU P2.0
          RWPIN EQU P2.1
          EPIN EQU P2.2
          XPOS EQU 20H ;列方向地址指針(用于LCDPOS子程序)
          YPOS EQU 21H ;行方向地址指針(用于LCDPOS子程序)
          ORG 0000H
          JMP START
          START: MOV SP,#60H
          CLR EPIN
          MAIN:
          MOV R7,#'0' ;測試主程序
          MN_PA: ;整屏循環(huán)顯示"0"到"9"及空格
          CALL LCDRESET
          MOV A,R7
          CALL LCDFILL
          CALL DELAY400MS
          INC R7
          MOV A,R7
          CJNE A,#'9'+1,MN_PA
          MOV A,#' '
          CALL LCDFILL
          CALL DELAY400MS
          JMP MAIN
          LCDFILL:
          MOV B,A
          MOV YPOS,#0
          LFL_PB: MOV XPOS,#0 ;整屏顯示A中所代表字符
          LFL_PA: MOV A,B
          CALL LCDWRITE
          INC XPOS
          MOV A,XPOS
          CJNE A,#20,LFL_PA
          INC YPOS
          MOV A,YPOS
          CJNE A,#4,LFL_PB
          RET
          LCDPOS: ;設(shè)置第(XPOS,YPOS)個字符的DDRAM地址
          PUSH ACC
          CLR C ;X位置范圍(0到19)
          MOV A,XPOS
          SUBB A,#20
          JC LPS_LBX
          MOV XPOS,#0
          LPS_LBX:ANL YPOS,#03H ;Y位置范圍(0到3)
          MOV A,YPOS ;(XPOS,YPOS)對應(yīng)DDRAM地址
          CJNE A,#00,LPS_LA1
          MOV A,XPOS ;(第一行)X: 第0----19個字符
          JMP LPS_LAX ; DDRAM: 0----13H
          LPS_LA1:CJNE A,#01,LPS_LA2
          MOV A,XPOS ;(第二行)X: 第0----19個字符
          ADD A,#40H ; DDRAM: 40----53H
          JMP LPS_LAX ;
          LPS_LA2:CJNE A,#02,LPS_LAY
          MOV A,XPOS ;(第三行)X: 第0----19個字符
          ADD A,#14H ; DDRAM: 14----27H
          JMP LPS_LAX
          LPS_LAY:MOV A,XPOS ;(第四行)X: 第0----19個字符
          ADD A,#54H ; DDRAM: 54----67H
          LPS_LAX:ORL A,#80H ;設(shè)置DDRAM地址
          CALL LCDWC
          POP ACC
          RET
          LCDWRITE: ;定位寫字符子程序
          CALL LCDPOS ;定位顯示地址
          CALL LCDWD ;寫字符
          RET
          LCDRESET: ;初始化程序
          CALL DELAY5MS ;延時15MS
          CALL DELAY5MS
          CALL DELAY5MS
          MOV A,#38H ;顯示模式設(shè)置(不檢測忙信號)
          CALL LCDWCN ;共三次
          CALL DELAY5MS
          MOV A,#38H
          CALL LCDWCN
          CALL DELAY5MS
          MOV A,#38H
          CALL LCDWCN
          MOV A,#38H ;顯示模式設(shè)置(以后均檢測忙信號)
          CALL LCDWC
          MOV A,#08H ;顯示關(guān)閉
          CALL LCDWC
          MOV A,#01H ;顯示清屏
          CALL LCDWC
          MOV A,#06H ;顯示光標(biāo)移動設(shè)置
          CALL LCDWC
          MOV A,#0CH ;顯示開及光標(biāo)設(shè)置
          CALL LCDWC
          RET
          LCDWC: ;送控制字子程序(檢測忙信號)
          CALL WAITIDLE
          LCDWCN: ;送控制字子程序(不檢測忙信號)
          CLR RSPIN ;RS=0 RW=0 E=高脈沖
          CLR RWPIN
          MOV P0,A
          SETB EPIN
          NOP
          CLR EPIN
          RET
          LCDWD: ;寫字符子程序
          CALL WAITIDLE
          SETB RSPIN ;RS=1 RW=0 E=高脈沖
          CLR RWPIN
          MOV P0,A
          SETB EPIN
          NOP
          CLR EPIN
          RET
          WAITIDLE:
          PUSH ACC ;正常讀寫操作之前必須檢測LCD控制器狀態(tài)
          MOV P0,#0FFH
          CLR RSPIN ;RS=0 RW=1 E=高電平
          SETB RWPIN
          SETB EPIN
          WTD_PA: NOP ;DB7: 0 LCD控制器空閑
          JB P0.7,WTD_PA ; 1 LCD控制器忙
          CLR EPIN
          POP ACC
          RET
          DELAY5MS:
          MOV R1,#25 ;延時子程序(5MS)
          DL5_PA: MOV R2,#100
          DJNZ R2,$
          DJNZ R1,DL5_PA
          RET
          DELAY400MS:
          MOV R0,#20 ;延時子程序(400MS)
          DL4_PA: MOV R1,#100
          DL4_PB: MOV R2,#100
          DJNZ R2,$
          DJNZ R1,DL4_PB
          DJNZ R0,DL4_PA
          RET
          END



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();