<address id="tnvjh"></address>
    <form id="tnvjh"><listing id="tnvjh"><meter id="tnvjh"></meter></listing></form>

      <form id="tnvjh"></form>

      <address id="tnvjh"><th id="tnvjh"></th></address>

        專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        單片機LCD顯示漢字程序

        作者:佚名   來源:本站原創   點擊數:  更新時間:2008年05月26日   【字體:

        S_I     EQU    P1.5   ;內容發送
        SCK   EQU    P1.7   ;串行CP端
        RCK    EQU    P1.6   ;輸出CP端
        EN      EQU    P1.4   ;EN為138使能端.高電平關閉顯示;低電平顯示 
        ;*********************單片機LCD顯示漢字程序-匯編語言編寫****************************
        ;*********************http://www.lauradisbro.com原創*****************************
                ORG     0000H
                LJMP    MAIN       
                ORG     0100H
        MAIN:    SETB EN              ;關顯示端口           
                MOV    SP,#70H          ;堆棧首址
              MOV    DPTR,#TAB ;賦查表初址
              MOV    R3,#0
           
               ANL P1,#0F0H
           setb p1.0
             MOV R7,P1
              
         MOV    R6,#17     ;掃描的行數,共16行,經行程序處理后顯示應顯示的行
        FF:     LCALL  QQ          ;將顯示內容移入內存單元   
              LCALL  OUT_595        ;發送串行口子程序
               CALL DELAY
            CLR    RCK  ;將輸出CP變為低電平為上升沿作準備
            
         SETB EN   ;將使能端變為高電平為下降沿作準備    
            MOV P1,R7        ;送P1口
               MOV R7,P1
              INC    R7
                SETB   RCK  ;輸出CP為上升沿,顯示一個
                CLR    EN               ;138可顯示
                DJNZ   R6,FF
                LJMP   MAIN  ;如顯示完,就重新開始顯示內容
        ;*************************顯示漢字內容移入內存單元子程序*************************
        QQ:     MOV    R0,#30H
                MOV    R4,#8          ;如每幕顯示字數
                MOV    A,R3      ;A清零
        QQ1:    MOVC   A, @A+DPTR
                MOV    @R0,A        
                INC    R0;下一個地址
              MOV    A,R3
              INC    A
                MOVC   A,@A+DPTR
              MOV    @R0,A
              MOV    A,R3  ;A清零
                ADD    A,#32   ;加32,移到下一個字節的對應位置
              MOV    R3,A  ;r3等于32
              INC    R0 ;繼續下一個地址
              DJNZ   R4,QQ1
              MOV    A,R3
              SUBB   A,#126
            SUBB   A,#126;每次顯示4個字,減126
              MOV    R3,A
              RET
        ;*****************************發送漢字數據到串口單片機子程序*********************************
        OUT_595:MOV    R0,#30H
                MOV    R5,#16 ;一行有8個字節;如每次顯示字數不同要作相應改動
        DD:     CLR    C                   ;清C方便每個字節的移動
              MOV    R2,#8
                MOV    A,@R0;將顯存的字節的單元移入A
               
           
                LCALL  DD1  ;調用顯示一個字節的子程序
                INC    R0   ;指向下一個顯存的單元
                DJNZ   R5,DD  ;8個字節全部移入了沒有,未繼續
                RET
        DD1:    CLR    SCK  ;清串行CP端
                RLC    A   ;將每個字節移位
                MOV    S_I,C  ;將移入C的位移入信號端
                SETB   SCK  ;觸發串行CP端
                DJNZ   R2,DD1  ;每個字節位移8次夠了
                RET

        DELAY:         MOV  53H,#10
        DELY1:         MOV  54H,#030H
        DELY:          NOP
          NOP
          DJNZ  54H,DELY
                 DJNZ  53H,DELY1
          RET 

        ;***********************************漢字字碼表-LCD顯示漢字程序按照這些點陣逐行掃描我們肉眼就看到漢字出現再了lcd屏幕上了*******************
        TAB:
        ;陽碼逐行順向

        DB 0FEH, 0FFH, 080H, 003H, 0FEH, 0FFH, 0F0H, 01FH, 0FFH, 0FFH, 0E0H, 00FH, 0EFH, 0EFH, 0E0H, 00FH;
        DB 0F7H, 0BFH, 000H, 001H, 0EFH, 0FFH, 081H, 087H, 0EDH, 0B7H, 0DDH, 0B7H, 0B5H, 087H, 07BH, 0FFH;"嘉",0
        DB 0FEH, 0FFH, 0FFH, 07FH, 0C0H, 003H, 0DFH, 0FFH, 0DDH, 0FFH, 0DEH, 0F7H, 0CFH, 073H, 0D7H, 037H;
        DB 0DBH, 06FH, 0DBH, 06FH, 0D9H, 0DFH, 0BBH, 0DFH, 0BFH, 0BFH, 0A0H, 001H, 07FH, 0FFH, 0FFH, 0FFH;"應",1
        DB 0FEH, 0F7H, 0EFH, 073H, 0F3H, 037H, 0F7H, 06FH, 080H, 001H, 0BFH, 0FBH, 070H, 017H, 0FFH, 0BFH;
        DB 0FFH, 07FH, 080H, 001H, 0FFH, 07FH, 0FFH, 07FH, 0FFH, 07FH, 0FFH, 07FH, 0FDH, 07FH, 0FEH, 0FFH;"學",2
        DB 0FFH, 07FH, 007H, 0BFH, 070H, 001H, 06BH, 0FBH, 05FH, 0FFH, 05CH, 007H, 06FH, 0FFH, 077H, 0FFH;
        DB 070H, 001H, 056H, 0DFH, 06EH, 0DFH, 07EH, 0DFH, 07DH, 0DDH, 07DH, 0DDH, 07BH, 0DDH, 077H, 0E1H;"院",3
        DB 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0C0H, 007H, 0DEH, 0F7H, 0DEH, 0F7H, 0C0H, 007H, 0DEH, 0F7H;
        DB 0DEH, 0F7H, 0DEH, 0F7H, 0C0H, 007H, 0DEH, 0F7H, 0FEH, 0FDH, 0FEH, 0FDH, 0FFH, 001H, 0FFH, 0FFH;"電",4
        DB 0FFH, 0FFH, 0C0H, 00FH, 0FFH, 0DFH, 0FFH, 0BFH, 0FFH, 07FH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FBH;
        DB 000H, 001H, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FAH, 0FFH, 0FDH, 0FFH;"子",5
        DB 0FFH, 083H, 0C0H, 07FH, 0FDH, 0DFH, 0FBH, 0DFH, 0F7H, 0BFH, 0E0H, 07FH, 0FCH, 0DFH, 0F3H, 0EFH;
        DB 0C0H, 007H, 0EFH, 073H, 0FBH, 05FH, 0F7H, 06FH, 0EFH, 077H, 0DFH, 07BH, 0BDH, 07BH, 0FEH, 0FFH;"系",6
        DB 0FDH, 0FFH, 0FEH, 0FFH, 0C0H, 001H, 0BFH, 0FBH, 0E0H, 007H, 0FFH, 0FFH, 0F0H, 00FH, 0F7H, 0EFH;
        DB 0F0H, 00FH, 0F7H, 0EFH, 0F7H, 0EFH, 0F0H, 00FH, 0F7H, 0EFH, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH;"宣",7


        END

        趕快燒到單片機里去試一下吧,我自己已經測試成功。

        關閉窗口
        和老头做爰很舒服,JK白丝裤袜开裆自慰喷水,在线天堂www在线...中文

          <address id="tnvjh"></address>
          <form id="tnvjh"><listing id="tnvjh"><meter id="tnvjh"></meter></listing></form>

            <form id="tnvjh"></form>

            <address id="tnvjh"><th id="tnvjh"></th></address>