日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]   筆者在電子市場(chǎng)購(gòu)買了一塊3.6V450mAh的鋰離子充電本文介紹一種以AT89C51單片機(jī)為核心的低成本溫度控制實(shí)驗(yàn)系統(tǒng)。該系統(tǒng)采用溫度傳感器DS18820實(shí)現(xiàn)一線數(shù)字式測(cè)溫,經(jīng)過(guò)PID算法輸出PWM波,再由PWM信

 

  筆者在電子市場(chǎng)購(gòu)買了一塊3.6V450mAh的鋰離子充電本文介紹一種以AT89C51單片機(jī)為核心的低成本溫度控制實(shí)驗(yàn)系統(tǒng)。該系統(tǒng)采用溫度傳感器DS18820實(shí)現(xiàn)一線數(shù)字式測(cè)溫,經(jīng)過(guò)PID算法輸出PWM波,再由PWM信號(hào)控制固態(tài)繼電器,調(diào)節(jié)熱阻絲發(fā)熱功率,最終達(dá)到控制被控對(duì)象溫度的目的,該系統(tǒng)還擴(kuò)展了人機(jī)接口和串口通信,實(shí)現(xiàn)溫度設(shè)定、控制及圖像顯示。

  硬件設(shè)計(jì)

 

  1.總體設(shè)計(jì)

  系統(tǒng)結(jié)構(gòu)框圖如圖1所示,以AT89C51單片機(jī)為控制核心,DS18820電池,外型尺寸完全符合原機(jī)的內(nèi)部空間要求。按照正確的正負(fù)極性焊連到電路中即可完成電池的更換工作。實(shí)際使用效果極佳,連續(xù)播放時(shí)間超過(guò)了7個(gè)小時(shí)(圖4)。測(cè)量被控溫度,外圍電路包括人機(jī)接口的按鍵與數(shù)碼顯示電路、溫度讀取與控制驅(qū)動(dòng)電路以及與上位機(jī)串行通信電路。用戶通過(guò)按鍵設(shè)定加熱溫度后,系統(tǒng)啟動(dòng)加熱“熱得快”燒水。當(dāng)前水溫經(jīng)過(guò)DS18820測(cè)量送給單片機(jī),單片機(jī)經(jīng)PID校正后輸出PWM信號(hào),然后通過(guò)固態(tài)繼電器驅(qū)動(dòng)熱得快加熱,最終使水溫保持在設(shè)定值上,誤差不超過(guò)O.1℃。

  單片機(jī)系統(tǒng)通過(guò)串口與上位PC機(jī)實(shí)現(xiàn)通訊,上位機(jī)實(shí)現(xiàn)溫度、溫度曲線顯示以及PID參數(shù)的設(shè)定,用戶通過(guò)上位機(jī)可以清晰地看到設(shè)定的PID參數(shù)所產(chǎn)生的控制作用,如系統(tǒng)的微調(diào)、時(shí)間等參數(shù)。

  2溫度測(cè)試模塊

  系統(tǒng)選用美國(guó)DALLAS公司生產(chǎn)的單總線DS18820數(shù)字式溫度傳感器作為溫度模塊,引腳圖如下圖所示。

