• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于F2812的監測系統的設計

    基于F2812的監測系統的設計

    作者: 時間:2009-03-31 來源:網絡 收藏

    在下面將列出部分初始化程序來說明指令的使用,但對于CSRDIR和CSRW指令,有必要詳細解釋一下。CSRDIR指令是用來設置光標移動方向的,有上,下,左,右四個移動方向(4EH,4FH,4DH,4CH),CSRW指令則是用來設置光標地址的。要特別注意這里的光標是對應顯存里面的一個字節(byte),而不是對應字節里的一個位(bit),當設置光標向右移動時,每寫完一個字節數據到顯存,光標地址就會加一,此時對應顯存的字節地址加一;同理,設置光標向左移動時,對應顯存的字節地址減一。而當設置光標向下移動時,目標光標地址(字節地址)=當前光標地址(字節地址)+AP(液晶屏一行所對應顯存的字節數),注:一般AP設置為完整顯示液晶屏一行所用字節數加1,即40+1=41. 如下圖所示,如果當前光標在字節地址Add1處,則寫完一個字節數據后光標則移到了字節地址Add42處;同理,設置光標向上移動時,如果當前光標在Add81處,則寫完一個字節數據后光標則移到了Add40處

    5. 的軟件

    5.1初始化LCD程序:

    #define LCD_DAT (*((volatile unsigned int *)0x3800)) //定義數據寄存器

    #define LCD_COM (*((volatile unsigned int *)0x3801))//定義指令寄存器

    void Lcd_init(void)

    {

    LCD_COM = 0x40;//顯示窗口設置指令,之后帶8個參數

    LCD_DAT = 0x30;//單屏LCD模式,內部字元發生器有效

    LCD_DAT = 0x87;//顯示字符寬度8

    LCD_DAT = 0x07;//顯示字符高度8

    LCD_DAT = 0x27;//一行顯示40個字節

    LCD_DAT = 0x46;

    LCD_DAT = 0xEF;//總共顯示240行

    LCD_DAT = 0x28;//AP=40+1

    LCD_DAT = 0x00;

    …………… //其他初始化指令

    }

    5.2 顯示一個32x32字符程序:

    void Disp16x32Char(void)

    {

    LCD_COM = 0x4E;//設置光標地址自動移動方向 向上

    for(i=0;i4;i++)//從左到右連續寫入4列數據,每列32字節,共128字節

    { // x1取值范圍1--40,y1取值范圍1--240

    Set_Graphic_Csr(x1,y1); //根據光標所在位置計算出對應的字節地址

    p = CharTab[1]; //指針指向字模數組

    LCD_COM = 0x42; //寫顯示數據指令

    //自下而上寫入32個字節

    for(j=0;j32;j++)

    {

    LCD_DAT = p[j+32*i+128*k];//從字模數組中取出一字節

    }

    x1++;//準備寫右邊一列數據

    }

    }



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 卫辉市| 长沙市| 黄平县| 德化县| 宜章县| 西林县| 元氏县| 祥云县| 新乐市| 巴青县| 大兴区| 喀什市| 麦盖提县| 沅江市| 高邮市| 左权县| 吉首市| 闵行区| 兴仁县| 沭阳县| 永寿县| 耿马| 若尔盖县| 桐梓县| 西乡县| 普格县| 吐鲁番市| 左云县| 三台县| 霍城县| 芒康县| 株洲县| 天镇县| 荔浦县| 大港区| 海伦市| 视频| 邯郸市| 明水县| 尚志市| 平定县|