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

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

?? touch15x20d.c

?? c8051f410寫8803液晶的程序
?? C
字號:
//=============================================================
//OCMJ15X20D觸摸屏中斷程序
//當觸摸事件發生時模塊產生中斷經INT腳輸出信號觸發MCU的外部中斷0
//=============================================================
//=============================================
#include <reg52.h>
//=============================================
sbit lcd_rs   =P3^0;		//L:存取緩存器,H:存取DDRAM
sbit lcd_wr   =P3^1;		//L有效
sbit lcd_rd   =P3^6;		//L有效
sbit lcd_cs1  =P3^3;		//L有效
sbit lcd_cs2  =P3^4;		//H有效(可直接上拉)
sbit lcd_busy =P3^5;
sbit lcd_int  =P3^2;		//接MCU的INT0
sbit lcd_rst  =P3^7;		//L有效(可懸空)

#define lcd_regname  P1
#define lcd_regdata  P1
#define lcd_regnada  P1
#define lcd_data     P1
#define lcd_control  P3
#define uchar        unsigned char
#define uint         unsigned int
//=============================================
uchar code inittab1[]={
0x00,0x01,0x02,0x03,0x10,0x11,0x12,0x21,0x31,0x41,0x51,0x20,0x30,0x40,0x50,0x60,
0x61,0x70,0x71,0x72,0x80,0x81,0x91,0x90,0xA0,0xA1,0xA2,0xA3,0xB0,0xB1,0xC0,0xC1,
0xC8,0xC9,0xCA,0xD0,0xE0,0xF0,0xF1};
uchar code inittab2[]={
0xC9,0xE2,0x10,0x80,0x2B,0x00,0x91,0x27,0xEF,0x00,0x00,0x27,0xEF,0x00,0x00,0x00,
0x00,0x00,0x00,0xEF,0xAA,0x00,0x00,0x06,0x11,0x00,0x00,0x00,0x27,0xEF,0x00,0x36,
0x80,0x80,0x00,0x80,0x00,0xA0,0x1F};

uchar code tab1[]={
"     金鵬電子有限公司D系列液晶模塊     "
"             觸摸屏演示程序             "
"               No-Touch!!               "
"                 X=                     "
"                 Y=                     "};

uchar code tab2[]="No-Touch!!";

uchar code tab3[]="Touch-Now!";

