太陽能熱水器控制器的設計作業(yè)_第1頁
太陽能熱水器控制器的設計作業(yè)_第2頁
太陽能熱水器控制器的設計作業(yè)_第3頁
太陽能熱水器控制器的設計作業(yè)_第4頁
太陽能熱水器控制器的設計作業(yè)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、太陽能熱水器控制器的設計摘要: 本系統(tǒng)是為太陽能熱水器水溫水位的檢測和控制而設計的。在整個控制系統(tǒng)中,以STC89C52為主控芯片,由DS18B20傳感器分別檢測水溫和水位,實現(xiàn)對水溫和水位、上水測量、顯示、報警等功能,并以電磁閥、繼電器為閥門開關實現(xiàn)全自動加熱、上水。整個系統(tǒng)精度高,耐高溫性強,易于調(diào)整,測試方便,達到設計要求。關鍵詞: STC89C52 DS18B20傳感器 水溫水位檢測與控制引言當前能源緊缺,用電緊張,太陽能是綠色能源,得到廣大用戶的喜愛。使用太陽能熱水器時存在的問題:不可缺水,空曬情況下上水會爆炸;春、秋天,水溫升高蒸發(fā),造成熱能損失;冬天水溫不夠,須用電等等。采用太陽

2、能熱水器智能儀(也稱太陽能熱水器水溫水位監(jiān)控儀),能解決上述問題。使用戶省心,使用方便,智能運行,用戶不必作任何操作。太陽能熱水器是一種利用太陽輻射能通過溫室效應把水加熱的裝置。利用聚積的高溫來加熱水。太陽能熱水器不僅可以為家庭提供低溫用熱水(4060),還可以為暖房、溫室、干燥、蒸餾、制冷等熱動力系統(tǒng)和工農(nóng)業(yè)生產(chǎn)提供較高溫度的熱水。太陽能熱水器由于具有綠色環(huán)保特色而在人民生活和生產(chǎn)中得到了很多應用,它為百姓提供環(huán)保、安全節(jié)能、衛(wèi)生的新型熱水器產(chǎn)品,太陽能熱水器就是吸收太陽的輻射熱能,加熱冷水提供給人們在生活、生產(chǎn)中使用的節(jié)能設備。進步源于競爭,在我國太陽能擁有廣闊的市場,當然也有更大的競爭,

3、各大商家為了使自己的產(chǎn)品在市場上立足并長遠發(fā)展,不斷提高太陽能熱水器的性能,其中太陽能熱水器控制器以其靈活、貼近客戶成為商家競爭的熱點。目前,各大商家紛紛提高太陽能熱水器的智能化程度來滿足消費者的需求。許多太陽能熱水器的功能有:開機自檢、溫控上水、強制上水、水位預置、水質設置、水溫指示、低水壓上水、水位顯示、防高溫空曬、缺水報警、自動防溢流、缺水上水、手動上水、故障提示等許多貼近客戶需求的功能。 一、基本設計框圖本系統(tǒng)的組成框圖如圖1所示。本系統(tǒng)的主要設計思路是:設計太陽能熱水器控制器,要求實現(xiàn)測溫,高中低水位點測(開關量),加水控制,電加熱控制、計算機監(jiān)控等功能。在此框圖中由PC上位機實現(xiàn)對

4、控制部分的監(jiān)控,由單片機實現(xiàn)現(xiàn)場部分的控制。PC上位機部分由VB監(jiān)控界面實現(xiàn)實時監(jiān)控,其中包括太陽能熱水器當前的溫度,當前水位,自動/手動控制,開始加水/停止加水,開始加熱/停止加熱,設置溫度并加熱,保溫控制等。由單片機實現(xiàn)硬件電路的控制,從而實現(xiàn)太陽能熱水器控制器的控制功能。圖1 電路設計框圖二、硬件電路的設計 由單片機實現(xiàn)硬件電路的控制,其中硬件部分主要由DS18B20水溫采集部分,LCD顯示水溫水位部分,按鍵控制部分(實現(xiàn)相應的功能控制),水溫水位報警電路等組成。硬件電路設計圖見附錄一。1、水溫采集部分1)DS18B20基本知識 DS18B20數(shù)字溫度計是DALLAS公司生產(chǎn)的1Wire

