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

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

?? realmain.c

?? 用pic單片機做的一個溫度計 實現實時時鐘顯示和存儲
?? C
?? 第 1 頁 / 共 3 頁
字號:

#include<p18f452.h>
#include"delays.h"
#include"pwm_sound.h"
#include"ds1302.h"
#include"i2c.h"
#include"lcd.h"
#include"ds18b20.h"



#define  zlg7290                0x70                            // zlg7290的器件地址
#define  zlgchildaddr           0x01                            // zlg7290的鍵值寄存器地址


#define  at2416                0xA0                            // eeprom at2408的器件地址

 
#define  uprestrctflag         0x01                            // 溫度上限符號位地址  
#define  downrestrctflag       0x06                            // 溫度下限符號位地址 
   
    
#define  at2416temup           0x02                            // 溫度上限數據地址 
#define  at2416temdown         0x07                            // 溫度上限數據地址 

#define      enter           32                                //確認鍵
#define      escape          38                                //推出鍵
#define      just            22                                //+
#define      bear            23                                //-                
#define      lift            36                                //左
#define      right           34                                //右   
#define      up              27                                //上 
#define      down            35                                //下
#define      key0            0                                 // 0
#define      key9            9                                 // 8
#define      key_m           10                                // 小數點



char choose;                                                    //菜單選擇變量           

char keyflag=0;                                                  //按鍵標志

char key=0;                                                      //鍵值


extern char year;    //年
extern char month;   //月
extern char date;    //日
extern char day;     //星期
extern char hour;    //小時
extern char minute;  //分鐘
extern char second;  //秒 

extern  char y;                                                   //十位
extern  char z;                                                   //各位


void int1(void);            
void int1_initial(void);
void initial_sys(void);
void int1_initial(void);
void displaywelcome(void);
void displaymainpage(void);
void displaymainpage_cursor(char);
void readkey(void);
void applydisplay(void);
void timesset(void);
void timesettemp(void);
void temperaturerestrct(void);
void temperaturerestrcttemp(void);
void replaytemperature(void);


#pragma code  InterruptVectorHigh=0x08

void InterruptVectorHigh(void)
  {
    _asm
     
     goto  int1
   
    _endasm
  }
#pragma code

#pragma interrupt int1
void int1(void)
  {   
     
      keyflag=1;
      key=read_i2c_date(zlg7290,zlgchildaddr )-1;            //讀取鍵值
      INTCON3bits.INT1IF=0;                         //清中斷標志
  }

void main()
{   
     
   initial_sys();
   
   int1_initial();

   lcd_initial();
   
   pwm_initial();

   displaywelcome();                                    //顯示歡迎界面面
  
   initial_i2c();

   readkey();
   while(key!=enter);                                    //等待按鍵

   choose=2;    

  while(1)
 {
   clearlcd();                                          //清屏
   clearlcd();  
   displaymainpage();                                   //顯示主菜單

   displaymainpage_cursor(choose);
   while(1)
    {   
        
         readkey();
 
         if(key==up)
           { if (choose==1) { choose=4;  displaymainpage_cursor(choose);}
             else {   --choose;          displaymainpage_cursor(choose);}
           }
       
         if(key==down)
           { if (choose==4) { choose=1;  displaymainpage_cursor(choose);}
             else {   ++choose;          displaymainpage_cursor(choose);}
           }
         if(key==enter) break;
     }
   switch(choose)
    {
       case 1: applydisplay();          break;
       case 2: timesset();              break;
       case 3: temperaturerestrct();    break;
       case 4: replaytemperature();     break;
    } 
 
 }
  writecmdlcd(0x0f);                                           // 光標開 
}
/*****************************************************************************
 ******函 數 名 稱 : initial_sys()
 ******函 數 功 能 : 系統初始化
 ******輸       入 :  
 ******輸       出 :  
 ******************************************************************************/ 
