亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.#1

?? t6963c控制液晶程序,包含完整的源程序和文檔說明
?? #1
?? 第 1 頁 / 共 2 頁
字號:
主程序

/***********************************/
/* LCM(RT-240128TA)顯示程序      */
/* LCM 控制芯片 T6963C 帶32KRAM    */
/* MCU 型號: STC 89C52RD2          */
/* 時鐘頻率: 11.0592 MHz           */
/* 接口方式: 直接接口(總線方式)  */
/* 開發環境: Keil C51 V7.03        */
/* 開發日期: 2006.07.01            */
/* 程序編寫: liu1234               */
/***********************************/
#define t6963c_c 1
#include "t6963c3.h"
uint txthome,grhome;
/**********************************
//= 函數原型: uchar check_cmd_st()
//= 功    能: 查詢是否可讀寫命令和數據的狀態
//= 參    數:
//= 返 回 值: 非0不忙,否則忙
//= 函數性質:私有函數
**********************************/
uchar check_cmd_st(void) // 狀態位STA1,STA0 判斷(讀寫指令和讀寫數據)
{
    uchar i;
    for(i=100;i>0;i--)
    {
        if((LCMCP & 0x03) == 0x03)
        break;
    }
    return i; // 若返回零,說明錯誤
}

/**********************************
//= 函數原型: uchar check_ar_st
//= 功    能: 查詢是否可數據自動讀狀態
//= 參    數:
//= 返 回 值: 非0不忙,否則忙
//= 函數性質:私有函數
**********************************/
uchar check_ar_st(void) // 狀態位ST2 判斷(數據自動讀狀態)
{
    uchar i;
    for(i=100;i>0;i--)
    {
        if((LCMCP & 0x04) == 0x04)
        break;
    }
    return i; // 若返回零,說明錯誤
}

/**********************************
//= 函數原型: uchar check_aw_st
//= 功    能: 查詢是否可數據自動寫狀態
//= 參    數:
//= 返 回 值: 非0不忙,否則忙
//= 函數性質:私有函數
**********************************/
uchar check_aw_st(void) // 狀態位ST3 判斷(數據自動寫狀態)
{
    uchar i;
    for(i=100;i>0;i--)
    {
        if((LCMCP & 0x08) == 0x08)
        break;
    }
    return i; // 若返回零,說明錯誤
}

/**********************************
//= 函數原型: uchar check_scrPeek_st()
//= 功    能: 查詢是否可屏讀/屏拷貝狀態狀態
//= 參    數:
//= 返 回 值: 非0不忙,否則忙
//= 函數性質:私有函數
**********************************/
uchar check_scrPeek_st(void) // 狀態位ST6 判斷(屏讀/屏拷貝狀態)
{
    uchar i;
    for(i=100;i>0;i--)
    {
        if((LCMCP & 0x40) == 0x40)
        break;
    }
    return i; // 若返回零,說明錯誤
}

/**********************************
//= 函數原型: uchar wr_cmd_2(uchar uCmd,uint uPar)
//= 功    能: 給T6963C寫帶雙參數的指令
//= 參    數:
//= 返 回 值: 返回0 成功,否則忙
//= 函數性質:私有函數
**********************************/
uchar wr_cmd_2(uchar uCmd,uint uPar) // 寫雙參數的指令
{
    if(check_cmd_st() == 0)    return 1;
    LCMDP = (uchar)(uPar& 0xFF);//先寫低字節,再寫高字節
    if(check_cmd_st() == 0)    return 2;
    LCMDP = (uchar)(uPar>>8);
    if(check_cmd_st() == 0)    return 3;
    LCMCP = uCmd;
    return 0; // 返回0 成功
}

/**********************************
//= 函數原型: uchar wr_cmd_1(uchar uCmd,uchar uPar1)
//= 功    能: 給T6963C寫帶單參數的指令
//= 參    數:
//= 返 回 值: 返回0 成功,否則忙
//= 函數性質:私有函數
**********************************/
uchar wr_cmd_1(uchar uCmd,uchar uPar) // 寫單參數的指令
{
    if(check_cmd_st() == 0)    return 1;
    LCMDP = uPar;
    if(check_cmd_st() == 0)    return 2;
    LCMCP = uCmd;
    return 0; // 返回0 成功
}

