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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? lcd.c

?? 單片機(jī)MEGA16 Lcd128x64 KS0108 的KEIL文件和PROTEUS仿真文件
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/*--------------------------------------------------*/
/*             AVR-ARM開(kāi)發(fā)網(wǎng)論壇                    */
/*           http://www.avrarm.com                  */
/*            AVR生成代碼測(cè)試程序                   */
/*--------------------------------------------------*/
/*     程序由AVR輔助開(kāi)發(fā)工具V2.0.0自動(dòng)生成          */
/*     AVR系統(tǒng)的處理器為:   ATMega16               */
/*     AVR系統(tǒng)的晶振頻率:   8.0000 Mhz             */
/*--------------------------------------------------*/

#include <iom16v.h>
#include <macros.h>
#include "lcd.h"
#include "delay.h"

unsigned char CurOffset,CurRow,CurPage,CurCol;


void LCD_BUSY(unsigned char lr) //判斷忙標(biāo)志
{
   unsigned char status;
   asm("cli");
   if(lr==RIGHT)
   {
      CLEAR_LCD_CS2; //cs2=0
      SET_LCD_CS1;   //cs1=1
   }
   else
   {
      SET_LCD_CS2;   //cs2=1
      CLEAR_LCD_CS1; //cs1=0
   }
   SET_LCD_CMD;
   LCD_DIR_PORT = 0x00;
   LCD_OP_PORT = 0xff;
   SET_LCD_READ;
   SET_LCD_E;
   asm("nop");
   asm("nop");
   asm("nop");
   asm("nop");
   while((LCD_IP_PORT) & LCD_STATUS_BUSY)
   {
      CLEAR_LCD_E;
      asm("nop");
      asm("nop");
      asm("nop");
      asm("nop");
      SET_LCD_E;
      asm("nop");
      asm("nop");
      asm("nop");
      asm("nop");
   }
   CLEAR_LCD_E;
   SET_LCD_WRITE;
   LCD_OP_PORT = 0xff;
   asm("sei");
}

void write_LCD(unsigned char lr,unsigned char cd,unsigned char data) /*寫(xiě)入指令或數(shù)據(jù)*/
{	
   CLI();
   LCD_BUSY(lr);
   if(cd==CMD)
      SET_LCD_CMD;
   else
      SET_LCD_DATA;
   SET_LCD_WRITE;
   SET_LCD_E;
   LCD_DIR_PORT = 0xff;
   LCD_OP_PORT = data;
   delay_nus(4);
   CLEAR_LCD_E;
   LCD_OP_PORT = 0xff;
   SEI();
}
unsigned char read_LCD(unsigned char lr)	  /*  讀顯示數(shù)據(jù) */
{
   unsigned char data;
   
   asm("cli");
   LCD_BUSY(lr);
   SET_LCD_DATA;
   LCD_DIR_PORT = 0x00;
   LCD_OP_PORT = 0xff;
   SET_LCD_READ;
   SET_LCD_E;
   asm("nop");
   asm("nop");
   asm("nop");
   asm("nop");
   data=LCD_IP_PORT;
   CLEAR_LCD_E;
   SET_LCD_WRITE;
   
   LCD_BUSY(lr);
   SET_LCD_DATA;
   LCD_DIR_PORT = 0x00;
   LCD_OP_PORT = 0xff;
   SET_LCD_READ;
   SET_LCD_E;
   asm("nop");
   asm("nop");
   asm("nop");
   asm("nop");
   data=LCD_IP_PORT;
   CLEAR_LCD_E;
   SET_LCD_WRITE;

   asm("sei");
   return data;
}

void set_start_line_L(unsigned char line) /*設(shè)置顯示起始行*/ //0-63
{
   write_LCD(LEFT,CMD,0xc0|line);
}

void set_start_line_R(unsigned char line) /*設(shè)置顯示起始行*/ //0-63
{
   write_LCD(RIGHT,CMD,0xc0|line);
}