void initial_sys()
{

  INTCON=0x00;                                              //關中斷
  ADCON1=0b00000110;                                        //RA端口設定為數字                                
  PIE1=0;
  PIE2=0;

}
/*****************************************************************************
 ******函 數 名 稱 : initial_sys()
 ******函 數 功 能 : int1電平變化中斷
 ******輸       入 :  
 ******輸       出 :  
 ******************************************************************************/ 
void int1_initial()
 {     
   INTCON2 &=0xDF;                    // INT1=0 下降沿的時候中斷
       
   RCONbits.IPEN=1;                  // 使能中斷優先級
      
   INTCON=0XC0;                      //  GIE=1,PEIE=1   
   
   INTCON3bits.INT1IP=1;             //高優先級
   INTCON3bits.INT1IF=0;             //未發生int1中斷
   INTCON3bits.INT1IE=1;             //使能int1外部引腳中斷
        
   TRISBbits.TRISB1=1;               // INT1 (RB1)設置為輸入
  }
/*****************************************************************************
 ******函 數 名 稱 : readkey(void)
 ******函 數 功 能 : 讀鍵值函數
 ******輸       入 :  
 ******輸       出 :  
 ******************************************************************************/ 
void readkey(void)
{ 
  while(!keyflag);
  keyflag=0;
  
}

/*****************************************************************************
 ******函 數 名 稱 : displaywelcome(void)
 ******函 數 功 能 : 進入歡迎界面
 ******輸       入 :  
 ******輸       出 :  
 ******************************************************************************/
void displaywelcome(void)
{ 
                        

   char welcome1[]="數字溫度計";
   char welcome2[]="制作:";
   char welcome3[]="陳強";
   char welcome4[]="董向遠";
   char welcome5[]="張寧";
   char welcome6[]="2008年 6月";
   
   clearlcd();
  
   lcd_set_cursor(1,3);
   putslcd(welcome1);
  
   lcd_set_cursor(2,1);
   putslcd(welcome2);

   lcd_set_cursor(2,6);
   putslcd(welcome3);

   lcd_set_cursor(3,6);
   putslcd(welcome4);

   lcd_set_cursor(3,3);
   putslcd(welcome5);
   
   lcd_set_cursor(4,1);
   putslcd(welcome6);

}
/*****************************************************************************
 ******函 數 名 稱 : displaymainpage()
 ******函 數 功 能 : 
 ******輸       入 :  
 ******輸       出 :  
 ******************************************************************************/ 
void displaymainpage()
{
   char mainpage1[]="數字時間顯示";
   char mainpage2[]="系統時間設定";
   char mainpage3[]="溫度限制設定";
   char mainpage4[]="歷史溫度回顯";

  lcd_set_cursor(1,2);
  putslcd(mainpage1);
  
  lcd_set_cursor(2,2);
  putslcd(mainpage2);
 
  lcd_set_cursor(3,2);
  putslcd(mainpage3);

  lcd_set_cursor(4,2);
  putslcd(mainpage4);

}
/*****************************************************************************
 ******函 數 名 稱 : displaymainpage_cursor(unsigned x)
 ******函 數 功 能 : 
 ******輸       入 :  
 ******輸       出 :  
 ******************************************************************************/ 
void displaymainpage_cursor(char x)
{  
   char cursorblock[]="  ";
   switch(x)
   {
    case 1:{ 
              lcd_set_cursor(1,1); writedatalcd( 0x10);
              lcd_set_cursor(2,1); putslcd(cursorblock);
              lcd_set_cursor(3,1); putslcd(cursorblock);
              lcd_set_cursor(4,1); putslcd(cursorblock);
              break;
           }

    case 2:{ 
              lcd_set_cursor(1,1); putslcd(cursorblock);
              lcd_set_cursor(2,1); writedatalcd( 0x10);
              lcd_set_cursor(3,1); putslcd(cursorblock);
              lcd_set_cursor(4,1); putslcd(cursorblock);
              break;
           }
    case 3:{ 
              lcd_set_cursor(1,1); putslcd(cursorblock);
              lcd_set_cursor(2,1); putslcd(cursorblock);
              lcd_set_cursor(3,1); writedatalcd( 0x10);
              lcd_set_cursor(4,1); putslcd(cursorblock);
              break;
           }

    case 4:{ 
              lcd_set_cursor(1,1); putslcd(cursorblock);
              lcd_set_cursor(2,1); putslcd(cursorblock);
              lcd_set_cursor(3,1); putslcd(cursorblock);
              lcd_set_cursor(4,1); writedatalcd( 0x10);
              break;
           }
   }

}