DS18820具有體積小、經(jīng)濟(jì)、使用方便靈活、測(cè)試精度高、性價(jià)比高、CRC校驗(yàn)功能等特點(diǎn),溫度測(cè)量范圍為-55+125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,測(cè)溫分辨率達(dá)0.0625℃,被測(cè)溫度采用帶符號(hào)位擴(kuò)展的16位數(shù)字方式串行輸出。其工作電源即可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生,多個(gè)DS18820可以并聯(lián)到3根或2根線上,CPU只需一根端口線即可與多個(gè)DS18820通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。

  文中的DS18820三引腳分別接公共電源+5V、電源地和單片機(jī)P1.O引腳,具體電路如下圖所示,由于DS18820為1-WIRE器件,只需在其信號(hào)線上加一個(gè)上拉電阻到+5V電源即可。

  同時(shí),每一個(gè)DS18820均有唯一系列號(hào),即允許在不同地方放置溫度靈敏器件,通過(guò)SearchRom指令選擇不同的DS18820芯片,實(shí)現(xiàn)溫度的多點(diǎn)監(jiān)測(cè),如HVAC環(huán)境控制、建筑物、設(shè)備或機(jī)械內(nèi)溫度檢測(cè)、過(guò)程溫度監(jiān)視和控制等。

  3鍵盤(pán)及顯示電路模塊

  本系統(tǒng)采用PT6961驅(qū)動(dòng)控制電路同時(shí)驅(qū)動(dòng)鍵盤(pán)與數(shù)碼管。PT6961為帶有鍵盤(pán)掃描接口的LED驅(qū)動(dòng)控制專用電路,內(nèi)部集成MCU數(shù)字接口、數(shù)據(jù)鎖存器、LED高壓驅(qū)動(dòng)、鍵盤(pán)掃描等電路。主要應(yīng)用于VCR、VCD、DVD及家庭影院等產(chǎn)品的顯示屏驅(qū)動(dòng)、多種顯示模式(11段×7位~14段×4位)、鍵掃描(10×3bit)電路、灰度調(diào)節(jié)電路(占空比8級(jí)可調(diào)),與單片機(jī)實(shí)現(xiàn)串行數(shù)據(jù)傳輸,節(jié)省了單片機(jī)引腳。PT6961可以自己驅(qū)動(dòng)顯示和鍵盤(pán)模塊電路,可實(shí)現(xiàn)串行數(shù)據(jù)傳輸,同日寸對(duì)時(shí)序要求較高。

  單片機(jī)的P0.6引腳與PT6961的時(shí)鐘線相連,控制時(shí)序;P0.7引腳與PT6961的片選端相連,選通芯片,P0.4、PO.5引腳與PT6961的DOUT、DIN端相連,進(jìn)行數(shù)據(jù)和指令的串行傳輸,具體的傳輸數(shù)據(jù)仍由單片機(jī)編程控制。PT6961在cLOCk端產(chǎn)生下降沿時(shí),讀取DIN口的數(shù)據(jù),在clock端產(chǎn)生上升沿時(shí),在DOUT口產(chǎn)生按鍵寄存器值可供單片機(jī)讀取。硬件連接電路如下圖所示,該芯片可以同時(shí)驅(qū)動(dòng)(8~14)段×(4~7)位數(shù)碼管和3×10個(gè)按鍵,本文選用驅(qū)動(dòng)6個(gè)數(shù)碼管和1×6個(gè)按鍵。

  4.執(zhí)行模塊

  系統(tǒng)采用固態(tài)繼電器(SSR)控制熱得快電源,固態(tài)繼電器是一種四端器件,兩個(gè)輸人端,兩個(gè)輸出端,輸入端接控制信號(hào),輸出端與負(fù)載、電源串聯(lián),SSR實(shí)際是一個(gè)受控電力電子開(kāi)關(guān)。

  單片機(jī)經(jīng)PID算法,從P1.5口輸出PWM波,經(jīng)ULN2003反相驅(qū)動(dòng)后,作為SSR的控制信號(hào),如圖5所示,在固態(tài)繼電器輸出端接兩個(gè)二端口插件,方便引線串入熱得快插線中。由于SSR與熱得快接口是整個(gè)系統(tǒng)和電路板唯一一塊強(qiáng)電部分,為將其對(duì)弱電部分的干擾降到最低,弱電電路線遠(yuǎn)離該部分電路,且不共地,接線端子的腳間距應(yīng)大于SSR的腳間距。

  5.串行通信模塊

  本系統(tǒng)采用串口實(shí)現(xiàn)單片機(jī)與上位計(jì)算機(jī)的連接,單片機(jī)向上位機(jī)傳送溫度值,上位機(jī)顯示該值,并畫(huà)出溫度變化曲線圖,反應(yīng)溫度的變化情況,同時(shí)上位機(jī)可以調(diào)整PID參數(shù),使系統(tǒng)適用于不同的對(duì)象。串行通信連接如下圖所示,其中5個(gè)電容均取O.1μF的典型值,串口

  DB9的5端為公共端接地端,2、3端則分別連接信號(hào)的接收端和發(fā)送端,該電路完成TTL電平與RS232電平轉(zhuǎn)換,DB9接口通過(guò)交叉串口線連接到PC機(jī)上,完成硬件的串行通信。

  軟件設(shè)計(jì)

  為加強(qiáng)程序的可讀性、可移植性和便于調(diào)試,系統(tǒng)軟件設(shè)計(jì)采用模塊化思想,程序運(yùn)行時(shí),通過(guò)主程序調(diào)用各子程序模塊。本文主程序流程如下圖所示,軟件設(shè)計(jì)主要講述DS18820信號(hào)處理子程序和串口通信子程序。

  1.DS18820信號(hào)處理子程序

  DSl8820為1-wire制器件,采用一根信號(hào)線即可與單片機(jī)進(jìn)行串行通信,簡(jiǎn)化了硬件電路,但是,在軟件設(shè)計(jì)中須進(jìn)行復(fù)雜的時(shí)序控制。DS1820單線通信功能為分日寸完成,有嚴(yán)格的時(shí)隙概念,系統(tǒng)對(duì)DS1820的各種操作必須按協(xié)議進(jìn)行。

  操作協(xié)議為:初始化DS1820(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲(chǔ)器操作命令→處理數(shù)據(jù),DS18820操作程序流程如下圖所示。

  本文只有一個(gè)DSl8820掛在總線上,因此每次對(duì)總線進(jìn)行讀寫(xiě)日寸,可跳過(guò)讀ROM指令,為提高測(cè)溫精度,文中采用默認(rèn)的12位數(shù)碼轉(zhuǎn)換,即0.0625度/位,程序如下:

  #include

  sbit DQ=P1^O;

  void Init_DS18820();

  WriteOneChar(unsigned char dat);

  char ReadOneChar();

  void deIay(unsigned int i);

  unsigned int ReadTemperature()

  {

  unsigned char a=0,c=O:

  unsigned char b=O;

  unsigned int t=O;

  float tt=0;

  Init_DS18820();

  WriteOneChar(0xCC);

  /*跳過(guò)讀序號(hào)列號(hào)的操作*/

  WriteOneChar(Ox44);

  /*啟動(dòng)溫度轉(zhuǎn)換*/

  Init_DS18820();

  WriteOneChar(OxCC);

  /*跳過(guò)讀序號(hào)列號(hào)的操作*/

  WriteOneCha r(0xBE);

  /*讀取溫度寄存器等(共可讀9個(gè)寄

  存器)前兩個(gè)就是溫度*/

  a=ReadOneChar();

  /*Read the low byte of the tem-perature*/

  b=ReadOneChar();

  /*high*/

  c=a;

  a>>=4;

  b<<=4;

  t=aㄧb;

  , c&=0x0F;

  tt=c;

  tt*=0.0625;

  c=tt*1 0+0.5;

  t=t*1 0+c;

  return t;

  /*溫度轉(zhuǎn)化,位了避免浮點(diǎn)數(shù)運(yùn)算,

  盡量用整形數(shù)據(jù)運(yùn)算,這樣可以減輕CPU負(fù)擔(dān)*/

  }

  void Init_DS18820()

  /*初始化函數(shù)*/

  {

  unsigned char x=0;

  DQ=1;

  /*DQ復(fù)位*/

  delay(8);

  /*稍做延時(shí)*/

  DQ=0;

 ?。瘑纹瑱C(jī)將DQ拉低*/

  delay(80);

  /*精確延時(shí)大于480μs*/

  DQ=1;

  /*拉高總線*/

  delay(1 4):

  x=DQ;

 ?。?稍做延時(shí)后,如果x=0則初始化

  成功x=1則初始化失敗*/

  }

  char ReadoneChar()

 ?。?讀一個(gè)字節(jié)*/

  {

  unsigned char i=O;

  unsigned char dat=O;

  for(i=8;i>O;i--)

  {

  DQ=0:

  /*給脈沖信號(hào)*/

  dat>>=1;

  DQ=1;

  /*給脈沖信號(hào)*/

  if(DQ)

  datl=Ox80;

  delay(4);

  }

  return(dat);

  }

  WriteOneChar(unsigned char dat)

  /*寫(xiě)一個(gè)字節(jié)*/

  {

  unsigned char i=O;

  for(i=8:i>O:i--)

  {

  DO=0;

  DQ=dat&Ox01;

  delay(5);

  DQ=1:

  dat>>=1;

  }

  delay(4);

  }

  void delay(unsigned int i)

 ?。?延時(shí)函數(shù)*/

  {

  while(i--);

  }

  2,串行通信程序設(shè)計(jì)

  單片機(jī)通過(guò)引腳RXD(P3.O,串行數(shù)據(jù)接收端)和引腳TXD(P3.1,串行數(shù)據(jù)發(fā)送端)與外界通訊,SBUF為串行口緩沖寄存器,包括發(fā)送寄存器和接收寄存器,具有相同名字和地址空間,但不會(huì)出現(xiàn)沖突,因?yàn)槠渲幸粋€(gè)只能被CPU讀出數(shù)據(jù),另一個(gè)只能被CPU寫(xiě)入數(shù)據(jù)。

  單片機(jī)的串行口的四種工作方式中,方式0和2的波特率是固定的,方式1和3的波特率是可變的,由定時(shí)器T1的溢出率控制,方式2為自動(dòng)重裝入初值的8位定時(shí)器/計(jì)數(shù)器模式,作為本文的波特率發(fā)生器。

  上位機(jī)編程中,本文采用最常用的通信控件MSComm,實(shí)現(xiàn)可視化界面。MSComm控件的常用屬性有:Comm-Port設(shè)置并返回通訊端口號(hào):Settings以字符串的形式設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位;PortOpen設(shè)置并返回通訊端口的狀態(tài),也可以打開(kāi)和關(guān)閉端口;Input從接收緩沖區(qū)返回和刪除字符;Output向傳輸緩沖區(qū)寫(xiě)一個(gè)字符串。

  串口初始化程序如下

  BOOLJWDIg::OnInitDialog()

  {

  Comport SetCommPort(1):

  if(!Comport GetPortOpen())

  Comport.SetPortOpen(TRUE);

  /*打開(kāi)指定的串口*/

  Comport.

  SetlnputMode

  (cOm-Input-

  ModeBinary);

  /*設(shè)置數(shù)據(jù)

  獲取方式*/

  Comport.

  SetSettings

  (“9600,n.8,1”);

  /*設(shè)置波特率及其他通信

  數(shù)*/

  Comport.

  SetRThreshOld

  (n);

  /*設(shè)定每接受n個(gè)字符觸發(fā)一次

  MSComm事件*/

  Comport.SetInputLen(0);

 ?。O(shè)置讀取方式*/

  Comport.GetInput();

  /*預(yù)置緩沖區(qū)以清除殘留數(shù)據(jù)*/

  return TRU E;

  }

  系統(tǒng)測(cè)試

  本系統(tǒng)實(shí)現(xiàn)的電路實(shí)物圖如下圖所示,通過(guò)按鍵設(shè)置預(yù)定溫度,如81.7℃,設(shè)定PID參數(shù),比例系數(shù)Kc=O.8、積分系數(shù)KI=O.007以及微分系數(shù)KD=5,設(shè)定PWM控制信號(hào)周期為20ms,采樣周期Ts=1S,測(cè)量的實(shí)驗(yàn)數(shù)據(jù)經(jīng)串行通信傳遞到上位機(jī)后實(shí)時(shí)顯示的響應(yīng)曲線實(shí)驗(yàn)中,測(cè)量溫度由低升高,最后與設(shè)定溫度值一致。

  結(jié)論

