久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2394|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于PIC單片機(jī)溫度-脈搏-DS18B20溫度-液晶12864顯示(proteus仿真+源程序)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
一、系統(tǒng)方案
1、上電初始化液晶第一行顯示脈搏,第二行顯示溫度,第三行顯示模式,第四行顯示強(qiáng)度;按下K1按鍵可以選擇模式,催眼模式或治療模式。
2、治療模塊下,可以通過K2、K3修改強(qiáng)度。


二、硬件設(shè)計(jì)
原理圖如下:

三、單片機(jī)軟件設(shè)計(jì)
1、首先是系統(tǒng)初始化
        //lcdrw = 0; //關(guān)閉               
    TRISE = 0x00; //輸出口                                       
    PORTE = 0x00;
    TRISD = 0x00; // 輸出口                                       

    TRISB = 0x0f; // 輸入        
    TRISC = 0x00; // 輸出
    TRISA=0x04;
    PORTA=0;

Lcd_Initial();     //LCD初始化
Reset_DS18B20();

      T1CKPS0=1;           //定時(shí)器分頻器8分頻
  T1CKPS1=1;                //定時(shí)器分頻器8分頻
  TMR1CS=0;                 //TMR1工作于定時(shí)器方式
  TMR1L=(65536-100)%256;  //定時(shí)12500個(gè)時(shí)鐘初始值
  TMR1H=(65536-100)/256;  //定時(shí)12500個(gè)時(shí)鐘初始值
  GIE=1;     //總中斷允許
  PEIE=1;    //外圍功能模塊中斷允許
  TMR1IE=1;  //TMR1中斷允許
  TMR1ON=1;  //啟動(dòng)TMR1
  pwm(20);
2、液晶顯示程序
/********************************************************************************************
* 函數(shù)名稱:Lcd_Write_Command()
* 功    能:寫指令代碼
* 入口參數(shù):無
* 出口參數(shù):無
*********************************************************************************************/
void Lcd_Write_Command(uchar temp)
{  
   port=temp;
   rs=0;
   rw=0;
   e=1;
   e=0;  
}
/********************************************************************************************
* 函數(shù)名稱:Lcd_Write_Byte()
* 功    能:寫數(shù)據(jù)
* 入口參數(shù):無
* 出口參數(shù):無
*********************************************************************************************/
void Lcd_Write_Byte(uchar temp)
{  
   port=temp;
   rs=1;
   rw=0;
   e=1;
   e=0;  
}
3、按鍵程序
void key()
{
        if (RB0 == 0)//                                
        {
                       delay(10); //延時(shí)
                 if (RB0 == 0)//        
            {
              while (RB0== 0);   
          mode=!mode;
          if(mode==0){ dangwei=2;pwm(20);}
           }
        }
       if (RB1 == 0)//                                
        {
                       delay(10); //延時(shí)
                 if (RB1== 0)//        
            {
            while (RB1== 0);
                 if(mode==1)  
                 {
                     dangwei++;
                     if(dangwei>6)dangwei=1;
                     pwm(dangwei*10);

                 }
                 }
            }

     if (RB2 == 0)//                                
        {
                       delay(10); //延時(shí)
                 if (RB2 == 0)//        
            {
              while (RB2== 0);   
                   if(mode==1)  
                 {

                     if(dangwei>1)dangwei--;
                     pwm(dangwei*10);

                 }
           }
        }

}