/*****************************************************************************
 ******函 數 名 稱 : applydisplay()
 ******函 數 功 能 : 進入應用界面
 ******輸       入 :  
 ******輸       出 :  
 ******************************************************************************/ 
 void applydisplay(void)
{  

   char k=0;                                                 //存儲總數設定變量
   int  i=0;                                                 //存儲時間間隔控制
   char tempdisplay1[]="數字溫度顯示";

   char tempdisplay2[]="溫度";
   char tempdisplay3[]="時刻:";
   
   clearlcd();                                              //清屏   


   lcd_set_cursor(1,2);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久久免费丝袜 | 精品污污网站免费看| 一区二区日韩av| 美女视频一区二区三区| 色综合久久久久综合体桃花网| 欧美白人最猛性xxxxx69交| 一区二区三区自拍| 成人亚洲精品久久久久软件| 欧美一区二区三区视频免费播放| 国产精品久久国产精麻豆99网站| 视频一区中文字幕| 欧美性大战久久久| 国产精品福利影院| 成人av电影免费在线播放| 亚洲精品在线电影| 老司机精品视频在线| 3d成人h动漫网站入口| 亚洲一区二区三区爽爽爽爽爽| 成人晚上爱看视频| 日本一区二区三区在线观看| 久久99精品久久久| 日韩小视频在线观看专区| 午夜精品一区二区三区免费视频| 91蝌蚪porny| 中文字幕亚洲区| 成人福利在线看| 中文字幕在线观看不卡视频| 国产毛片精品一区| 欧美激情在线一区二区三区| 国产一区二区精品久久91| 久久人人爽爽爽人久久久| 韩国理伦片一区二区三区在线播放| 91精品国产综合久久精品性色| 亚洲成人av电影在线| 欧美亚洲愉拍一区二区| 亚洲国产乱码最新视频| 欧美三级三级三级爽爽爽| 成人性色生活片| 一本色道久久综合亚洲精品按摩| 国产欧美视频一区二区三区| 国产成人精品一区二区三区网站观看| 精品久久久网站| 国产综合色在线| 国产女同互慰高潮91漫画| eeuss影院一区二区三区| 国产精品色眯眯| 91美女视频网站| 首页国产欧美久久| 3751色影院一区二区三区| 久久精品国产亚洲一区二区三区| 久久嫩草精品久久久精品一| eeuss影院一区二区三区| 一区二区久久久久久| 91精品国产色综合久久ai换脸| 免费看欧美美女黄的网站| 国产日韩欧美精品综合| 91免费小视频| 天堂va蜜桃一区二区三区| 欧美va亚洲va| 高清久久久久久| 国产精品99久久久久久久vr| 国产拍揄自揄精品视频麻豆| 91在线观看视频| 日韩成人午夜精品| 国产性天天综合网| 欧美色爱综合网| 国产99久久久精品| 亚洲夂夂婷婷色拍ww47| 精品国产一区二区精华| 99国产精品视频免费观看| 视频一区欧美精品| 国产精品天干天干在观线| 欧美丰满嫩嫩电影| 成人av在线资源网| 另类小说欧美激情| 亚洲精品久久久久久国产精华液| 欧美不卡一区二区| 在线观看成人小视频| 国产伦精品一区二区三区免费 | 91丨porny丨中文| 亚洲福利一二三区| 国产精品毛片a∨一区二区三区| 在线观看精品一区| 成人动漫中文字幕| 裸体健美xxxx欧美裸体表演| 亚洲女与黑人做爰| 26uuu亚洲综合色| 精品视频1区2区| 成人开心网精品视频| 久久电影网电视剧免费观看| 五月天国产精品| 亚洲欧美另类久久久精品2019| 精品久久久久香蕉网| 五月婷婷色综合| 在线观看视频91| 国产精品影视网| 韩国毛片一区二区三区| 欧美aⅴ一区二区三区视频| 欧美大片免费久久精品三p | 亚洲视频在线一区观看| 欧美成人女星排名| 91精品国产综合久久精品图片 | 另类小说视频一区二区| 国产精品久久久久国产精品日日| 欧美日韩精品专区| 欧美日韩aaa| 94色蜜桃网一区二区三区| 国精品**一区二区三区在线蜜桃| 亚洲精品高清视频在线观看| 久久精品一区八戒影视| 精品国产1区二区| 欧美日韩成人一区| 一区二区三区在线视频免费观看| 亚洲欧洲成人精品av97| 国产精品高潮久久久久无| 久久久久久久性| 日韩三级中文字幕| 日韩欧美三级在线| 在线看日韩精品电影| 制服丝袜国产精品| 日本乱人伦aⅴ精品| 国产91精品一区二区麻豆网站| 日韩精品一级中文字幕精品视频免费观看| 亚洲乱码日产精品bd| 亚洲精品高清视频在线观看| 亚洲一区二区三区四区在线免费观看 | 中文字幕不卡在线| 中文一区一区三区高中清不卡| 国产精品污污网站在线观看| 欧美精品一区二区在线播放| 久久综合一区二区| 久久综合色鬼综合色| 国产精品欧美一级免费| 亚洲男同1069视频| 日韩制服丝袜av| 日本美女一区二区| 国产精品亚洲成人| www.亚洲人| 欧美日韩中字一区| 日韩美一区二区三区| 国产拍揄自揄精品视频麻豆| 亚洲色图欧美激情| 香蕉成人伊视频在线观看| 九色porny丨国产精品| 狠狠网亚洲精品| 成人激情免费网站| 成人国产精品免费观看动漫| 99精品欧美一区| 91传媒视频在线播放| 日韩一区二区在线播放| 国产亚洲一区二区三区| 一区二区高清免费观看影视大全| 亚洲综合激情网| 日本三级亚洲精品| 国产激情一区二区三区| 色婷婷综合五月| 欧美日韩国产中文| 久久久精品日韩欧美| 自拍偷拍亚洲综合| 日韩av网站在线观看| 国产高清精品在线| 91色在线porny| 三级成人在线视频| 久久成人羞羞网站| 国产麻豆91精品| 99国产精品久久久久久久久久久| 欧美久久久久免费| 国产精品网站一区| 久久99日本精品| 欧美亚洲愉拍一区二区| 日韩一级在线观看| 玉足女爽爽91| 国内精品免费**视频| 欧美久久久影院| 亚洲视频免费看| 国产精品一二二区| 9191成人精品久久| 亚洲精品视频在线看| 国产精品77777| 欧美一卡二卡在线观看| 亚洲制服欧美中文字幕中文字幕| 成人美女视频在线观看| 亚洲欧美日韩在线播放| 国产夫妻精品视频| 日韩美一区二区三区| 日韩av电影免费观看高清完整版在线观看| 欧美变态tickle挠乳网站| 欧美久久久一区| 亚洲精品乱码久久久久久久久 | 亚洲国产精品成人综合色在线婷婷| 日韩精品欧美精品| 欧美日韩国产在线观看| 亚洲男帅同性gay1069| 91丨九色丨蝌蚪富婆spa| 亚洲欧洲日本在线| 99re在线精品| 亚洲另类中文字| 欧美影院一区二区三区| 亚洲一区二区四区蜜桃| 欧美午夜精品一区二区蜜桃|