單片機(jī)課程設(shè)計(jì)論文基于C++Builder的PC機(jī)與單片機(jī)之間的串口通信_(tái)第1頁
單片機(jī)課程設(shè)計(jì)論文基于C++Builder的PC機(jī)與單片機(jī)之間的串口通信_(tái)第2頁
單片機(jī)課程設(shè)計(jì)論文基于C++Builder的PC機(jī)與單片機(jī)之間的串口通信_(tái)第3頁
單片機(jī)課程設(shè)計(jì)論文基于C++Builder的PC機(jī)與單片機(jī)之間的串口通信_(tái)第4頁
單片機(jī)課程設(shè)計(jì)論文基于C++Builder的PC機(jī)與單片機(jī)之間的串口通信_(tái)第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、河海大學(xué)計(jì)算機(jī)及信息工程學(xué)院(常州)課程設(shè)計(jì)報(bào)告題 目 基于c+builder的pc機(jī)與單片機(jī)之間的串口通信專業(yè) 自動(dòng)化學(xué)號(hào) 0862510109學(xué)生姓名 指導(dǎo)教師 完成時(shí)間 2010-12-22摘 要單片機(jī)是一門技術(shù)性、應(yīng)用性很強(qiáng)的學(xué)科,如果不在實(shí)踐技能的鍛煉上下功夫,單憑課堂理論課學(xué)習(xí),勢必出現(xiàn)理論與實(shí)踐脫節(jié),學(xué)習(xí)與應(yīng)用脫節(jié)的局面。因此為了能夠?qū)⒄n堂上學(xué)到的理論知識(shí)與實(shí)際應(yīng)用結(jié)合起來,而且能夠?qū)﹄娮与娐?、電子元器件、印制電路板等方面的知識(shí)進(jìn)一步加深認(rèn)識(shí),此次課設(shè)主題為單片機(jī)串口通信的應(yīng)用之一。通過串口,我們的個(gè)人電腦和單片機(jī)系統(tǒng)進(jìn)行通信。個(gè)人電腦作為上位機(jī),向下位機(jī)單片機(jī)系統(tǒng)發(fā)送數(shù)據(jù)幀,單

2、片機(jī)系統(tǒng)接收后,發(fā)回通信協(xié)議要求的數(shù)據(jù)幀??梢杂胏+ builder 語言制作的應(yīng)用程序界面或串口調(diào)試助手字符串輸入框中輸入數(shù)字和字符來實(shí)現(xiàn)pc機(jī)與80c51系列單片機(jī)的串口通信。關(guān)鍵字:單片機(jī)、pc機(jī)、串口通信、c+ builderabstract scm is a technical, applied a strong discipline, if not in practice, work hard skills training, theoretical study of the classroom alone, theory and practice is bound to appe

3、ar out of line, the gap between learning and application of situation. therefore, in order to be able to classroom and practical application of theoretical knowledge combined, but also on the electronic circuits, electronic components, printed circuit boards and other knowledge to further deepen und

4、erstanding of the theme of the course based application serial communication one. through the serial port, our personal computer and microcontroller systems to communicate. pc as the host computer, the down-bit machine microcontroller system to send data frames after receiving the scm system, sends

5、back the requested data communication protocol frame. can make c + + builder application language interface or serial debugging assistant string input box numbers and characters to achieve the pc, and 80c51 series microcontroller serial communication. keywords: microcontroller, pc, serial communicat

