娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年09月17日(星期二)

2020年09月17日 | 51單片機水溫控制LCD顯示加VB上位機溫度曲線繪制

發布者:MusicLover123 來源: 51hei關鍵字:51單片機  水溫控制  LCD顯示  溫度曲線 手機看文章 掃描二維碼
隨時隨地手機看文章

現功能,1L水由1KW電爐加熱,要求水溫在一定范圍內人工設定,并能隨著環境溫度改變自動調節,以維持設定的溫度不變。


矩陣鍵盤輸入設定溫度,LCD1602顯示溫度值,VB上位機繪制溫度曲線

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

* 實驗名                           :溫度顯示實驗

* 使用的IO             :

* 實驗效果       :1602顯示溫度

*        注意                                         :

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


#include

#include "uart.h"

#include"lcd.h"

#include "juzhen.h"

#include"temp.h"

void LcdDisplay(int);

void show_zi();

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

* 函數名         : main

* 函數功能                   : 主函數

* 輸入           : 無

* 輸出                  : 無

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

extern int key_value;


void main()

{

        UsartConfiguration();

        LcdInit();                         //初始化LCD

        show_zi();

        while(1)

        {

                LcdDisplay(Ds18b20ReadTemp());

                //Delay1ms(1000);//1s鐘刷一次

                key_touch();

                LcdDisplay_input();

                compare_temp();

        }

}


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

* 函數名         : LcdDisplay()

* 函數功能                   : LCD顯示讀取到的溫度

* 輸入           : v

* 輸出                  : 無

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

unsigned char dates[] = {0, 0, 0, 0, 0}; //定義數組

void LcdDisplay(int temp)          //lcd顯示

{

   

  

        float tp;

       

//        if(temp< 0)                                //當溫度值為負數

//  {

//          LcdWriteCom(0x80);                //寫地址 80表示初始地址

//    LcdWriteData('-');                  //顯示負

//                //因為讀取的溫度是實際溫度的補碼,所以減1,再取反求出原碼

//                temp=temp-1;

//                temp=~temp;

//                tp=temp;

//                temp=tp*0.0625*100+0.5;       

//                //留兩個小數點就*100,+0.5是四舍五入,因為C語言浮點數轉換為整型的時候把小數點

//                //后面的數自動去掉,不管是否大于0.5,而+0.5之后大于0.5的就是進1了,小于0.5的就

//                //算加上0.5,還是在小數點后面。

//

//  }

//  else

  //{                       

          LcdWriteCom(0x85);                //寫地址 80表示初始地址

    LcdWriteData('+');                 //顯示正

                tp=temp;//因為數據處理有小數點所以將溫度賦給一個浮點型變量

                //如果溫度是正的那么,那么正數的原碼就是補碼它本身

                temp=tp*0.0625*100+0.5;       

                //留兩個小數點就*100,+0.5是四舍五入,因為C語言浮點數轉換為整型的時候把小數點

                //后面的數自動去掉,不管是否大于0.5,而+0.5之后大于0.5的就是進1了,小于0.5的就

                //算加上0.5,還是在小數點后面。

//}

        dates[0] = temp / 10000;

  dates[1] = temp % 10000 / 1000;

  dates[2] = temp % 1000 / 100;

  dates[3] = temp % 100 / 10;

  dates[4] = temp % 10;


        LcdWriteCom(0x86);                  //寫地址 80表示初始地址

  LcdWriteData('0'+dates[0]); //百位



  LcdWriteCom(0x87);                 //寫地址 80表示初始地址

  LcdWriteData('0'+dates[1]); //十位

  SBUF = '0'+dates[1];        //將接收到的數據放入到發送寄存器

        while (!TI);                            //等待發送數據完成

        TI = 0;


        LcdWriteCom(0x88);                //寫地址 80表示初始地址

  LcdWriteData('0'+dates[2]); //個位

  SBUF = '0'+dates[2];        //將接收到的數據放入到發送寄存器

        while (!TI);                            //等待發送數據完成

        TI = 0;


        LcdWriteCom(0x89);                //寫地址 80表示初始地址

  LcdWriteData('.');                 //顯示 ‘.’


        LcdWriteCom(0x8A);                 //寫地址 80表示初始地址

  LcdWriteData('0'+dates[3]); //顯示小數點  


        LcdWriteCom(0x8B);                 //寫地址 80表示初始地址

  LcdWriteData('0'+dates[4]); //顯示小數點  


        LcdWriteCom(0x8C);                //寫地址 80表示初始地址

  LcdWriteData('C');   

}

void show_zi()

{

        char temp[6]={"Temp:"};

        char temp2[6]={"Hope:"};

        int i;

        for(i=0;i<6;i++)

        {

                LcdWriteCom(0x80+i);                //寫地址 80表示初始地址

                  LcdWriteData(temp[i]);       

        }

   for(i=0;i<6;i++)

        {

                LcdWriteCom(0xC0+i);                //寫地址 80表示初始地址

                  LcdWriteData(temp2[i]);       

        }

}



關鍵字:51單片機  水溫控制  LCD顯示  溫度曲線 引用地址:51單片機水溫控制LCD顯示加VB上位機溫度曲線繪制

上一篇:DHT11溫濕度檢測器 基于51單片機的proteus仿真
下一篇:基于單片機的波形發生器仿真設計

推薦閱讀

