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

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

?? vter_bus.c

?? wq_vga.rar,系列C51列程
?? C
字號:
//智能顯示終端并行接口通信演示程序之一總線方式。
//仿真器需選擇:"總線設置(Bus Option)"的"僅使用數據總線(Use XBus Only)"。

#include <reg51.h>
#include <stdio.h>
#include <string.h>
#define uchar unsigned char
//==========================================================
//定義P0口為數據線,P3.1, P3.2,P3.3為控制線。
sbit	       CS0	   =P3^1;          //片選信號 
sbit		   PINT    =P3^2;          //觸摸屏中斷信號
uchar  		   Fcolor;                 //背景色
uchar  	 	   Bcolor;                 //前景色
unsigned short CHX_DAT,CHY_DAT;        //觸摸屏坐標
unsigned char  Date[8];				   //讀時間值
//==========================================================
//寫一個數據子程序:
Write_Byte(uchar dc_data)
{
    uchar xdata DC;   //定義一個外部RAM變量
    uchar i;
    CS0 = 0;
	DC = dc_data;   //數據dc_data寫到外部RAM(即LCD控制板)。
    CS0 = 1;
    //加入適當的空操作延時
	//當采用更高速的單片機時應加入更多的空操作延時
	//這里加上8個空操作延時,在AT89C51,22MHz下是完全沒問題的。
    for(i=0;i<8;i++){}  
}
//==========================================================
//讀一個字節數據子程序:
uchar Read_Byte(void)
{
    uchar xdata DC;
    CS0 = 0;
	return DC;
}
//=================================================
/*外中斷處理程序*/
void Ex1_int( ) interrupt 2 using 1       
{ 
	uchar temp1,temp2,temp3,temp4;

	temp1 = Read_Byte();
	temp2 = Read_Byte();
	temp3 = Read_Byte();
	temp4 = Read_Byte();
	if(temp1 == 0xF8)     			//如果接收到的第一個字節是0xF8, 則收到的數據是年月日。
	{
       Date[0] = temp1;
       Date[1] = temp2;
       Date[2] = temp3;
       Date[3] = temp4;
	}
	else if(temp1 == 0xF9)  		//如果接收到的第一個字節是0xF9, 則收到的數據是時分秒。
	{
       Date[4] = temp1;
       Date[5] = temp2;
       Date[6] = temp3;
       Date[7] = temp4;
	}
	else                			//收到的數據觸摸屏的座標值。
	{
        CHX_DAT = temp1 * 100;
        CHX_DAT = temp2 + CHX_DAT;  //高低兩字節組合(高低兩個字節100進1)
        CHY_DAT = temp3 * 100;
        CHY_DAT = temp4 + CHY_DAT;  //高低兩字節組合(高低兩個字節100進1)
	}
}
//==============================================
//函數聲明
Lcd_Clr();
Read_time();
Read_date();
DIS_Ellipse(unsigned short x0,unsigned short y0,unsigned short xr,unsigned short yr);
DIS_Line(unsigned short x0,unsigned short y0,unsigned short x1,unsigned short y1,unsigned short with);
void Clr_squ(unsigned short x0,unsigned short y0,unsigned short width,unsigned short heith);
void inv_squ(unsigned short x0,unsigned short y0,unsigned short width,unsigned short heith);
void Set_time(uchar year,uchar month,uchar day,uchar hour,uchar minute,uchar second,uchar date);
AUTO_BMP(unsigned short x0,unsigned short y0,uchar N1,uchar N2,uchar T);
DIS_BMP(unsigned short x0,unsigned short y0,uchar N1);
void Dis_time(unsigned short x0,unsigned short y0,unsigned char i);
DIS_Value(unsigned short x0,unsigned short y0,unsigned short Va,unsigned char i);
DIS_String(unsigned short x0,unsigned short y0,char *fmt);
test_timer();
void push_windows(unsigned char mun_dc);   //保存當前窗口至后臺子程序
void pop_windows(unsigned char mun_dc);	   //恢復之前保存在后臺的窗口
//==============================================
//LCD 分辨率為 320X240 640X480 或800X600
#define  LCD_XSIZE    320    
#define  LCD_YSIZE    240 

