在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > AMPIRE12864驅(qū)動程序

            AMPIRE12864驅(qū)動程序

            作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
            ⑧ Y地址計數(shù)器
            Y地址計數(shù)器是一個6位循環(huán)加一計數(shù)器。它管理某一頁面上的64個單元。Y地址計數(shù)器可以由MPU以指令形式設(shè)置,它和頁地址指針結(jié)合唯一選通顯示存儲器的一個單元,Y地址計數(shù)器具有自動加一功能。在顯示存儲器讀/寫操作后Y地址計數(shù)將自動加一。當(dāng)計數(shù)器加至3FH后循環(huán)歸零再繼續(xù)加一。
            2) AMPIRE12864液晶顯示器控制接口信號說明
            AMPIRE12864液晶顯示器共有5個控制引腳,對應(yīng)5個控制信號。它們分別是寄存器選擇信號RS,讀寫控制信號R/W,使能信號E,左屏片選信號CS1,右屏片選信號CS2。下面通過幾個表格來詳細(xì)說明這些控制信號的作用。
            RS,R/W的配合選擇決定讀寫方式的4種模式,如表2-9。
            表2-9RS,R/W的配合選擇決定讀寫方式的4種模式

            本文引用地址:http://www.biyoush.com/article/201611/323960.htm
            RS信號
            R/W信號
            功能說明
            L
            L
            MPU寫指令到指令暫存器(IR)
            L
            H
            讀出忙標(biāo)志(BF)及地址記數(shù)器(AC)的狀態(tài)
            H
            L
            MPU寫入數(shù)據(jù)到數(shù)據(jù)暫存器(DR)
            H
            H
            MPU從數(shù)據(jù)暫存器(DR)中讀出數(shù)據(jù)

            使能信號E控制方式見表2-10。
            表2-10 使能信號E控制方式

            E狀態(tài)
            執(zhí)行動作
            功能
            高——>低
            I/O緩沖——> DDRAM
            配合R/W寫數(shù)據(jù)或指令
            DDRAM——>I/O緩沖
            配合RS進(jìn)行讀數(shù)據(jù)或指令
            低——>高
            無動作

            3)AMPIRE12864液晶顯示器指令說明
            AMPIRE12864液晶顯示器的寄存器選擇信號RS,讀寫控制信號R/W與8位三態(tài)數(shù)據(jù)口輸入輸出的控制代碼的不同組合就組成了不同的控制指令,這些指令控制液晶顯示器完成各種操作。下面就用一個表格對這些指令做出詳細(xì)的說明,如表2-11所示。
            表2-11AMPIRE12864液晶顯示器指令說明

            指令
            指令碼
            功能
            RS
            R/W
            D7
            D6
            D5
            D4
            D3
            D2
            D1
            D0
            清除
            顯示
            0
            0
            0
            0
            0
            0
            0
            0
            0
            1
            將DDRAM填滿"20H",并且設(shè)定DDRAM的地址計數(shù)器(AC)到"00H"
            地址
            歸位
            0
            0
            0
            0
            0
            0
            0
            0
            1
            X
            設(shè)定DDRAM的地址計數(shù)器(AC)到"00H",并且將游標(biāo)移到開頭原點位置;這個指令不改變DDRAM 的內(nèi)容
            顯示狀態(tài)開/關(guān)
            0
            0
            0
            0
            0
            0
            1
            D
            C
            B
            D=1: 整體顯示 ON
            C=1: 游標(biāo)ON
            B=1:游標(biāo)位置反白允許
            進(jìn)入點
            設(shè)定
            0
            0
            0
            0
            0
            0
            0
            1
            I/D
            S
            指定在數(shù)據(jù)的讀取與寫入時,設(shè)定游標(biāo)的移動方向及指定顯示的移位
            游標(biāo)或顯示移位控制
            0
            0
            0
            0
            0
            1
            S/C
            R/L
            X
            X
            設(shè)定游標(biāo)的移動與顯示的移位控制位;這個指令不改變DDRAM 的內(nèi)容
            功能
            設(shè)定
            0
            0
            0
            0
            1
            DL
            X
            RE
            X
            X
            DL=0/1:4/8位數(shù)據(jù)
            RE=1: 擴(kuò)充指令操作
            RE=0: 基本指令操作
            設(shè)定DDRAM列地址
            0
            0
            1
            0
            AC5
            AC4
            AC3
            AC2
            AC1
            AC0
            設(shè)定DDRAM 列地址(Y地址)
            第一行:80H-87H
            第二行:90H-97H
            設(shè)定DDRAM行地址
            0
            0
            0
            1
            1
            1
            1
            P2
            P1
            P0
            設(shè)定DDRAM頁面地址(X地址)
            讀取忙標(biāo)志和地址
            0
            1
            BF
            AC6
            AC5
            AC4
            AC3
            AC2
            AC1
            AC0
            讀取忙標(biāo)志(BF)可以確認(rèn)內(nèi)部動作是否完成,同時可以讀出地址計數(shù)器(AC)的值
            寫數(shù)據(jù)到RAM
            1
            0
            數(shù)據(jù)
            將數(shù)據(jù)D7——D0寫入到內(nèi)部的RAM
            讀出RAM值
            1
            1
            數(shù)據(jù)
            從內(nèi)部RAM讀取數(shù)據(jù)D7——D0

            二、驅(qū)動程序源碼分析
            接口定義:ucharxdata DB _at_ 0x3fff;//定義地址為3fffh的擴(kuò)展口為AMPIRE12864的三態(tài)數(shù)據(jù)輸入口,當(dāng)然可根據(jù)自己具體情況定義;
            uchar xdata CS _at_0x5fff;//定義地址5fffh的擴(kuò)展口為AMPIRE12864的左右屏選擇控制信號輸入口;
            uchar xdata RSRWE _at_0x7fff;//定義地址為7fffh的擴(kuò)展口為AMPIRE12864的寄存器選擇信號,讀/寫操作選擇信號和使能信號的輸入口。
            1)檢測忙信號標(biāo)志BF
            BF標(biāo)志提供內(nèi)部工作情況。BF=1表示模塊在進(jìn)行內(nèi)部操作,此時模塊不接受外部指令和數(shù)據(jù)。BF=0時模塊為準(zhǔn)備狀態(tài),隨時可接受外部指令和數(shù)據(jù)。利用表2-11中的“讀取忙標(biāo)志和地址”指令,可以將BF讀到DB7總線,從而檢驗?zāi)K之工作狀態(tài)。檢測忙信號標(biāo)志BF驅(qū)動函數(shù)代碼如下:
            void check_busy()
            {
            uchar a;
            RSRWE=1;//R/W=1,RS=0,E=0讀出忙標(biāo)志(BF)準(zhǔn)備
            while(1)
            {
            RSRWE=5; //R/W=1,RS=0,E=1讀出忙標(biāo)志(BF)就緒
            if(!(DB&0x80))//讀取忙信號
            break;//不忙跳出
            RSRWE=1;
            a++;
            if(a>10)//防止死循環(huán)
            break;
            }
            RSRWE=1; //R/W=1,RS=0,E=0讀出忙標(biāo)志(BF)準(zhǔn)備
            }
            2)寫控制命令
            在AMPIRE12864的初始化,DDRAM列地址的設(shè)定和行地址的設(shè)定都是由寫控制命令來完成的。當(dāng)R/W=0,RS=0時在使能信號的配合下就可以把控制命令寫入到指令暫存器(IR)。寫時序圖如圖3-5示。

            圖3-5 AMPIRE12864寫時序圖
            寫控制命令驅(qū)動函數(shù)代碼如下:
            void write_cm(uchar command)
            {
            check_busy();//檢測忙信號
            RSRWE=0; //R/W=0,RS=0,E=0寫控制命令準(zhǔn)備
            DB=command;//送出控制命令
            RSRWE=4; //R/W=0,RS=0,E=1寫控制命令
            _nop_();
            _nop_();
            RSRWE=0;
            }
            3)寫數(shù)據(jù)
            當(dāng)寄存器控選擇控制信號RS=0寫指令寄存器(IR)即為寫控制命令,RS=1時寫數(shù)據(jù)寄存器即為寫數(shù)據(jù)。

            關(guān)鍵詞: AMPIRE12864驅(qū)動程

            評論


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

            關(guān)閉