/**********************************
//= 函數原型: uchar wr_cmd_0(uchar uCmd)
//= 功    能: 給T6963C寫無參數的指令
//= 參    數:
//= 返 回 值: 返回0 成功,否則忙
//= 函數性質:私有函數
**********************************/
uchar wr_cmd_0(uchar uCmd) // 寫無參數的指令
{
    if(check_cmd_st() == 0)    return 1;
    LCMCP = uCmd;
    return 0; // 返回0 成功
}

/**********************************
//= 函數原型: uchar wr_data(uchar uData)
//= 功    能: 給T6963C寫一次數據
//= 參    數:
//= 返 回 值: 返回0 成功,否則忙
//= 函數性質:私有函數
**********************************/
uchar wr_data(uchar uData) // 寫一次數據
{
    if(check_cmd_st() == 0)    return 1;
    LCMDP = uData;
    return 0; // 返回0 成功
}


/**********************************
//= 函數原型: uchar awr_data(uchar uData)
//= 功    能: 給T6963C寫一個地址增加自動連續數據
//= 參    數:
//= 返 回 值: 返回0 成功,否則忙
//= 函數性質:私有函數
**********************************/
uchar awr_data(uchar uData) // 自動寫數據
{
    if(check_aw_st() == 0)    return 1;
    LCMDP = uData;
    return 0; // 返回0 成功
}

/**********************************
//= 函數原型: uchar ard_data(uchar uData)
//= 功    能: 從T6963C讀一個地址增加自動連續數據
//= 參    數:
//= 返 回 值: 返回0 成功,否則忙
//= 函數性質:私有函數
**********************************/
uchar ard_data(void) // 自動讀數據
{
    if(check_ar_st() == 0)    return 1;
    return LCMDP;
}

/**********************************
//= 函數原型: void char_addr_Pointer_Set(uchar urow, uchar ucol)
//= 功    能: 根據字符的行列設置vram地址
//= 參    數:
//= 返 回 值:
//= 函數性質:私有函數
**********************************/
void char_addr_Pointer_Set(uchar urow, uchar ucol)
{
    uint iPos;
    iPos = urow * 30 + ucol + txthome;
    wr_cmd_2(LC_ADD_POS,iPos);
}

/**********************************
//= 函數原型: Clr_char_Scr(void)
//= 功    能: 清除當前文本屏幕
//= 參    數:
//= 返 回 值:
//= 函數性質:公有函數
**********************************/
void Clr_char_Scr(void)//文本屏可以在內存中保持很多屏
{
    uint i;
//    char_addr_Pointer_Set(0,0);//從0行0列開始
    char_addr_Pointer_Set(2,0);//從0行0列開始
    wr_cmd_0(LC_AUT_WR); // 自動寫
//    for(i=0;i<16*30;i++) //16行30列字符
    for(i=0;i<14*30;i++) //16行30列字符
    {
        awr_data(0x00); // 寫數據空白
    }
    wr_cmd_0(LC_AUT_OVR); // 自動寫結束
    char_addr_Pointer_Set(0,0); // 重置地址指針
}

/**********************************
//= 函數原型: Clr_lcdram(void)
//= 功    能: 清除所有的顯示內存
//= 參    數:
//= 返 回 值:
//= 函數性質:私有函數
**********************************/
void Clr_lcdram(void)
{
    uint i;
    wr_cmd_2(LC_ADD_POS,0x0000); // 設置地址指針0
    wr_cmd_0(LC_AUT_WR); // 自動寫
    for(i=0;i<=DISRAM_SIZE;i++)
    {
        awr_data(0x00); // 寫數據
    }
    wr_cmd_0(LC_AUT_OVR); // 自動寫結束
    wr_cmd_2(LC_ADD_POS,0x0000); // 重置地址指針
}


