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

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

?? wendu.c

?? 可以將單片機與繼電器以及溫度傳感器結合實現溫度自動控制系統.例如可以用單片機顯示溫度傳感器測到的溫度,還可以在溫度到達一定界限時控制繼電器的通斷以達到控制電路通斷的效果.
?? C
?? 第 1 頁 / 共 2 頁
字號:
//////////////////////////////////////////////////////////////
//
//          1602子程序
//函數說明:delay(uchar d)             延時2us程序
//          lcd_wrcmd(uchar cmd)       寫命令子程序
//          lcd_wrdata(uchar lcddata)  寫數據子程序
//          lcd_h()                    建立自定義字符庫

//Version:  4.11
//說明   : 在Menu的界面支持OK鍵和快捷鍵

//Version:  4.2
// 說明  : 加入了TLC5620,當電壓大于5V時出現Warning界面
//Time   :  7/10   18:30

        
//////////////////////////////////////////////////////////////

#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define lcd_bus P1
#define key_bus P2
uchar offset=0x80;
uchar d[2]={0x30,0x30};
uchar tem1[3];
uchar tem2[4];
uchar tplsb,tpmsb;
uchar temp1,temp2;

sbit rs=P0^5;
sbit rw=P0^6;
sbit e =P0^7;
sbit DQ=P3^3;
sbit alert=P0^0;    

//sbit rs=P3^2;
//sbit rw=P3^3;
//sbit e =P3^4;
//sbit beep=P3^5;

sbit load=P2^0;
sbit sclk=P2^1;
sbit sdata=P2^2;

                    //年月攝氏度	
uchar code hanzi[]={0x80,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02,  
                    0xf,0x9,0xf,0x9,0xf,0x9,0x11,0,  
                    0x1C,0x14,0x1C,0x0,0x0,0x0,0x00,0x00,
                    0x06,0x08,0x10,0x10,0x10,0x08,0x06,0x00};  
uchar code table[15]={0,0x30,0,0x2e,0x37,0x38,0x39,0,0x34,0x35,0x36,0,0x31,0x32,0x33};   
uchar code num[11]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};   

                                
uchar code str1[]="THE MIN SYSTEM";
uchar code str2[]="the tempreture:";
//uchar code str3[]="INPUT PHASE:";
uchar code str4[]="A: voltage";  //電壓
uchar code str5[]="B: tempreture"; //溫度
uchar code str6[]="C: input";    //標定
uchar code str7[]="D: help";
uchar code he[]="*:OK #:UP(clear)";
uchar code am[]="please input:";
//uchar code warn[]="WARNING!!VOLTAGE < 5V";
uchar state=0;




/*dac_tlc5620(uchar send_char)
{
        uchar i;
        load=1;
        sclk=1;sdata=0;sclk=0;
        sclk=1;sdata=0;sclk=0;
        sclk=1;sdata=1;sclk=0;

        for(i=0;i<8;i++)
    	{
                sclk=1;
                if(send_char&0x80) sdata=1;
                else sdata=0;
            	sclk=0;
                send_char=send_char<<1;
    	}
        load=0;
        load=1;

}

*/

//////////////////////////////////////////
delay(uchar d)
{
        while(--d);
}


/**********判斷忙標志,返回的是一個位BF**********/
bit lcd_busy(void)
{
        uchar bflag;     
        rs=0;
        rw=1;
        _nop_();
        e=1;
        _nop_();
        lcd_bus=0xff;
        bflag=lcd_bus;
        e=0;
        return(bit)(bflag&0x80);    //BF=1 busy   
}



/*********寫命令,有兩個參數,第一個是要寫的命令控制字,
第二個是用來控制是否進行忙標志的判斷。
busyflag=1:判斷;為 0:不判斷****************/
void lcd_wrcmd(uchar cmd)
{
        while(lcd_busy());
        lcd_bus=cmd;
        rs=0;
        rw=0;
        _nop_();
        e=1;
        _nop_();
        _nop_();
        e=0; 
}


/************向液晶片寫數據***************/
void lcd_wrdata( uchar lcddata)
{
        while(lcd_busy());
        lcd_bus=lcddata;
        rs=1;
        rw=0;
        _nop_();
        e=1;
        _nop_();
        _nop_();
        e=0;
}

/****************初始化***************/
void lcd_ini(void)
{
        lcd_wrcmd(0x38); 
        delay(100);
        lcd_wrcmd(0x0c);
        delay(100);
        lcd_wrcmd(0x06);
        delay(100);
        lcd_wrcmd(0x01);
        delay(100);
}

//////////////////////////////////////////////
//
//    生成漢字子模函數
//    當lcd_wrdata(0);顯示第一個漢字
//    當lcd_wrdata(1);顯示第二個漢字
//
//////////////////////////////////////////////
lcd_h()
{
    uchar i;
    lcd_wrcmd(0x40);
    for(i=0;i<32;i++) lcd_wrdata(hanzi[i]);
}

