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

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

?? vterminal_uart.c

?? wq_vga.rar,系列C51列程
?? C
字號:
//智能顯示終端串口(Uart)通信演示程序。
//
#include <reg51.h>
#include <stdio.h>
#include <string.h>
#define uchar unsigned char

uchar  Fcolor;                 		//背景色
uchar  Bcolor;                 		//前景色
unsigned short CHX_DAT,CHY_DAT;     //觸摸屏坐標變量(CHX_DAT:橫坐標,CHY_DAT:縱坐標)
unsigned char  Date[8];				//時間儲存區
unsigned char  touch_en=0;
unsigned char  rx_count;
unsigned char  rc_timer_en=0;
//===========================================
//函數聲明
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);

//============================================
//LCD 分辨率為 320X240 640X480 或800X600
#define  LCD_XSIZE    640    
#define  LCD_YSIZE    480 
 
main(void)
{
  unsigned int i;

//對AT89C51(11.059MHz)的串口初始化
  TMOD=0x20;                              //定時器1設置為模式2
  SM0=0;
  SM1=1;                                  //設置串口為方式1,10位異步收發
  PCON=PCON|0x80;                         //波特率加倍
  TL1=0xFD;
  TH1=0xFD;                               //波特率為19200
  TR1=1;                                  //啟動定時器1
  REN = 1;                                //允許串口接受使能

  EA=1;                                   //全局中斷使能,(EA=0,關全局中斷;EA=1,開全局中斷)
  ES = 1;                                 //串口中斷使能置1,允許串口中斷

  Fcolor = 0x0;
  Bcolor = 0xff;
  i = 0;

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

  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,"讀取年月日:");
  Read_date();
  for(i=0;i<3;i++)
  {
     DIS_Value((6*16)+(i*24),32,Date[i+1],2);
  }
  DIS_String(0,48,"讀取時分秒:");
  Read_time();
  for(i=0;i<3;i++)
  {
     DIS_Value((6*16)+(i*24),48,Date[i+5],2);
  }

  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)
  {
      //判斷是否有觸摸事件發生。
      if(touch_en==5)
	  {
        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);   //反色按鈕。
			//用戶可在這里加上自己的處理程序,實現按鍵功能。
            while(touch_en!=2){}    //等待放開按鍵。
            inv_squ((LCD_XSIZE/4*1)-35,(LCD_YSIZE/2)-10,70,20);   //反色按鈕(恢復原來顏色)。
		}
        else 
		{DIS_Ellipse(CHX_DAT,CHY_DAT,4,4);} //如果沒有點擊到按鍵,則在按下觸摸屏的位置顯示一個小圓形。
        touch_en = 0;
	  }
  }
}
//=====================================================================
//查看一個字符是否傳送完畢,當一個字符傳送完畢后TI位會被硬件置1;
void check_uart(void)
{
  while(TI==0)
  {}
   TI=0;
}
//=====================================================================
//指令頭,每一條指令都規定為"0x81, command1,command2,Fcolor,Bcolor"
command_head(unsigned char command1,unsigned char command2)
{
   TI=0;
   SBUF= 0x81;
   check_uart();
   SBUF= command1;
   check_uart();
   SBUF= command2;
   check_uart();

   SBUF= Fcolor;
   check_uart();
   SBUF= Bcolor;
   check_uart();
}
//=====================================================
//指令頭+x0+y0
command_head2(uchar command1,uchar command2,unsigned short x0,unsigned short y0)
{
   command_head(command1,command2);

   SBUF= x0/100;
   check_uart();
   SBUF= x0%100;
   check_uart();
   SBUF= y0/100;
   check_uart();
   SBUF= y0%100;
   check_uart();
}
//====================================================
//清屏子程序
Lcd_Clr()
{
   command_head(0x43,0x4c);		//總共發送了五個字節:0x81,0x43,0x4c,Fcolor,Bcolor
   SBUF= 0x84;
   check_uart();
}
//===================================================
// 清矩形
void Clr_squ(unsigned short x0,unsigned short y0,unsigned short width,unsigned short heith)
{
   command_head2(0x43,0x58,x0,y0);

   SBUF= width/100;
   check_uart();
   SBUF= width%100;
   check_uart();
   SBUF= heith/100;
   check_uart();
   SBUF= heith%100;
   check_uart();

   SBUF= 0x84;
   check_uart();
}
//==========================================================
// 反色矩形
void inv_squ(unsigned short x0,unsigned short y0,unsigned short width,unsigned short heith)
{
   command_head2(0x43,0x4e,x0,y0);

   SBUF= width/100;
   check_uart();
   SBUF= width%100;
   check_uart();
   SBUF= heith/100;
   check_uart();
   SBUF= heith%100;
   check_uart();

   SBUF= 0x84;
   check_uart();
}
//====================================================
//讀取年月日
Read_date()
{
     command_head(0x52,0x44);
     SBUF= 0x84;
     check_uart();
     while(rc_timer_en != 5){}
     rc_timer_en = 0;
}
//=====================================================
//讀取時分秒
Read_time()
{
     command_head(0x52,0x54);
     SBUF= 0x84;
     check_uart();
     while(rc_timer_en != 6){}
     rc_timer_en = 0;
}
//=====================================================
//畫圓子程序。
DIS_Ellipse(unsigned short x0,unsigned short y0,unsigned short xr,unsigned short yr)
{
   command_head2(0x44,0x45,x0,y0);

   SBUF= xr/100;
   check_uart();
   SBUF= xr%100;
   check_uart();
   SBUF= yr/100;
   check_uart();
   SBUF= yr%100;
   check_uart();

   SBUF= 0x84;
   check_uart();
}
//======================================================
//畫直線子程序。
DIS_Line(unsigned short x0,unsigned short y0,unsigned short x1,unsigned short y1,unsigned short with)
{

   command_head2(0x44,0x4c,x0,y0);

   SBUF= x1/100;
   check_uart();
   SBUF= x1%100;
   check_uart();
   SBUF= y1/100;
   check_uart();
   SBUF= y1%100;
   check_uart();

   SBUF= with/100;
   check_uart();
   SBUF= with%100;
   check_uart();

   SBUF= 0x84;
   check_uart();
}
//=======================================================
//顯示字符串子程序。
DIS_String(unsigned short x0,unsigned short y0,char *fmt)
{
   command_head2(0x44,0x57,x0,y0);

   while(*fmt)			//為0時(字符串結束)退出
   {
     SBUF= *fmt;
     check_uart();
	 fmt++;
   }
   SBUF= 0x84;
   check_uart();
}
//========================================================
//開(關)顯示時間子程序
void Dis_time(unsigned short x0,unsigned short y0,unsigned char i)
{
   command_head2(0x44,0x54,x0,y0);

   SBUF= i;			//顯示方式,若是0則關時間顯示
   check_uart();
   SBUF= 0x84;
   check_uart();
}
//======================================================
//設置時間子程序;
//年,月,日,時 ,分,秒,星期。
void Set_time(uchar year,uchar month,uchar day,uchar hour,uchar minute,uchar second,uchar date)
{
   command_head(0x53,0x54);
   SBUF= year;
   check_uart();
   SBUF= month;
   check_uart();
   SBUF= day;
   check_uart();
   SBUF= hour;
   check_uart();
   SBUF= minute;
   check_uart();
   SBUF= second;
   check_uart();
   SBUF= date;
   check_uart();

   SBUF= 0x84;
   check_uart();
}
//=======================================================
//顯示變量子程序
DIS_Value(unsigned short x0,unsigned short y0,unsigned short Va,unsigned char i)
{
   command_head2(0x44,0x56,x0,y0);
   SBUF= Va/100;
   check_uart();
   SBUF= Va%100;
   check_uart();

   SBUF= i;			//顯示的域寬
   check_uart();
   SBUF= 0x84;
   check_uart();
}
//========================================================
//顯示位圖子程序
DIS_BMP(unsigned short x0,unsigned short y0,uchar N1)
{
   command_head2(0x44,0x53,x0,y0);

   SBUF= N1;			//位圖在Flash中的編號
   check_uart();
   SBUF= 0x84;
   check_uart();
}
//=======================================================
//自動顯示位圖子程序
AUTO_BMP(unsigned short x0,unsigned short y0,uchar N1,uchar N2,uchar T)
{
   command_head2(0x5a,0x44,x0,y0);
   SBUF= N1;			//開始的位圖編號
   check_uart();
   SBUF= N2;			//結束的位圖編號
   check_uart();
   SBUF= T;				//位圖顯示的切換間隔時間
   check_uart();
   SBUF= 0x84;
   check_uart();
}
//=====================================================
//保存當前窗口至后臺子程序
void push_windows(unsigned char mun_dc)
{command_head(0x43,0x44);
 SBUF=mun_dc;			//后臺編號
 check_uart();
 SBUF= 0x84;
 check_uart();
}
//================================================
//恢復之前保存在后臺的窗口
void pop_windows(unsigned char mun_dc)
{command_head(0x45,0x44);
 SBUF=mun_dc;			//后臺編號
 check_uart();
 SBUF= 0x84;
 check_uart();
}
//======================================================
/*從智能顯示終端模塊讀數據到單片機的數據格式是
                   0     1      2      3      4
觸摸屏數據格式: 0xF2  CHX_H  CHX_L  CHY_H  CHY_L   其中0xF2是按下按鈕,CHX_H,CHX_L分別是X軸的高位字節和低位字節。
觸摸屏數據格式: 0xF3  CHX_H  CHX_L  CHY_H  CHY_L   其中0xF3是放開按鈕,CHX_H,CHX_L分別是X軸的高位字節和低位字節。
年月日數據格式: 0xF8    年    月     日    星期
時分秒數據格式: 0xF9    時    分     秒
上電就緒      :  0xF0
*/
/*uart 中斷程序*/
void uart_int( ) interrupt 4 using 1       
{ 
   unsigned char temp1;

   EA=0;
   if(RI==1)
   {
      temp1 = SBUF;
	  if(temp1 < 0xf0)      //小于F0的數據為參數,大于F0的數據為前導字節。
	  {
	      if(touch_en ==1)   //觸摸屏接收充許,開始接收觸摸屏數據。
		  {
	         switch(rx_count)
			 {
		        case 0 : CHX_DAT = temp1*100;rx_count=1;      break;
	            case 1 : CHX_DAT = CHX_DAT + temp1; rx_count=2;   break;
	            case 2 : CHY_DAT = temp1*100;rx_count=3;      break;
	            case 3 : CHY_DAT = CHY_DAT + temp1; rx_count=0;touch_en=5; break;
			 }
		  }
          if(rc_timer_en ==1)  //年月日接收充許,開始接收年月日數據。
		  {
              Date[rx_count++] = temp1;
              if(rx_count ==5){rc_timer_en = 5;}
		  }
          if(rc_timer_en ==2)  //時分秒接收充許,開始接收時分秒數據。
		  {
              Date[rx_count++] = temp1;
              if(rx_count ==8){rc_timer_en = 6;}
		  }
	  }
	  else
	  {
	      switch(temp1)
		  {
		     case 0xf2 : touch_en = 1;rx_count =0;      break;   //充許接收觸摸屏數據
		     case 0xf3 : touch_en = 2;rx_count =0;      break;   //充許接收觸摸屏數據
	         case 0xf8 : rc_timer_en = 1; rx_count =1;   break;  //充許接收年月日數據
	         case 0xf9 : rc_timer_en = 2; rx_count =5;   break;  //充許接收時分秒數據
		  }
	  }
      RI =0;
   }
   EA=1;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
白白色 亚洲乱淫| 91精品欧美综合在线观看最新 | 蜜臀av性久久久久蜜臀aⅴ四虎| 久久综合狠狠综合久久综合88| 91丨九色丨尤物| 国产主播一区二区三区| 亚洲综合视频在线观看| 国产精品区一区二区三区| 日韩一区二区三区视频在线观看| 99re视频精品| 丰满岳乱妇一区二区三区| 琪琪一区二区三区| 亚洲国产成人av| 亚洲免费观看高清| 国产欧美一区二区精品性色超碰| 91精品国产综合久久福利| 色综合久久66| 91一区二区三区在线播放| 国产成人亚洲精品青草天美| 蜜臀久久99精品久久久久宅男 | 日本久久一区二区| 高清国产一区二区三区| 看电视剧不卡顿的网站| 视频一区在线播放| 三级亚洲高清视频| 亚洲福利一区二区三区| 一区二区欧美精品| 亚洲靠逼com| 亚洲欧美另类久久久精品| 国产精品丝袜黑色高跟| 欧美国产一区二区| 国产三级精品视频| 国产日韩精品一区| 国产婷婷色一区二区三区在线| 精品国产乱子伦一区| 欧美一级黄色大片| 欧美一级欧美三级| 日韩欧美激情四射| 精品三级在线观看| 久久综合一区二区| 精品国产污污免费网站入口| 日韩亚洲欧美在线| 日韩欧美一二三四区| 日韩色视频在线观看| 欧美tickling网站挠脚心| 欧美成va人片在线观看| 亚洲精品一区二区三区香蕉| 2023国产精品| 国产精品五月天| 国产精品二区一区二区aⅴ污介绍| 国产精品久久久久久亚洲毛片| 国产精品免费视频观看| 国产精品乱人伦| 亚洲精品视频在线观看免费| 一区二区三区中文在线| 五月天丁香久久| 乱中年女人伦av一区二区| 国产老肥熟一区二区三区| 国产东北露脸精品视频| 99久久免费精品高清特色大片| 色94色欧美sute亚洲线路一ni| 欧美日韩久久一区| 精品国产乱码久久久久久久久| 久久综合视频网| 日韩毛片高清在线播放| 亚洲国产一区视频| 激情文学综合插| 成人18精品视频| 欧美日韩免费一区二区三区 | 91精品国产欧美一区二区18| 欧美电影免费观看高清完整版在| 久久久国产一区二区三区四区小说 | 91色|porny| 欧美精品丝袜久久久中文字幕| 欧美成人官网二区| 中文字幕日本乱码精品影院| 天涯成人国产亚洲精品一区av| 国内精品在线播放| 在线观看91视频| 久久先锋影音av| 一区二区欧美视频| 国产麻豆精品久久一二三| 91片黄在线观看| 欧美mv和日韩mv国产网站| 中文字幕日韩av资源站| 日本不卡一二三| 99视频精品在线| 欧美哺乳videos| 亚洲精品videosex极品| 精品午夜一区二区三区在线观看 | 日韩一区二区在线观看| 中文字幕一区二区三区四区不卡| 无码av中文一区二区三区桃花岛| 国产福利一区二区三区视频| 欧美日韩精品高清| 中文字幕一区二区三区不卡 | 欧美在线|欧美| 国产网站一区二区| 青青草成人在线观看| 一本一道久久a久久精品 | 这里只有精品99re| 一区二区中文视频| 国内外精品视频| 这里只有精品免费| 亚洲制服欧美中文字幕中文字幕| 国产成人av电影| 精品国产免费人成电影在线观看四季 | 色婷婷激情久久| 国产日韩亚洲欧美综合| 青青草原综合久久大伊人精品| 91久久精品一区二区三区| 久久久电影一区二区三区| 日韩电影一二三区| 在线观看欧美精品| 亚洲另类在线制服丝袜| av激情综合网| 国产精品天美传媒沈樵| 国产一区二区三区四区五区入口| 91麻豆精品国产| 亚洲一区二区三区视频在线| av中文一区二区三区| 久久精品夜夜夜夜久久| 韩国三级在线一区| 欧美v国产在线一区二区三区| 三级欧美韩日大片在线看| 欧美日韩免费高清一区色橹橹| 亚洲精品成a人| 欧洲精品一区二区| 一区二区在线观看免费| 色综合久久久久| 亚洲一区二区四区蜜桃| 色综合欧美在线| 亚洲亚洲人成综合网络| 欧美影院精品一区| 亚洲大片免费看| 91精品久久久久久久久99蜜臂| 天天综合色天天| 7777精品伊人久久久大香线蕉超级流畅| 一区二区三区免费| 欧美视频在线一区二区三区| 亚洲mv在线观看| 91精品国产一区二区人妖| 日本不卡视频在线| 欧美精品一区二区久久婷婷| 国产一区二区三区免费看| 久久久影视传媒| 成人国产免费视频| 亚洲免费毛片网站| 欧美色网一区二区| 日韩av电影一区| 久久综合精品国产一区二区三区| 国产福利精品导航| 成人欧美一区二区三区在线播放| 色狠狠综合天天综合综合| 亚洲黄一区二区三区| 欧美美女激情18p| 久久不见久久见免费视频7| 国产欧美精品国产国产专区| 99视频在线精品| 视频一区欧美日韩| 2019国产精品| 色综合天天综合在线视频| 亚洲成av人片在线观看| 欧美一级精品大片| 成人av高清在线| 午夜天堂影视香蕉久久| 欧美电影免费观看高清完整版在线观看| 国产高清无密码一区二区三区| 亚洲人快播电影网| 欧美一卡二卡三卡四卡| 国产成人亚洲综合a∨猫咪| 亚洲黄色av一区| 精品国内片67194| 99国产精品久久| 蜜臀av一区二区在线免费观看| 国产精品欧美久久久久无广告| 欧美日韩在线不卡| 国产精品18久久久久久久久| 亚洲综合丁香婷婷六月香| 久久嫩草精品久久久精品一| 一本色道亚洲精品aⅴ| 麻豆91免费观看| 亚洲精品第1页| 久久精品这里都是精品| 欧美日韩国产一级| 成人动漫中文字幕| 美女精品自拍一二三四| 亚洲特黄一级片| 精品国产乱码久久久久久免费| 91精品福利视频| 成人精品小蝌蚪| 美洲天堂一区二卡三卡四卡视频| 中文字幕中文字幕一区| 日韩一区二区电影在线| 欧美性猛交xxxxxxxx| 国产 欧美在线| 韩国视频一区二区| 日韩av一区二区三区| 亚洲主播在线播放| 国产精品国产精品国产专区不蜜|