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

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

?? sed1520_zongxian.c

?? 單片機接口技術實用子程序 配套程序 學單片機的可以看看。精彩在里面。
?? C
字號:
//-----------------------函數聲明--------------------------------------------------------
#include"stdio.h"
#include"absacc.h"
#include"reg51.h"
//-----------------------定義地址--------------------------------------------------------
#define CWADD1 XBYTE[0x8000]  // 寫指令代碼地址(E1)
#define CRADD1 XBYTE[0x8200]  //讀狀態字地址(E1)
#define DWADD1 XBYTE[0x8100]  //寫顯示數據地址(E1)
#define DRADD1 XBYTE[0x8300]  // 讀顯示數據地址(E1)
#define CWADD2 XBYTE[0x4000]  //寫指令代碼地址(E2)
#define CRADD2 XBYTE[0x4200]  //讀狀態字地址(E2)
#define DWADD2 XBYTE[0x4100]  // 寫顯示數據地址(E2)
#define DRADD2 XBYTE[0x4300]  //讀顯示數據地址(E2)
//-----------------------定義各命令字--------------------------------------------------------
#define LCD_DISPLAYON 0xaf
#define LCD_DISPLAYOFF 0xae
#define LCD_DRIVERON 0xa5
#define LCD_DRIVEROFF 0xa4
#define LCD_DUTY16 0xa8
#define LCD_DUTY32 0xa9
#define LCD_END 0xee
#define LCD_RESET 0xe2
#define LCD_RWMODE 0xe0
#define LCD_STARTLINE0 0xc0
#define LCD_PAGE0 0xb8
#define LCD_COLUMNADDR0 0x00
//-----------------------定義各命令操作--------------------------------------------------------
#define LCD_ON() LCD_Command(LCD_DISPLAYON)
#define LCD_OFF() LCD_Command(LCD_DISPLAYOFF)
#define LCD_StaticON() LCD_Command(LCD_DRIVERON)
#define LCD_StaticOFF() LCD_Command(LCD_DRIVEROFF)
#define LCD_Select16() LCD_Command(LCD_DUTY16)
#define LCD_Select32() LCD_Command(LCD_DUTY32)
#define LCD_StartRW() LCD_Command(LCD_RWMODE)
#define LCD_EndRW() LCD_Command(LCD_END)
#define LCD_Reset() LCD_Command(LCD_RESET)
#define LCD_SetStartLine(i) LCD_Command(LCD_STARTLINE0+i)
#define LCD_SetPage(i) LCD_Command(LCD_PAGE0+i)
#define LCD_SetColumn(i) LCD_Command(LCD_COLUMNADDR0+i)
/*ASCII字體,大小6X8,上到下D0~D7,左到右*/
unsigned char code ASCII[][6]={
                               
{0x00,0x7e,0x21,0x21,0x21,0x7e},/*A*/
                               
{0x00,0x7f,0x49,0x49,0x49,0x36},/*B*/
                               
{0x00,0x3e,0x41,0x41,0x41,0x22},/*C*/
                               
{0x00,0x7f,0x41,0x41,0x22,0x1c},/*D*/
                               
{0x00,0x7f,0x49,0x49,0x49,0x49},/*E*/
                               
{0x00,0x7f,0x09,0x09,0x09,0x01},/*F*/
                               
{0x00,0x3e,0x41,0x49,0x49,0x7a},/*G*/
                               
{0x00,0x7f,0x08,0x08,0x08,0x7f},/*H*/
                               
{0x00,0x41,0x7f,0x41,0x00,0x00},/*I*/
                               
{0x00,0x20,0x40,0x41,0x3f,0x01},/*J*/
                               
{0x00,0x7f,0x08,0x14,0x22,0x41},/*K*/
                               
{0x00,0x7f,0x40,0x40,0x40,0x40},/*L*/
                               
{0x00,0x7f,0x02,0x0c,0x02,0x7f},/*M*/
                               
{0x00,0x7f,0x04,0x08,0x10,0x7f},/*N*/
                               
{0x00,0x3e,0x41,0x41,0x41,0x3e},/*O*/
                               
{0x00,0x7f,0x09,0x09,0x09,0x06},/*P*/
                               
{0x00,0x3e,0x41,0x41,0x41,0x3e},/*Q*/
                               
{0x00,0x7f,0x09,0x19,0x29,0x46},/*R*/
                               
{0x00,0x46,0x49,0x49,0x49,0x31},/*S*/
                               
{0x00,0x01,0x01,0x7f,0x01,0x01},/*T*/
                               
{0x00,0x3f,0x40,0x40,0x40,0x3f},/*U*/
                               
{0x00,0x1f,0x20,0x40,0x20,0x1f},/*V*/
                               
{0x00,0x3f,0x40,0x38,0x40,0x3f},/*W*/
                               
{0x00,0x63,0x14,0x08,0x14,0x63},/*X*/
                               
{0x00,0x07,0x08,0x70,0x08,0x07},/*Y*/
                               
{0x00,0x61,0x51,0x49,0x45,0x43},/*Z*/
                              };