5、,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計,十分方便。(1) DS18B20產(chǎn)品的特點 只要求一個端口即可實現(xiàn)通信;在DS18B20中的每個器件上都有獨一無二的序列號;實際應用中不需要外部任何元器件即可實現(xiàn)測溫;測量溫度范圍在55°C到125°C之間;數(shù)字溫度計的分辨率用戶可以從9位到12位選擇;內(nèi)部有溫度上、下限告警設置。(2)DS18B20工作原理及應用:DS18B20的溫度檢測與數(shù)字數(shù)據(jù)輸出全集成于一個芯片之上,從而抗干擾力更強。其一個工作周期可分為兩個部分,即溫度檢測和數(shù)據(jù)處理。在講

6、解其工作流程之前我們有必要了解DS18B20的內(nèi)部存儲器資源。DS18B20共有三種形態(tài)的存儲器資源,它們分別是: ROM只讀存儲器,用于存放DS18B201D編碼,其前8位是單線系列編碼(DS18B20的編碼是19H),后面48位是芯片唯一的序列號,最后8位是以上56的位的CRC碼(冗余校驗)。數(shù)據(jù)在出產(chǎn)時設置不由用戶更改。DS18B20共64位ROM。RAM數(shù)據(jù)暫存器,用于內(nèi)部計算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,DS18B20共9個字節(jié)RAM,每個字節(jié)為8位。第1, 2個字節(jié)是溫度轉換后的數(shù)據(jù)值信息,第3, 4個字節(jié)是用戶EEPROM(常用于溫度報警值儲存)的鏡像。在上電復位時其值將被刷新。

7、第5個字節(jié)序列是用戶第3個EEPROM的鏡像。第6, 7, 8個字節(jié)為計數(shù)寄存器,是為了讓用戶得到更高的溫度分辨率而設計的,同樣也是內(nèi)部溫度轉換、計算的暫存單元。第9個字節(jié)為前8個字節(jié)的CRC碼。EEPROM非易失性記憶體,用于存放長期需要保存的數(shù)據(jù),上下限溫度報警值和校驗數(shù)據(jù),DS18B20共3位EEPROM,并在RAM都存在鏡像,以方便用戶操作。基于DS18B20的水溫采集電路如圖2所示: 圖2 水溫采集電路由單片機P1.4引腳控制溫度信息采集,DS18B20采集的溫度數(shù)據(jù)送到單片機內(nèi)部,由單片機內(nèi)部判斷對現(xiàn)有的溫度是否進行加熱,保溫處理。2、 LCD顯示水溫水位部分液晶顯示器以其微功耗、

8、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點在袖珍式儀表和低功耗應用系統(tǒng)中得到越來越廣泛的應用。但是通用型液晶正常工作溫度為0°C-+55°C,存儲溫度范圍為-20°C-+60°C,溫度過高時,不能正常顯示。LCD1602液晶為5V電壓驅動,帶背光,可顯示兩行,每行16個字符,不能顯示漢字,內(nèi)置含128個字符的ASCII字符集字庫,只有并行接口,無串行接口。LCD1602引腳功能介紹:第1腳:VSS為地電源第2腳:VDD接5V止電源第3腳:VO為液晶顯示器對比度調(diào)整端,接止電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個

9、l0K的電位器調(diào)整對比度.第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數(shù)據(jù)。第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第7 腳-14腳:D0-D7為8位雙向數(shù)據(jù)線。第15一16腳:空腳圖3是水溫水位顯示部分:圖3 水溫水位顯示在LCD上顯示水溫,高中低水位,及當前的時間,通過LCD可以實現(xiàn)實時監(jiān)控,知道目前太陽能熱水器的水溫水位的變化。3、 按

