新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 16X2字符型液晶顯示模塊的驅動

        16X2字符型液晶顯示模塊的驅動

        作者: 時間:2012-07-04 來源:網絡 收藏

        按此在新窗口瀏覽圖片

        比如第二行第一個字符的地址是40H,那么是否直接寫入40H就可以將光標定位在第二行第一個字符的位置呢?這樣不行,因為寫入顯示地址時要求最高位D7恒定為高電平1所以實際寫入的數據應該是01000000B(40H)+10000000B(80H)=11000000B(C0H)

        以下是在液晶模塊的第二行第一個字符的位置顯示字母“A”的程序: ORG 0000H

        RS EQU P3.7;確定具體硬件的連接方式
        RW EQU P3.6 ;確定具體硬件的連接方式
        E EQU P3.5 ;確定具體硬件的連接方式

        MOV P1,#00000001B ;清屏并光標復位
        ACALL ENABLE;調用寫入命令子程序

        MOV P1,#00111000B ;設置顯示模式:8位2行5x7點陣
        ACALL ENABLE ;調用寫入命令子程序

        MOV P1,#00001111B ;顯示器開、光標開、光標允許閃爍
        ACALL ENABLE ;調用寫入命令子程序

        MOV P1,#00000110B ;文字不動,光標自動右移
        ACALL ENABLE ;調用寫入命令子程序

        MOV P1,#0C0H ;寫入顯示起始地址(第二行第一個位置)
        ACALL ENABLE ;調用寫入命令子程序

        MOV P1,#01000001B ;字母A的代碼

        SETB RS ;RS=1
        CLR RW ;RW=0 ;準備寫入數據
        CLR E ;E=0 ;執行顯示命令
        ACALL DELAY ;判斷液晶模塊是否忙?
        SETB E ;E=1 ;顯示完成,程序停車

        AJMP $

        ENABLE:
        CLR RS ;寫入控制命令的子程序
        CLR RW
        CLR E
        ACALL DELAY
        SETB E
        RET

        DELAY:
        MOV P1,#0FFH ;判斷液晶顯示器是否忙的子程序
        CLR RS
        SETB RW
        CLR E
        NOP
        SETB E
        JB P1.7,DELAY ;如果P1.7為高電平表示忙就循環等待
        RET

        END

        程序在開始時對液晶模塊功能進行了初始化設置,約定了顯示格式。注意顯示字符時光標是自動右移的,無需人工干預,每次輸入指令都先調用判斷液晶模塊是否忙的子程序DELAY,然后輸入顯示位置的地址0C0H,最后輸入要顯示的字符A的代碼41H。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 崇信县| 张家川| 久治县| 竹溪县| 富阳市| 舟曲县| 邵阳县| 方山县| 萨迦县| 普兰店市| 织金县| 武定县| 奉化市| 蚌埠市| 大理市| 平塘县| 石嘴山市| 太原市| 容城县| 柞水县| 盈江县| 米易县| 正安县| 廉江市| 唐河县| 宿松县| 甘孜| 龙山县| 哈尔滨市| 塘沽区| 甘谷县| 诸城市| 同江市| 安多县| 六安市| 斗六市| 和平县| 云龙县| 白沙| 海兴县| 霍山县|