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

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

?? lcd_12864.h

?? 51單片機控制DAC(TLV5614)的數據輸出
?? H
?? 第 1 頁 / 共 2 頁
字號:
#include "hazicode.h"
#include"englishcode.h"
#include<absacc.h>

#define STX 0x02
#define ETX 0x03
#define EOT 0x04
#define ENQ 0x05
#define BS 0x08
#define CR 0x0D
#define LF 0x0A
#define DLE 0x10
#define ETB 0x17
#define SPACE 0x20
#define COMMA 0x2C

#define TRUE 1
#define FALSE 0

#define HIGH 1
#define LOW 0
 
#define LCMDW XBYTE[0x8000] //數據口
#define LCMCW XBYTE[0x8800] //命令口



// T6963C 命令定義
#define LC_CUR_POS 0x21 // 光標位置設置
#define LC_CGR_POS 0x22 // CGRAM 偏置地址設置
#define LC_ADD_POS 0x24 // 地址指針位置
#define LC_TXT_STP 0x40 // 文本區首址
#define LC_TXT_WID 0x41 // 文本區寬度
#define LC_GRH_STP 0x42 // 圖形區首址
#define LC_GRH_WID 0x43 // 圖形區寬度
#define LC_MOD_OR 0x80 // 顯示方式邏輯或
#define LC_MOD_XOR 0x81 // 顯示方式邏輯異或
#define LC_MOD_AND 0x82 // 顯示方式邏輯與
#define LC_MOD_TCH 0x83 // 顯示方式文本特征
#define LC_DIS_SW 0x90 // 顯示開關D0=1/0:光標閃爍啟用/禁用
// D1=1/0:光標顯示啟用/禁用
// D2=1/0:文本顯示啟用/禁用
// D3=1/0:圖形顯示啟用/禁用
#define LC_CUR_SHP 0xA0 // 光標形狀選擇0xA0-0xA7表示光標占的行數
#define LC_AUT_WR 0xB0 // 自動寫設置
#define LC_AUT_RD 0xB1 // 自動讀設置
#define LC_AUT_OVR 0xB2 // 自動讀/寫結束
#define LC_INC_WR 0xC0 // 數據一次寫地址加1
#define LC_INC_RD 0xC1 // 數據一次讀地址加1
#define LC_DEC_WR 0xC2 // 數據一次寫地址減1
#define LC_DEC_RD 0xC3 // 數據一次讀地址減1
#define LC_NOC_WR 0xC4 // 數據一次寫地址不變
#define LC_NOC_RD 0xC5 // 數據一次讀地址不變
#define LC_SCN_RD 0xE0 // 屏讀
#define LC_SCN_CP 0xE8 // 屏拷貝
#define LC_BIT_OP 0xF0 // 位操作



#define ulong unsigned long
#define uint  unsigned int 
#define uchar unsigned char

code uchar const uPowArr[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};


// ASCII 字模寬度及高度定義
#define ASC_CHR_WIDTH  8
#define ASC_CHR_HEIGHT 16
// ASCII 字模顯示為8*16	


#define CHAR_HEIGHT 16 //根據漢字大小設定CHAR_HIGHT
#define CHAR_LONG   16  //根據漢字大小設定CHAR_LONG

#define LCD_XMAX 128      //橫向最多點數(選取FG12864液晶,橫向最多128個點)
#define LCD_YMAX 64       //縱向最多點數(選取FG12864液晶,縱向最多64個點)  
                            //以上兩個宏定義當液晶不同時則宏定義不同						
 
unsigned char  turnf[8] = {7,6,5,4,3,2,1,0};



uchar gCurRow,gCurCol; // 當前行列存儲行高16 點,列寬8點
/************************************************/
/* 取當前行數據*/   // 當前行列存儲行高16 點列寬8點
/************************************************/
uchar fnGetRow(void)
{
    return(gCurRow);
}
/************************************************/
/* 取當前列數據*/
/************************************************/
unsigned char fnGetCol(void)
{
    return(gCurCol);
}
 

