新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于32位微處理器的液晶顯示系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

        基于32位微處理器的液晶顯示系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

        作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏


        SED1353初始化程序:

        INCLUDE SED1353.ASM
        INIT MOVE.B#$00,AUX00;設(shè)置為正常工作模式
        MOVE.B#$44,AUX01;設(shè)置關(guān)顯示,雙屏結(jié)構(gòu),不屏蔽XSCL,8 位LCD數(shù)據(jù),16 位顯存結(jié)構(gòu)
        MOVE.B#$27,AUX02;設(shè)置顯示域?qū)挾萀BCB8 :0=1×640/16-1=39(十進(jìn)制)
        MOVE.B#$04,AUX03;設(shè)置正常運(yùn)行方式,單色無(wú)灰度顯示,1 位/像素
        MOVE.B#$EF,AUX04;設(shè)置掃描行數(shù),TDLC7 :0=480/2-1=239(十進(jìn)制)
        MOVE.B#$00,AUX05;使用默認(rèn)值,每幀WF翻轉(zhuǎn)一次
        MOVE.B#$00,AUX06;設(shè)置上半屏顯示首址為$220000
        MOVE.B#$00,AUX07
        MOVE.B#$80,AUX08;設(shè)置下半屏顯示首址為$224B00(使用連續(xù)地址)
        MOVE.B#$25,AUX09
        MOVE.B#$00,AUX0C;使用默認(rèn)非顯示周期
        MOVE.B#$00,AUX0D;不使用虛擬屏
        ORI.B#$90,AUX01;開(kāi)顯示和LCDE 使能不需要設(shè)置的寄存器會(huì)被自動(dòng)旁路

        漢字顯示程序的設(shè)計(jì)

        在對(duì)系統(tǒng)進(jìn)行完正確的初始化后將ROM中的字模數(shù)據(jù)送到SED1353顯示存儲(chǔ)器,就可以使液晶顯示屏顯示出漢字。顯示漢字需要指定其坐標(biāo)位置,坐標(biāo)對(duì)應(yīng)該漢字模入口地址。在顯示漢字界面前,首先清屏。由于本文中顯示存儲(chǔ)器結(jié)構(gòu)為16位,所以X方向以字為單位(偶數(shù)地址對(duì)齊)。故規(guī)定顯示區(qū)左上角坐標(biāo)為(0,0) ,右下角坐標(biāo)為(39,479)。每個(gè)漢字都有唯一的代碼,所以在調(diào)用字模數(shù)據(jù)前需要對(duì)漢字的代碼進(jìn)行解碼,對(duì)坐標(biāo)進(jìn)行解析。

        字模入口地址=Y坐標(biāo)×80+X 坐標(biāo)×2;字模首地址=漢字代碼×32+字庫(kù)首地址。

        以在坐標(biāo)(30,148)處顯示代碼為24的16×16 漢字為例,程序如下:

        (1) 清屏子程序
        MOVE.L# $220000,A4 ;賦當(dāng)前顯示首址
        BRA CLRLCD ;調(diào)用清屏子程序
        CLRLCD CLR.LD3
        CLR.LD4
        MOVE.W#480,D3;需要清480 行
        LOOP1 MOVE.W#40,D4 ;每行40 個(gè)字
        LOOP2MOVE.W#$0000,(A4)+ ;清零
        SUB.W#1,D4
        BNE LOOP2
        SUB.W#1,D3
        BNE LOOP1
        RTS

        (2) 漢字顯示子程序
        MOVE.L#0,A1 ;清A1,A2
        MOVE.L#0,A2
        CLR.LD1 ;清D1~D4
        CLR.LD2
        CLR.LD3
        CLR.LD4
        MOVE.B #30,D2;賦坐標(biāo)值
        MOVE.W #148,D3
        BSR ALXY;調(diào)坐標(biāo)解析子程序
        MOVE.LD3,A1 ;坐標(biāo)的絕對(duì)地址送出
        MOVE.W#24,D4 ;賦代碼值
        BSR DECODE ;調(diào)解碼子程序
        MOVE.LD4,A2;字模首址送出
        LOOP MOVE.W(A2) +,(A1)
        ADD.L#$50,A1 ;字模數(shù)據(jù)寫入換行
        SUB.B #1,D1
        BNE LOOP
        END
        DECODE MULU #32,D4
        ADD.W#TAB16,D4
        MOVE.B #16,D1 ;循環(huán)16 次
        RTS
        ....
        ALXYMULU #$50,D3
        MULU #$2,D2
        ADD.WD2,D3
        ADD.L#$220000,D3
        RTS
        TAB16 …
        *****設(shè)“馬”漢字代碼為24 ******
        DC.W$0020,$3FF0,$0020,$0820;馬
        DC.W$0820,$0820,$0820,$0824
        DC.W$0FFE,$0004,$0024,$FFF4
        DC.W$0004,$0004,$0028,$0010
        ...

        結(jié)束語(yǔ)

        32位嵌入式處理器的軟件開(kāi)發(fā)以C語(yǔ)言為主,通常情況下用匯編語(yǔ)言編寫與硬件有關(guān)的程序,高級(jí)語(yǔ)言C編寫主程序?qū)崿F(xiàn)某些復(fù)雜算法,若再配上實(shí)時(shí)多任務(wù)任務(wù)操作系統(tǒng)更是如虎添翼。本文所述方法可移植性強(qiáng),稍作修改可應(yīng)用于摩托羅拉MC68K系列嵌入式系統(tǒng);選用的SED1353具有直接管理128K大容量顯示緩沖區(qū)的能力,編程簡(jiǎn)單、顯示速度快和執(zhí)行效率高;可支持多種單色/彩色液晶顯示屏,可以實(shí)現(xiàn)數(shù)據(jù)顯示、繪制圖表以及翻轉(zhuǎn)等功能,具有良好的顯示界面,提高了系統(tǒng)的可操作性,值得在智能化儀器儀表中推廣。

        上一頁(yè) 1 2 下一頁(yè)

        評(píng)論


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

        關(guān)閉
        主站蜘蛛池模板: 禹城市| 西安市| 闵行区| 资溪县| 大埔区| 龙海市| 明光市| 屏东县| 广昌县| 乐业县| 乐亭县| 嘉黎县| 湖北省| 太白县| 古浪县| 东乡县| 汝南县| 淮阳县| 广水市| 安庆市| 新泰市| 宁明县| 鄱阳县| 吴桥县| 平度市| 静乐县| 安图县| 吴忠市| 扎囊县| 冷水江市| 烟台市| 泽库县| 长沙县| 碌曲县| 扎囊县| 墨江| 桦川县| 离岛区| 闵行区| 龙州县| 正安县|