void set_page_L(unsigned char page)	/*設(shè)置X地址 設(shè)置頁(yè)*/  //0-7
{
   write_LCD(LEFT,CMD,0xb8|page);
}
void set_page_R(unsigned char page)	/*設(shè)置X地址 設(shè)置頁(yè)*/ //0-7
{
   write_LCD(RIGHT,CMD,0xb8|page);
}

void set_col_addr_L(unsigned char col) /*設(shè)置Y地址*/ //0-63
{
   write_LCD(LEFT,CMD,0x40|col);
}

void set_col_addr_R(unsigned char col) /*設(shè)置Y地址*/ //0-63
{
   write_LCD(RIGHT,CMD,0x40|col);
}

void LCD_Init(void) /*初始化函數(shù)*/
{
   LCD_DIR_PORT = 0xff;
   LCD_OP_PORT = 0xff;
   LCD_EN_DDR    |=  LCD_EN_BIT;
   LCD_DI_DDR    |=  LCD_DI_BIT;
   LCD_CS1_DDR   |=  LCD_CS1_BIT;
   LCD_CS2_DDR   |=  LCD_CS2_BIT;
   LCD_RW_DDR    |=  LCD_RW_BIT;
   LCD_RW_PORT   &= ~LCD_RW_BIT;
   set_start_line_L(0);             /*顯示起始行為0*/
   set_start_line_R(0);             /*顯示起始行為0*/
   write_LCD(LEFT,CMD,DISPLAY_ON);  /*  開(kāi)顯示  */
   write_LCD(RIGHT,CMD,DISPLAY_ON); /*  開(kāi)顯示  */
}

void LCD_clr(void)                  /*清屏函數(shù)*/
{
   unsigned char pages,i;
   for(pages=0;pages<8;pages++)
   {
      set_page_L(pages);            /* X 頁(yè)地址 */
      set_page_R(pages);            /* X 頁(yè)地址 */
      for(i=0;i<64;i++)
      {
         set_col_addr_L(i);//Y
         set_col_addr_R(i);//Y
         write_LCD(LEFT,DATA,0x0);
         write_LCD(RIGHT,DATA,0x0);
      }
   }
}

//ASCII 字模寬度及高度
#define ASC_CHR_WIDTH	8
#define ASC_CHR_HEIGHT	12

