新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > TC1602液晶模塊與單片機接口字符顯示試驗

        TC1602液晶模塊與單片機接口字符顯示試驗

        作者: 時間:2013-01-15 來源:網絡 收藏


        圖3: 1602液晶顯示一個字符“A”


          前面我們進行了液晶顯示一個字符“A”的實驗,接下來再來編一個稍復雜點的多程序,相信你有了第一個程序的經驗,下面的程序也就沒有什么難度了,畢竟程序都差不多。下面程序實現兩行顯示:第1行顯示"welcme!",第2行顯示"www.ourmpu.com"。顯示效果見下圖4。

        ;******** 液晶模塊試驗單片機匯編程序  ********
        ;******** 第一行顯示“welcme!     ********
        ;******** 第二行顯示“www.ourmpu.com” ********
            RS   EQU  P3.4
            RW   EQU  P3.5
            E   EQU  P3.6

            ORG   0000H
            AJMP   START
            ORG   0033H
        START: MOV   SP,#60H

        MAIN:  LCALL  DELAY    ;延時一段時間
            MOV   P1,#01H   ;寫指令01H,清屏
            LCALL  ENABLE
            MOV   P1,#38H   ;寫指令38H,設定LCD為16*2顯示,5*7點陣,8位數據接口
            LCALL  ENABLE
            MOV   P1,#0FH   ;寫指令0FH,顯示ON,光標ON,閃爍ON
            LCALL  ENABLE
            MOV   P1,#06H   ;寫指令06H,光標輸入方式增量移位
            LCALL  ENABLE

            MOV   P1,#80H   ;第一行起始字符地址
            LCALL  ENABLE
            MOV   DPTR,#TABLE1 ;第一行顯示字符表頭地址
            LCALL  DISP     ;顯示第一行數據
            MOV   P1,#0C0H   ;第二行起始字符地址
            LCALL  ENABLE
            MOV   DPTR,#TABLE2 ;第二行顯示字符表頭地址
            LCALL  DISP     ;顯示第二行數據
            AJMP  MAIN     ;返回主程序循環
            ;-----------------
        ENABLE: CLR   RS      ;寫指令子程序(請參照1602LCD使用說明書)
            CLR   RW
            CLR   E
            LCALL  DELAY
            SETB   E
            RET
            ;-----------------
        DISP:  MOV   R1,#16    ;準備顯示一行16個字符
        LOOP:  MOV   A,#00H    ;將ACC清零
            MOVC   A,@A+DPTR  ;查表取得要顯示的數據
            LCALL  DISP1     ;寫入一個數據
            INC   DPTR     ;數據表指針加1,準備取下一個數據
            DJNZ   R1,LOOP    ;一行沒有顯示完就繼續
            RET
            ;-----------------
        DISP1: MOV   P1,A     ;寫1字節數據到顯示端口
            SETB   RS      ;寫數據時序(請參照1602LCD使用說明書)
            CLR   RW
            CLR   E
            LCALL  DELAY
            SETB   E
            RET
            ;-----------------
        DELAY: MOV   R7,#255   ;延時子程序
        D1:   MOV   R6,#255
        D2:   DJNZ   R6,D2
            DJNZ   R7,D1
            RET

        TABLE1: DB " welcome! "
        TABLE2: DB " www.ourmpu.com "

             END


        圖4:《單片機驅動1602液晶多效果》

          至此,我們學習了字符型液晶模塊1602在S51增強型實驗板上的應用及編程,相信大家看到一定這里都有點累了吧!現在回過頭來再看看,其實液晶模塊編程也并沒有想像的那么高深、難學!現在,你就可以充分發揮你聰明才智,按自己的意愿及要求來編寫各種各樣的顯示應用程序了,如萬年歷時鐘、溫度計、頻率計等,可以充分發揮你的想象達到你所需要的各種顯示效果。最后,讓我們再欣賞一個基于S51增強型實驗板開發的1602液晶模塊高精度(4位小數)數字溫度計的圖片吧,見下圖5所示。


        圖5:1602液晶顯示DS18B20高精度(4位小數)測溫效果

        led顯示器相關文章:led顯示器原理



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 中牟县| 寻甸| 宿州市| 车致| 祁连县| 治县。| 新沂市| 喀喇沁旗| 望谟县| 平乡县| 河间市| 视频| 江源县| 裕民县| 江口县| 堆龙德庆县| 永嘉县| 阳曲县| 兴海县| 普安县| 留坝县| 宁国市| 西青区| 拉萨市| 滨海县| 左云县| 达州市| 南宫市| 米林县| 密山市| 泸西县| 偃师市| 杂多县| 达拉特旗| 曲阜市| 潞西市| 赞皇县| 平湖市| 钟山县| 江口县| 北海市|