/*****************讀按鍵***************/
uchar getkey()
{
    uchar keycode=0xff,temp,i;
    key_bus=0x0f;
    temp=key_bus&0x0f; 
    if(temp!=0x0f)              //有鍵按下
    {
       // beep=0;
        key_bus=0x7f;
        for(i=0;i<4;i++)
    	{
            temp=key_bus&0x0f;
            if(temp==0x07)
            {    
                keycode=i*4;
            	break;
    		}
            else if(temp==0x0b)
    		{
                keycode=i*4+1;
            	break;
    		}
            else if(temp==0x0d)
    		{
                keycode=i*4+2;
            	break;
    		}
            else if(temp==0x0e)
    		{
                keycode=i*4+3;
            	break;
    		}
            key_bus=(key_bus>>1)|0x80;
    	}

         while((key_bus&0x0f)!=0x0f)   //等待釋放
    	 {
             key_bus=0x0f; 
    	 }
    //   beep=1;                    			             
        
     }
     return keycode;
}       


welcome()
{
       
       uchar temp,i;
       lcd_wrcmd(0x0c);
       lcd_wrcmd(0x82); 
          
       for(i=0;i<14;i++)
            lcd_wrdata(str1[i]);
       lcd_h();
       lcd_wrcmd(0xc4);
       lcd_wrdata('2'); lcd_wrdata('0');lcd_wrdata('0');lcd_wrdata('7');
       lcd_wrdata(0);
       lcd_wrdata('0');lcd_wrdata('7');
       lcd_wrdata(1);
       while(1)
       {                                        	               
           temp=getkey();
           if(temp!=0xff)    //按任意鍵跳轉
           {
               state=1;  
               lcd_wrcmd(1);
               break;
           }
       }
}
   

/*phase()
{
       uchar i,j,cnt=0;    
       lcd_wrcmd(0x0f);
       lcd_wrcmd(0xc9);
       lcd_wrdata(2);
       lcd_wrcmd(0x83);
       for(i=0;i<12;i++)lcd_wrdata(str3[i]);
       lcd_wrcmd(0xc5);
       while(1)                  //按鍵處理

       { 
           i=getkey();
           if(i<10)
           {     cnt++;
                 if(cnt<=3)
        		 {	
                     lcd_wrcmd(0xc5+cnt-1);
                     lcd_wrdata(0x30+i);
                 }		 			 
                 else
        		 {
                     cnt=0;					 					 
                     lcd_wrcmd(0xc5);
                     for(j=0;j<=3;j++)
                         lcd_wrdata(' ');
                     lcd_wrcmd(0xc5);
                 }
            }
            else if(i==10)
            {
                 state=1;
                 lcd_wrcmd(0x0c);
                 lcd_wrcmd(1);
                 lcd_wrcmd(0x80);
            	 break;
        	}
            else if(i==11)
    		{
                cnt=0;      			 					 
                lcd_wrcmd(0xc5);
                for(j=0;j<=3;j++)
                lcd_wrdata(' ');
                lcd_wrcmd(0xc5);    
        	 }
    	}
}



frequency()
{
       uchar i,j,cnt=0;  // 假如將cnt定義成全局變量,當退出這個界面時,cnt仍然保存原來的值        
       lcd_wrcmd(0x80);  //會出現光標亂跳的錯誤
       lcd_wrcmd(0xce);
       lcd_wrdata('H');
       lcd_wrdata('Z');
       lcd_wrcmd(0x81);
       for(i=0;i<15;i++)lcd_wrdata(str2[i]);
       lcd_wrcmd(0x0f);
       lcd_wrcmd(0xc0);
       while(1)                  //按鍵處理
       { 
           i=getkey();
           if(i<10)
           {     cnt++;
                 if(cnt<=10)
        		 {	
                     lcd_wrcmd(0xc0+cnt-1);
                     lcd_wrdata(0x30+i);
                 }		 			 
                 else
        		 {
                     cnt=0;					 					 
                     lcd_wrcmd(0xc0);
                     for(j=0;j<=10;j++)
                         lcd_wrdata(' ');
                     lcd_wrcmd(0xc0);
                 }
            }
            else if(i==10)
            {
                 state=1;
                 lcd_wrcmd(0x0c);
                 lcd_wrcmd(1);
                 lcd_wrcmd(0x80);
            	 break;
        	}
            else if(i==11)
    		{
                cnt=0;      			 					 
                lcd_wrcmd(0xc0);
                for(j=0;j<=10;j++)
                lcd_wrdata(' ');
                lcd_wrcmd(0xc0);    
    		}
    	}

}

warning()
{
    uchar i,ii;
    lcd_wrcmd(1);
    lcd_wrcmd(0x0c);
    lcd_wrcmd(0x83);
    for(i=0;i<9;i++)
        lcd_wrdata(warn[i]);
    lcd_wrcmd(0xc1);	 
    for(i=0;i<12;i++)
        lcd_wrdata(warn[i+9]);
    while(1)
    {
        ii=getkey();
        if(ii!=0xff)
    	{
            lcd_wrcmd(1);
            break;
            
    	}

    }
}


uchar dac_convert(uchar *amp)
{
    uint v;
    v=amp[2]*100+amp[1]*10+amp[0];
    if(v<500)
    {
         v=32*v;
         dac_tlc5620(v/100);
         return 0;
     }
     else
     {
         return 1;
     }
        
}


amplitude()
{
     uchar i,ii;
     uchar amp[3],t=0;
     lcd_wrcmd(0x80);
     for(i=0;i<16;i++)
         lcd_wrdata(am[i]);
     lcd_wrcmd(0xcc);
     lcd_wrdata('V');
     lcd_wrcmd(0xc8);
     lcd_wrdata('.'); 
     lcd_wrcmd(0x0f);            //開光標
     lcd_wrcmd(0xc7);
     while(1)
     {
         ii=getkey();
         if(ii==10)
    	 {
             if(t==4)
        	 {
                 if(dac_convert(amp))
        		 {
                     warning();
                     break;
        		  }
        	 }
             lcd_wrcmd(0x0c);
             state=1;
             lcd_wrcmd(1);
             break;
    	 }
         if(ii<10)
         {	 
             t++;
             if(t==1)
        	 {
                lcd_wrcmd(0xc9);
        	 }
             if(t==2)t++;
             if(t==1)amp[2]=ii;
             else if(t==3)amp[1]=ii;
             else if(t==4)amp[0]=ii;	     

             if(t==5)
        	 {
                  t=0;
                  lcd_wrcmd(0xc7);
                  lcd_wrdata(' '); lcd_wrdata('.');lcd_wrdata(' ');lcd_wrdata(' ');
                  lcd_wrcmd(0xc7);
        	 }
        	 else
        	 {
                  lcd_wrcmd(0xc6+t);
                  lcd_wrdata(0x30+ii);
        	 }
        	 			 
    		 
    	 }

                 
     }
    
}
*/
 