main(void)
{
  unsigned int i;

  CS0 = 0;
  PINT = 1;
  Fcolor = 0x0;
  Bcolor = 0xff;
  i = 0;

  //顯示終端在上電就緒時發送F0.用仿真器時不要檢測F0.
  //當把程序燒寫到單片機上時,顯示終端和單片機同時上電,所以一定
  //要檢測是否收到F0。以判斷顯示終端是否上電就緒
  //while(!(i == 0xF0))
  //{i = Read_Byte();} 

  IT1 = 0;           //外部中斷1為電平觸發方式。    
  EA=1;              //全局中斷使能,(EA=0,關全局中斷;EA=1,開全局中斷)
  EX1 = 1;           //外部中斷使能置1,允許外部中斷

  Lcd_Clr();    	 //清除全屏。
  //DIS_BMP(LCD_XSIZE-50,LCD_YSIZE-50,0);

  for(i=10;i<40;i+=4)
  {
    DIS_Line(10,i,(LCD_XSIZE-10),i,1);             //畫直線
  }
  for(i=10;i<40;i+=4)
  {
    DIS_Ellipse(LCD_XSIZE/4*3,LCD_YSIZE/2,i,i);   //畫圓
  }

  DIS_String(0,0,"并行接口通信演示程序之一總線方式");//顯示字符
  Dis_time(0,16,3);

  DIS_String(0,32,"讀取年月日:");
  DIS_String(0,48,"讀取時分秒:");
  test_timer();

  Set_time(05,11,9,17,22,30,3);   					  //設置時間為2005年11月9日,17:22:30,星期三。
  DIS_String(0,64,"X軸座標值:");
  DIS_String(0,80,"Y軸座標值:");
  Bcolor = 0x03;
  Fcolor = 0xE0;
  Clr_squ((LCD_XSIZE/4*1)-35,(LCD_YSIZE/2)-10,70,20);
  DIS_String((LCD_XSIZE/4*1)-32,(LCD_YSIZE/2)-8,"按鍵測試");
  AUTO_BMP(LCD_XSIZE-50,LCD_YSIZE-50,0,3,2);
  while(1)
  {
      PINT = 1;     //將PINT設為輸入端口
      //判斷是否有觸摸事件發生。
      if(PINT ==0)
	  {
        DIS_Value((6*16),64,CHX_DAT,3);
        DIS_Value((6*16),80,CHY_DAT,3);
		if(CHX_DAT > ((LCD_XSIZE/4*1)-35) && CHX_DAT < ((LCD_XSIZE/4*1)+35) &&
		    CHY_DAT > ((LCD_YSIZE/2)-10) && CHY_DAT < ((LCD_YSIZE/2)+10))      //判斷點擊處是否在按鍵區域,如果是往下執行
		{
            inv_squ((LCD_XSIZE/4*1)-35,(LCD_YSIZE/2)-10,70,20);   //反色按鈕。
			//用戶可在這里加上自己的處理程序,實現按鍵功能。

			test_timer();
            while(PINT ==0){}    //等待PINT為高電平,即放開按鍵。
            inv_squ((LCD_XSIZE/4*1)-35,(LCD_YSIZE/2)-10,70,20);   //反色按鈕(恢復原來顏色)。
		}
        else 
		{DIS_Ellipse(CHX_DAT,CHY_DAT,4,4);} //如果沒有點擊到按鍵,則在按下觸摸屏的位置顯示一個小圓形。
        while(PINT ==0){}    //等待PINT為高電平。即放開按鈕。
	  }
  }
}
//=========================================================
//測試從顯示終端機讀取時間。
test_timer()
{
  uchar  i;

  Read_date();
  while(Date[0] == 0){}   //等待顯示終端機送年月日數據到單片機
  for(i=0;i<3;i++)
  {
     DIS_Value((6*16)+(i*24),32,Date[i+1],2);
  }
  Read_time();
  while(Date[4] == 0){}   //等待顯示終端機送時分秒數據到單片機
  for(i=0;i<3;i++)
  {
     DIS_Value((6*16)+(i*24),48,Date[i+5],2);
  }
}
//===================================================================
//指令頭,每一條指令都規定為"0x81, command1,command2,Fcolor,Bcolor"
command_head(unsigned char command1,unsigned char command2)
{
   Write_Byte(0x81);
   Write_Byte(command1);
   Write_Byte(command2);
   Write_Byte(Fcolor);
   Write_Byte(Bcolor);
}
//===================================================================
//清屏
Lcd_Clr()
{
   command_head(0x43,0x4c);   //總共發送了五個字節:0x81,0x43,0x4c,Fcolor,Bcolor
   Write_Byte(0x84);
}
//===================================================================
// 清矩形
void Clr_squ(unsigned short x0,unsigned short y0,unsigned short width,unsigned short heith)
{
   command_head(0x43,0x58);
   Write_Byte(x0/100);		 //x軸坐標,取整運算,高低兩個字節100進1
   Write_Byte(x0%100);		 //x軸坐標,取模運算
   Write_Byte(y0/100);		 //Y軸坐標
   Write_Byte(y0%100);

   Write_Byte(width/100);	 //矩形的寬,取整運算,高低兩個字節100進1
   Write_Byte(width%100);
   Write_Byte(heith/100);	 //矩形的高
   Write_Byte(heith%100);

   Write_Byte(0x84);
}
//=================================================
// 反色矩形
void inv_squ(unsigned short x0,unsigned short y0,unsigned short width,unsigned short heith)
{
   command_head(0x43,0x4e);
   Write_Byte(x0/100);
   Write_Byte(x0%100);
   Write_Byte(y0/100);
   Write_Byte(y0%100);

   Write_Byte(width/100);
   Write_Byte(width%100);
   Write_Byte(heith/100);
   Write_Byte(heith%100);

   Write_Byte(0x84);
}
//================================================
//讀取年月日
Read_date()
{
     Date[0] = 0;		//Date[0]清零,當年月日數據更新后將賦值0xf8,可用查詢方式確認數據是否已經更新
     command_head(0x52,0x44);
     Write_Byte(0x84);
}
//================================================
//讀取時分秒
Read_time()
{
     Date[4] = 0; 		//Date[4]清零,當時分秒數據更新后將賦值0xf9,可用查詢方式確認數據是否已經更新
     command_head(0x52,0x54);
     Write_Byte(0x84);
}
//===============================================
//畫圓子程序。
DIS_Ellipse(unsigned short x0,unsigned short y0,unsigned short xr,unsigned short yr)
{
   command_head(0x44,0x45);
   Write_Byte(x0/100);
   Write_Byte(x0%100);
   Write_Byte(y0/100);
   Write_Byte(y0%100);
   Write_Byte(xr/100);
   Write_Byte(xr%100);
   Write_Byte(yr/100);
   Write_Byte(yr%100);
   Write_Byte(x0/100);
   Write_Byte(0x84);
}
//================================================
//畫直線子程序。
DIS_Line(unsigned short x0,unsigned short y0,unsigned short x1,unsigned short y1,unsigned short with)
{

   command_head(0x44,0x4c);
   Write_Byte(x0/100);
   Write_Byte(x0%100);
   Write_Byte(y0/100);
   Write_Byte(y0%100);
   Write_Byte(x1/100);
   Write_Byte(x1%100);
   Write_Byte(y1/100);
   Write_Byte(y1%100);
   Write_Byte(with/100);
   Write_Byte(with%100);
   Write_Byte(0x84);
}
//===============================================
//在指定的開始位置(x0,y0)顯示字符串子程序。
//當x0大于800且已打開光標功能時在以光標為開始位置顯示字符串子程序。
DIS_String(unsigned short x0,unsigned short y0,char *fmt)
{

   command_head(0x44,0x57);

   Write_Byte(x0/100);
   Write_Byte(x0%100);
   Write_Byte(y0/100);
   Write_Byte(y0%100);

   while(*fmt)			//為0時(字符串結束)退出
   {
     Write_Byte(*fmt);
	 fmt++;
   }
   Write_Byte(0x84);
}
//==============================================
//開(關)顯示時間子程序
void Dis_time(unsigned short x0,unsigned short y0,unsigned char i)
{
   command_head(0x44,0x54);
   Write_Byte(x0/100);
   Write_Byte(x0%100);
   Write_Byte(y0/100);
   Write_Byte(y0%100);
   Write_Byte(i);		//顯示方式,若是0則關時間顯示
   Write_Byte(0x84);
}
//==============================================
//設置時間子程序;
//年,月,日,時 ,分,秒,星期。
void Set_time(uchar year,uchar month,uchar day,uchar hour,uchar minute,uchar second,uchar date)
{
   command_head(0x53,0x54);
   Write_Byte(year);
   Write_Byte(month);
   Write_Byte(day);
   Write_Byte(hour);
   Write_Byte(minute);
   Write_Byte(second);
   Write_Byte(date);
   Write_Byte(0x84);
}
//================================================
//顯示變量子程序
DIS_Value(unsigned short x0,unsigned short y0,unsigned short Va,unsigned char i)
{
   command_head(0x44,0x56);
   Write_Byte(x0/100);
   Write_Byte(x0%100);
   Write_Byte(y0/100);
   Write_Byte(y0%100);

   Write_Byte(Va/100);
   Write_Byte(Va%100);
   Write_Byte(i);		         //顯示的域寬
   Write_Byte(0x84);
}
//================================================
//顯示位圖子程序
DIS_BMP(unsigned short x0,unsigned short y0,uchar N1)
{
   command_head(0x44,0x53);
   Write_Byte(x0/100);
   Write_Byte(x0%100);
   Write_Byte(y0/100);
   Write_Byte(y0%100);
   Write_Byte(N1);				//位圖在Flash中的編號
   Write_Byte(0x84);
}
//================================================
//自動顯示位圖子程序
AUTO_BMP(unsigned short x0,unsigned short y0,uchar N1,uchar N2,uchar T)
{
   command_head(0x5a,0x44);
   Write_Byte(x0/100);
   Write_Byte(x0%100);
   Write_Byte(y0/100);
   Write_Byte(y0%100);
   Write_Byte(N1);				//開始的位圖編號
   Write_Byte(N2);				//結束的位圖編號
   Write_Byte(T);				//位圖顯示的切換間隔時間
   Write_Byte(0x84);
}
//================================================
//保存當前窗口至后臺子程序
void push_windows(unsigned char mun_dc)
{command_head(0x43,0x44);
 Write_Byte(mun_dc);			//后臺編號
 Write_Byte(0x84);
}
//================================================
//恢復之前保存在后臺的窗口
void pop_windows(unsigned char mun_dc)
{command_head(0x45,0x44);
 Write_Byte(mun_dc);			//后臺編號
 Write_Byte(0x84);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆一区二区三区| 久久蜜桃香蕉精品一区二区三区| 成人永久aaa| 韩国女主播一区二区三区| 免费观看在线色综合| 日韩av成人高清| 免费三级欧美电影| 精品亚洲国产成人av制服丝袜 | 国产91综合一区在线观看| 蜜臀91精品一区二区三区| 日韩av在线播放中文字幕| 久久草av在线| 成人动漫视频在线| 欧洲一区在线观看| 69堂成人精品免费视频| 欧美精品一区二区久久婷婷| 久久久午夜精品理论片中文字幕| 欧美激情中文字幕一区二区| 亚洲欧洲成人自拍| 一级特黄大欧美久久久| 日韩av二区在线播放| 国产999精品久久| 欧美无人高清视频在线观看| 欧美福利视频一区| 久久女同精品一区二区| 亚洲人成伊人成综合网小说| 亚洲成人av在线电影| 国产在线观看一区二区| av电影天堂一区二区在线| 欧美精品日韩一区| 国产日产亚洲精品系列| 亚洲第一狼人社区| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 一本大道久久a久久精二百| 欧美主播一区二区三区美女| 日韩欧美高清在线| 亚洲精品美国一| 久久99精品久久久久| 色就色 综合激情| 日韩久久免费av| 亚洲在线免费播放| 国产999精品久久| 欧美一级淫片007| 亚洲免费观看在线视频| 国产乱色国产精品免费视频| 日本精品一区二区三区高清 | 国产很黄免费观看久久| 色94色欧美sute亚洲线路一ni| 欧美电视剧在线看免费| 亚洲美女在线国产| 成人三级伦理片| 久久久久久一级片| 蜜桃av一区二区三区| 欧美性xxxxxx少妇| 中文字幕亚洲一区二区av在线| 久久成人免费网| 欧美一区二区三区在线电影| 亚洲综合另类小说| 91丨porny丨在线| 国产精品久久久久影院| 国产乱子伦视频一区二区三区| 日韩一级免费一区| 日韩激情一二三区| 欧美日本在线观看| 午夜在线电影亚洲一区| 欧美性大战久久久久久久蜜臀| 日韩美女啊v在线免费观看| 国产一区视频导航| 久久这里只有精品6| 久久99精品网久久| 精品国产一区二区三区久久影院 | 久久精品一区二区三区四区| 久久www免费人成看片高清| 911精品产国品一二三产区| 香蕉加勒比综合久久| 在线一区二区三区四区五区| 一片黄亚洲嫩模| 欧美片网站yy| 久久国产视频网| 久久婷婷久久一区二区三区| 国产一区亚洲一区| 国产精品理伦片| 日本高清成人免费播放| 亚洲综合成人网| 67194成人在线观看| 蓝色福利精品导航| 久久精品网站免费观看| 不卡影院免费观看| 亚洲图片自拍偷拍| 欧美一级精品大片| 国产成人日日夜夜| 一区二区三区在线视频观看58 | 日韩欧美国产一二三区| 黄色日韩三级电影| 国产精品网站在线播放| 99久久精品国产一区二区三区 | 国产成人综合自拍| 亚洲伦在线观看| 91精品欧美综合在线观看最新| 日韩精品乱码免费| 久久久精品tv| 欧美在线高清视频| 国产真实乱偷精品视频免| 国产精品第四页| 欧美精品高清视频| 国产成人精品三级| 亚洲mv在线观看| 国产亚洲视频系列| 欧美日韩午夜精品| 国产99久久精品| 日本女优在线视频一区二区| 久久美女艺术照精彩视频福利播放| 不卡一区在线观看| 奇米在线7777在线精品| 中文字幕中文字幕中文字幕亚洲无线| 欧美色偷偷大香| 丁香婷婷综合色啪| 麻豆国产一区二区| 亚洲三级免费电影| 国产亚洲人成网站| 欧美一级夜夜爽| 在线观看免费视频综合| 国产精品18久久久| 日韩av一区二| 亚洲第一在线综合网站| 国产精品久久二区二区| 欧美成人精品高清在线播放 | 精品国产区一区| 欧美色窝79yyyycom| 国产一区二区电影| 奇米一区二区三区| 亚洲成人动漫精品| 亚洲你懂的在线视频| 国产欧美精品一区二区三区四区| 91精品国产综合久久国产大片 | 国内精品国产三级国产a久久| 亚洲女同女同女同女同女同69| 国产亚洲精品精华液| 欧美一区二区三区四区五区 | 久久久777精品电影网影网 | 国产精品中文欧美| 免费在线观看视频一区| 日韩不卡一区二区| 日本成人中文字幕在线视频| 亚洲线精品一区二区三区八戒| 国产精品福利av| 国产精品入口麻豆九色| 久久精品水蜜桃av综合天堂| 久久只精品国产| 久久久99精品免费观看不卡| 久久亚洲春色中文字幕久久久| 日韩欧美一二三四区| 日韩欧美一区二区视频| 日韩亚洲欧美成人一区| 日韩欧美黄色影院| 精品福利av导航| 久久久久久久久久久久久女国产乱| 欧美mv日韩mv| 久久久久国色av免费看影院| 精品国产伦一区二区三区观看体验| 3d动漫精品啪啪一区二区竹菊| 91麻豆精品91久久久久久清纯| 欧美精品高清视频| 精品福利一二区| 国产精品久久久久久久浪潮网站| 亚洲欧美怡红院| 亚洲最大的成人av| 日本欧美一区二区三区| 久久电影网站中文字幕| 成人动漫一区二区三区| 日本道色综合久久| 欧美一区二区免费观在线| 久久午夜羞羞影院免费观看| 中文字幕一区二区三| 午夜婷婷国产麻豆精品| 精品中文字幕一区二区小辣椒| 国产福利一区二区三区视频在线| 9久草视频在线视频精品| 欧美日韩一卡二卡三卡| 26uuu国产电影一区二区| ...xxx性欧美| 蜜臀久久99精品久久久久宅男| 国产成人免费视| 欧美丰满高潮xxxx喷水动漫| 国产亚洲综合在线| 亚洲国产毛片aaaaa无费看| 狠狠色综合播放一区二区| 91免费版在线| 欧美sm美女调教| 一区二区免费看| 国产91高潮流白浆在线麻豆| 91国产福利在线| 国产偷国产偷精品高清尤物| 亚洲午夜一区二区| 成人午夜私人影院| 欧美日本韩国一区| 国产精品国产三级国产专播品爱网| 亚洲国产日韩a在线播放 | 亚洲视频 欧洲视频| 麻豆精品在线播放|