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

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

?? cmpmnck.c

?? 51單片機模擬串口
?? C
字號:
//本程序為Franklin/keil  C51源程序,可以在所有51系列(或兼容)單片機中運行。
//完成功能:使用任意2個引腳模擬串行接口,實現對觸摸屏控制器數據的接收
//          和對KY系列智能液晶終端進行控制.
//程序中給出了設計方法,通過修改TIMEzq使本程序適用于各種晶振及各種波特率.
//本例為:當通訊波特率=9600Hz,單片機晶振=18.432MHz時,TIMEzq=50
//        使用P1.0模擬串口輸入,使用P1.1模擬串口輸出,使用P1.2檢測"忙"信號.
//本程序在Wave For windows ver 2.80仿真軟件編譯成功。
//在AT89C51(9600Hz,18.432MHz)中運行通過.運行結果是:將接收的XY坐標在屏幕左上角顯示并劃點.
//=========================================================================================
#include "reg51.h"
#define  uchar     unsigned char
#define  uint     unsigned int
sbit     CMP_DATA   =P1^0; //由此接收觸摸屏發出的串行數據,可以使用任一引腳.
sbit     ZD_DATA   =P1^1; //向液晶終端輸出串行數據,使用模擬串口輸出數據時,可以使用任一引腳.
sbit     ZD_BUSY   =P1^2; //接收液晶終端發來的"忙"(BUSY)信號,可以連接于任意一位輸入引腳上.
//=========================================================================================
bdata char  DATA; 
sbit    mb0=DATA^0;
sbit    mb1=DATA^1;
sbit    mb2=DATA^2;
sbit    mb3=DATA^3;
sbit    mb4=DATA^4;
sbit    mb5=DATA^5;
sbit    mb6=DATA^6;
sbit    mb7=DATA^7;
//=========================================================================================
#define  TIMEzq    50   //修改TIMEzq可使本程序適用于各種晶振及各種波特率.計算方法見文件尾。
//本例:AT89C51(9600Hz,18.432MHz)時 TIMEzq=50
//=========================================================================================
//延時函數TIME()
//為了得到精確的延時時間,不要修改本函數的形式,絕對不要修改!
void     TIME(void)
  {
  uchar i;
  for(i=0;i<TIMEzq;i++);
  }
//=========================================================================================
//延時函數TIME1B()
//為了得到精確的延時時間,不要修改本函數的形式,絕對不要修改!
void     TIME1B(void)
  {
  uchar i;
  for(i=0;i<(TIMEzq/2);i++);
  }
//=========================================================================================
//將sj(僅低4位有效)轉換為對應的ASCII碼
uchar zh16(uint sj)
{
  uchar sj1;
  sj1=sj&0xf;
  if (sj1>=0x0a) sj1=sj1+7;
  sj1=sj1+0x30;
  return sj1;
}
//=========================================================================================
//向終端發送一字節數據
//為了得到精確的延時時間,不要修改本函數的形式,絕對不要修改!
void FSsj(uchar sj)
  {
	 while(ZD_BUSY);
	 ZD_DATA =0;       //起始位=0
	 TIME();
	 ZD_DATA =sj&1;    //D0;12+24+24+24
	 TIME();
	 ZD_DATA =sj&2;    //D1
	 TIME();
	 ZD_DATA =sj&4;    //D2
	 TIME();
	 ZD_DATA =sj&8;    //D3
	 TIME();
	 ZD_DATA =sj&0x10; //D4
	 TIME();
	 ZD_DATA =sj&0x20; //D5
	 TIME();
	 ZD_DATA =sj&0x40; //D6
	 TIME();
	 ZD_DATA =sj&0x80; //D7
	 TIME();
	 ZD_DATA =0;       //奇偶位=0
	 TIME();
	 ZD_DATA =1;       //停止位=1
	 TIME();
  }