本文介紹的溫控實(shí)驗(yàn)系統(tǒng)即有單片機(jī)主控的可靠性,又有上位機(jī)監(jiān)測(cè)的方便性,同時(shí)基于1-Wire總線DS18820實(shí)現(xiàn)多路溫度測(cè)控,具有現(xiàn)場(chǎng)安裝簡(jiǎn)單、

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

8位單片機(jī)在嵌入式設(shè)計(jì)領(lǐng)域已經(jīng)成為半個(gè)多世紀(jì)以來(lái)的主流選擇。盡管嵌入式系統(tǒng)市場(chǎng)日益復(fù)雜,8位單片機(jī)依然不斷發(fā)展,積極應(yīng)對(duì)新的挑戰(zhàn)和系統(tǒng)需求。如今,Microchip推出的8位PIC?和AVR?單片機(jī)系列,配備了先進(jìn)的獨(dú)立...

關(guān)鍵字: 單片機(jī) 嵌入式 CPU

在嵌入式系統(tǒng)開(kāi)發(fā)中,程序燒錄是連接軟件設(shè)計(jì)與硬件實(shí)現(xiàn)的關(guān)鍵環(huán)節(jié)。當(dāng)前主流的單片機(jī)燒錄技術(shù)已形成ICP(在電路編程)、ISP(在系統(tǒng)編程)、IAP(在應(yīng)用編程)三大技術(shù)體系,分別對(duì)應(yīng)開(kāi)發(fā)調(diào)試、量產(chǎn)燒錄、遠(yuǎn)程升級(jí)等不同場(chǎng)景。...