//--------------------------------------------------------------------------------------------------
// 函數名稱: LCD_Command1
// 入口參數:  nCommand 命令字
// 函數功能: 寫指令代碼子程序(SED1520-1)
//--------------------------------------------------------------------------------------------------
void LCD_Command1(unsigned char nCommand)
{
    unsigned char state_temp;
	while(state_temp&0x80==1) //判"忙"標志為"0"否, 否再讀
	state_temp=CRADD1;       //設置讀狀態字地址
    CRADD1=nCommand;         //寫指令代碼
    }
//--------------------------------------------------------------------------------------------------
// 函數名稱:  WRITE_showDATA1
// 入口參數:  show_DATA 寫入SED1520-1內部顯示RAM的數據
// 函數功能: 寫顯示數據子程序(SED1520-1)
//--------------------------------------------------------------------------------------------------
void WRITE_showDATA1(unsigned char show_DATA)
{
    unsigned char state_temp;
	while(state_temp&0x80==1) //判"忙"標志為"0"否, 否再讀
	state_temp=CRADD1;       //設置讀狀態字地址
    DRADD1=show_DATA;         //寫指令代碼
    }
//--------------------------------------------------------------------------------------------------
// 函數名稱:  READ_showDATA1
// 入口參數:  show_DATA 讀出SED1520-1內部顯示RAM的數據
// 函數功能: 讀顯示數據子程序(SED1520-1)
//--------------------------------------------------------------------------------------------------
unsigned char READ_showDATA1()
  {   
    unsigned char show_DATA;
    unsigned char state_temp;
	while(state_temp&0x80==1) //判"忙"標志為"0"否, 否再讀
	state_temp=CRADD1;        //設置讀狀態字地址
    show_DATA=DRADD1;         // 讀數據
	return(show_DATA);        //返回顯示區數據 
    }
//--------------------------------------------------------------------------------------------------
// 函數名稱: LCD_Command2
// 入口參數:  nCommand 命令字
// 函數功能: 寫指令代碼子程序(SED1520-2)
//--------------------------------------------------------------------------------------------------
void LCD_Command2(unsigned char nCommand)
{
    unsigned char state_temp;
	while(state_temp&0x80==1) //判"忙"標志為"0"否, 否再讀
	state_temp=CRADD2;       //設置讀狀態字地址
    CRADD2=nCommand;         //寫指令代碼
    }
//--------------------------------------------------------------------------------------------------
// 函數名稱:  WRITE_showDATA2
// 入口參數:  show_DATA 寫入SED1520-2內部顯示RAM的數據
// 函數功能: 寫顯示數據子程序(SED1520-2)
//--------------------------------------------------------------------------------------------------
void WRITE_showDATA2(unsigned char show_DATA)
{
    unsigned char state_temp;
	while(state_temp&0x80==1) //判"忙"標志為"0"否, 否再讀
	state_temp=CRADD2;       //設置讀狀態字地址
    DRADD2=show_DATA;         //寫指令代碼
    }
