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

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

?? ds18b20-lcd1602-c51-avr.c

?? 8個數碼管顯示時鐘程序,LED數字鐘,流水燈程序,紅外遙控,鍵控看門狗程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
{
    DDRA=0XFF;          //設置PA輸出
    PORTA=0XFF;         //全部加上上拉電阻
    DDRC=0XFF;          //設置PC為輸出
    PORTC=0XFF;         //全部加上上拉電阻
	
    delay_nms(30);      //等待上電穩定
	
    lcd_wcmd(0x38,0);   //16*2顯示,5*7點陣,8位數據
    delay_nms(5);
	lcd_wcmd(0x38,0);   //不進行忙檢測   
    delay_nms(5);
	lcd_wcmd(0x38,0);      
    delay_nms(5);
	
    lcd_wcmd(0x0c,1);   //顯示開,關光標
    delay_nms(5);
    lcd_wcmd(0x06,1);   //移動光標
    delay_nms(5);
    lcd_wcmd(0x01,1);   //清除LCD的顯示內容
    delay_nms(5);
}

/*******************************************************************/
/*                                                                 */
/*寫指令數據到LCD                                                  */
/*RS=L,RW=L,E=高脈沖,D0-D7=指令碼。                             */
/*command為指令,wait_en指定是否要檢測LCD忙信號                    */
/*                                                                 */
/*******************************************************************/
void lcd_wcmd(uchar command,uchar wait_en)
{   
    if(wait_en)             //若wait_en為1,則要檢測LCD忙信號
    lcd_busy();
    PORTC &=~_BV(LCD_RS);   
    PORTC &=~_BV(LCD_RW);   
    PORTC &=~_BV(LCD_EN);   
    PORTA =command;         //送指令數據 
    PORTC |=_BV(LCD_EN);   
    _NOP();
    _NOP();
    PORTC &=~_BV(LCD_EN);   
}

/*******************************************************************/
/*                                                                 */
/*寫顯示數據到LCD                                                  */
/*RS=H,RW=L,E=高脈沖,D0-D7=數據。                               */
/*                                                                 */
/*******************************************************************/
void lcd_wdat(uchar dat)
{    
    lcd_busy();
    PORTC |=_BV(LCD_RS);    
    PORTC &=~_BV(LCD_RW);
    PORTC &=~_BV(LCD_EN);   
    PORTA=dat;               //送顯示數據 
    PORTC |=_BV(LCD_EN);    
    _NOP();
    _NOP();
    PORTC &=~_BV(LCD_EN);  
}

/*************************************************************/
/*                                                           */
/*檢查LCD忙狀態                                              */
/*lcd_busy為1時,忙,等待。lcd-busy為0時,閑,可寫指令與數據  */
/*                                                           */
/*************************************************************/ 
void lcd_busy(void)
{
    DDRA &=~_BV(busy);        //設置busy口為輸入
    PORTC &=~_BV(LCD_RS);     
    PORTC |= _BV(LCD_RW);      
    PORTC |= _BV(LCD_EN);     
    while(PINA & _BV(busy)); //忙等待
    PORTC &=~_BV(LCD_EN);     
    DDRA|=_BV(busy);          //設置busy口為輸出 
}

/*************************************************************/
/*                                                           */
/*  設定顯示位置                                             */
/*                                                           */
/*************************************************************/
void lcd_pos(uchar pos)
{                          
  lcd_wcmd(pos|0x80,1);  //數據指針=80+地址變量
}

/*******************************************************************/
/*                                                                 */
/*自定義字符寫入CGRAM                                              */
/*                                                                 */
/*******************************************************************/
void  writetab(void)  
{  
    uchar i;
    lcd_wcmd(0x40,1);            //寫CGRAM
    for (i = 0; i< 8; i++)       
    lcd_wdat(mytab[i]);        
}

/*******************************************************************/
/*                                                                 */
/* DS18B20 OK 顯示菜單                                             */
/*                                                                 */
/*******************************************************************/
void  Ok_Menu (void)
{ 
    uchar  m;
    lcd_init();                //初始化LCD 
            
    lcd_pos(0);                //設置顯示位置為第一行的第1個字符
     m = 0;
    while(cdis1[m] != '\0')
     {                         //顯示字符
       lcd_wdat(cdis1[m]);
       m++;
     }

    lcd_pos(0x40);            //設置顯示位置為第二行第1個字符
     m = 0;
    while(cdis2[m] != '\0')
     {
       lcd_wdat(cdis2[m]);    //顯示字符
       m++;
     }

    writetab();               //自定義字符寫入CGRAM
    delay_nms(5);
    lcd_pos(0x4d);
    lcd_wdat(0x00);           //顯示自定義字符
}