關(guān)鍵字: 單片機(jī) ISP ICP IAP 嵌入式系統(tǒng)開(kāi)發(fā)

在嵌入式系統(tǒng)開(kāi)發(fā)中,看門(mén)狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時(shí)機(jī)的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構(gòu)、軟件流程、安全規(guī)范三個(gè)維度,系統(tǒng)分析看門(mén)狗初始化的最佳實(shí)踐...

關(guān)鍵字: 單片機(jī) 看門(mén)狗 嵌入式系統(tǒng)

本文中,小編將對(duì)單片機(jī)予以介紹,如果你想對(duì)它的詳細(xì)情況有所認(rèn)識(shí),或者想要增進(jìn)對(duì)它的了解程度,不妨請(qǐng)看以下內(nèi)容哦。

關(guān)鍵字: 單片機(jī) 開(kāi)發(fā)板 Keil

隨著單片機(jī)系統(tǒng)越來(lái)越廣泛地應(yīng)用于消費(fèi)類電子、醫(yī)療、工業(yè)自動(dòng)化、智能化儀器儀表、航空航天等各領(lǐng)域,單片機(jī)系統(tǒng)面臨著電磁干擾(EMI)日益嚴(yán)重的威脅。電磁兼容性(EMC)包含系統(tǒng)的發(fā)射和敏感度兩方面的問(wèn)題。