uchar tabx[4];
uchar taby[4];
//=============================================
void delay_nop (int k)
{
  int i;
  for(i=0;i<k;i++);
}
void delay1ms (int ms)
{
  int i,j;
  for(i=0;i<ms;i++)
    for(j=0;j<123;j++);
}
//=============================================
void lcd_regwr(uchar regnada) small
{
  lcd_regnada = regnada;
  lcd_cs1 =0; // chip enable.
  lcd_rd = 1; //
  lcd_rs = 0; // rs = 0;
  lcd_wr = 0; // wr = 0;
  ;
  lcd_wr = 1; // wr = 1;
  lcd_rs = 1; // rs = 1;
  lcd_cs1 =1; // chip disable.
}
void lcd_regwrite(uchar regname,uchar regdata) small
{                                   //寫資料到緩存器
  lcd_regwr(regname);
  delay_nop(1);
  lcd_regwr(regdata);
}
//.............................................
void lcd_datawrite(uchar wrdata) small
{                      //寫資料到DDRAM
  while(lcd_busy == 0);
  lcd_data = wrdata;
  lcd_cs1 =0; // chip enable.
  lcd_rd = 1; //
  lcd_rs = 1; // rs = 1;
  lcd_wr = 0; // wr = 0;
  ;
  lcd_wr = 1; // wr = 1;
  lcd_rs = 1; // rs = 1;
  lcd_cs1 =1; // chip disable.
}
//.............................................
uchar lcd_regread(uchar regname) small
{                           //讀緩存器
  uchar reg_rddata;
  lcd_regwr(regname);

  lcd_data = 0xff;
  lcd_cs1 =0; // chip enable.
  lcd_wr = 1; // wr = 1;
  lcd_rs = 0; // rs = 0;
  lcd_rd = 0; // rd = 0;
  ;
  reg_rddata = lcd_data;
  lcd_rd = 1; // rd = 1;
  lcd_rs = 1; // rs = 1;
  lcd_cs1 =1; // chip disable.
  return(reg_rddata);
}
//=============================================
void lcd_reset(void) small
{               //上電復位
  delay1ms(240); // delay 240ms 等待上電復位
  lcd_control = 0xff; // lcd_rs/wr/rd/cs1/cs2 normal - skeep high.
}
//.............................................
void lcd_initial(void) small
{                   //初始化
  uchar i;
  for(i=0;i<39;i++)
  {
    lcd_regwrite(inittab1[i],inittab2[i]);
  }
}
//.............................................
void lcd_clear(void) small
{                   //清屏
  uchar reg_rddata;
  lcd_regwrite(0xe0,0x00);
  reg_rddata = lcd_regread(0xf0);
  reg_rddata |= 0x08;
  lcd_regwrite(0xf0,reg_rddata);
}
//.............................................
void lcd_character(uchar code *cha,uint count) small
{                                   //顯示中文或字符
  uint i;
  for(i=0;i<count;i++)
  {
    lcd_datawrite(*cha);
    ++cha;
  }
}
//.............................................
void gotoxy(uchar x,uchar y) small
{                         //定坐標
  lcd_regwrite(0x60,x); // active window top register(awtr)
  lcd_regwrite(0x70,y); // active window top register(awtr)
}
//=============================================
uchar touch_test(void) small
{
  uchar reg_rddata,reg_rddata1;
  
  reg_rddata = lcd_regread(0xc0);
  reg_rddata &= 0xf8;
  reg_rddata |= 0x08;
  lcd_regwrite(0xc0,reg_rddata);
  delay1ms (6);
  
  reg_rddata1 = lcd_regread(0xc1);
  reg_rddata &= 0xf7;
  lcd_regwrite(0xc0,reg_rddata);
  return(reg_rddata1);
}
//.............................................
uint touch_x(void) small
{
  uchar reg_rddata,touchxl;
  uint touchx;
  
  reg_rddata = lcd_regread(0xc0);
  reg_rddata &= 0xf3;
  reg_rddata |= 0x03;//bit3=0,bit2=0,bit1=1,bit0=1;switch sw3 OFF,switch sw2 OFF switch sw1 ON,swithc sw0 ON
  lcd_regwrite(0xc0,reg_rddata);
  delay1ms (6);
  
  touchx = lcd_regread(0xc8);         //TPXR
  touchxl = (lcd_regread(0xca)&0xc0); //TPZR
  touchx = (touchx<<2)|(touchxl>>6);
  return(touchx);
}
//.............................................
uint touch_y(void) small
{
  uchar reg_rddata,touchyl;
  uint touchy;
  
  reg_rddata = lcd_regread(0xc0);
  reg_rddata &= 0xfc;
  reg_rddata |= 0x0c;//bit3=1,bit2=1,bit1=0,bit0=0;switch sw3 ON,switch sw2 ON switch sw1 OFF,swithc sw0 OFF
  lcd_regwrite(0xc0,reg_rddata);
  delay1ms (6);
  
  touchy = lcd_regread(0xc9);         //TPYR
  touchyl = (lcd_regread(0xca)&0x0c); //TPZR
  touchy = (touchy<<2)|(touchyl>>2);
  return(touchy);
}
//.............................................
void get_touch(void) small
{
  uchar reg_rddata,i;
  uint touchx,touchy;
  
  lcd_regwrite(0xc0,0xc0);  //觸摸屏功能激活,致能觸摸屏資料輸出
  delay1ms (6);
  
  if((touch_test() & 0x40))    //檢測是否有觸摸
  {
    while(!(lcd_regread(0xc1) & 0x80));//等待ADC轉換完成
    touchy = touch_y();
    touchx = touch_x();
    
    tabx[0] = touchx/1000;
    tabx[1] = (touchx%1000)/100;
    tabx[2] = ((touchx%1000)%100)/10;
    tabx[3] = ((touchx%1000)%100)%10;
    
    taby[0] = touchy/1000;
    taby[1] = (touchy%1000)/100;
    taby[2] = ((touchy%1000)%100)/10;
    taby[3] = ((touchy%1000)%100)%10;
    
    reg_rddata = lcd_regread(0x10);
    reg_rddata |= 0x10;    //粗體顯示
    lcd_regwrite(0x10,reg_rddata);
    
    gotoxy(0x0f,0x40);
    lcd_character(tab3,10);
    
    gotoxy(0x13,0x60);
    for(i=0;i<4;i++)
    {
      lcd_datawrite(tabx[i]+0x30);
    }
    
    gotoxy(0x13,0x80);
    for(i=0;i<4;i++)
    {
      lcd_datawrite(taby[i]+0x30);
    }
    
    reg_rddata = lcd_regread(0x10);
    reg_rddata &= 0xef;    //正常字體
    lcd_regwrite(0x10,reg_rddata);
    
    delay1ms (240);
  }
  lcd_regwrite(0xc0,0x00);  //TOUCH OFF
  
  gotoxy(0x0f,0x40);
  lcd_character(tab2,10);
}
//.............................................
void int_0 (void) interrupt 0
{
  uchar reg_rddata;
  
  reg_rddata = lcd_regread(0xa0);
  if(reg_rddata & 0x40)           //觸摸屏幕有偵測到觸摸(touch)
  {
    reg_rddata = lcd_regread(0xa0);
    reg_rddata &= 0xfb;            //禁能觸摸中斷
    lcd_regwrite(0xa0,reg_rddata);
    
    get_touch();
  }
  reg_rddata = lcd_regread(0xa0);
  reg_rddata |= 0x04;            //致能觸摸中斷
  lcd_regwrite(0xa0,reg_rddata);
}
//=============================================
void main (void)
{
  uchar reg_rddata;
  
  lcd_reset();
  lcd_initial();
  lcd_clear();
  
  lcd_regwrite(0x00,0xcd);
  gotoxy(0x00,0x00);
  lcd_character(tab1,180);
  
  reg_rddata = lcd_regread(0xa0);
  reg_rddata |= 0x04;            //致能觸摸中斷
  lcd_regwrite(0xa0,reg_rddata);
  IT0=1;
  EA=1;
  EX0=1;
  while(1);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩另类一区| 精品一区二区三区在线观看国产| 一区二区三区色| 捆绑变态av一区二区三区| 99精品久久99久久久久| 久久青草国产手机看片福利盒子 | 欧美精品一区二区不卡| 成人免费在线播放视频| 国产一区视频网站| 欧美日韩亚洲综合在线| 中文字幕亚洲区| 国产一区在线精品| 日韩你懂的在线播放| 亚洲午夜在线电影| 91浏览器在线视频| 国产精品久久久久久久久免费相片| 免费不卡在线观看| 欧美日韩国产美女| 亚洲福利视频一区| 欧日韩精品视频| 亚洲资源在线观看| 色av一区二区| 亚洲国产一区二区三区青草影视| caoporn国产一区二区| 欧美韩国日本综合| 国产不卡视频在线观看| 欧美国产乱子伦 | 成人综合在线视频| 精品久久国产老人久久综合| 日韩av一区二区在线影视| 精品视频一区 二区 三区| 一区二区理论电影在线观看| 91首页免费视频| 一区二区三区不卡视频在线观看| 91欧美激情一区二区三区成人| 国产精品久久久久久久第一福利| 不卡av免费在线观看| 国产精品理伦片| 91视视频在线观看入口直接观看www| 国产免费成人在线视频| 99久久久免费精品国产一区二区| 中文字幕在线免费不卡| 91蜜桃传媒精品久久久一区二区| 夜夜亚洲天天久久| 在线电影国产精品| 九九**精品视频免费播放| 久久影院午夜片一区| av日韩在线网站| 一区二区成人在线视频| 精品国产乱码91久久久久久网站| 久久超碰97人人做人人爱| 久久久www成人免费毛片麻豆| 成人免费高清在线观看| 亚洲综合视频网| 欧美一级欧美三级| 国产精品自拍av| 亚洲精品水蜜桃| 欧美一区二区三区在线电影| 国产乱码精品一区二区三区忘忧草 | 国产三级三级三级精品8ⅰ区| 成人a区在线观看| 午夜精品久久久久久久久| 日韩免费视频线观看| av电影天堂一区二区在线观看| 亚洲男帅同性gay1069| 337p亚洲精品色噜噜狠狠| 天堂精品中文字幕在线| 亚洲视频网在线直播| 日本高清不卡在线观看| 毛片av一区二区三区| 中文字幕在线免费不卡| 日韩一级高清毛片| 99热精品一区二区| 久久精品国产99久久6| 亚洲欧美日韩国产综合| 日韩天堂在线观看| 色丁香久综合在线久综合在线观看| 午夜视黄欧洲亚洲| 亚洲欧美日韩国产另类专区| 久久一区二区三区四区| 欧美视频在线播放| 成人av网址在线观看| 日韩va欧美va亚洲va久久| 日韩理论片在线| 久久久99精品免费观看不卡| 欧美一区二区三区四区久久 | 成人av在线资源| 风间由美一区二区三区在线观看 | 91麻豆精品国产91久久久久久| 成人不卡免费av| 精品影视av免费| 日韩国产欧美在线视频| 亚洲综合在线观看视频| 亚洲欧美自拍偷拍| 国产丝袜在线精品| 精品av久久707| 在线播放中文一区| 欧美日韩久久一区二区| 91久久国产综合久久| 99国产精品久久久久久久久久久| 精品一区二区av| 久久精品国产在热久久| 蜜桃视频在线观看一区二区| 天天色综合成人网| 日韩精品福利网| 三级在线观看一区二区 | 欧美午夜寂寞影院| 欧美影院一区二区三区| 日本韩国一区二区三区视频| 99久久免费国产| 99精品视频在线免费观看| 成人黄动漫网站免费app| 国产成a人亚洲精品| 成人免费毛片嘿嘿连载视频| 成人免费视频免费观看| 成人午夜大片免费观看| 成人免费观看av| 99久久国产综合精品色伊| 色综合天天综合网国产成人综合天 | 偷拍亚洲欧洲综合| 亚洲电影中文字幕在线观看| 亚洲一区影音先锋| 日韩avvvv在线播放| 日本v片在线高清不卡在线观看| 石原莉奈在线亚洲二区| 蜜桃精品视频在线| 国产精品18久久久久久久久久久久 | 一区二区三区在线不卡| 亚洲第一综合色| 日韩高清在线电影| 国产福利精品一区二区| av电影在线观看完整版一区二区| 色婷婷久久久亚洲一区二区三区| 91黄视频在线观看| 91精品国产欧美一区二区18 | 国产高清在线观看免费不卡| 成人免费电影视频| 欧洲色大大久久| 精品久久五月天| 国产精品丝袜黑色高跟| 午夜精品一区在线观看| 韩国精品主播一区二区在线观看| 97久久超碰精品国产| 精品视频123区在线观看| 2021久久国产精品不只是精品| 国产精品日韩精品欧美在线| 一区二区三区欧美日韩| 韩国午夜理伦三级不卡影院| 91一区二区在线| 日韩一区二区不卡| 中文字幕中文字幕在线一区| 三级久久三级久久久| 不卡av在线网| 日韩亚洲欧美在线观看| 亚洲人123区| 久久99国产精品久久99| 欧洲精品视频在线观看| 国产日韩三级在线| 天天亚洲美女在线视频| 99久久精品国产麻豆演员表| 欧美成人video| 亚洲国产你懂的| 国内精品自线一区二区三区视频| 色欧美乱欧美15图片| 国产午夜精品理论片a级大结局| 亚洲成a人片在线不卡一二三区| 国产精品99久久久久久久女警 | 日韩毛片一二三区| 久久精品国产99| 欧美日韩国产中文| 亚洲欧美另类在线| 国产乱码精品一区二区三区五月婷| 欧美美女黄视频| 亚洲精品高清视频在线观看| 国产成人免费视频| 精品国内二区三区| 偷拍亚洲欧洲综合| 欧美日韩中文字幕一区二区| 亚洲四区在线观看| 成人毛片视频在线观看| 337p粉嫩大胆色噜噜噜噜亚洲| 天堂va蜜桃一区二区三区| 色狠狠色噜噜噜综合网| 中文字幕一区免费在线观看| 国产成人精品免费在线| 精品国产乱码久久久久久闺蜜 | 久久久天堂av| 精彩视频一区二区| 精品国产凹凸成av人导航| 日韩专区中文字幕一区二区| 色先锋资源久久综合| 亚洲色图制服诱惑| 色系网站成人免费| 亚洲免费毛片网站| 色综合一区二区| 一区二区三区在线播| 欧美日韩视频一区二区| 偷窥少妇高潮呻吟av久久免费| 欧洲国内综合视频| 亚洲综合久久久久|