//=========================================================================================
//用CMP_DATA模擬串口接收數據
//為了得到精確的延時時間,不要修改本函數的形式,絕對不要修改!
//讀觸摸屏1個字節
uchar JSsj(void)
{
  	while(CMP_DATA);	//CMP_DATA=1,則等待.
    	TIME1B();
    	TIME();
    	mb0=CMP_DATA;	//D0
    	TIME();
    	mb1=CMP_DATA;	//D1
    	TIME();
    	mb2=CMP_DATA;	//D2
    	TIME();
    	mb3=CMP_DATA;	//D3
    	TIME();
    	mb4=CMP_DATA;	//D4
    	TIME();
    	mb5=CMP_DATA;	//D5
    	TIME();
    	mb6=CMP_DATA;	//D6
    	TIME();
    	mb7=CMP_DATA;	//D7
    	TIME();
    	TIME();
        return DATA;
}
//=========================================================================================
void main(void)
  {
        uchar zj2,zj3,zj4,zj5;  //接收觸摸屏數據的第2,3,4,5字節。
        uint Xzb,Yzb;//X坐標在Xzb中,Y坐標在Yzb中
        CMP_DATA=1;
        ZD_BUSY=1;
        ZD_DATA=1;
//清屏幕(黑色)
        FSsj(0X1B);
        FSsj(0X51);
        FSsj(0);
//循環接收數據,完成顯示和劃點任務
        while(1)
        {
        while(1){if(JSsj()==0xa0)break;}
        zj2=JSsj();
        zj3=JSsj();
        zj4=JSsj();
        zj5=JSsj();
//X坐標在Xzb中,Y坐標在Yzb中
    	Xzb=zj2;
    	Xzb=Xzb<<6;
    	Xzb=Xzb+zj3;
    	Yzb=zj4;
    	Yzb=Yzb<<6;
    	Yzb=Yzb+zj5;
//在左上角顯示收到數據
        FSsj(0X1B);
        FSsj('z');
        FSsj(0X90);
        FSsj(0);
        FSsj(0X80);
        FSsj(0);
        FSsj('X');
        FSsj('=');
        FSsj(zh16(Xzb>>8));
        FSsj(zh16(Xzb>>4));
        FSsj(zh16(Xzb));
        FSsj('H');
        FSsj(',');
        FSsj('Y');
        FSsj('=');
        FSsj(zh16(Yzb>>8));
        FSsj(zh16(Yzb>>4));
        FSsj(zh16(Yzb));
        FSsj('H');
//XY坐標除以4后劃點
        Xzb=Xzb/4;
        Yzb=Yzb/4;
        FSsj(0X1B);//劃點指令
        FSsj('d');
        FSsj(0XF0);//劃白點
        FSsj(Xzb);
        FSsj(0);
        FSsj(Yzb);
        }
  }