/************************************************/
/* 狀態位STA1,STA0判斷讀寫指令和讀寫數據*/
/* 在讀寫數據或者寫入命令前必須保證均為1 */
/************************************************/
unsigned char fnSTA01(void)
{
    uchar i;
    for(i=10;i>0;i--)
    {
        if((LCMCW & 0x03) == 0x03) // 讀取狀態
        {
            break;
        }
    }
    return(i); // 若返回零說明錯誤
}
/********************************************/
/* 檢查STA2,如果STA2=1 為自動讀狀態*/
/*****************************************/
uchar fnSTA2(void)
{
    unsigned char i;
    for(i=10;i>0;i--)
    {
        if((LCMCW & 0x04) == 0x04)
        {
            break;
        }
    }
    return(i); // 若返回零說明錯誤
}
/***********************************************/
/* 狀態位STA3 判斷STA3 = 1 數據自動寫狀態*/
/***********************************************/
unsigned char fnSTA3(void)
{
    unsigned char i;
    for(i=10;i>0;i--)
    {
        if((LCMCW & 0x08) == 0x08)
        {
            break;
        }
    }
    return(i); // 若返回零說明錯誤
}
/************************************************/
/* 狀態位STA6 判斷STA6 =1 屏讀/屏拷貝狀態*/
/************************************************/
uchar fnSTA6(void)
{
    unsigned char i;
    for(i=10;i>0;i--)
    {
        if((LCMCW & 0x40) == 0x40)
        {
            break;
        }
    }
    return(i); // 若返回零說明錯誤
}
/************************/
/* 寫雙參數的指令*/
/************************/
unsigned char fnPR1(unsigned char uCmd,unsigned char uPar1,unsigned char uPar2)
{
    if(fnSTA01() == 0)
    {
        return 1;
    }
    LCMDW=uPar1;
    if(fnSTA01() == 0)
    {
        return 2;
    }
    LCMDW=uPar2;
    if(fnSTA01() == 0)
    {
        return 3;
    }
    LCMCW=uCmd;
    return(0); // 返回0 成功
}
/************************/
/* 寫單參數的指令*/
/************************/
unsigned char fnPR11(unsigned char uCmd,unsigned char uPar1)
{
    if(fnSTA01() == 0)
    {
        return 1;
    }
    LCMDW=uPar1;
    if(fnSTA01() == 0)
    {
        return 2;
    }
    LCMCW=uCmd;
    return(0); // 返回0 成功 
}
/************************/
/* 寫無參數的指令*/
/************************/
unsigned char fnPR12(unsigned char uCmd)
{   
    if(fnSTA01() == 0)
    {
        return 1;
    }
   LCMCW=uCmd;
    return(0); // 返回0 成功
}
/************************/
/* 寫數據*/
/************************/
unsigned char fnPR13(unsigned char uData)
{
    if(fnSTA3() == 0)
    {
        return 1;
    }
    LCMDW=uData;
    return(0); // 返回0 成功
}
/************************/
/* 讀數據*/
/************************/
unsigned char fnPR2(void)
{
   // unsigned char temp;
    if(fnSTA01() == 0)
    {
         return 1; // 獲取狀態如果狀態錯
    }
    return(LCMDW); // 返回數據
}



/************************/
/* 設置當前地址*/   //RAM里
/************************/
void fnSetPos(unsigned char urow, unsigned char ucol)
{
    unsigned int iPos;
    iPos = (unsigned int)urow * 30 + ucol;   //?~~~~~~~~~~~~~~~~~~
    fnPR1(LC_ADD_POS,iPos & 0xFF,iPos / 256);
    gCurRow = urow;
    gCurCol = ucol;
}
/**********************/
/* 設置當前顯示行列*/
/**********************/
void cursor(unsigned char uRow, unsigned char uCol)
{
    //fnSetPos(uRow * 16, uCol);
      fnSetPos(uRow * ASC_CHR_HEIGHT, uCol);
}
/*********************/
/* 清屏*/
/*********************/
void LCDClr(void)
{
    unsigned int i;
    fnPR1(LC_ADD_POS,0x00,0x00); // 置地址指針為從零開始
    fnPR12(LC_AUT_WR); // 自動寫
    //for(i=0;i<240*64/8;i++) // 清一屏
      for(i=0;i<LCD_XMAX*LCD_YMAX*2/ASC_CHR_WIDTH;i++) // 清一屏
    {
        fnSTA3();
       //fnPR13(0x55);//測試時用
        fnPR13(0x0); // 寫數據實際使用時請將0x55 改成0x0
    }
    fnPR12(LC_AUT_OVR); // 自動寫結束
    fnPR1(LC_ADD_POS,0x00,0x00); // 重置地址指針
    gCurRow = 0; // 置地址指針存儲變量
    gCurCol = 0;
}
/************************/
/* LCM 初始化*/
/************************/
char LCDInit(void)
{
    if(fnPR1(LC_TXT_STP,0x00,0x00) != 0) // 文本顯示區首地址
    {
        return (0xff);
    }
    fnPR1(LC_TXT_WID,0x1E,0x00); // 文本顯示區寬度
	//fnPR1(LC_TXT_WID,0x10,0x00); // 文本顯示區寬度
    fnPR1(LC_GRH_STP,0x00,0x00); // 圖形顯示區首地址
    fnPR1(LC_GRH_WID,0x1E,0x00); // 圖形顯示區寬度
    fnPR12(LC_CUR_SHP | 0x01); // 光標形狀
    fnPR12(LC_MOD_OR); // 顯示方式設置
    fnPR12(LC_DIS_SW | 0x08); // 顯示開關設置
    return(0);
}