/*******************************************************************/
/*                                                                 */
/* DS18B20 ERROR 顯示菜單                                          */
/*                                                                 */
/*******************************************************************/
void  Error_Menu (void)
{
     uchar  m;
     lcd_init();                //初始化LCD 
	
  	 lcd_pos(0);                //設置顯示位置為第一行的第1個字符
     m = 0;
     while(cdis3[m] != '\0')
     {                         //顯示字符
       lcd_wdat(cdis3[m]);
       m++;
     }

     lcd_pos(0x40);             //設置顯示位置為第二行第1個字符
     m = 0;
     while(cdis4[m] != '\0')
     {
       lcd_wdat(cdis4[m]);      //顯示字符
       m++;
     }
}

/*******************************************************************/
/*                                                                 */
/* 數據轉換與溫度顯示                                              */
/*                                                                 */
/*******************************************************************/
void Disp_Temperature(void)
 {
    display[4]=temp_data[0]&0x0f;
    display[0]=ditab[display[4]]+0x30;     //查表得小數位的值
  
    display[4]=((temp_data[0]&0xf0)>>4)|((temp_data[1]&0x0f)<<4);
    display[3]=display[4]/100+0x30;
    display[1]=display[4]%100;
    display[2]=display[1]/10+0x30;
    display[1]=display[1]%10+0x30;

    if(display[3]==0x30)        //高位為0,不顯示
     { 
       display[3]=0x20;              
       if(display[2]==0x30)      //次高位為0,不顯示
       display[2]=0x20;
     }

    lcd_pos(0x48);             
    lcd_wdat(display[3]);        //百位數顯示 
    lcd_pos(0x49);             
    lcd_wdat(display[2]);        //十位數顯示 
	lcd_pos(0x4a);             
    lcd_wdat(display[1]);        //個位數顯示 
	lcd_pos(0x4c);             
    lcd_wdat(display[0]);        //小數位數顯示 
}	 