//--------------------------------------------------------------------------------------------------
// 函數名稱:  READ_showDATA2
// 入口參數:  show_DATA 讀出SED1520-2內部顯示RAM的數據
// 函數功能: 讀顯示數據子程序(SED1520-2)
//--------------------------------------------------------------------------------------------------
unsigned char READ_showDATA2()
  {   
    unsigned char show_DATA;
    unsigned char state_temp;
	while(state_temp&0x80==1) //判"忙"標志為"0"否, 否再讀
	state_temp=CRADD2;        //設置讀狀態字地址
    show_DATA=DRADD2;         // 讀數據
	return(show_DATA);        //返回顯示區數據 
    }//--------------------------------------------------------------------------------------------------
// 函數名稱: LCD_Command
// 入口參數:  nCommand 命令字
// 函數功能: 把命令字寫入兩個SED1520
//--------------------------------------------------------------------------------------------------
void LCD_Command(unsigned char nCommand)
      {
      LCD_Command1(nCommand);
      LCD_Command1(nCommand);
       }
//--------------------------------------------------------------------------------------------------
// 函數名稱: LCD_SetRam
// 入口參數:  bChip2,ndata 
//             bChip2用于選擇控制器 bChip2=0選擇SED1520-1
//                                   bChip2=1選擇SED1520-2
//             ;ndata是要寫入的數據
// 函數功能: 把顯示數據寫入其中一個SED1520
//--------------------------------------------------------------------------------------------------
void LCD_SetRam(bit bChip2,unsigned char ndata)
{
       if(!bChip2)
    {
    WRITE_showDATA1(ndata);
    }
    else
    {
    WRITE_showDATA2(ndata);
    }
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: LCD_Write
// 入口參數: npage, ncolumn,ndata 
//            npage取值0~7;當取0~3時在SED1520-1;
//                          當取4~1時在SED1520-2;
//            ncolumn取 0~60
//             ;ndata是要寫入的數據
// 函數功能: 把顯示數據寫入指定的位置
//--------------------------------------------------------------------------------------------------
void LCD_Write(unsigned char npage,unsigned char ncolumn,unsigned char ndata)
{
    LCD_SetPage(npage%4);
    LCD_SetColumn(ncolumn);
    LCD_SetRam(npage>3,ndata);   
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: LCD_PageWrite
// 入口參數: npage,*ndata
//            npage取值0~7;當取0~3時在SED1520-1;
//                          當取4~1時在SED1520-2;
//             *ndata是要寫入的數據的地址指針
// 函數功能: 把顯示數據寫入指定的位置
//--------------------------------------------------------------------------------------------------
void LCD_PageWrite(unsigned char npage,unsigned char idata *ndata)
{
    unsigned char i;
    bit bChip2=npage>3;
    LCD_SetPage(npage%4);
    LCD_SetColumn(0);
    for(i=0;i<61;i++)
        LCD_SetRam(bChip2,ndata[i]);
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: LCD_Init
// 函數功能: 初始化SED1520
//--------------------------------------------------------------------------------------------------
void LCD_Init()
{
    LCD_Command(LCD_RESET);
    LCD_Command(0xa0);
    LCD_Command(LCD_DUTY32);
    LCD_Command(0xa4);
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: GetIndex
// 入口參數: szText
//            szText表示要顯示的字符
// 返回值:   GetIndex
//            要顯示的字符在字摩存儲區的位置(第幾個子模)
// 函數功能: 查詢字符在字模存儲區的位置
//--------------------------------------------------------------------------------------------------
unsigned char GetIndex(unsigned char szText)
{
   unsigned char code TAB[100]={ 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q'
,'R','S','T','U','V','W','X','Y','Z'};
    unsigned char i;
    for(i=0;i<=26;i++)        
	if(szText==TAB[i]) return i;
    return 0x00;
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: GetTextFont
// 入口參數: index
//            index表示要查詢第幾個字模(所有的子模預先存在程序存儲區)
// 返回值:   Font 
//            6個字節的font用于存儲字模,返回字模存儲區的首地址
// 函數功能: 查詢字符的字模
//--------------------------------------------------------------------------------------------------
unsigned char *GetTextFont(unsigned char index)
{
    static unsigned char Font[6];
    unsigned char i;
    for(i=0;i<6;i++)
        Font[i]=ASCII[index][i];
    return Font;
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: LCD_TextOut
// 入口參數: x,y,*szText
//            x,y用于指定顯示區的位置
//            *szText是要顯示字符字模存儲區的首地址
// 函數功能: 在指定的位置顯示一個字符
//--------------------------------------------------------------------------------------------------
void LCD_TextOut(unsigned char x,unsigned char y,unsigned char *szText)
{
    unsigned char i;
    bit bChip2;
    x%=20;
    y%=4;
    if(x>=10)
    {
    x-=10;
    y+=4;
    }
    bChip2=y>3;
    LCD_SetPage(y%4);
    LCD_SetColumn(x*6);
    for(i=0;i<6;i++) LCD_SetRam(bChip2,szText[i]);
}
//--------------------------------------------------------------------------------------------------
// 函數名稱:Printf
// 入口參數: x,y,*szText
//            x,y用于指定顯示區的初始位置
//            *SHOW_WORD指向要顯示字符數組
// 函數功能: 從指定的位置開始連續顯示字符,最多顯示20個字符
//--------------------------------------------------------------------------------------------------
void Printf(unsigned char x,unsigned char y,unsigned char *SHOW_WORD)
{
    unsigned char *Text;
    while(*SHOW_WORD)
    {
        Text=GetTextFont(GetIndex(*SHOW_WORD));
        LCD_TextOut(x++,y,Text);
        if(x==20) break;
        SHOW_WORD++;
    }
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
岛国精品在线播放| 欧美一区二区三区在线观看视频| 91福利资源站| 国产午夜精品在线观看| 日产国产高清一区二区三区| 色av成人天堂桃色av| 久久精品视频免费| 五月开心婷婷久久| 欧美吻胸吃奶大尺度电影| 国产精品婷婷午夜在线观看| 国产在线一区二区| 欧美成人精品3d动漫h| 同产精品九九九| 欧美中文字幕亚洲一区二区va在线 | 亚洲二区在线观看| 成人动漫视频在线| 中文在线资源观看网站视频免费不卡| 日韩激情视频在线观看| 精品视频一区二区不卡| 亚洲综合一二区| 91丨国产丨九色丨pron| 国产精品免费aⅴ片在线观看| 蜜臀av一级做a爰片久久| 欧美久久久久中文字幕| 午夜久久久久久| 欧美日韩三级一区二区| 午夜精品久久久久久| 欧美日韩成人综合| 亚洲高清免费在线| 欧美剧情片在线观看| 亚洲成人免费视频| 91精品欧美福利在线观看| 午夜视频在线观看一区| 欧美一区二区大片| 六月丁香综合在线视频| 国产亚洲人成网站| 国产不卡免费视频| 国产精品视频线看| 91福利在线导航| 日韩中文字幕1| 欧美成人官网二区| 粉嫩av一区二区三区| 最新日韩av在线| 一本大道av伊人久久综合| 亚洲亚洲人成综合网络| 日韩精品中文字幕在线不卡尤物| 国产自产v一区二区三区c| 国产精品人成在线观看免费| 色综合久久久久综合体| 首页欧美精品中文字幕| wwwwww.欧美系列| 99久久99久久综合| 天堂va蜜桃一区二区三区| 精品国产成人在线影院| 99精品久久久久久| 日本成人在线不卡视频| 国产精品三级av| 欧美日韩精品免费| 国产成人aaa| 舔着乳尖日韩一区| 久久久久国产精品免费免费搜索| 94-欧美-setu| 久久国产精品99久久人人澡| 中文字幕在线播放不卡一区| 91麻豆精品国产91久久久久| 大胆欧美人体老妇| 日韩综合在线视频| 国产欧美va欧美不卡在线| 欧美日韩高清一区二区三区| 国产精品一二三在| 日韩主播视频在线| 国产精品免费视频观看| 91精品国产综合久久国产大片| 高清国产一区二区| 性久久久久久久| 中文字幕亚洲电影| 久久影院电视剧免费观看| 欧美日韩在线精品一区二区三区激情| 国内国产精品久久| 视频一区二区三区入口| 亚洲欧美aⅴ...| 国产丝袜欧美中文另类| 3751色影院一区二区三区| 91福利国产精品| 成人黄动漫网站免费app| 久久激情五月婷婷| 五月婷婷久久综合| 亚洲黄一区二区三区| 国产精品美女久久久久高潮| 日韩限制级电影在线观看| 欧美在线观看视频一区二区三区| 成人看片黄a免费看在线| 国产精品一区二区91| 麻豆一区二区三| 午夜天堂影视香蕉久久| 亚洲黄色av一区| 亚洲男同1069视频| 国产精品电影一区二区| 中文字幕av一区二区三区高| 亚洲精品在线观| 精品久久久久久久久久久久久久久 | 亚洲国产成人私人影院tom | 欧美日韩高清一区二区不卡| 色一情一乱一乱一91av| 91网址在线看| 色综合中文字幕| 91国产成人在线| 欧美一a一片一级一片| 欧美午夜精品一区二区蜜桃| 欧美性大战久久久久久久蜜臀| 色综合久久久久久久久| 一本久道久久综合中文字幕| 成人免费毛片app| 成人app下载| 色婷婷综合久久久久中文一区二区| 99国产精品一区| 欧美亚洲综合一区| 9191精品国产综合久久久久久| 欧美丰满一区二区免费视频| 欧美夫妻性生活| 精品国产电影一区二区| 国产精品嫩草99a| 一区二区三区毛片| 日韩va欧美va亚洲va久久| 久久99久国产精品黄毛片色诱| 美女爽到高潮91| 国产一区999| 91美女片黄在线观看91美女| 欧美亚州韩日在线看免费版国语版| 欧美性猛交xxxx乱大交退制版| 欧美一区二区视频网站| 久久久久国产免费免费| 亚洲精品乱码久久久久久日本蜜臀| 亚洲一区二区欧美日韩| 精品一区精品二区高清| 成人免费毛片片v| 欧美三级乱人伦电影| 26uuu亚洲综合色| 国产精品不卡在线| 亚洲成年人网站在线观看| 国产精品一区二区x88av| 色婷婷国产精品久久包臀| 欧美一区二区三区播放老司机| 久久精品欧美一区二区三区麻豆| 国产精品福利一区二区| 日韩国产精品大片| 99视频国产精品| 日韩西西人体444www| 综合色中文字幕| 麻豆一区二区三| 欧美性三三影院| 国产女主播视频一区二区| 天堂av在线一区| 99re在线视频这里只有精品| 精品欧美久久久| 亚洲免费在线播放| 精品一区二区三区免费播放| 一本一道波多野结衣一区二区| 精品国产百合女同互慰| 亚洲国产精品一区二区久久| 成人高清av在线| 日韩免费看的电影| 亚洲成av人片在线| 972aa.com艺术欧美| 久久久久久影视| 日韩av中文字幕一区二区三区| 99久久精品免费看| 欧美国产精品一区二区| 九色综合狠狠综合久久| 欧美久久久久久蜜桃| 亚洲精品欧美二区三区中文字幕| 国产在线不卡一区| 欧美电影免费观看完整版| 午夜不卡在线视频| 91国产精品成人| 亚洲靠逼com| 99精品视频在线播放观看| 国产欧美精品国产国产专区| 老司机午夜精品| 欧美成人女星排名| 日产国产欧美视频一区精品| 欧美视频在线播放| 一区二区三区日韩欧美精品| 99re6这里只有精品视频在线观看| 国产亚洲综合av| 韩国理伦片一区二区三区在线播放 | 欧美日韩国产中文| 亚洲在线中文字幕| 色综合一区二区| 中文字幕一区视频| 色综合天天综合在线视频| 国产精品传媒在线| 色综合久久久久网| 亚洲综合色自拍一区| 欧美影片第一页| 亚洲成a人片综合在线| 制服视频三区第一页精品| 日韩不卡在线观看日韩不卡视频| 欧美高清dvd| 久久精工是国产品牌吗|