10、鍵控制部分這部分主要是運用按鍵實現(xiàn)太陽能熱水器的實時控制的一些觀測,由于沒有實際的太陽能熱水器用于實驗,采用此種方式可以觀察是否實現(xiàn)了預期的效果。通過按鍵按下判斷是手動/自動控制,加水/加熱控制,停止加水/加熱控制,高中低水位控制。當按下某一按鍵時,對應的二極管亮,表示此功能實現(xiàn)。如圖4所示:圖4 按鍵控制部分4、 水溫水位報警電路當水溫低于某一設定值時,報警電路發(fā)出警告,及要求進行加熱,這是可以采用電加熱的方式實現(xiàn)溫度值的提高。當水位高于或低于某一水位值時,報警電路報警,此時可以采用自動或手動上水的方式上水。如圖5所示:圖5 水溫水位報警電路3、 軟件部分的設計軟件部分的設計主要是包括兩大模

11、塊,即主程序的設計和處理程序的設計。在主程序中首先進行初始化設計:按鍵的初始化,LCD的初始化,串口通信的初始化,定時器的初始化。還要進行LCD的清零,接下來進入大循環(huán),進行按鍵的處理及相關程序的調(diào)用。系統(tǒng)程序流程圖如圖6所示:系統(tǒng)上電后,系統(tǒng)即進行輸入輸出口的初始化,再等待用戶按檢測鍵,在掃描到用戶已經(jīng)按過檢測間后,單片機調(diào)用讀數(shù)子程序,將水溫和控制溫度通過A/D轉換后,處理判斷水是否需要加熱。如果需要加熱測低溫燈亮,并等待用戶按加熱鍵。用戶按加熱鍵后,系統(tǒng)制動繼電器,是加熱器通電。再加熱過程中,系統(tǒng)循環(huán)檢測水溫,并控制加熱時間。整個系統(tǒng)在上電后將無限循環(huán)檢測水溫,實現(xiàn)實時加熱。如用戶需要關

12、閉,則可通過總電源操作。在軟件設計部分,按鍵處理程序、LCD 1602程序、串口通信模塊、DS18B20模塊的設計及相應的處理程序部分,這幾個模塊的編寫過程比較復雜,寫成的過程中要小心細致,同時也要敢于嘗試。具體的程序設計見附錄二。圖6 系統(tǒng)流程圖四、太陽能熱水器控制器串口通信協(xié)議1、通信模式電腦和CPU通過串口進行全雙工命令與數(shù)據(jù)傳遞,一方發(fā)送數(shù)據(jù),另一方接收數(shù)據(jù)即可,沒有回答。串口速率:BPS= 96002、通信協(xié)議格式發(fā)送方發(fā)送數(shù)據(jù)/命令/狀態(tài)的協(xié)議為:地址,數(shù)據(jù)。(1)地址為一字節(jié)數(shù)據(jù),數(shù)值范圍80HFFH,標志是最高位定為1(2)數(shù)據(jù)長度可變,但每一個字節(jié)的數(shù)值一定小于80H,即字節(jié)

13、的最高位=0(3)所有命令中的數(shù)值均為一字節(jié),且小于等于FFH。 命令沒有應答,且每傳一個數(shù)據(jù)時前面都要有地址。3、通信協(xié)議的內(nèi)容下位機傳給上位機:1)、太陽能熱水器的當前溫度 地址:“A0” 命令:A000:當前溫度為0攝氏度 A001:當前溫度為1攝氏度 A002:當前溫度為2攝氏度 A099:當前溫度為99攝氏度 注: 命令是以字符的形式傳送,每傳送溫度時都要加上地址。當前溫度大于80攝氏度時報警。 2)、太陽能熱水器水位檢測: 地址:”A1” 命令:A110:水位達到低水位 A111:水位達到中水位 A112:水位達到高水位 注:命令傳送是以單個字符的形式,每傳送一組溫度數(shù)值時都要加上