/*======================*/
/* 延時*/
/*======================*/
void shortdelay(unsigned int tt)
{
    unsigned char i;
    while (tt)
    {
        i=100;
        while (i)
        {
            i--;
        }
    tt--;
    }
}
/*********************************
     單個字符的顯示
**********************************/
void Disponechar(unsigned char x,unsigned char y, char character)
{
    unsigned char c1,cData;
    unsigned char j,uRow,uCol;
    
	c1=character;
    uRow = y;
    uCol = x;
    fnSetPos(uRow*ASC_CHR_HEIGHT,uCol);      //起點定位

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂av在线一区| 91精品国产品国语在线不卡| 欧美视频三区在线播放| 久久嫩草精品久久久精品一| 香蕉成人伊视频在线观看| 成人精品小蝌蚪| 亚洲精品一区二区三区影院 | 免播放器亚洲一区| 99国产精品久久久久| 久久精品亚洲精品国产欧美| 日日摸夜夜添夜夜添亚洲女人| 成人免费看片app下载| 精品sm在线观看| 日韩精品国产精品| 精品视频色一区| 一区二区三区91| 91久久精品一区二区| 亚洲啪啪综合av一区二区三区| 高清国产午夜精品久久久久久| 精品久久久久久久久久久久包黑料| 亚洲444eee在线观看| 欧美亚洲一区二区在线| 亚洲精品国产a| 色先锋资源久久综合| 亚洲欧美日韩国产手机在线| 91丨porny丨蝌蚪视频| 亚洲人成精品久久久久久| 国v精品久久久网| 国产色产综合产在线视频| 国产一区二区三区免费在线观看| 日韩写真欧美这视频| 久久99久久99| 国产亚洲精品超碰| av中文字幕不卡| 18欧美亚洲精品| 91网上在线视频| 亚洲国产精品一区二区www在线| 欧美亚洲国产一卡| 偷窥少妇高潮呻吟av久久免费| 欧美少妇性性性| 天堂久久久久va久久久久| 日韩欧美国产成人一区二区| 国产麻豆视频精品| 国产精品久久久久久久久免费丝袜| 97成人超碰视| 亚洲妇女屁股眼交7| 日韩欧美中文字幕一区| 国产精品资源在线| 亚洲欧美色图小说| 555夜色666亚洲国产免| 国产一级精品在线| 自拍视频在线观看一区二区| 欧美日韩成人激情| 韩国v欧美v亚洲v日本v| 亚洲日韩欧美一区二区在线| 欧美精品乱人伦久久久久久| 精品一区二区三区免费毛片爱| 欧美国产激情一区二区三区蜜月| 色老汉av一区二区三区| 美女脱光内衣内裤视频久久影院| 久久婷婷综合激情| 色综合视频一区二区三区高清| 五月婷婷激情综合网| 久久久久9999亚洲精品| 色94色欧美sute亚洲线路一久| 秋霞电影一区二区| 亚洲欧美另类小说视频| 欧美成人性战久久| 色猫猫国产区一区二在线视频| 久99久精品视频免费观看| 亚洲蜜桃精久久久久久久| 精品捆绑美女sm三区| 色国产精品一区在线观看| 国产一区二区不卡| 婷婷一区二区三区| 中文字幕一区二区三区蜜月| 欧美日韩黄色影视| 99精品视频中文字幕| 卡一卡二国产精品| 一级精品视频在线观看宜春院| 久久综合久久综合亚洲| 欧美日韩精品综合在线| 99久久久久免费精品国产| 久久精工是国产品牌吗| 亚洲亚洲人成综合网络| 中文字幕中文字幕中文字幕亚洲无线| 91精品国产一区二区| 色综合欧美在线视频区| 成人亚洲一区二区一| 韩国成人福利片在线播放| 日韩影院在线观看| 亚洲一区二区精品视频| ...xxx性欧美| 亚洲国产精品成人综合色在线婷婷| 欧美日韩的一区二区| 91搞黄在线观看| www.日韩精品| 国产成人8x视频一区二区| 久久99这里只有精品| 日韩二区三区四区| 天天做天天摸天天爽国产一区 | 99在线热播精品免费| 国产乱人伦精品一区二区在线观看 | 成人黄页毛片网站| 国产精品2024| 捆绑调教美女网站视频一区| 午夜久久福利影院| 亚洲成av人综合在线观看| 亚洲国产精品尤物yw在线观看| 一区二区三区四区高清精品免费观看 | 精品国产乱码久久久久久老虎| 欧美性videosxxxxx| 欧美色中文字幕| 欧美性生活久久| 欧美视频一区二| 久久综合99re88久久爱| xf在线a精品一区二区视频网站| 日韩精品一区国产麻豆| 欧美成人猛片aaaaaaa| 久久蜜臀精品av| 国产精品理伦片| 亚洲资源在线观看| 日日嗨av一区二区三区四区| 日韩国产在线观看一区| 狠狠色丁香久久婷婷综| 国产精品538一区二区在线| 成人av资源在线观看| 在线观看日韩高清av| 欧美久久一二区| 欧美一卡在线观看| 国产欧美综合色| 亚洲日本在线看| 日韩精品福利网| 国产精品69毛片高清亚洲| 91视频一区二区| 欧美二区乱c少妇| 欧美激情在线观看视频免费| 亚洲欧美国产毛片在线| 日本在线观看不卡视频| 国产一区日韩二区欧美三区| 成人在线综合网| 欧美日韩一级视频| 国产香蕉久久精品综合网| 亚洲精品久久嫩草网站秘色| 麻豆91在线观看| 91免费国产视频网站| 欧美不卡在线视频| 亚洲天堂福利av| 蜜桃视频在线观看一区二区| 99精品久久久久久| 欧美一级久久久| 中文av字幕一区| 日韩成人免费电影| 91丨九色丨蝌蚪丨老版| 久久综合视频网| 一区二区三区精品在线| 国产精品1区2区3区在线观看| 色哟哟一区二区在线观看| 久久综合色鬼综合色| 亚洲高清在线视频| 99久免费精品视频在线观看| 欧美猛男男办公室激情| 亚洲图片你懂的| 国产自产高清不卡| 91麻豆精品91久久久久同性| 亚洲情趣在线观看| 成人中文字幕在线| 欧美精品一区二区在线观看| 亚洲一区在线观看网站| 成人黄色av电影| 精品福利二区三区| 日韩激情av在线| 欧美在线高清视频| 中文字幕一区免费在线观看| 国产美女在线观看一区| 日韩欧美国产三级电影视频| 午夜激情一区二区| 日本韩国一区二区三区| 17c精品麻豆一区二区免费| 国产乱一区二区| 久久久久久久久久电影| 激情小说欧美图片| 欧美一级生活片| 天堂久久一区二区三区| 欧美在线观看视频在线| 一区二区三区不卡在线观看| 91香蕉视频黄| 国产精品麻豆99久久久久久| 国产福利91精品一区| 久久精品欧美一区二区三区不卡 | 一区二区在线观看视频在线观看| 国产成人免费网站| 久久九九全国免费| 国产精品99久久久| 国产日韩视频一区二区三区| 国产精品一区2区| 欧美国产欧美亚州国产日韩mv天天看完整| 国产一区二区三区精品视频| 久久久亚洲午夜电影| 国产传媒日韩欧美成人|