//=========================================================================================
//例1:當通訊波特率F=9.6KHz,單片機晶振Z=18.432MHz時,TIMEzq=50
//計算方法:
//當波特率為9.6KHz時,每個二進制位的寬度為104uS.振蕩周期數zq=(1000/9.6)*18.432MHz=1920個振蕩周期
//調用本函數的其它指令執行時間為(12+24*3+12*3)=120個振蕩周期.
//執行每個循環需要(12+24=36)個振蕩周期,則TIMEzq=(zq-120)/36=(1920-120)/36=50
//即:TIMEzq=[((1000/F)*Z)-120]/36=50
//-------------
//例2:當通訊波特率F=4.8KHz,單片機晶振Z=18.432MHz時:
//     TIMEzq=[((1000/F)*Z)-120]/36=103
//-------------
//例3:當通訊波特率F=19.2KHz,單片機晶振Z=18.432MHz時:
//     TIMEzq=[((1000/F)*Z)-120]/36=23
//-------------
//例4:當通訊波特率F=9.6KHz,單片機晶振Z=12.000MHz時:
//     TIMEzq=[((1000/F)*Z)-120]/36=31
//-------------
//例5:當通訊波特率F=4.8KHz,單片機晶振Z=12.000MHz時:
//     TIMEzq=[((1000/F)*Z)-120]/36=66
//-------------
//例6:當通訊波特率F=19.2KHz,單片機晶振Z=12.000MHz時:
//     TIMEzq=[((1000/F)*Z)-120]/36=14
//-------------
//例7:當通訊波特率F=9.6KHz,單片機晶振Z= 6.000MHz時:
//     TIMEzq=[((1000/F)*Z)-120]/36=14
//-------------
//例8:當通訊波特率F=9.6KHz,單片機晶振Z=11.0592MHz時:
//     TIMEzq=[((1000/F)*Z)-120]/36=28
//-------------
//例9:當通訊波特率F=9.6KHz,單片機晶振Z=22.1184MHz時:
//     TIMEzq=[((1000/F)*Z)-120]/36=60
//-------------
//例10:當通訊波特率F=9.6KHz,單片機晶振Z=24.0000MHz時:
//     TIMEzq=[((1000/F)*Z)-120]/36=66
//------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
大桥未久av一区二区三区中文| 亚洲高清免费在线| 91麻豆精品国产91久久久使用方法 | 在线亚洲+欧美+日本专区| 久久精品国产精品青草| 亚洲成人动漫av| 亚洲一区二区美女| 亚洲成人综合网站| 亚洲一区二区在线视频| 亚洲综合色在线| 午夜视频在线观看一区二区| 亚洲午夜免费福利视频| 一区二区三区**美女毛片| 亚洲精品视频一区| 亚洲综合视频在线| 午夜精品福利一区二区三区av| 香港成人在线视频| 麻豆91在线看| 国产高清精品网站| 99久久精品国产麻豆演员表| 色天使色偷偷av一区二区| 欧美日韩五月天| 日韩欧美中文字幕制服| 国产色一区二区| 亚洲美女淫视频| 婷婷夜色潮精品综合在线| 久久se精品一区二区| 国产精品99久久久久久宅男| 99re这里都是精品| 5566中文字幕一区二区电影| 久久久噜噜噜久久人人看| 中文字幕亚洲欧美在线不卡| 午夜亚洲福利老司机| 日韩主播视频在线| 国产电影精品久久禁18| 在线观看一区二区精品视频| 日韩精品中文字幕在线一区| 国产精品美女久久久久久2018 | 欧美丰满高潮xxxx喷水动漫| 日韩视频在线一区二区| 中文字幕电影一区| 视频一区二区三区中文字幕| 国产精品中文字幕欧美| 欧美日韩中文字幕一区二区| www一区二区| 亚洲成av人片一区二区三区| 国产激情精品久久久第一区二区 | 久久精品72免费观看| 99久久婷婷国产综合精品电影| 欧美妇女性影城| 国产精品视频一二| 日韩成人av影视| 99国产精品久久久久| 久久久久久免费网| 日本视频一区二区| 日本精品一区二区三区高清| 国产人妖乱国产精品人妖| 亚洲一线二线三线视频| 成人理论电影网| 欧美mv日韩mv国产| 亚洲成人精品一区二区| 91欧美一区二区| 国产无遮挡一区二区三区毛片日本| 亚洲v日本v欧美v久久精品| 成人一级视频在线观看| 日韩欧美在线123| 亚洲在线观看免费| 一本在线高清不卡dvd| 欧美激情自拍偷拍| 国产精品系列在线观看| 欧美成人一区二区| 日本不卡高清视频| 欧美高清dvd| 五月激情综合婷婷| 欧美肥妇bbw| 日韩激情一二三区| 欧美高清一级片在线| 午夜电影一区二区| 91麻豆精品国产91久久久久久| 一区二区欧美在线观看| 99国产精品久久久久久久久久久| 亚洲国产成人自拍| 成人av在线看| 国产精品久久久久久妇女6080| 国产成人精品午夜视频免费| 国产午夜精品福利| av资源网一区| 亚洲精品高清在线| 欧美视频在线一区| 无码av免费一区二区三区试看| 7777精品伊人久久久大香线蕉最新版| 亚洲一区视频在线| 91精品蜜臀在线一区尤物| 免费观看在线色综合| 精品欧美黑人一区二区三区| 国产精品一区二区三区四区| 久久精品日产第一区二区三区高清版 | 偷偷要91色婷婷| 日韩你懂的电影在线观看| 极品少妇xxxx精品少妇| 日本一区二区三级电影在线观看| 国产白丝网站精品污在线入口| 亚洲欧洲一区二区三区| 91福利国产精品| 蜜芽一区二区三区| 中文字幕第一区综合| 欧美在线短视频| 久久国产日韩欧美精品| 精品国产91九色蝌蚪| jiyouzz国产精品久久| 一区二区三区四区乱视频| 91精品国产综合久久婷婷香蕉| 精品一区二区三区视频在线观看| 日本一区二区三区四区| 欧美亚洲愉拍一区二区| 久久99国产精品久久99果冻传媒| 中文一区在线播放| 欧美日韩国产大片| 国产成人h网站| 亚洲国产精品天堂| 久久久久久久久久电影| 欧美色精品在线视频| 国产裸体歌舞团一区二区| 亚洲综合另类小说| 久久美女艺术照精彩视频福利播放 | 精品一区二区三区香蕉蜜桃| 亚洲四区在线观看| 精品少妇一区二区三区日产乱码| 舔着乳尖日韩一区| 亚洲欧美偷拍另类a∨色屁股| 日韩一区二区在线观看视频播放| aaa亚洲精品| 韩日av一区二区| 亚洲电影一区二区| 自拍偷拍国产精品| 国产喷白浆一区二区三区| 91麻豆精品国产91久久久久久久久 | 欧美日韩dvd在线观看| 成人激情免费电影网址| 精品中文字幕一区二区| 亚洲一级不卡视频| 一区在线中文字幕| 欧美国产精品中文字幕| 精品欧美一区二区三区精品久久 | 日韩在线观看一区二区| 中文字幕亚洲成人| 欧美国产精品v| 久久日韩精品一区二区五区| 在线播放中文字幕一区| 在线亚洲高清视频| 在线亚洲一区二区| 91碰在线视频| 99久久er热在这里只有精品66| 国产麻豆成人精品| 国产高清亚洲一区| 国产一区二区三区四区在线观看| 麻豆精品久久久| 美女国产一区二区| 蜜桃久久久久久| 蜜臀国产一区二区三区在线播放 | 精品国产3级a| 精品sm在线观看| 久久久亚洲国产美女国产盗摄| 精品第一国产综合精品aⅴ| 欧美不卡一区二区三区四区| 日韩一区和二区| 2021久久国产精品不只是精品| 日韩欧美中文字幕公布| 精品国产区一区| 国产欧美日韩视频在线观看| 国产欧美va欧美不卡在线| 国产精品理论在线观看| 亚洲欧洲av色图| 一区二区三区在线免费视频 | 日韩一区二区三区视频| 日韩视频免费观看高清完整版在线观看 | 最好看的中文字幕久久| 亚洲国产综合91精品麻豆| 偷窥国产亚洲免费视频| 久久国产剧场电影| 菠萝蜜视频在线观看一区| 99视频超级精品| 欧美视频日韩视频在线观看| 欧美私人免费视频| 亚洲国产精品久久不卡毛片| 午夜成人免费视频| 国产一二精品视频| 色综合天天综合网天天狠天天| 欧美疯狂做受xxxx富婆| 久久这里只有精品6| 亚洲欧美日韩在线不卡| 麻豆一区二区三| 91麻豆国产香蕉久久精品| 欧美美女一区二区三区| 久久免费精品国产久精品久久久久| 亚洲欧美中日韩| 久久99国产精品免费网站| 91在线国产福利| 欧美成人bangbros| 亚洲综合丁香婷婷六月香|