6、ion, c + + builder 目 錄摘 要2一、 需求分析4二、系統(tǒng)設(shè)計(jì)及詳細(xì)設(shè)計(jì)41. 串行通信原理42. 硬件設(shè)計(jì)53. 軟件設(shè)計(jì)53.1串口初始化63.2從機(jī)(單片機(jī))接收主機(jī)(pc機(jī))發(fā)送來的數(shù)據(jù)幀63.3從機(jī)發(fā)送數(shù)據(jù)幀給主機(jī)73.4拓展部分7三、運(yùn)行調(diào)試81.硬件方面82.軟件方面8四、總結(jié)與體會(huì)10五、參考文獻(xiàn)10六、附錄11一、需求分析在工業(yè)自動(dòng)化系統(tǒng)中,常用到微機(jī)與單片機(jī)進(jìn)行控制和調(diào)試。單片機(jī)常被用作工業(yè)自動(dòng)化系統(tǒng)中的前端處理器(也稱下位機(jī))。深入到現(xiàn)場,采集各種數(shù)據(jù)及信息,進(jìn)行簡單處理后送至上位機(jī)(pc機(jī))。用一臺(tái)pc機(jī)接收來自下位機(jī)的信息和數(shù)據(jù),經(jīng)處理后在微機(jī)界面上

7、顯示,并向下位機(jī)下達(dá)命令,通過下位機(jī)對(duì)現(xiàn)場實(shí)施控制。其中,主要要解決的就是上位機(jī)與下位機(jī)的通信問題。接下來將會(huì)描述本次課設(shè)pc機(jī)與單片機(jī)間的串行通信原理、相關(guān)軟硬件設(shè)計(jì)及流程圖。二、系統(tǒng)設(shè)計(jì)及詳細(xì)設(shè)計(jì)1.串行通信原理此次采用80c51系列串口的方式1進(jìn)行串行通信。串口結(jié)構(gòu)如圖1所示。圖1方式1是10位數(shù)據(jù)的異步通信口。txd為數(shù)據(jù)發(fā)送引腳,rxd為數(shù)據(jù)接收引腳,傳送一幀數(shù)據(jù)的格式如圖2所示。其中1位起始位,8位數(shù)據(jù)位,1位停止位。用軟件置ren為1時(shí),接收器以所選擇波特率的16倍速率采樣rxd引腳電平,檢測到rxd引腳輸入電平發(fā)生負(fù)跳變時(shí),則說明起始位有效,將其移入輸入移位寄存器,并開始接收這

8、一幀信息的其余位。接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時(shí),控制電路進(jìn)行最后一次移位。當(dāng)ri=0,且sm2=0(或接收到的停止位為1)時(shí),將接收到的9位數(shù)據(jù)的前8位數(shù)據(jù)裝入接收sbuf,第9位(停止位)進(jìn)入rb8,并置ri=1,向cpu請求中斷。用單片機(jī)內(nèi)部定時(shí)器1即t1,使其工作在方式2,作為波特率發(fā)生器。 圖2由于基于c+builder的通信協(xié)議如圖3所示,因此在程序編寫時(shí),需要在設(shè)置一個(gè)緩沖區(qū)來暫時(shí)存儲(chǔ)單片機(jī)接收的來自pc機(jī)的一串字符串。前導(dǎo)符站號(hào)地址功能碼數(shù)據(jù)長度數(shù)據(jù)結(jié)束符校驗(yàn)碼#aaaaffllddddx圖32.硬件設(shè)計(jì)51單片機(jī)有一個(gè)全雙工的串行通

9、訊口,所以單片機(jī)和電腦之間可以方便地進(jìn)行串口通訊。進(jìn)行串行通訊時(shí)要滿足一定的條件,比如電腦的串口是rs232電平的,而單片機(jī)的串口是ttl電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,我們采用了專用芯片max232進(jìn)行轉(zhuǎn)換。如圖4所示。圖43.軟件設(shè)計(jì) 如圖4,pc機(jī)作為主機(jī),80c51單片機(jī)作為從機(jī)(波特率為9600b/s)。通信程序采用c語言編程。這個(gè)程序的流程圖如圖5所示。程序見下。圖5 3.1串口初始化 3.2從機(jī)(單片機(jī))接收主機(jī)(pc機(jī))發(fā)送來的數(shù)據(jù)幀 3.3從機(jī)發(fā)送數(shù)據(jù)幀給主機(jī)(1)解析從機(jī)發(fā)送的數(shù)據(jù)幀(程序見附錄3的void send()部分)(2)從機(jī)發(fā)送數(shù)據(jù)幀3.4拓展部分 利用