typedef struct typFNT_ASC16	/* 漢字字模顯示數(shù)據(jù)結(jié)構(gòu) */
{
   char Index[1];
   char Msk[16];
};
struct typFNT_ASC16 const ASC_16[] = {	/* 顯示為8*16  Curier 10 常規(guī)*/
   "1",0x00,0x00,0x08,0x08,0xFC,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0x07,0x04,0x04,0x00,
   "2",0x00,0x00,0x08,0x04,0x84,0x44,0x38,0x00,0x00,0x00,0x06,0x05,0x04,0x04,0x04,0x00,
   "3",0x00,0x00,0x08,0x04,0x44,0x44,0xB8,0x00,0x00,0x00,0x02,0x04,0x04,0x04,0x03,0x00,
   "4",0x00,0x00,0x80,0x60,0x18,0xFC,0x00,0x00,0x00,0x00,0x01,0x01,0x05,0x07,0x05,0x00,
   "5",0x00,0x00,0x7C,0x44,0x44,0x44,0x84,0x00,0x00,0x00,0x02,0x04,0x04,0x04,0x03,0x00,
   "6",0x00,0x00,0xF0,0x48,0x44,0x44,0x80,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x03,0x00,
   "7",0x00,0x00,0x0C,0x04,0x84,0x64,0x1C,0x00,0x00,0x00,0x00,0x06,0x01,0x00,0x00,0x00,
   "8",0x00,0x00,0xB8,0x44,0x44,0x44,0xB8,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x03,0x00,
   "9",0x00,0x00,0x38,0x44,0x44,0x44,0xF8,0x00,0x00,0x00,0x00,0x04,0x04,0x02,0x01,0x00,
   "0",0x00,0x00,0xF8,0x04,0x04,0x04,0xF8,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x03,0x00,
   ".",0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
   ",",0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x04,0x00,0x00,0x00,
   ":",0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
   ";",0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x04,0x00,0x00,0x00,
   "-",0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
   "_",0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
   "A",0x00,0x00,0x80,0x64,0x1C,0x60,0x80,0x00,0x00,0x04,0x07,0x05,0x01,0x05,0x07,0x04,
   "B",0x00,0x04,0xFC,0x44,0x44,0x44,0x44,0xB8,0x00,0x04,0x07,0x04,0x04,0x04,0x04,0x03,
   "C",0x00,0xF0,0x08,0x04,0x04,0x04,0x04,0x08,0x00,0x01,0x02,0x04,0x04,0x04,0x04,0x02,
   "D",0x00,0x04,0xFC,0x04,0x04,0x04,0x08,0xF0,0x00,0x04,0x07,0x04,0x04,0x04,0x02,0x01,
   "E",0x00,0x04,0xFC,0x44,0x44,0xE4,0x04,0x0C,0x00,0x04,0x07,0x04,0x04,0x04,0x04,0x06,
   "F",0x00,0x04,0xFC,0x44,0x44,0xE4,0x04,0x0C,0x00,0x04,0x07,0x04,0x04,0x00,0x00,0x00,
   " ",0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
   "=",0x00,0x00,0xA0,0xA0,0xA0,0xA0,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
   "(",0x00,0x00,0x00,0xE0,0x18,0x04,0x00,0x00,0x00,0x00,0x00,0x03,0x0C,0x10,0x00,0x00,
   ")",0x00,0x00,0x00,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x00,0x10,0x0C,0x03,0x00,0x00,
   "V",0x00,0x04,0x3C,0xC4,0x00,0xC4,0x3C,0x04,0x00,0x00,0x00,0x01,0x06,0x01,0x00,0x00,
   "m",0x00,0x20,0xE0,0x20,0xC0,0x20,0xC0,0x00,0x00,0x04,0x07,0x00,0x07,0x00,0x07,0x04,
   "H",0x00,0x04,0xFC,0x44,0x40,0x44,0xFC,0x04,0x00,0x04,0x07,0x04,0x00,0x04,0x07,0x04,
   "*",0x90,0x90,0x60,0xFC,0x60,0x90,0x90,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,
};

#define ASC_HZ_WIDTH	12
//#define ASC_HZ_HEIGHT	12

typedef struct typFNT_GB16	/*12*16 漢字字模顯示數(shù)據(jù)結(jié)構(gòu) */
{
   char Index[2];
   char Msk[24];
};
struct typFNT_GB16 const GB_16[] = {	/* 宋體 9 顯示為12*16 */
   "液",0x19,0xE2,0x14,0x42,0xF2,0x2E,0x72,0x8F,0xAA,0x7A,0x02,0x00,0x01,0x07,0x00,0x00,0x07,0x04,0x04,0x02,0x01,0x02,0x04,0x00,
   "晶",0x00,0xC0,0x40,0x5F,0xD5,0x15,0xD5,0x55,0x5F,0x40,0xC0,0x00,0x00,0x07,0x05,0x05,0x07,0x00,0x07,0x05,0x05,0x05,0x07,0x00,
   "顯",0x00,0x40,0x9F,0x15,0xD5,0x15,0xD5,0x15,0x1F,0xC0,0x00,0x00,0x04,0x04,0x05,0x04,0x07,0x04,0x07,0x06,0x05,0x04,0x04,0x00,
   "示",0x10,0x12,0x92,0x52,0x12,0xF2,0x12,0x12,0x53,0x92,0x10,0x00,0x02,0x01,0x00,0x04,0x04,0x07,0x00,0x00,0x00,0x00,0x03,0x00,
   "的",0xFC,0x44,0x46,0x45,0xFC,0x10,0x2C,0xC7,0x04,0x04,0xFC,0x00,0x07,0x02,0x02,0x02,0x07,0x00,0x00,0x04,0x04,0x04,0x03,0x00,
   "第",0x04,0xEA,0xAB,0xAE,0xAA,0xFC,0xAA,0xAB,0xAE,0xBA,0x82,0x00,0x04,0x04,0x02,0x01,0x00,0x07,0x00,0x02,0x02,0x02,0x01,0x00,
   "一",0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
   "行",0x48,0x24,0xF3,0x08,0x09,0x09,0x09,0x09,0xF9,0x09,0x08,0x00,0x00,0x00,0x07,0x00,0x00,0x04,0x04,0x04,0x07,0x00,0x00,0x00,
   "二",0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x04,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,
   "三",0x00,0x02,0x22,0x22,0x22,0x22,0x22,0x22,0x23,0x02,0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x04,0x00,
   "四",0x00,0xFF,0x81,0x41,0x3F,0x01,0x01,0xFF,0x81,0x81,0xFF,0x00,0x00,0x07,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x07,0x00,
   "五",0x00,0x11,0x11,0x91,0x7F,0x11,0x11,0x11,0xF1,0x01,0x00,0x00,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x00,
};