4、核心算法程序
    while (1)
    {



         Lcd_Character_16X16(0,0,8,data_shuju[2]);        //顯示溫
            Lcd_Character_16X16(0,0,24,data_shuju[3]);        //顯示度
         Lcd_Character_16X8( 0,0,40, data_shuju1[10]);//顯示:
        Lcd_Character_16X8( 0,0,48, data_shuju1[ad/100]);//顯示:
          Lcd_Character_16X8( 0,0,56, data_shuju1[ad%100/10]);//顯示:
         Lcd_Character_16X8( 0,0,64, data_shuju1[ad%10]);//顯示:




         Lcd_Character_16X16(0,2,8,data_shuju[0]);        //顯示溫
            Lcd_Character_16X16(0,2,24,data_shuju[1]);        //顯示度
         Lcd_Character_16X8( 0,2,40, data_shuju1[10]);//顯示:
        Lcd_Character_16X8( 0,2,48, data_shuju1[temp/10]);//顯示:
        Lcd_Character_16X8( 0,2,56, data_shuju1[temp%10]);//顯示:

             Lcd_Character_16X16(0,4,8,data_shuju[4]);        //顯示溫
            Lcd_Character_16X16(0,4,24,data_shuju[5]);        //顯示度
         Lcd_Character_16X8( 0,4,40, data_shuju1[10]);//顯示:
         if(mode==0)
         {
            Lcd_Character_16X16(0,4,48,data_shuju[6]);        //顯示溫
            Lcd_Character_16X16(0,4,64,data_shuju[7]);        //顯示度  

         }
         else
         {
               Lcd_Character_16X16(0,4,48,data_shuju[8]);        //顯示溫
            Lcd_Character_16X16(0,4,64,data_shuju[9]);        //顯示度  


         }

               Lcd_Character_16X16(0,6,8,data_shuju[10]);        //顯示溫
            Lcd_Character_16X16(0,6,24,data_shuju[11]);        //顯示度
         Lcd_Character_16X8( 0,6,40, data_shuju1[10]);//顯示
        Lcd_Character_16X8( 0,6,48, data_shuju1[dangwei]);//顯示:

    ad=get_ad();
     key();

     temp=DS18B20_Get();
    if((ad>alarm)||(temp>th))  TMR1ON=1;
    else { TMR1ON=0;RC7=1;}


    }
四、proteus仿真設(shè)計(jì)
Proteus軟件是一款應(yīng)用比較廣泛的工具,它可以在沒有硬件平臺(tái)的基礎(chǔ)上通過自身的軟件仿真出硬件平臺(tái)的運(yùn)行情況,這樣就可以通過軟件仿真來驗(yàn)證我們?cè)O(shè)計(jì)的方案有沒有問題,如果有問題,可以重新選擇器件,連接器件,直到達(dá)到我們?cè)O(shè)定的目的,避免我們搭建實(shí)物的時(shí)候,如果當(dāng)初選擇的方案有問題,我們器件都已經(jīng)焊接好了,再去卸載下去,再去焊接新的方案的器件,測(cè)試,這樣會(huì)浪費(fèi)人力和物力,也給開發(fā)者帶來一定困惑,Proteus仿真軟件就很好的解決這個(gè)問題,我們?cè)谠O(shè)計(jì)之初,就使用該軟件進(jìn)行模擬仿真,測(cè)試,選擇滿足我們?cè)O(shè)計(jì)的最優(yōu)方案。最后根據(jù)測(cè)試沒問題的仿真圖紙,焊接實(shí)物,調(diào)試,最終完成本設(shè)計(jì)的作品。

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: av一区二区三区四区 | 久久精品小视频 | 国产欧美精品区一区二区三区 | 亚洲国产精品99久久久久久久久 | 国产精品久久久久久高潮 | 久久99精品久久久久久国产越南 | 亚洲伊人久久综合 | 国产精品视频网 | 欧美日韩网站 | 日本精品久久久久久久 | 成人视屏在线观看 | 亚洲欧美日韩电影 | 亚洲国产精品久久久久秋霞不卡 | 久久99精品久久久久久 | 精品国产免费人成在线观看 | 黄网站免费观看 | 在线免费亚洲视频 | 99reav| 黄色网址免费在线观看 | 欧美日韩一区二区三区在线观看 | 国产一区二区三区在线免费观看 | 四虎最新地址 | 黄色大片在线免费观看 | 给我免费的视频在线观看 | 亚洲一区免费 | 在线观看中文字幕视频 | 精品精品视频 | aaa大片免费观看 | 久久久久国| 男女羞羞免费视频 | 精品av| 日韩欧美在线免费观看 | 午夜午夜精品一区二区三区文 | 播放一级黄色片 | 蜜桃五月天 | 午夜免费 | 国产精品久久久一区二区三区 | 国产精品一卡二卡三卡 | 日本a∨视频 | 亚洲欧美国产精品一区二区 | 欧美日韩一区二区三区四区五区 |