///////////////////////////////////輸入函數////////////////////////////////////
 /*****************************************/

/*****************************************/

 /* 延時t毫秒 */
void delay2(uint t)
{
    uint i;
    while(t--)
    {
        /* 對于11.0592M時鐘,約延時1ms */
        for (i=0;i<125;i++)
    	{}
    }
} 

/* 產生復位脈沖初始化DS18B20 */
void TxReset(void)
{
    uint i;
    DQ = 0;

    /* 拉低約900us */
    i = 100;
    while (i>0) i--;	
    
    DQ = 1;             // 產生上升沿
    i = 4;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产高清精品在线| 免费观看日韩av| 久久亚洲私人国产精品va媚药| 色88888久久久久久影院按摩| 豆国产96在线|亚洲| 国产盗摄女厕一区二区三区 | 久久综合999| 日韩欧美一二三| 日韩亚洲欧美在线观看| 日韩一二在线观看| 欧美zozo另类异族| 久久亚区不卡日本| 国产免费成人在线视频| 国产精品国产精品国产专区不蜜| 亚洲欧美日韩国产一区二区三区| 亚洲激情自拍偷拍| 日韩制服丝袜先锋影音| 久久99久久久欧美国产| 丁香另类激情小说| 91黄色激情网站| 日韩精品中文字幕一区| 久久久久亚洲综合| 亚洲免费观看高清完整版在线观看 | 91蜜桃在线免费视频| 日本乱人伦aⅴ精品| 91精品视频网| 国产三级久久久| 最新热久久免费视频| 午夜av电影一区| 高清beeg欧美| 欧美精品色一区二区三区| 精品国产污污免费网站入口| 最新中文字幕一区二区三区| 日韩影视精彩在线| www.日韩av| 日韩一区二区免费高清| 国产亚洲精品bt天堂精选| 亚洲综合在线电影| 狠狠色丁香久久婷婷综合_中| 成人黄色小视频| 欧美另类z0zxhd电影| 亚洲国产精品v| 日韩制服丝袜先锋影音| av一区二区不卡| 欧美成人精精品一区二区频| 一区二区三区免费看视频| 九色综合狠狠综合久久| 欧美丝袜丝交足nylons| 国产精品欧美精品| 国产尤物一区二区| 欧美精品123区| 亚洲综合999| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 午夜视频在线观看一区二区| 国产精品亚洲专一区二区三区| 欧美性xxxxx极品少妇| 国产精品女主播在线观看| 日本午夜一区二区| 欧洲国内综合视频| 中文字幕在线不卡| 韩国三级中文字幕hd久久精品| 欧美伦理电影网| 亚洲在线免费播放| 91色在线porny| 亚洲同性gay激情无套| 国产一区二区精品久久91| 日韩一级成人av| 日韩成人免费看| 欧美精品一级二级三级| 亚洲gay无套男同| 欧美日韩国产中文| 五月婷婷综合激情| 91麻豆精品国产91久久久使用方法| 亚洲精品国久久99热| gogo大胆日本视频一区| 国产精品二区一区二区aⅴ污介绍| 国产裸体歌舞团一区二区| 精品成a人在线观看| 精品一区二区三区久久久| 久久综合久色欧美综合狠狠| 久久精品国产免费| 久久久精品国产99久久精品芒果| 韩国午夜理伦三级不卡影院| 久久免费电影网| 成人免费av在线| 18欧美乱大交hd1984| 欧美主播一区二区三区美女| 亚洲图片欧美综合| 欧美一级片在线看| 激情五月婷婷综合网| 久久精品视频免费观看| 成人免费av资源| 亚洲一区二区三区三| 3d动漫精品啪啪一区二区竹菊| 免费成人美女在线观看| 精品久久99ma| www.欧美.com| 日日夜夜精品视频天天综合网| 欧美电影免费观看完整版| 丁香六月综合激情| 亚洲国产精品精华液网站| 精品久久久久久综合日本欧美| 国产成人av一区二区三区在线 | 亚洲精品日韩综合观看成人91| 在线免费观看视频一区| 日韩高清欧美激情| 久久久精品tv| 欧美色涩在线第一页| 韩国女主播一区| 亚洲精品国产一区二区精华液 | 国产成+人+日韩+欧美+亚洲| 国产精品久久久久久久久免费丝袜| 精品国产凹凸成av人导航| 99久久婷婷国产综合精品电影 | 日韩视频123| 不卡欧美aaaaa| 美脚の诱脚舐め脚责91| 欧美一级xxx| 亚洲国产美女搞黄色| 精品国产乱码久久久久久牛牛| 欧美一卡在线观看| 日韩一级免费观看| 精品欧美乱码久久久久久| 精品国产百合女同互慰| 久久久久国产精品麻豆| 中文av字幕一区| 国产精品久久久久永久免费观看| 国产精品久久久久aaaa樱花| 中文字幕一区免费在线观看| 夜夜爽夜夜爽精品视频| 五月婷婷综合激情| 精品一二三四区| 大桥未久av一区二区三区中文| 99视频一区二区| 欧美精品aⅴ在线视频| 精品三级在线看| 中文字幕在线不卡| 亚洲国产日韩在线一区模特| 麻豆国产精品一区二区三区 | 一区二区三区小说| 婷婷久久综合九色综合绿巨人| 美国一区二区三区在线播放| 国产成人免费在线视频| 在线免费亚洲电影| 欧美刺激午夜性久久久久久久| 欧美韩日一区二区三区| 樱花影视一区二区| 精品一区二区三区欧美| 91丨porny丨中文| 日韩一级二级三级| 国产精品久久久久久久久快鸭| 亚洲线精品一区二区三区 | 亚洲影视在线观看| 久久电影国产免费久久电影| 成人av在线网| 欧美精品777| 成人免费在线播放视频| 日韩av一级片| 91首页免费视频| 久久影院电视剧免费观看| 亚洲日本乱码在线观看| 精品一区二区免费视频| 色婷婷亚洲一区二区三区| 欧美岛国在线观看| 亚洲一区二区三区激情| 东方欧美亚洲色图在线| 制服丝袜日韩国产| 亚洲欧美另类图片小说| 国产做a爰片久久毛片| 欧美日韩免费电影| 国产精品区一区二区三区| 久久精品国产99国产精品| 欧美三级日韩在线| 中文字幕欧美一| 国产精品性做久久久久久| 欧美一区二区三区在| 亚洲黄色片在线观看| 成人免费高清视频| 精品国产免费一区二区三区香蕉| 亚洲永久免费av| 色婷婷综合久久久中文字幕| 国产欧美日韩视频一区二区| 久久国产精品区| 欧美日本国产视频| 一区二区久久久久久| 99精品国产热久久91蜜凸| 国产日韩av一区二区| 国产米奇在线777精品观看| 欧美一区二区三区视频免费播放| 亚洲一区在线免费观看| 99精品国产视频| 国产精品国产三级国产普通话蜜臀| 国产美女一区二区| 久久综合久久99| 精品一区二区三区视频| 精品国产伦一区二区三区免费 | 欧美日韩国产天堂| 亚洲一区二区三区视频在线| 色哟哟精品一区| 亚洲狠狠丁香婷婷综合久久久|