/********************************************************/
/*                                                      */
/* 主函數                                               */
/*                                                      */
/********************************************************/
int  main(void)
 {     
	init_io();
	
	while(1)
     {
	   Ok_Menu ();

	   do
	    {
          Read_Temperature();
	      Disp_Temperature();   
        }
       while(!presence) ;

       Error_Menu ();

	   do
	   {  
	     Init_DS18B20();
	     beep();
       }
	   while(presence);
     }
 }

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩高清欧美激情| 在线一区二区三区四区| 亚洲一二三四在线| 亚洲欧美一区二区三区国产精品 | 国产激情一区二区三区四区| 日韩精品一二区| 丝袜亚洲精品中文字幕一区| 亚洲成人777| 日韩精品成人一区二区在线| 国产一区二区三区不卡在线观看| 狠狠色2019综合网| 激情综合色综合久久| 日韩国产精品久久久久久亚洲| 亚洲高清免费观看高清完整版在线观看| 亚洲精品国产无天堂网2021| 亚洲激情校园春色| 亚洲成人第一页| 久久精品久久综合| 国产精品亚洲一区二区三区在线| 国产精品亚洲а∨天堂免在线| 成人白浆超碰人人人人| 91美女在线看| 91精品视频网| 久久精品视频一区二区三区| 国产精品看片你懂得| 亚洲激情av在线| 日韩电影在线一区二区三区| 国内精品视频666| 97精品国产97久久久久久久久久久久| 在线观看视频91| 亚洲精品在线三区| 亚洲免费观看高清完整版在线观看 | 色综合久久久网| 欧美日韩国产美| 国产午夜亚洲精品理论片色戒| 国产精品色哟哟| 五月婷婷久久丁香| 成人免费高清视频| 69av一区二区三区| 亚洲欧美在线aaa| 日本欧美大码aⅴ在线播放| 国产麻豆一精品一av一免费| 色94色欧美sute亚洲线路一ni| 91精品欧美久久久久久动漫| 日本一区二区电影| 日韩精品成人一区二区在线| 成人黄色大片在线观看| 欧美日韩国产经典色站一区二区三区| 日韩伦理电影网| 丁香亚洲综合激情啪啪综合| 成人av网站免费观看| 欧美在线观看视频一区二区三区| 欧美不卡123| 亚洲精品视频自拍| 国产精品中文欧美| 国产欧美一区二区三区在线老狼| 亚洲一区二区3| 99视频超级精品| 日韩免费在线观看| 亚洲第一综合色| 在线一区二区三区四区| 中文在线一区二区| 精品一区二区精品| 欧美日韩情趣电影| 亚洲精品久久久蜜桃| k8久久久一区二区三区| 久久婷婷国产综合国色天香| 日韩国产欧美视频| 欧美日韩国产成人在线免费| 亚洲女人的天堂| 91麻豆高清视频| 亚洲欧洲成人自拍| 不卡一区在线观看| 中文字幕第一区| 成人污污视频在线观看| 久久久综合九色合综国产精品| 蜜臀久久久久久久| 26uuu国产日韩综合| 精品一区二区日韩| 26uuu亚洲| 不卡一区在线观看| 一个色妞综合视频在线观看| 在线观看不卡一区| 亚洲国产精品自拍| 欧美精三区欧美精三区| 五月天亚洲婷婷| 91精品久久久久久蜜臀| 日本亚洲视频在线| 精品黑人一区二区三区久久| 久久国产精品露脸对白| 久久一夜天堂av一区二区三区| 久久99久久精品欧美| 久久综合中文字幕| 成人性视频网站| 亚洲精选一二三| 欧美精品99久久久**| 蜜臀91精品一区二区三区| 日韩欧美成人一区| 粉嫩高潮美女一区二区三区| 亚洲免费电影在线| 91精品国产欧美一区二区| 久久99精品国产麻豆不卡| 久久久久国产精品麻豆ai换脸| 成人高清在线视频| 五月天激情小说综合| 精品国产91久久久久久久妲己| 国产乱子轮精品视频| 亚洲视频小说图片| 91精品中文字幕一区二区三区| 裸体健美xxxx欧美裸体表演| 91麻豆精品秘密| 色综合天天综合网国产成人综合天| 99精品久久免费看蜜臀剧情介绍| 国产精品乱码久久久久久| 欧洲在线/亚洲| 国产一区二区精品在线观看| 亚洲视频1区2区| 欧美成人精精品一区二区频| 99re热视频这里只精品| 婷婷丁香激情综合| 国产精品对白交换视频| 欧美一区二区福利在线| 91小视频免费看| 久久福利视频一区二区| 亚洲伦理在线免费看| 2023国产精品| 91精品国产一区二区三区| 波多野结衣中文一区| 另类成人小视频在线| 亚洲综合自拍偷拍| 日本一区二区成人| 久久综合99re88久久爱| 51精品国自产在线| 色老头久久综合| 99国产欧美另类久久久精品| 麻豆91免费看| 日本午夜一本久久久综合| 亚洲欧美日韩国产成人精品影院 | 亚洲欧洲日韩综合一区二区| 日韩欧美国产一区二区在线播放 | 精品电影一区二区| 欧美老肥妇做.爰bbww| 日本精品免费观看高清观看| 国产成人精品免费视频网站| 久久成人免费电影| 麻豆91精品91久久久的内涵| 日韩黄色一级片| 亚洲国产精品久久久久婷婷884| 国产精品你懂的在线欣赏| 久久人人爽人人爽| 国产午夜亚洲精品理论片色戒| 精品国产三级a在线观看| 制服丝袜激情欧洲亚洲| 欧美日韩精品一二三区| 欧美猛男男办公室激情| 欧美日韩视频在线一区二区| 欧美天天综合网| 在线精品视频免费播放| 色94色欧美sute亚洲线路一久 | 亚洲国产成人午夜在线一区| 久久久综合网站| 国产欧美一区二区精品秋霞影院| 久久精品日韩一区二区三区| 久久久久久一二三区| 中文字幕电影一区| 亚洲激情五月婷婷| 日韩黄色免费电影| 麻豆一区二区99久久久久| 久久99精品国产.久久久久久| 国产在线播精品第三| 成人做爰69片免费看网站| 91视视频在线直接观看在线看网页在线看| 99久久综合99久久综合网站| 91美女在线观看| 91精品啪在线观看国产60岁| 精品国产乱码久久久久久1区2区| 久久久久国产精品麻豆ai换脸| 中文字幕亚洲一区二区av在线| 亚洲精品视频观看| 美国十次综合导航| 波多野结衣在线aⅴ中文字幕不卡| 色视频成人在线观看免| 在线成人午夜影院| 国产亚洲午夜高清国产拍精品 | 国产一区二区三区四区五区美女| 成人综合婷婷国产精品久久| 欧美视频一二三区| 久久综合久久久久88| 一区二区三区四区国产精品| 轻轻草成人在线| 99久久精品免费精品国产| 777色狠狠一区二区三区| 国产人成一区二区三区影院| 亚洲综合一区二区| 国产高清不卡一区| 欧美日韩国产乱码电影| 国产精品天美传媒沈樵| 日韩精品亚洲专区| 成人av在线网站| 日韩精品一区二区三区视频播放|