10、p1口連接的8個(gè)led燈來顯示c+builder的十三個(gè)功能(見附錄1)。三、運(yùn)行調(diào)試1.硬件方面(1)燒寫程序時(shí),已經(jīng)上電了,可軟件還是一直提示上電,反復(fù)上電也不行后,最終通過反復(fù)換串口,反復(fù)燒寫上電解決了。類似的還有只要進(jìn)行燒寫,燒寫軟件界面就會(huì)消失,也是通過上述方法解決。(2)有時(shí)燒寫時(shí),忽略了相應(yīng)的串口和波特率的選擇甚至忘記打開串口助手的串口,發(fā)送數(shù)據(jù)后使得pc機(jī)的接收窗口中無顯示。(3)有時(shí)發(fā)送數(shù)據(jù)后接收窗口無顯示,經(jīng)過復(fù)位后,問題得以解決。2.軟件方面編程時(shí)遇到的主要問題有四個(gè):(1)如何在c51單片機(jī)中存儲(chǔ)接收的一個(gè)字符串?dāng)?shù)據(jù)幀。 如上所述,需要設(shè)置一個(gè)緩沖數(shù)組來接收主機(jī)發(fā)送的字

11、符串?dāng)?shù)據(jù)幀。程序見3.2。(2)如何判斷從機(jī)已經(jīng)接收到完整的數(shù)據(jù)幀即結(jié)束接收。 設(shè)置一個(gè)標(biāo)志位,如uchar finish。當(dāng)finish=1時(shí),表示接收結(jié)束。(3)如何解析從機(jī)發(fā)送的數(shù)據(jù)幀。對(duì)此,我前后采用了兩種方法進(jìn)行調(diào)試運(yùn)行(以下程序僅為“查詢功能”模塊的代碼) 方案一: void send()if(host6=0)switch(host7)case 0:/查詢地址ti=0; sbuf=#;while(!ti);ti=0;sbuf=#;while(!ti);ti=0;sbuf=slave_addr0;while(!ti);ti=0;sbuf=slave_addr1;while(!ti);

12、ti=0;sbuf=slave_addr2;while(!ti);ti=0;sbuf=slave_addr3;while(!ti);ti=0;sbuf=0;while(!ti);ti=0;sbuf=0;while(!ti);ti=0;sbuf=0;while(!ti);ti=0;sbuf=4;while(!ti);ti=0;sbuf=slave_addr0;while(!ti);ti=0;sbuf=slave_addr1;while(!ti);ti=0;sbuf=slave_addr2;while(!ti);ti=0;sbuf=slave_addr3;while(!ti);ti=0;sbuf=