unsigned char GetPage(void) /*得到當(dāng)前頁(yè)*/
{
   return CurPage;
}

unsigned char GetCol(void) /*得到當(dāng)前列*/
{
   return CurCol;
}

void SetPageCol(unsigned char upage, unsigned char ucol) /* 設(shè)置液晶的頁(yè)和列 */
{
   CurPage = upage;
   CurCol = ucol;
   if(ucol<64)
   {
      set_page_L(upage);
      set_col_addr_L(ucol);
   }
   else
   {
      set_page_R(upage);
      set_col_addr_R(ucol-64);
   }
}

/* 設(shè)置當(dāng)前顯示的頁(yè)和列 */
void SetRowCol(unsigned char urow, unsigned char ucol) 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区三区高清aⅴ| 色综合咪咪久久| 亚洲欧美一区二区三区孕妇| 欧美电影一区二区| 成人精品视频一区二区三区尤物| 亚洲国产精品久久久久秋霞影院 | 国产盗摄一区二区| 亚洲一区二区av在线| 国产午夜一区二区三区| 欧美日韩高清影院| 色综合视频一区二区三区高清| 蜜桃精品视频在线观看| 亚洲精品乱码久久久久久日本蜜臀| 精品国产网站在线观看| 欧美视频第二页| 一本到三区不卡视频| 国产一区二区精品久久91| 日本特黄久久久高潮| 亚洲五月六月丁香激情| 亚洲精品久久久久久国产精华液| 欧美激情自拍偷拍| 久久久影视传媒| 日韩美女天天操| 欧美一区二区三区思思人| 91久久香蕉国产日韩欧美9色| 成人丝袜视频网| 国产高清一区日本| 青青草国产成人av片免费| 一级精品视频在线观看宜春院| 国产精品国产三级国产a| 国产色一区二区| 欧美mv日韩mv国产| 精品国产在天天线2019| 日韩丝袜美女视频| 日韩欧美中文字幕精品| 日韩三级av在线播放| 91精品久久久久久久91蜜桃| 欧美日韩精品高清| 欧美日韩在线三级| 欧美精品自拍偷拍动漫精品| 欧美日韩成人在线| 制服丝袜av成人在线看| 欧美一区二区性放荡片| 日韩三级在线免费观看| 欧美成人乱码一区二区三区| www久久久久| 久久久无码精品亚洲日韩按摩| 久久综合九色欧美综合狠狠| 久久久亚洲高清| 国产精品美日韩| 自拍偷拍欧美精品| 亚洲综合免费观看高清完整版在线| 亚洲日本在线天堂| 亚洲国产日韩一级| 日本最新不卡在线| 久久99精品国产麻豆婷婷| 九九视频精品免费| 成人免费视频一区| 一本大道综合伊人精品热热| 在线观看亚洲a| 欧美丰满嫩嫩电影| 26uuu久久天堂性欧美| 欧美国产亚洲另类动漫| 亚洲欧美另类图片小说| 亚洲成人三级小说| 精品在线亚洲视频| 成人永久aaa| 欧美性xxxxxx少妇| 日韩欧美资源站| 国产精品麻豆99久久久久久| 一区2区3区在线看| 精品在线视频一区| 91麻豆精品秘密| 666欧美在线视频| 久久综合狠狠综合久久激情 | 国产日韩欧美综合在线| 亚洲免费伊人电影| 蜜乳av一区二区| av日韩在线网站| 日韩一区二区三区在线| 国产精品青草综合久久久久99| 亚洲午夜久久久久中文字幕久| 九九**精品视频免费播放| 99国产精品久久久久久久久久久| 91.麻豆视频| 国产精品国产自产拍高清av王其 | 亚洲成人av电影在线| 国精产品一区一区三区mba桃花 | 久久毛片高清国产| 夜夜夜精品看看| 国产乱码精品1区2区3区| 欧美亚洲一区二区在线| 精品福利一区二区三区免费视频| 亚洲美女视频一区| 精品中文字幕一区二区| 欧美性猛交xxxxxxxx| 国产亚洲欧美激情| 视频一区视频二区中文| 国产成人精品免费一区二区| 欧美群妇大交群中文字幕| 中文字幕成人在线观看| 久久精品国产精品亚洲综合| 色播五月激情综合网| 欧亚一区二区三区| 国产婷婷色一区二区三区| 免费看黄色91| 色婷婷久久久亚洲一区二区三区| 精品国产1区二区| 日本欧美加勒比视频| 色婷婷激情综合| 国产精品女同一区二区三区| 久久99精品国产.久久久久久| 欧美日韩三级一区| 一区二区日韩av| jlzzjlzz欧美大全| 欧美激情资源网| 国产精品香蕉一区二区三区| 日韩视频一区二区| 日本不卡视频在线观看| 欧美日韩另类一区| 亚洲成人自拍网| 欧美色电影在线| 一区二区成人在线视频| 91在线国产福利| 国产精品三级av| 久久爱另类一区二区小说| 91精品国产乱| 日本成人中文字幕| 欧美乱熟臀69xxxxxx| 尤物在线观看一区| 欧美亚洲动漫制服丝袜| 国产精品久久网站| 国产精品99久久久久久久vr | 成人h精品动漫一区二区三区| 精品国产乱码久久久久久久久| 免费精品视频在线| 日韩欧美一级在线播放| 美女脱光内衣内裤视频久久网站 | 1024成人网| 粉嫩aⅴ一区二区三区四区五区| 欧美精品一区二区精品网| 国产九色sp调教91| 精品日韩一区二区三区免费视频| 久久精品国产精品青草| 欧美精品一区二区在线观看| 国产最新精品免费| 国产精品久久久久影视| 99国产精品99久久久久久| 一区二区三区国产精品| 欧美日韩一区二区三区不卡| 婷婷久久综合九色综合伊人色| 欧美一区二区视频网站| 精品一区二区三区在线观看国产 | 7777精品伊人久久久大香线蕉 | 日韩激情视频网站| 精品第一国产综合精品aⅴ| 国产成人精品网址| 一区二区三区在线视频免费| 欧美日韩精品福利| 久久69国产一区二区蜜臀| 亚洲国产精品99久久久久久久久| 99久久精品国产一区| 亚洲成av人片在线观看无码| 日韩欧美一区二区三区在线| 国产成人午夜视频| 怡红院av一区二区三区| 777久久久精品| 高清不卡一二三区| 亚洲第一福利视频在线| 日韩美女在线视频| 97久久超碰国产精品电影| 同产精品九九九| 中文字幕欧美国产| 欧美三级在线视频| 国产一区三区三区| 亚洲精品日韩一| 日韩欧美国产三级电影视频| 波多野结衣欧美| 日韩av一区二区三区四区| 欧美国产视频在线| 欧美一区二区三区喷汁尤物| www.性欧美| 中文字幕亚洲在| 91精品国产一区二区三区蜜臀| 成人做爰69片免费看网站| 一二三区精品视频| 国产亚洲一区二区三区| 欧美性极品少妇| 成人听书哪个软件好| 日韩av中文字幕一区二区| 亚洲欧洲日韩综合一区二区| 欧美一个色资源| 在线免费精品视频| 国产成人精品一区二区三区四区 | 国产精一品亚洲二区在线视频| 亚洲男女毛片无遮挡| 欧美群妇大交群的观看方式| 日本亚洲三级在线| 亚洲一区二区三区中文字幕| 欧美国产精品中文字幕|