新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > t6963c的c51程序

        t6963c的c51程序

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

        /***********************************/
        /* LCM(RT-240128TA)顯示程序 */
        /* LCM 控制芯片 T6963C 帶32KRAM */
        /* MCU 型號: STC 89C52RD2 */
        /* 時鐘頻率: 11.0592 MHz */
        /* 接口方式: 直接接口(總線方式) */
        /* 開發環境: Keil C51 V7.03 */
        /* 開發日期: 2006.07.01 */
        /* 程序編寫: liu1234 */
        /***********************************/
        #define _c 1
        #i nclude "3.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寫一個地址增加自動連續數據
        //= 參&n


        上一頁 1 2 3 4 5 下一頁

        關鍵詞: t6963c c51程序

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 蓬安县| 正宁县| 赤壁市| 兴海县| 石阡县| 方城县| 鄂托克旗| 新源县| 河津市| 广丰县| 八宿县| 长白| 康保县| 浦城县| 延津县| 新郑市| 古蔺县| 宝兴县| 远安县| 沈丘县| 五莲县| 吉安县| 玉环县| 连山| 独山县| 郸城县| 阳曲县| 周至县| 上饶县| 大连市| 丘北县| 新巴尔虎左旗| 扶沟县| 贺兰县| 阜宁县| 鹤山市| 旬阳县| 阜康市| 通道| 三河市| 财经|