中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 128X64 LCD接口51匯編程序

        128X64 LCD接口51匯編程序

        作者: 時間:2012-10-16 來源:網絡 收藏

        ; 12864接口程序(MCS51模擬口線方式)
        ;**************************************************
        ;連線圖: *LCM---8031* *LCM---8031* *LCM------------8031* *LCM----------8031*
        ; *DB0---P1.0* *DB4---P1.4* *RS-------------P3.0* *CS1----------P3.4*
        ; *DB1---P1.1* *DB5---P1.5* *RW-------------P3.1* *CS2----------P3.5*
        ; *DB2---P1.2* *DB6---P1.6* *E--------------P3.3
        ; *DB3---P1.3* *DB7---P1.7* */RST-----------VDD (詳見說明書)
        ;注:8031的晶振頻率為12MHz
        ;2005年9月 馬良 測試通過 歡迎大家討論 QQ:8297327 13087664858
        ;*****************************************************
        XPOS EQU 20H ;列方向地址指針(用于LCDPOS子程序)
        YPOS EQU 21H ;行方向地址指針(用于LCDPOS子程序)
        RSPIN EQU P3.0
        RWPIN EQU P3.1 ;
        EPIN EQU P3.3 ;
        CS1PIN EQU P3.4 ;
        CS2PIN EQU P3.5 ;
        ORG 0000H
        JMP START
        START: MOV SP,#60H
        MAIN:
        CALL LCDRESET
        MOV A,#55H
        CALL LCDFILL
        MOV DPTR,#STRING1
        CALL PUTSTR
        CALL PUTSTR
        JMP MAIN
        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
        DELAY:
        MOV R6,#2
        DLY_PA: MOV R5,#0
        DLY_PB: MOV R4,#0
        DJNZ R4,$
        DJNZ R5,DLY_PB
        DJNZ R6,DLY_PA
        RET
        GETSTRCHAR:
        GSC_PA:
        CLR A
        MOVC A,@A+DPTR
        INC DPTR
        MOV B,A
        INC A
        CLR C
        JZ GSC_LAX
        CLR A
        MOVC A,@A+DPTR
        INC DPTR
        SETB C
        GSC_LAX:
        RET
        PUTSTR:
        CALL DELAY
        CALL GETSTRCHAR
        PUSH DPL
        PUSH DPH
        JNC PSR_LAX
        JNB B.7,PSR_LBY
        ;CHINESE:
        CALL HZKPOS
        CALL PUTCHARDOT
        CALL PUTCHARDOT
        JMP PSR_LBX
        PSR_LBY:
        ;ENGLISH:
        CALL HZKPOS
        CALL PUTCHARDOT
        PSR_LBX:
        POP DPH
        POP DPL
        JMP PUTSTR
        PSR_LAX:POP DPH
        POP DPL
        RET
        PUTCHARDOT:
        MOV R7,#8
        PAC_PA:
        CLR A
        MOVC A,@A+DPTR
        CALL LCDWRITE
        INC YPOS
        INC DPTR
        CLR A
        MOVC A,@A+DPTR
        CALL LCDWRITE
        DEC YPOS
        INC DPTR
        CALL CUSORNEXT
        MOV A,XPOS
        JNZ PAC_LAX
        INC YPOS
        PAC_LAX:
        DJNZ R7,PAC_PA
        RET
        HZKPOS:
        MOV R2,#5
        HTP_PA:
        CLR C
        RLC A
        XCH A,B
        RLC A
        XCH A,B
        DJNZ R2,HTP_PA

        MOV DPTR,#HZKDOT
        ADD A,DPL
        MOV DPL,A
        MOV A,B
        ADDC A,DPH
        MOV DPH,A
        RET
        LCDFILL: ;LCD整屏顯示A的內容
        MOV R7,A
        MOV YPOS,#0
        LFL_PB: MOV XPOS,#0
        LFL_PA: MOV A,R7
        CALL LCDWRITE ;定位并寫數(shù)據(jù)
        CALL CUSORNEXT
        MOV A,XPOS
        JNZ LFL_PA ;XPOS128則循環(huán)(128列)
        MOV A,YPOS
        JNZ LFL_PB ;YPOS8則循環(huán)(8頁)
        RET
        LCDWRITE: ;定位并寫數(shù)據(jù)子程序
        CALL LCDPOS ;內部寫數(shù)指針定位
        CALL LCDWD ;寫數(shù)據(jù)
        RET
        CUSORNEXT:
        ANL YPOS,#7
        INC XPOS
        MOV A,XPOS
        JNB ACC.7,CNT_LAX
        MOV XPOS,#0
        INC YPOS
        MOV A,YPOS
        ANL A,#0F8H
        JZ CNT_LAX
        MOV YPOS,#0
        CNT_LAX:
        RET
        LCDPOS: ;內部寫數(shù)指針定位子程序
        PUSH ACC
        MOV A,XPOS
        JB ACC.6,LPS_LAY
        MOV A,YPOS ;XPOS列方向小于64則對CS1操作
        ANL A,#07H
        ADD A,#0B8H
        CALL LCDWC1 ;設頁碼
        MOV A,XPOS
        ANL A,#3FH
        ORL A,#40H
        CALL LCDWC1 ;設列碼
        JMP LPS_LAX
        LPS_LAY:MOV A,YPOS ;XPOS列方向大于等于64則對CS2操作
        ANL A,#07H
        ADD A,#0B8H
        CALL LCDWC2 ;設頁碼
        MOV A,XPOS
        ANL A,#3FH
        ORL A,#40H
        CALL LCDWC2 ;設列碼
        LPS_LAX:POP ACC
        RET
        LCDWD: ;送數(shù)據(jù)子程序
        MOV B,A
        MOV A,XPOS
        JB ACC.6,LWD_LAY
        MOV A,B ;XPOS列方向小于64則對CS1操作
        CALL LCDWD1
        JMP LWD_LAX
        LWD_LAY:MOV A,B ;XPOS列方向大于等于64則對CS2操作
        CALL LCDWD2
        LWD_LAX:
        RET
        LCDRESET: ;LCD控制器復位
        MOV A,#3FH ;打開LCD顯示
        CALL LCDWC1
        CALL LCDWC2
        MOV A,#0C0H ;設顯示起始行
        CALL LCDWC1
        CALL LCDWC2
        RET
        LCDWC1: ;送片1控制字子程序
        CALL WAITIDLE1
        MOV P1,A
        CLR RSPIN ;RS=0 RW=0 CS1=1 E=高脈沖
        CLR RWPIN
        SETB CS1PIN
        SETB EPIN
        NOP
        CLR EPIN
        CLR CS1PIN
        RET
        LCDWC2: ;送片2控制字子程序
        CALL WAITIDLE2
        MOV P1,A
        CLR RSPIN ;RS=0 RW=0 CS2=1 E=高脈沖
        CLR RWPIN
        SETB CS2PIN
        SETB EPIN
        NOP
        CLR EPIN
        CLR CS2PIN
        RET
        LCDWD1: ;片1寫數(shù)據(jù)子程序
        CALL WAITIDLE1
        MOV P1,A
        SETB RSPIN ;RS=1 RW=0 CS1=1 E=高脈沖
        CLR RWPIN
        SETB CS1PIN
        SETB EPIN
        NOP
        CLR EPIN
        CLR CS1PIN
        RET
        LCDWD2: ;片2寫數(shù)據(jù)子程序
        CALL WAITIDLE2
        MOV P1,A
        SETB RSPIN ;RS=1 RW=0 CS2=1 E=高脈沖
        CLR RWPIN
        SETB CS2PIN
        SETB EPIN
        NOP
        CLR EPIN
        CLR CS2PIN
        RET
        LCDRD1: ;片1讀數(shù)據(jù)子程序
        CALL WAITIDLE1
        MOV P1,#0FFH
        SETB RSPIN ;RS=1 RW=1 CS1=1 E=高電平
        SETB RWPIN
        SETB CS1PIN
        SETB EPIN
        NOP
        MOV A,P1
        CLR EPIN
        CLR CS1PIN
        RET
        LCDRD2: ;片2讀數(shù)據(jù)子程序
        CALL WAITIDLE2
        MOV P1,#0FFH
        SETB RSPIN ;RS=1 RW=1 CS1=2 E=高電平
        SETB RWPIN
        SETB CS2PIN
        SETB EPIN
        NOP
        MOV A,P1
        CLR EPIN
        CLR CS2PIN
        RET
        WAITIDLE1:
        MOV P1,#0FFH
        CLR RSPIN ;RS=0 RW=1 CS1=1 E=高電平
        SETB RWPIN
        SETB CS1PIN
        SETB EPIN
        WT1_PA: NOP
        JB P1.7,WT1_PA
        CLR EPIN
        CLR CS1PIN
        RET
        WAITIDLE2:
        CLR RSPIN ;RS=0 RW=1 CS2=1 E=高電平
        SETB RWPIN
        SETB CS2PIN
        SETB EPIN
        WT2_PA: NOP
        JB P1.7,WT2_PA
        CLR EPIN
        CLR CS2PIN
        RET
        HZKDOT:
        ;(d3d0H)(有)(8000)
        DB 04H, 04H, 04H, 02H, 04H, 01H, 84H, 00H
        DB 0e4H,0ffH, 3cH, 09H, 27H, 09H, 24H, 09H
        DB 24H, 09H, 24H, 49H, 24H, 89H,0f4H, 7fH
        DB 24H, 00H, 06H, 00H, 04H, 00H, 00H, 00H
        ;(cfdeH)(限)(8001)
        DB 00H, 00H,0feH,0ffH, 02H, 08H, 22H, 10H
        DB 0daH, 08H, 06H, 07H, 00H, 00H,0feH,0ffH
        DB 92H, 42H, 92H, 24H, 92H, 08H, 92H, 14H
        DB 0ffH, 22H, 02H, 61H, 00H, 20H, 00H, 00H
        ;(b9abH)(公)(8002)
        DB 00H, 01H, 00H, 01H, 80H, 00H, 40H, 30H
        DB 30H, 28H, 0cH, 24H, 00H, 23H,0c0H, 20H
        DB 06H, 20H, 18H, 28H, 20H, 30H, 40H, 60H
        DB 80H, 00H, 80H, 01H, 80H, 00H, 00H, 00H
        ;(cbbeH)(司)(8003)
        DB 10H, 00H, 10H, 00H, 92H, 3fH, 92H, 10H
        DB 92H, 10H, 92H, 10H, 92H, 10H, 92H, 10H
        DB 0d2H, 3fH, 9aH, 00H, 12H, 40H, 02H, 80H
        DB 0ffH, 7fH, 02H, 00H, 00H, 00H, 00H, 00H
        STRING1: DB 80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,0ffH
        STRING2: DB 80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,0ffH
        END



        評論


        技術專區(qū)

        關閉