14、地址。水位達到高水位時報警。上位機傳給下位機:1、太陽能熱水器加熱命令及溫度設置、熱水器保溫地址:”B0”命令:B014:加熱到20度 B015:加熱到21度 B016:加熱到22度 B017:加熱到23度 B04F:加熱到79度 B050:加熱到80度地址: B1H:停止加熱 命令傳送是以單個字符的形式,每傳送一組溫度數(shù)值時都要加上地址。 注:上位機傳溫度時,把十進制溫度數(shù)據(jù)以十六進制的形式傳給下位機。設置的溫度是從2080度,超此范圍,設置溫度窗口會報錯。 2)、太陽能熱水器加水設置 命令:”C0”:開始加水 “C1”:停止加水3)、太陽能熱水器自動/手動設置 命令:”D0”:自動 “D1

15、”:手動VB監(jiān)控界面見附錄三:五、小結本系統(tǒng)硬件部分簡單,主要數(shù)據(jù)都有軟件處理,且具有安全性、可靠性以及實用性。在此次的設計中,我學到了很多知識,之前單片機的知識幾乎忘記,經(jīng)過這次小課題設計,我做到了溫故而知新,同時也鍛煉了自己的編程的能力。雖然在這次課題設計中我遇到了許多難題,通過與同學的討論,基本上得到了解決,之后會再接再厲,爭取做得更好!在此也要感謝此次設計過程中幫助過我的同學及老師們。附錄一:整體電路圖附錄二:軟件設計程序#include "reg52.h"#include "key.h"#include "lcd1602.h"

16、;#include "usart.h"#include "ds18b20.h"#include "time.h"#include "dispose.h"void Init (void)KeyInit();LcdInit();UsartInit();TimeInit();void main (void)unsigned key;Init();LcdClr();while (1)key = KeyScan();DisposeKey(key);#include "dispose.h"sbit di=P

17、20;sbit zhong=P21; sbit gao=P22;char RunMode;char SetTemp;char SetTempbuf;char BaojingEn;unsigned char shuiliang(void);void DisposeAuto(void)if (tempi < SetTempbuf)jiare = 0;elsejiare = 1;if (shuiliang() = 0)jiashui = 0;else if (shuiliang() = 1) && (SetTempbuf - tempi < 30)jiashui = 0;

18、else if (shuiliang() = 2) && (SetTempbuf - tempi < 20)jiashui = 0;else if (shuiliang() = 3) && (SetTempbuf - tempi < 10)jiashui = 0;elsejiashui = 1;void DisposeKey(unsigned char key)switch (key)case 8:/手動/自動RunMode = !RunMode;break;case 9:/加熱if (!RunMode)jiare = 0;break;case 10

19、:/+if (SetTemp)if (SetTempbuf < 100)SetTempbuf+;LcdPos(14);LcdWdat(SetTempbuf/10+48);LcdWdat(SetTempbuf%10+48);break;case 11:/-if (SetTemp)if (SetTempbuf > 0)SetTempbuf-;LcdPos(14);LcdWdat(SetTempbuf/10+48);LcdWdat(SetTempbuf%10+48);break;case 12:/設置溫度SetTemp = !SetTemp;if (SetTemp)LcdClr();Lc

20、dPos(0);LcdWdat('S');LcdWdat('e');LcdWdat('t');LcdWdat('T');LcdWdat('e');LcdWdat('m');LcdWdat('p');LcdWdat(':');LcdPos(14);LcdWdat(SetTempbuf/10+48);LcdWdat(SetTempbuf%10+48);elseLcdClr();LcdPos(0);LcdWdat('T');LcdWdat('e

21、9;);LcdWdat('m');LcdWdat('p');LcdWdat(':');LcdPos(14);LcdWdat(tempi/10+48);LcdWdat(tempi%10+48);break;case 13:/報警音開/關BaojingEn = !BaojingEn;break;case 14:/加水if (!RunMode)jiashui = 0;break;case 15:/停止if (!RunMode)jiare = 1;jiashui = 1;break;default :break;unsigned char shuilia

22、ng(void)static unsigned char shuiliang;di=0;zhong=0;gao=0;/static unsigned char j;P3 |= 0x38;/j+;/if (j >= 2)/j = 0;/if (di = 1)shuiliang = 0;else if (zhong = 1)shuiliang = 1;else if (gao = 1)shuiliang = 2;/if (shuiliang0 != shuiliang1)switch (shuiliang)case 0 :LcdPos(0x40);LcdWdat('W');L