/**********************************
//= 函數原型: reset_lcm(void)
//= 功    能: 復位液晶模塊
//= 參    數:
//= 返 回 值:
//= 函數性質:私有函數
**********************************/
void reset_lcm(void)
{
    LCMRESET = 0;
    _nop_();
    _nop_();
    LCMRESET=0XFF;
}

/**********************************
//= 函數原型: void lcm_init(void)
//= 功    能: 初始化液晶模塊
//= 參    數:
//= 返 回 值:
//= 函數性質:公有函數
**********************************/
void lcm_init(void)
{
    reset_lcm();//復位

    wr_cmd_2(LC_TXT_HOME,TXTSTART); // 文本顯示區首地址
    wr_cmd_2(LC_TXT_AREA,30); // 文本顯示區寬度30列
    txthome = TXTSTART;

    wr_cmd_2(LC_GRH_HOME,GRSTART); // 圖形顯示區首地址
    wr_cmd_2(LC_GRH_AREA,30); // 圖形顯示區寬度30列
    grhome = GRSTART;

    wr_cmd_2(LC_CGR_OFFSET,CGRAMSTART >> 11);//CGRAM 偏移地址設置

    wr_cmd_0(LC_MOD_XOR|0x08); // 顯示方式設置,異或,字符全部用RAM區域生成
    wr_cmd_0(LC_DIS_SW |0x0c); // 顯示開關設置,圖文混和模式

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区成人6969| 国产精品另类一区| 成人免费看视频| 五月激情丁香一区二区三区| 欧美激情综合在线| 日韩三级精品电影久久久| 色综合激情久久| 国产激情偷乱视频一区二区三区| 午夜欧美大尺度福利影院在线看 | 欧美群妇大交群中文字幕| 另类小说图片综合网| 亚洲黄色av一区| 国产精品久久三区| 国产亚洲精品中文字幕| 日韩一区二区三区av| 欧美亚洲自拍偷拍| 一本高清dvd不卡在线观看| 国产精品一级片| 奇米888四色在线精品| 亚洲大尺度视频在线观看| 亚洲人快播电影网| 国产精品久久三区| 国产精品久久久久久亚洲伦| 国产亚洲人成网站| 久久亚洲免费视频| 久久综合久色欧美综合狠狠| 日韩亚洲电影在线| 日韩欧美国产一二三区| 欧美疯狂做受xxxx富婆| 欧美日韩免费电影| 欧美区在线观看| 欧美精品久久99久久在免费线 | 欧美一区二区三区色| 欧美日韩mp4| 欧美肥胖老妇做爰| 欧美高清视频不卡网| 欧美日精品一区视频| 在线观看日韩电影| 欧美中文字幕久久| 欧美日韩国产成人在线91| 91.com视频| 日韩亚洲电影在线| 久久综合九色综合97_久久久| 26uuu精品一区二区| 久久久一区二区| 久久久久国产精品厨房| 国产精品久99| 亚洲女同ⅹxx女同tv| 亚洲综合色婷婷| 日韩av成人高清| 久久99热国产| 成人av电影在线观看| 99国产精品久久久久| 在线中文字幕一区| 在线综合视频播放| 精品国产网站在线观看| 亚洲国产精品成人综合| 一区二区在线观看视频 | 轻轻草成人在线| 激情欧美一区二区三区在线观看| 精品午夜久久福利影院| 国产精品一级黄| 91免费在线视频观看| 欧美日韩亚洲综合在线| 精品日韩99亚洲| 国产精品久久久久久福利一牛影视 | 精品午夜一区二区三区在线观看| 国产一区二区在线影院| 99久久国产综合精品女不卡| 色婷婷av一区二区三区大白胸| 欧美日韩不卡一区| 国产欧美精品国产国产专区 | 91精品国产入口在线| 国产午夜三级一区二区三| 亚洲综合成人在线| 久久精品国产亚洲5555| 成人av电影观看| 9191成人精品久久| 国产精品丝袜一区| 奇米一区二区三区av| www.欧美日韩| 欧美一区二区三区免费观看视频 | 日韩成人午夜电影| 成人在线综合网站| 日韩欧美三级在线| 亚洲欧美日韩一区二区三区在线观看| 日韩激情视频网站| 91免费精品国自产拍在线不卡| 欧美美女一区二区在线观看| 国产欧美日韩另类视频免费观看| 亚洲成人免费在线| 9i看片成人免费高清| www久久久久| 日韩精品每日更新| 91视频在线观看| 久久久久久麻豆| 美女视频黄久久| 欧美日韩激情一区| 中文字幕色av一区二区三区| 精品一区二区三区免费视频| 欧美写真视频网站| 亚洲欧美一区二区久久| 国产不卡视频一区| 精品久久久久久无| 午夜激情综合网| 91国模大尺度私拍在线视频| 久久婷婷国产综合国色天香 | 国精产品一区一区三区mba桃花| 一本久久精品一区二区| 国产三级精品三级| 国内精品国产成人| 欧美mv和日韩mv的网站| 日本视频中文字幕一区二区三区| 在线观看免费成人| 亚洲摸摸操操av| www.av精品| 国产精品人妖ts系列视频| 国产精品自拍网站| 久久综合久久99| 老司机精品视频线观看86| 欧美福利视频导航| 日韩中文字幕av电影| 欧美日韩精品三区| 亚洲高清免费在线| 欧美蜜桃一区二区三区| 亚洲成a人片综合在线| 欧美性猛片aaaaaaa做受| 亚洲精品中文在线影院| 91高清视频免费看| 一区二区三区在线视频播放| 在线欧美日韩精品| 午夜精品久久一牛影视| 8x8x8国产精品| 久久精品国产99国产精品| 日韩精品在线一区| 韩国欧美国产1区| 久久久高清一区二区三区| 成人中文字幕合集| 亚洲欧美日韩在线播放| 欧美亚洲动漫精品| 日韩电影在线免费| 精品少妇一区二区三区| 国产乱码精品一品二品| 国产欧美日韩综合| 92国产精品观看| 亚洲午夜久久久久久久久电影院 | 中文字幕一区二区三区乱码在线| 91丝袜高跟美女视频| 一区二区三区在线观看欧美| 欧美日韩精品免费观看视频| 日本麻豆一区二区三区视频| 日韩欧美国产电影| 国产91对白在线观看九色| 亚洲伦理在线免费看| 欧美亚洲愉拍一区二区| 美女网站在线免费欧美精品| 久久久久久久久一| 色综合久久综合网97色综合| 婷婷激情综合网| 国产香蕉久久精品综合网| 色综合欧美在线视频区| 日韩中文字幕av电影| 久久久精品黄色| 欧美制服丝袜第一页| 韩国精品久久久| 亚洲免费毛片网站| 日韩精品专区在线影院重磅| 成人蜜臀av电影| 日一区二区三区| 国产女人18毛片水真多成人如厕| 色天天综合色天天久久| 裸体健美xxxx欧美裸体表演| 国产精品人妖ts系列视频| 欧美久久婷婷综合色| 国产精品18久久久久久vr| 伊人性伊人情综合网| 欧美电影免费观看高清完整版 | 91麻豆国产在线观看| 日本免费新一区视频 | 精品一区二区三区在线播放| 亚洲欧洲三级电影| 精品少妇一区二区三区在线视频| 一本大道久久a久久精二百| 蜜桃久久av一区| 一区二区三区在线免费观看| 久久夜色精品一区| 欧美日高清视频| av亚洲精华国产精华| 老司机午夜精品99久久| 亚洲一区二区三区四区的| 欧美激情综合在线| 51久久夜色精品国产麻豆| av不卡在线播放| 国产综合久久久久久鬼色| 性久久久久久久久| 成人欧美一区二区三区白人| 精品久久久久久亚洲综合网| 欧美绝品在线观看成人午夜影视| 99久久精品免费| 丁香六月久久综合狠狠色|