Strategy Analytics近期發布的研究報告《5G 毫米波系統,RF前端元件和過程技術預測2018-2024》指出,對5G毫米波系統至關重要的收發器和波束形成組件將在五年內每年出貨量達到數億部。Strategy Analytics射頻和無線元件研究服務總監兼報告作者Christopher Taylor表示,“每個5G毫米波智能手機,基站和客戶端系統將使用多個收發器,波束形成器和天線元件...
該款儀器首次將PON網絡、以太網和Wi-Fi測試與VIAVI OneCheck相結合 Viavi Solutions公司宣布推出全新Network & Service Companion(NSC)系列外場測試儀器中的首款產品NSC-100。NSC-100將無源光網絡(PON)、以太網和Wi-Fi測試功能與VIAVI OneCheck自動化測試流程相結合。其緊湊堅固型設備的設計,旨在滿足服務供應商對直觀儀器的需求,能夠幫助不...
如何將系統時鐘設置到外部高頻晶體振蕩器,430的MCLK默認的是DCO的,如何安全的從DCO切換到外部晶體振蕩器,這是一個很重要的步驟,因為經過此步驟,可以極大地提高430的處理能力,DCO在內部,可以為cpu提供強勁穩定的時鐘。#includevoid main( void ){// Stop watchdog timer to prevent TIme out resetWDTCTL = WDTPW + WDTHOLD;volaTIle...
一、ARM體系的CPU有以下7種工作模式:1、用戶模式(usr):正常的程序執行狀態2、快速中斷模式(fiq):3、中斷模式(irq):4、管理模式(svc):操作系統使用的保護模式5、系統模式(sys):運行具有特權的操作系統任務6、數據訪問終止模式(abt):數據或指令預取終止時進入該模式7、未定義指令終止模式(und):未定義的指令執行時進入該模式注解:可...

史海拾趣

問答坊 | AI 解惑

Make the most of the unlicensed ISM band

Combat interference and achieve better link range for RF transceivers operating in the 915-MHz ISM band. By ShreHarsha Rao, Texas Instruments Due to its unlicensed nature, the 915-MHz U.S. ISM (Industrial, Scientific, and Medi ...…

查看全部問答∨

SM24C02電可擦除只讀存儲器(EEPROM).

SM24C02是一種電可擦除只讀存儲器 (EEPROM),它內含256×8位存儲空間,具有工作電壓寬,擦寫次數多,寫入速度快等特點。可多達8個該器件同時連接到二線制總線,通過SDA(串行數據線)及SCL(串行時鐘線)在連接總線上的器件之間傳送數據,并根據地 ...…

查看全部問答∨

D類放大器突破失真瓶頸

http:www.guangdongdz.com 2005-12-26 23:37:31 隨著數字音頻和視頻設備的不斷涌現,家庭影院、DVD接收器和 A/V接收器對D類放大器的需求越來越多。與傳統的模擬放大器相比,數字放大器所具有的低功耗、高效率從而降低對電源及散熱要求的特性,使之 ...…

查看全部問答∨

課件:低噪放,功放,射頻鎖相環 設計

[ 本帖最后由 freemanmm 于 2009-3-10 18:50 編輯 ]…

查看全部問答∨

網上熱評“我的大學六年”(大學成就工程師)

本帖最后由 paulhyde 于 2014-9-15 09:05 編輯 我的大學六年 --郭天祥 在哈爾濱工程大學六年,我在學校電子創新實驗室呆了四年,這四年里創新實驗室給我提供了良好的學習環境和完善的實驗設備;在與眾多電子愛好者的交流中,使我學到了更多的專業 ...…

查看全部問答∨

如何改進程序提高工作頻率

我現在編寫了一個數據轉換的程序,但是工作頻率始終不能達到我的要求,我在程序中需要125MHZ的頻率,但是現在只有82MHZ,我現在把程序列出來,希望大家給點改進意見。 我說一下程序的大概意思吧:將連續輸入的24個24bit寬的數據重排,將24個數據分 ...…

查看全部問答∨

帶IPOD功能的接口電路

各位大俠:      鄙人在做一個帶接IPOD功能的音響,可是不知道這個電路怎樣設計?請知道的同行給我提供下,非常急,謝謝,知道的話可以發到我的油箱:zouhaunming@163.com…

查看全部問答∨

基于虛擬儀器技術的柴油機噴油器故障診斷研究

基于虛擬儀器技術的柴油機噴油器故障診斷研究…

查看全部問答∨

h.264 解碼器

本人現在正在研究H.264解碼器的verilog 代碼,源代碼是從網上下的qcif分辨率,baseline的解碼器,csnd中已經有人上傳過,我現在要把解碼器改成cif分辨率,把代碼修改之后只能解碼一部分數據,其他都是不定態,哪位高手也是研究這方面的,能給指點一 ...…

查看全部問答∨

str711地址問題

菜鳥提問,希望得到幫助!! 最近剛使用STR711,看了DATASHEET和相關例程,收獲不少,但是還是有些疑問: 將str711設置為內部FLASH啟動,也就是說將FLASH的地址映射到0x0,那么當運用程序讀FLASH的地址為什么要使用0x4****x,而不是0;寫的 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 长兴县| 原平市| 册亨县| 万安县| 叶城县| 宜都市| 元谋县| 措勤县| 乐东| 石狮市| 博罗县| 沙河市| 淳安县| 封开县| 台湾省| 白山市| 建始县| 黔南| 方正县| 福州市| 北海市| 江华| 永清县| 乌拉特中旗| 闻喜县| 抚松县| 肥乡县| 邵东县| 得荣县| 德阳市| 潮安县| 永川市| 昭觉县| 汝阳县| 周宁县| 扬州市| 盘山县| 宣化县| 中宁县| 玉溪市| 鹿邑县|