23、cdWdat('a');LcdWdat('t');LcdWdat('e');LcdWdat('r');LcdWdat(' ');LcdWdat('L');LcdWdat('e');LcdWdat('v');LcdWdat('e');LcdWdat('l');LcdWdat(':');LcdWdat('0');UsartSendShuiwei(0);break;case 1 :LcdPos(0x40);Lc

24、dWdat('W');LcdWdat('a');LcdWdat('t');LcdWdat('e');LcdWdat('r');LcdWdat(' ');LcdWdat('L');LcdWdat('e');LcdWdat('v');LcdWdat('e');LcdWdat('l');LcdWdat(':');LcdWdat('1');UsartSendShuiwei(1);break;cas

25、e 2 :LcdPos(0x40);LcdWdat('W');LcdWdat('a');LcdWdat('t');LcdWdat('e');LcdWdat('r');LcdWdat(' ');LcdWdat('L');LcdWdat('e');LcdWdat('v');LcdWdat('e');LcdWdat('l');LcdWdat(':');LcdWdat('2');UsartSend

26、Shuiwei(2);break;case 3 :LcdPos(0x40);LcdWdat('W');LcdWdat('a');LcdWdat('t');LcdWdat('e');LcdWdat('r');LcdWdat(' ');LcdWdat('L');LcdWdat('e');LcdWdat('v');LcdWdat('e');LcdWdat('l');LcdWdat(':');LcdWdat(&#

27、39;3');UsartSendShuiwei(3);break;default :break;/return shuiliang; 按鍵處理部分#include "key.h"void KeyDelay (unsigned int z)unsigned int i;while(z-)for(i=0;i<120;i+);void KeyInit (void)P2=0xfe;P0=0xff;ad0=0;ad1=0;ad2=0;ad3=1;unsigned char KeyScan (void)unsigned char temp,num;num=16;ad0=0

28、;ad1=0;ad2=1;ad3=1;P2=0xfe; /掃描第一行P0=0xff;temp=P0;if(temp!=0xff)KeyDelay(5);temp=P0;if(temp!=0xff)switch(temp)case 0xfe: num=0; break;case 0xfd: num=1; break;case 0xfb: num=2; break;case 0xf7: num=3; break;case 0xef: num=4; break;case 0xdf: num=5; break;case 0xbf: num=6; break;case 0x7f: num=7; brea

29、k;while(temp!=0xff)P0=0xff;temp=P0;P2=0xfd; /掃描第二行P0=0xff;temp=P0;if(temp!=0xff)KeyDelay(5);temp=P0;if(temp!=0xff)switch(temp)case 0xfe: num=8; break;case 0xfd: num=9; break;case 0xfb: num=10; break;case 0xf7: num=11; break;case 0xef: num=12; break;case 0xdf: num=13; break;case 0xbf: num=14; break;c

30、ase 0x7f: num=15; break;while(temp!=0xff)P0=0xff;temp=P0;ad3=0;return num;LCD1602程序#include "lcd1602.h"unsigned char code dis1 = " Welcome B6 "/第一行顯示內(nèi)容unsigned char dispbuf5;/第二行顯示內(nèi)容float count1=34.56;/*/* /* 延時子程序 /* /*/void LcdDelay (int ms) int i; while(ms-) for(i = 0; i< 2

31、50; i+) _nop_(); _nop_(); _nop_(); _nop_(); /*/* */ /*檢查LCD忙狀態(tài) */ /*LcdBusy為1時,忙,等待。LcdBusy為0時,閑,可寫指令與數(shù)據(jù)。 */ /* */ /*/bit LcdBusy (void) bit result; lck = 0; LCD_RW =1; lcd_rs=0; LCD_EN=1;/0x91;/LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; lck = 1; /鎖存數(shù)據(jù)到HC574 _nop_(); _nop_(); _nop_(); _nop_(); result = (bi

32、t)(P0&0x80); lck = 0; LCD_EN = 0;/ LCD_EN = 0; lck = 1; return result; /*/* */ /*寫指令數(shù)據(jù)到LCD */ /*RS=L,RW=L,E=上升沿,D0-D7=指令碼。 */ /* */ /*/void LcdWcmd (unsigned char cmd) while (LcdBusy(); lck = 0; LCD_RW =0; lcd_rs=0; LCD_EN=0;/ LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; lck = 1; _nop_(); _nop_(); P0 = c

33、md; _nop_(); _nop_(); _nop_(); _nop_(); lck = 0; LCD_EN = 1; / LCD_EN = 1; lck = 1; _nop_(); _nop_(); _nop_(); _nop_(); lck = 0; LCD_EN = 0; / LCD_EN = 0; lck = 1;/*/* */ /*寫顯示數(shù)據(jù)到LCD */ /*RS=H,RW=L,E=上升沿,D0-D7=數(shù)據(jù)。 */* */ /*/void LcdWdat (unsigned char dat) while (LcdBusy(); lck = 0; lcd_rs = 1; LCD_

34、RW = 0; LCD_EN = 0; / LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; lck = 1; P0 = dat; _nop_(); _nop_(); _nop_(); _nop_(); lck = 0; LCD_EN = 1;/ LCD_EN = 1; lck = 1; _nop_(); _nop_(); _nop_(); _nop_(); lck = 0; LCD_EN = 0; /LCD_EN = 0; lck = 1; /*/* */ /* 設定顯示位置 */ /* */ /*/void LcdPos (unsigned char pos) Lcd

35、Wcmd(pos|0x80); /數(shù)據(jù)指針=0x80+地址變量/*/* */ /* LCD初始化設定 */ /* */ /*/void LcdInit (void) LcdDelay(15); /等待LCD電源穩(wěn)定 LcdWcmd(0x38); /16*2顯示,5*7點陣,8位數(shù)據(jù) LcdDelay(5); LcdWcmd(0x38); LcdDelay(5); LcdWcmd(0x38); LcdDelay(5); LcdWcmd(0x0c); /顯示開,關光標 LcdDelay(5); LcdWcmd(0x06); /移動光標 LcdDelay(5); LcdWcmd(0x01); /清除

36、LCD的顯示內(nèi)容 LcdDelay(5);/*/* */ /* 清屏子程序 */ /* */ /*/void LcdClr (void) LcdWcmd(0x01); /清除LCD的顯示內(nèi)容 LcdDelay(5);/*結束*/串口通信程序#include "usart.h"/*/函數(shù)名稱:UsartInit/函數(shù)功能:初始化/*/void UsartInit(void)TMOD|=0x20;/定時器1工作方式2TH1=0xfd;/頻率9600TL1=0xfd;TR1=1;/定時器1工作SCON=0x50;/01010000串口表現(xiàn)為8位UART,串口允許接收位REN置1P