關(guān)鍵字: 單片機(jī) 電磁兼容

以下內(nèi)容中,小編將對(duì)單片機(jī)的相關(guān)內(nèi)容進(jìn)行著重介紹和闡述,希望本文能幫您增進(jìn)對(duì)單片機(jī)的了解,和小編一起來(lái)看看吧。

關(guān)鍵字: 單片機(jī) 復(fù)位電路

在這篇文章中,小編將為大家?guī)?lái)單片機(jī)的相關(guān)報(bào)道。如果你對(duì)本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: 單片機(jī) 異常復(fù)位

今天,小編將在這篇文章中為大家?guī)?lái)單片機(jī)的有關(guān)報(bào)道,通過(guò)閱讀這篇文章,大家可以對(duì)它具備清晰的認(rèn)識(shí),主要內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 仿真器

單片機(jī)將是下述內(nèi)容的主要介紹對(duì)象,通過(guò)這篇文章,小編希望大家可以對(duì)它的相關(guān)情況以及信息有所認(rèn)識(shí)和了解,詳細(xì)內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 中斷 boot

一直以來(lái),單片機(jī)都是大家的關(guān)注焦點(diǎn)之一。因此針對(duì)大家的興趣點(diǎn)所在,小編將為大家?guī)?lái)單片機(jī)的相關(guān)介紹,詳細(xì)內(nèi)容請(qǐng)看下文。

關(guān)鍵字: 單片機(jī) 數(shù)字信號(hào) 模擬信號(hào)
關(guān)閉