13、;while(!ti);ti=0;sbuf=;while(!ti);ti=0;sbuf=x;while(!ti);break;方案二:void send_109()if(count_109=13) if(buf_1093=0)&(buf_1093=0)&(buf_1094=0)&(buf_1095=0)&(buf_1098=0)&(buf_1099=0) if(buf_1096=0&buf_1097=0) count_109=0; load_109(#); load_109(&slave_addr_109); load_109(0004); load_109(&slave_addr_109);

14、 load_109(x); /查詢地址方案一沒有把通信協(xié)議表達(dá)完善,因此運(yùn)行不成功。方案二解決了通信協(xié)議部分,運(yùn)行成功,而且代碼長度較方案一更為簡短。(4)如何放置功能拓展部分的程序。遵循著“中斷中程序盡可能少些,一般放在主程序部分實(shí)現(xiàn)”的原則,對(duì)于我這次拓展的一點(diǎn)點(diǎn)功能(led燈顯示、報(bào)警蜂鳴器響,程序見3.4),我把標(biāo)志位flag的設(shè)置放在了解析函數(shù)void send()部分,將led顯示放在了主函數(shù)中。起初我把蜂鳴器代碼“rd=0”也放在解析函數(shù)中,效果失敗,經(jīng)過調(diào)試放在主函數(shù)中后,蜂鳴器響了起來。四、總結(jié)與體會(huì)每次課設(shè)后都會(huì)收獲很多,這次也不例外。 平時(shí)編寫代碼的機(jī)會(huì)不多,因而這次課設(shè)

15、顯得比較棘手。鑒于已經(jīng)系統(tǒng)地學(xué)過c語言以及單片機(jī)中常用c的編寫,程序的整體架構(gòu)不存在多大問題。因而主要問題在于各部分功能的實(shí)現(xiàn)。首先針對(duì)于這次課設(shè),必須先了解主機(jī)與從機(jī)之間的通信協(xié)議,才能正確地編寫代碼實(shí)現(xiàn)上述所說的“解析從機(jī)發(fā)送的數(shù)據(jù)幀”部分的功能。這也是我在這次課設(shè)中的一個(gè)瓶頸。幸運(yùn)的是,在同學(xué)的幫助下順利地解決了這個(gè)問題。其次,對(duì)c語言數(shù)組、指針的嫻熟運(yùn)用,可以大大減短代碼的編寫,并能有效的解決數(shù)據(jù)幀的緩存發(fā)送問題。然后,就是程序整體架構(gòu)的排列。這點(diǎn)在“運(yùn)行調(diào)試”的軟件方面的第四點(diǎn)提及。最后,對(duì)keil、燒寫軟件、串口調(diào)試助手以及試驗(yàn)箱的熟練使用也是這次課設(shè)成功的重要因素。其間遇到的各種

16、問題多虧有同學(xué)的幫助和老師周二晚上的集體輔導(dǎo),促成了我們高效率地完成了這次課設(shè),謝謝老師,謝謝大家!其實(shí),每件事情并沒有想象中的那么難,只要自己多動(dòng)手操作,知識(shí)掌握了,經(jīng)驗(yàn)積累了,一切問題都可以迎刃而解!五、參考文獻(xiàn) 丁海軍等編著. 程序設(shè)計(jì)基礎(chǔ)(c語言).北京:北京航空航天大學(xué)出版社,2009田希暉,薛亮儒編著.c51單片機(jī)技術(shù)教程.北京:人民郵電出版社,2007六、附錄1.實(shí)驗(yàn)箱介紹g部分電路為串口通訊部分。u5 pl2303hx構(gòu)成了usb轉(zhuǎn)urat電路,即完成usb口轉(zhuǎn)ttl串口電平。u6 max232 構(gòu)成了rs232轉(zhuǎn)urat電路,即完成rs232串口轉(zhuǎn)ttl串口電平。由于單片機(jī)只

17、有一個(gè)串口,所以以上兩部分通過雙刀雙擲開關(guān)切換使用,當(dāng)實(shí)驗(yàn)板上scom開關(guān)按下時(shí)選擇usb轉(zhuǎn)urat電路。否則選rs232轉(zhuǎn)urat電路。這部分電路可以完成pc機(jī)跟單片機(jī)的串行通訊,也可以完成兩個(gè)單片機(jī)進(jìn)行串行通訊。d_rxd和d_txd指示收和發(fā)線上是否有信號(hào),當(dāng)通信時(shí)可觀察到二燈閃爍。當(dāng)選擇usb轉(zhuǎn)urat電路時(shí),pc機(jī)的usb口同時(shí)承擔(dān)給實(shí)驗(yàn)板供電的任務(wù)。 a部分由一個(gè)8位琴健開關(guān)(u11)和8個(gè)led (d00d07)組成。連在p1口上完成基本輸入輸出功能。輸入功能:當(dāng)某開關(guān)閉合后,對(duì)應(yīng)p1口線上輸入0,同時(shí)相應(yīng)的led點(diǎn)亮。否則,對(duì)應(yīng)p1口線上輸入1,同時(shí)相應(yīng)的led熄滅。例如:第一

18、位開關(guān)閉合,d10點(diǎn)亮,同時(shí)p1.0輸入0。led可以做為開關(guān)是否閉合的直觀指示。輸出功能:當(dāng)某開關(guān)打開時(shí),對(duì)得用p1口線可以做為輸出引腳使用。當(dāng)輸出1時(shí),相應(yīng)的led熄滅,當(dāng)輸出0時(shí),相應(yīng)的led點(diǎn)亮。當(dāng)某開關(guān)閉合時(shí),無法做輸出功能使用。2 .功能碼介紹2.1 查詢(讀)功能碼介紹2.1.1 查詢地址 功能碼00數(shù)據(jù)幀類型備注#00000000x發(fā)送查詢時(shí)由于不知對(duì)方地址,使用“0000”地址#aaaa0004aaaax正常返回返回時(shí)從機(jī)用本機(jī)地址覆蓋0000,并返回地址aaaa#aaaa00011x出錯(cuò)返回校驗(yàn)錯(cuò)誤#aaaa00012x出錯(cuò)返回格式錯(cuò)誤(前導(dǎo)符、結(jié)束符)#aaaa00013

19、x出錯(cuò)返回內(nèi)容錯(cuò)誤(數(shù)據(jù)超限等)實(shí)例: 發(fā)送 #00000000x 返回 #123400041234x2.2.2 查詢量程上限 功能碼:01數(shù)據(jù)幀類型備注#aaaa0100x發(fā)送對(duì)方地址必須正確,否則不響應(yīng)#aaaa0104ddddx正常返回量程上限必須是4位整數(shù),范圍0001-9999,例如0100,4250等#aaaa01011x出錯(cuò)返回校驗(yàn)錯(cuò)誤#aaaa01012x出錯(cuò)返回格式錯(cuò)誤#aaaa01013x出錯(cuò)返回內(nèi)容錯(cuò)誤2.2.3 查詢量程下限 功能碼:02數(shù)據(jù)幀類型備注#aaaa0200x發(fā)送對(duì)方地址必須正確,否則不響應(yīng)#aaaa0204ddddx正常返回量程下限必須是4位整數(shù),范圍00

20、00-9998,且必須比上限小#aaaa02011x出錯(cuò)返回校驗(yàn)錯(cuò)誤#aaaa02012x出錯(cuò)返回格式錯(cuò)誤#aaaa02013x出錯(cuò)返回內(nèi)容錯(cuò)誤2.2.4 查詢報(bào)警上限 功能碼:03數(shù)據(jù)幀類型備注#aaaa0300x發(fā)送對(duì)方地址必須正確,否則不響應(yīng)#aaaa0304ddddx正常返回報(bào)警上限必須是4位整數(shù),范圍0001-9999,例如0100,4250等#aaaa03011x出錯(cuò)返回校驗(yàn)錯(cuò)誤#aaaa03012x出錯(cuò)返回格式錯(cuò)誤#aaaa03013x出錯(cuò)返回內(nèi)容錯(cuò)誤2.2.5 查詢報(bào)警下限 功能碼:04數(shù)據(jù)幀類型備注#aaaa0400x發(fā)送對(duì)方地址必須正確,否則不響應(yīng)#aaaa0404dddd

21、x正常返回報(bào)警下限必須是4位整數(shù),范圍0000-9998,且必須比上限小#aaaa04011x出錯(cuò)返回校驗(yàn)錯(cuò)誤#aaaa04012x出錯(cuò)返回格式錯(cuò)誤#aaaa04013x出錯(cuò)返回內(nèi)容錯(cuò)誤2.2.5 查詢溫度值 功能碼:05數(shù)據(jù)幀類型備注#aaaa0500x發(fā)送對(duì)方地址必須正確,否則不響應(yīng)#aaaa0507dddd.ddx正常返回溫度范圍0000.005000.00,例如0134.56#aaaa05011x出錯(cuò)返回校驗(yàn)錯(cuò)誤#aaaa05012x出錯(cuò)返回格式錯(cuò)誤#aaaa05013x出錯(cuò)返回內(nèi)容錯(cuò)誤2.2.5 查詢報(bào)警狀態(tài) 功能碼:06數(shù)據(jù)幀類型備注#aaaa0600x發(fā)送對(duì)方地址必須正確,否則不

22、響應(yīng)#aaaa0601dx正常返回當(dāng)d為5表示沒有報(bào)警當(dāng)d為6表示正在報(bào)警#aaaa06011x出錯(cuò)返回校驗(yàn)錯(cuò)誤#aaaa06012x出錯(cuò)返回格式錯(cuò)誤#aaaa06013x出錯(cuò)返回內(nèi)容錯(cuò)誤2.2.5 批量查詢參數(shù) 功能碼:07數(shù)據(jù)幀類型備注#aaaa0700x發(fā)送對(duì)方地址必須正確,否則不響應(yīng)#aaaa0716ddddddddddddddddx正常返回共16位數(shù)據(jù)分別是量程上限、量程下限、報(bào)警上限、報(bào)警下限#aaaa07011x出錯(cuò)返回校驗(yàn)錯(cuò)誤#aaaa07012x出錯(cuò)返回格式錯(cuò)誤#aaaa07013x出錯(cuò)返回內(nèi)容錯(cuò)誤2.2 設(shè)置(寫)功能碼介紹2.2.1 設(shè)置地址 功能碼50數(shù)據(jù)幀類型備注#a

23、aaa5004bbbbx發(fā)送aaaa為原地址,bbbb為新地址#bbbb50010x成功返回#aaaa50011x出錯(cuò)返回校驗(yàn)錯(cuò)誤#aaaa50012x出錯(cuò)返回格式錯(cuò)誤(前導(dǎo)符、結(jié)束符)#aaaa50013x出錯(cuò)返回內(nèi)容錯(cuò)誤(數(shù)據(jù)超限等)2.2.2 設(shè)置量程上限 功能碼51數(shù)據(jù)幀類型備注#aaaa5104ddddx發(fā)送量程上限必須是4位整數(shù),范圍0001-9999,例如0100,4250等#aaaa51010x成功返回#aaaa51011x出錯(cuò)返回校驗(yàn)錯(cuò)誤#aaaa51012x出錯(cuò)返回格式錯(cuò)誤(前導(dǎo)符、結(jié)束符)#aaaa51013x出錯(cuò)返回內(nèi)容錯(cuò)誤(數(shù)據(jù)超限等)2.2.3 設(shè)置量程下限 功能碼

24、52數(shù)據(jù)幀類型備注#aaaa5204ddddx發(fā)送量程下限必須是4位整數(shù),范圍0000-9998,且必須比上限小#aaaa52010x成功返回#aaaa52011x出錯(cuò)返回校驗(yàn)錯(cuò)誤#aaaa52012x出錯(cuò)返回格式錯(cuò)誤(前導(dǎo)符、結(jié)束符)#aaaa52013x出錯(cuò)返回內(nèi)容錯(cuò)誤(數(shù)據(jù)超限等)2.2.4 設(shè)置報(bào)警上限 功能碼53數(shù)據(jù)幀類型備注#aaaa5304ddddx發(fā)送量程上限必須是4位整數(shù),范圍0001-9999,例如0100,4250等#aaaa53010x成功返回#aaaa53011x出錯(cuò)返回校驗(yàn)錯(cuò)誤#aaaa53012x出錯(cuò)返回格式錯(cuò)誤(前導(dǎo)符、結(jié)束符)#aaaa53013x出錯(cuò)返回內(nèi)容

25、錯(cuò)誤(數(shù)據(jù)超限等)2.2.5 設(shè)置量程下限 功能碼54數(shù)據(jù)幀類型備注#aaaa5404ddddx發(fā)送報(bào)警下限必須是4位整數(shù),范圍0000-9998,且必須比上限小#bbbb54010x成功返回#aaaa54011x出錯(cuò)返回校驗(yàn)錯(cuò)誤#aaaa54012x出錯(cuò)返回格式錯(cuò)誤(前導(dǎo)符、結(jié)束符)#aaaa54013x出錯(cuò)返回內(nèi)容錯(cuò)誤(數(shù)據(jù)超限等)3. 整個(gè)程序#include#define uchar unsigned char#define uint unsigned int;#define speak rd;/蜂鳴器char buf_10930;/用于單片機(jī)字符串?dāng)?shù)據(jù)的緩沖char slave_ad

26、dr_109=1234;char slave_lch_109=5000;char slave_lcl_109=1000;char slave_bj_109h_109=9000;char slave_bj_109l_109=3000;uchar count_109=0;/數(shù)據(jù)幀長度uchar flag_109;/標(biāo)志點(diǎn)亮p口連接的led(已接高)uint j_109;void delay_109()/uint j_109;for(j_109=0;j_109(1000*(slave_lcl_1090-0x30)+100*(slave_lcl_1091-0x30)+10*(slave_lcl_109

27、2-0x30)+(slave_lcl_1093-0x30)slave_lch_1090=buf_10910;slave_lch_1091=buf_10911;slave_lch_1092=buf_10912;slave_lch_1093=buf_10913;load_109(#);load_109(&slave_addr_109);load_109(51010);load_109(x);/設(shè)置量程上限elseload_109(#);load_109(&slave_addr_109);load_109(51013);load_109(x);/內(nèi)容錯(cuò)誤else if(buf_1096=5&buf_

28、1097=2)count_109=0;if(1000*(buf_10910-0x30)+100*(buf_10911-0x30)+10*(buf_10912-0x30)+(buf_10913-0x30)(1000*(slave_bj_109l_1090-0x30)+100*(slave_bj_109l_1091-0x30)+10*(slave_bj_109l_1092-0x30)+(slave_bj_109l_1093-0x30)slave_bj_109h_1090=buf_10910;slave_bj_109h_1091=buf_10911;slave_bj_109h_1092=buf_10

29、912;slave_bj_109h_1093=buf_10913;load_109(#);load_109(&slave_addr_109);load_109(53010);load_109(x);/設(shè)置報(bào)警上限elseload_109(#);load_109(&slave_addr_109);load_109(53013);load_109(x);/內(nèi)容錯(cuò)誤else if(buf_1096=5&buf_1097=4)count_109=0;if(1000*(buf_10910-0x30)+100*(buf_10911-0x30)+10*(buf_10912-0x30)+(buf_10913-

30、0x30)(1000*(slave_bj_109h_1090-0x30)+100*(slave_bj_109h_1091-0x30)+10*(slave_bj_109h_1092-0x30)+(slave_bj_109h_1093-0x30)slave_bj_109l_1090=buf_10910;slave_bj_109l_1091=buf_10911;slave_bj_109l_1092=buf_10912;slave_bj_109l_1093=buf_10913;load_109(#);load_109(&slave_addr_109);load_109(54010);load_109(x);/設(shè)置報(bào)警下限elseload_109(#);load_109(&slave_addr_109);load_109(54013);load_109(x);/內(nèi)容錯(cuò)誤 if(buf_1096=0)switch(buf_1097)case 0: flag_109=0; break;/查

溫馨提示

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

評(píng)論

0/150

提交評(píng)論