37、CON=0x00;/波特率不加倍IE=0x90;/10010000開總中斷EA,串口中斷ES/*/函數(shù)名稱:UsartSendTemp/函數(shù)功能:串口發(fā)送溫度/*/void UsartSendTemp (unsigned char temp)SBUF = 'A'while(TI = 0);TI=0;SBUF = '0'while(TI = 0);TI=0;SBUF = temp/10+48;while(TI = 0);TI=0;SBUF = temp%10+48;while(TI = 0);TI=0;/*/函數(shù)名稱:UsartSendShuiwei/函數(shù)功能:串

38、口發(fā)送水位/*/void UsartSendShuiwei (unsigned char shuiwei)SBUF = 'A'while(TI = 0);TI=0;SBUF = '1'while(TI = 0);TI=0;switch (shuiwei)case 0 :SBUF = '0'while(TI = 0);TI=0;break;case 1 :SBUF = '1'while(TI = 0);TI=0;break;case 2 :SBUF = '2'while(TI = 0);TI=0;break;default :break;/*/函數(shù)名稱:serial/函數(shù)功能:串口中斷/*/void serial()interrupt 4unsigned char addr;static unsigned char i;static unsigned char dat3;if(RI)RI=0;/RI清0addr=SBUF;/取數(shù)據(jù)switch (addr)case 'B' :i = 0;dati =

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論