版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p><b> 第一章 緒 論1</b></p><p> 1.1 課題的發(fā)展現(xiàn)狀1</p>&
2、lt;p> 1.2 課題的提出及研究意義2</p><p> 1.3 本文的內(nèi)容結(jié)構(gòu)2</p><p> 第二章 總體設(shè)計(jì)3</p><p> 2.1 振動(dòng)分析3</p><p> 2.2 系統(tǒng)整體設(shè)計(jì)6</p><p> 2.3 本章小結(jié)7</p><p>
3、第三章 硬件設(shè)計(jì)8</p><p> 3.1 單片機(jī)模塊8</p><p> 3.2 振動(dòng)信號(hào)檢測(cè)模塊11</p><p> 3.3 模/數(shù)轉(zhuǎn)換模塊13</p><p> 3.4 顯示模塊14</p><p> 3.5 串口通信模塊15</p><p> 3.6 抗干擾
4、技術(shù)18</p><p> 3.7 系統(tǒng)電路板設(shè)計(jì)18</p><p> 3.8 本章小結(jié)19</p><p> 第四章 軟件設(shè)計(jì)20</p><p> 4.1 設(shè)計(jì)思想20</p><p> 4.2 單片機(jī)程序設(shè)計(jì)21</p><p> 4.2.1 主程序21<
5、;/p><p> 4.2.2 模數(shù)轉(zhuǎn)換子程序22</p><p> 4.2.3 串口通信子程序24</p><p> 4.3 上位機(jī)程序設(shè)計(jì)25</p><p> 4.4 本章小結(jié)30</p><p> 第五章 系統(tǒng)調(diào)試31</p><p> 5.1 硬件調(diào)試31</
6、p><p> 5.2 軟件調(diào)試32</p><p> 5.3 整體調(diào)試34</p><p> 5.4 本章小結(jié)34</p><p><b> 結(jié) 論35</b></p><p><b> 參考文獻(xiàn)36</b></p><p><b
7、> 致 謝38</b></p><p> 附錄1 系統(tǒng)原理圖39</p><p> 附錄2 系統(tǒng)PCB圖41</p><p> 附錄3 單片機(jī)設(shè)計(jì)程序42</p><p> 附錄4 上位機(jī)設(shè)計(jì)程序46</p><p> 附錄5 系統(tǒng)電路板實(shí)物51</p><
8、p><b> 摘 要</b></p><p> 本文主要研究基于單片機(jī)的電梯轎廂振動(dòng)檢測(cè)。旨在通過(guò)單片機(jī)和傳感器對(duì)運(yùn)行中的電梯轎廂進(jìn)行振動(dòng)檢測(cè),得出轎廂振動(dòng)的具體波形,為電梯振動(dòng)的原因分析提供具體依據(jù),也為消除電梯振動(dòng)對(duì)人體的危害提供幫助。通過(guò)研究發(fā)現(xiàn)了電梯的不規(guī)則振動(dòng)超過(guò)一定程度會(huì)對(duì)人體產(chǎn)生危害,而且通過(guò)波形分析也得出電梯振動(dòng)的一些規(guī)律。文中首先介紹了單片機(jī)功能特點(diǎn),分析了單
9、片機(jī)和傳感器在電梯檢測(cè)中的重要作用。然后對(duì)電梯轎廂振動(dòng)的各種原因進(jìn)行了綜合分析,同時(shí)也提供了一些電梯振動(dòng)的消除方法。其次主要是針對(duì)電梯水平振動(dòng)的檢測(cè)及仿真,通過(guò)單片機(jī)和傳感器將電梯轎廂的振動(dòng)量傳遞到上位機(jī),從而得到電梯振動(dòng)的波形并進(jìn)行詳細(xì)分析。最后,調(diào)試結(jié)果表明,該系統(tǒng)實(shí)時(shí)性較好,運(yùn)行穩(wěn)定可靠,而且具有體積小,低功耗和使用方便等優(yōu)點(diǎn),是一種較為理想的電梯轎廂振動(dòng)檢測(cè)系統(tǒng)。</p><p> 關(guān)鍵字:?jiǎn)纹瑱C(jī);電梯
10、;振動(dòng)檢測(cè)</p><p><b> Abstract</b></p><p> This paper mainly studies the vibration testing of elevator car based on the SCM. Microcontroller and the sensor are designed to detect the vi
11、bration on the running elevator car, the specific waveform of elevator vibration obtained, to provide the specific basis for analysis of the causes, also to provide help for eliminating the hazards to human. The experime
12、nt found that the irregular vibration of the elevator will harm the human body if it exceeds a certain level, and some law of vibration of</p><p> Keywords: SCM; levator; vibration testing第一章 緒 論</p>
13、<p> 1.1 課題的發(fā)展現(xiàn)狀</p><p> 隨著全球經(jīng)濟(jì)的快速發(fā)展和科技的突飛猛進(jìn),特別是在我國(guó)改革開(kāi)放以來(lái),越來(lái)越多的現(xiàn)代化都市規(guī)劃者把目光均投向了高層或超高層建筑,而高層或超高層建筑的運(yùn)輸與消防要求,必須用高速或超高速電梯才能滿足,因此高層或超高層建筑在大量涌現(xiàn)的同時(shí)也使高速或超高速電梯的數(shù)量不斷增多,從而使電梯在人們?nèi)粘I钪兴鸬闹匾饔萌找婷黠@。</p><p
14、> 但是,由于電梯轎廂在狹小的電梯井道內(nèi)運(yùn)行,隨著電梯升降速度的不斷提高,必將帶來(lái)一系列空氣動(dòng)力學(xué)問(wèn)題,其中包括氣動(dòng)噪聲、電梯轎廂的振動(dòng)、乘客的安全性和舒適性等一系列問(wèn)題。所以保證電梯安全、穩(wěn)定、高效的運(yùn)行,越來(lái)越多地引起了人們的關(guān)注。</p><p> 然而長(zhǎng)期以來(lái)經(jīng)常發(fā)生的情況是:</p><p> 1) 電梯出現(xiàn)人體敏感振動(dòng)或運(yùn)行速度不勻等故障時(shí),維修人員難以及時(shí)趕到故障
15、電梯的現(xiàn)場(chǎng);</p><p> 2) 維修人員不能及時(shí)地獲得電梯日常運(yùn)行的振動(dòng)記錄和檢測(cè)資料,不僅不能避免人們乘坐帶有安全隱患的電梯,而且同時(shí)還增加了分析與排除故障的難度,大大延長(zhǎng)了維修的時(shí)間;</p><p> 電梯轎廂振動(dòng)檢測(cè)系統(tǒng)正是基于以上種種原因而出現(xiàn)的。電梯轎廂振動(dòng)檢測(cè)系統(tǒng)是當(dāng)今電梯控制領(lǐng)域的必要技術(shù);是電梯的管理、維護(hù)和確保電梯安全運(yùn)行的需要;是及時(shí)發(fā)現(xiàn)故障,并進(jìn)行分析和排
16、除的必要手段。</p><p> 目前,國(guó)外各大電梯公司如日本的三菱、美國(guó)的奧的斯、瑞士的迅達(dá)、芬蘭的通力、德國(guó)的蒂森等都有不同水平的且與自己電梯系統(tǒng)配套的電梯轎廂振動(dòng)檢測(cè)系統(tǒng)。所以,與這些有著較長(zhǎng)電梯發(fā)展史的國(guó)家相比,目前我們國(guó)家的電梯市場(chǎng)還處在發(fā)展階段,還有較長(zhǎng)的路要走,引進(jìn)先進(jìn)技術(shù)、開(kāi)發(fā)新產(chǎn)品、安裝高速高檔電梯的同時(shí),還應(yīng)重視和加強(qiáng)對(duì)電梯的規(guī)范化管理,尤其是日常的維護(hù)維修和改造方面還有許多工作要做。對(duì)于電
17、梯轎廂振動(dòng)檢測(cè)系統(tǒng),國(guó)內(nèi)與國(guó)外有著不同的側(cè)重點(diǎn),但卻有一個(gè)共同的目標(biāo)是:人們乘坐高效的電梯既安全穩(wěn)定又舒適可靠。</p><p> 此外,國(guó)外電梯轎廂振動(dòng)檢測(cè)系統(tǒng)產(chǎn)品樣本中很多都有類(lèi)似“可在同一個(gè)屏幕上同時(shí)檢測(cè)n臺(tái)電梯的轎廂振動(dòng)情況”這樣的技術(shù)指標(biāo),這是與他們重視群控功能分不開(kāi)的。同時(shí)檢測(cè)群組運(yùn)行中的幾臺(tái)電梯,可以更直觀地了解到群組中各電梯運(yùn)行的健康狀況,以便及時(shí)調(diào)整群組電梯的分配原則,消除安全隱患的同時(shí),提高
18、了群組電梯的運(yùn)行效率。</p><p> 1.2 課題的提出及研究意義</p><p> 現(xiàn)代社會(huì)中,電梯已成為不可缺少的運(yùn)輸設(shè)備。電梯是勢(shì)能負(fù)載,使用過(guò)程中啟動(dòng)、制動(dòng)頻繁,負(fù)荷變化較大,行駛方向也不斷變化。因此,為了保證電梯安全、可靠、高效地運(yùn)行,要求電梯在各種負(fù)荷下都具有良好的調(diào)速性、穩(wěn)定性以及控制性等。</p><p> 單片機(jī)以其體積小、功能強(qiáng)、處理速
19、度快、功耗低、價(jià)格便宜等特點(diǎn)在電梯領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用。目前,單片機(jī)不僅在電梯自動(dòng)控制和遠(yuǎn)程監(jiān)控方面發(fā)揮著重要的作用,而且在新型智能電梯語(yǔ)音系統(tǒng)方面中也有其一技之長(zhǎng)。隨著電梯的發(fā)展,在提升電梯升降速度的同時(shí),滿足乘客的舒適感越來(lái)越重要,所以,單片機(jī)在電梯轎廂振動(dòng)檢測(cè)方面有著廣闊的發(fā)展空間。</p><p> 目前,國(guó)內(nèi)外電梯轎廂振動(dòng)檢測(cè)的方式通常有以下兩種:</p><p> 一是
20、使用專(zhuān)門(mén)的電梯轎廂振動(dòng)檢測(cè)儀器定時(shí)地對(duì)電梯進(jìn)行現(xiàn)場(chǎng)檢測(cè)并做好詳細(xì)記錄,然后綜合多次檢測(cè)結(jié)果進(jìn)行分析,最后得出結(jié)論。但是這種方式不僅浪費(fèi)人力物力,而且也不能及時(shí)有效的消除電梯可能給人們帶來(lái)的安全隱患。</p><p> 二是基于單片機(jī)及串口通信標(biāo)準(zhǔn),專(zhuān)門(mén)鋪設(shè)線路,由有關(guān)人員通過(guò)設(shè)在電梯維護(hù)服務(wù)中心的計(jì)算機(jī)對(duì)分布在各處的電梯集中遠(yuǎn)程振動(dòng)檢測(cè)控制。這種方式在節(jié)省人力物力的同時(shí)也使電梯轎廂振動(dòng)檢測(cè)實(shí)時(shí)高效。</p
21、><p> 本課題主要著眼于后者即運(yùn)用單片機(jī)技術(shù)和加速度傳感器技術(shù),再通過(guò)串口通信技術(shù),將實(shí)時(shí)采集到的電梯轎廂振動(dòng)情況經(jīng)過(guò)特殊處理后傳送至電梯維護(hù)服務(wù)中心的計(jì)算機(jī)中以波形的方式實(shí)時(shí)顯示出來(lái),從而可以為電梯在運(yùn)行過(guò)程中故障的發(fā)現(xiàn)、分析和排除提供適時(shí)、方便和形象的解決方案。</p><p> 1.3 本文的內(nèi)容結(jié)構(gòu)</p><p> 本文首先主要是根據(jù)對(duì)電梯轎廂振動(dòng)的
22、數(shù)學(xué)分析,提出了課題的總體設(shè)計(jì);然后著重介紹系統(tǒng)硬件電路的設(shè)計(jì),元器件參數(shù)的確定;其次詳細(xì)講述軟件編程的總體設(shè)計(jì)思想及模塊流程圖,并仿真測(cè)試;緊接著側(cè)重論述電路板調(diào)試過(guò)程中遇到的主要問(wèn)題與解決方法;最后給出本課題的總結(jié)與展望。</p><p><b> 第二章 總體設(shè)計(jì)</b></p><p><b> 2.1 振動(dòng)分析</b></p
23、><p><b> 一、建立振動(dòng)模型</b></p><p> 隨著電梯速度的提升,導(dǎo)軌產(chǎn)生的振動(dòng)不斷加劇,而導(dǎo)軌又是產(chǎn)生轎廂振動(dòng)的主要原因之一,因此,下面主要就電梯導(dǎo)軌對(duì)轎廂振動(dòng)的影響來(lái)分析和研究。</p><p> 電梯載客部分主要是轎廂,轎廂由轎架和轎廂體組成。電梯轎廂簡(jiǎn)化結(jié)構(gòu)如下圖2-1 所示:</p><p>
24、; 圖2-1 電梯轎廂簡(jiǎn)化結(jié)構(gòu)圖</p><p> 可以看出,在轎廂體和轎架之間嵌有墊塊,用于固定轎廂體防止振動(dòng)。導(dǎo)輪或?qū)аt安裝在轎架的上下兩側(cè),與導(dǎo)軌一起組成轎廂的導(dǎo)向件,同時(shí)也可以減少水平振動(dòng)和抑制由偏載引起的轎廂傾斜,導(dǎo)軌則固定在墻壁上。</p><p> 一般來(lái)說(shuō),導(dǎo)致電梯轎廂水平振動(dòng)的因素有導(dǎo)軌交接處的突起、導(dǎo)軌表面的高低不平、導(dǎo)軌的彎曲以及導(dǎo)輪自身的缺陷等。因此制造平直
25、的導(dǎo)軌以及安裝導(dǎo)軌時(shí)盡量使兩根導(dǎo)軌對(duì)直,這將大大減少轎廂的水平振動(dòng)。不過(guò),缺點(diǎn)是這會(huì)提高安裝和制造成本。另一種可以取代的方法是用控制手段來(lái)抑制轎廂的水平振動(dòng),這種方法不僅可以節(jié)省成本,而且還方便控制調(diào)整。</p><p> 下面就這種方法展開(kāi)數(shù)學(xué)分析:轎廂沿著導(dǎo)軌運(yùn)行時(shí),如果只考慮轎廂的水平振動(dòng),則建立電梯轎廂受力分析數(shù)學(xué)模型如下圖2-2 所示:</p><p> 圖2-2 轎廂水平運(yùn)
26、動(dòng)模型</p><p> 圖中,為轎廂質(zhì)量;為擺動(dòng)的轉(zhuǎn)動(dòng)慣量;為導(dǎo)靴系統(tǒng)的剛度;為導(dǎo)靴系統(tǒng)的阻尼;為轎廂的水平位移;為導(dǎo)靴1的水平位移;為導(dǎo)靴2的水平位移;為導(dǎo)靴3的水平位移;為導(dǎo)靴4的水平位移;為轎廂擺動(dòng)的角位移;為滾輪1與滾輪3到質(zhì)心的垂直距離;為滾輪2與滾輪4到質(zhì)心的垂直距離;為轎廂運(yùn)行速度(假設(shè)電梯上行)。</p><p> 其振動(dòng)微分方程可表示如下:
27、 </p><p><b> (1)</b></p><p><b> ?。?)</b></p><p> 若只研究圖2-2 中轎廂右側(cè)導(dǎo)軌激勵(lì)對(duì)轎廂水平振動(dòng)的影響,可假設(shè)圖2-2 中電梯轎廂其左側(cè)導(dǎo)軌是理想的導(dǎo)軌,即。并且假設(shè)(L為轎廂上下導(dǎo)靴的距離),則振動(dòng)微分方程可簡(jiǎn)化為:</p>
28、<p><b> ?。?)</b></p><p> (4) </p><p> 求得系統(tǒng)的2
29、個(gè)固有頻率</p><p><b> (5) </b></p><p> ?。?)
30、 </p><p> 式(3)描述了轎廂質(zhì)心對(duì)導(dǎo)軌激勵(lì)的響應(yīng),式(4)描述了轎廂在導(dǎo)軌的激勵(lì)下繞質(zhì)心的擺動(dòng),求解兩式得到位于轎廂底部位置的水平振動(dòng)加速度a為:</p><p><b> ?。?)</b></p><
31、p> 若電梯以速度v勻速上行,則有</p><p><b> ?。?)</b></p><p><b> ?。?)</b></p><p><b> 二、振動(dòng)的仿真分析</b></p><p> 已知電梯運(yùn)行時(shí)影響轎廂水平振動(dòng)的因素主要有導(dǎo)軌工作面的表面粗糙度與直線
32、度、導(dǎo)軌安裝后的偏差等。導(dǎo)軌工作面的表面粗糙度反映的是工作面的微觀不平,對(duì)轎廂振動(dòng)的影響較??;導(dǎo)軌直線度反映的是工作面的宏觀不平,對(duì)電梯的運(yùn)行平穩(wěn)性影響較大。導(dǎo)軌安裝后對(duì)工作面垂直度與工作面之間的距離均有特殊要求,若發(fā)生較大偏差,對(duì)轎廂振動(dòng)的影響更大。從直線度中提取的特征參數(shù),如接頭處的臺(tái)階,未對(duì)準(zhǔn)度和彎曲反映的都是導(dǎo)軌的宏觀不平,它們都可以看作是轎廂振動(dòng)的振動(dòng)源。轎廂產(chǎn)生振動(dòng)可以看成是所有這些振動(dòng)源共同作用的結(jié)果。</p>
33、<p> 通過(guò)LABVIEW虛擬儀器進(jìn)行計(jì)算機(jī)仿真,得到水平振動(dòng)加速度隨時(shí)間變化曲線如下圖2-3 所示:</p><p> 圖2-3 水平振動(dòng)加速度隨時(shí)間變化曲線</p><p> 同時(shí),通過(guò)LABVIEW仿真,得到水平振動(dòng)加速度隨頻率變化曲線如下圖2-4所示:</p><p> 圖2-4 水平振動(dòng)加速度隨頻率變化曲線</p>&
34、lt;p> 所以,在檢測(cè)振動(dòng)時(shí),應(yīng)合理選擇檢測(cè)參數(shù),如振動(dòng)位移是研究強(qiáng)度和變形的重要依據(jù);振動(dòng)加速度與作用力或載荷成正比,是研究動(dòng)力強(qiáng)度和疲勞的重要依據(jù);振動(dòng)速度決定了噪聲的高低,人對(duì)振動(dòng)的敏感程度在很大的頻率范圍內(nèi)是由振動(dòng)速度來(lái)決定的。 </p><p> 2.2 系統(tǒng)整體設(shè)計(jì)</p><p> 通過(guò)對(duì)電梯轎廂振動(dòng)的數(shù)學(xué)分析,并參考GB/T 10058—1997電梯技術(shù)條件規(guī)
35、定,乘客電梯啟動(dòng)加速度和制動(dòng)減速度最大值均不應(yīng)大于,平穩(wěn)運(yùn)行時(shí)轎廂垂直方向和水平方向的振動(dòng)加速度分別不應(yīng)大于和,得知電梯加速度測(cè)量的上限達(dá)到的數(shù)量級(jí),而對(duì)于數(shù)量級(jí)的振動(dòng)信號(hào)測(cè)量,則希望分辨力能達(dá)到級(jí)別,因此檢測(cè)系統(tǒng)的動(dòng)態(tài)范圍要求達(dá)到60dB。</p><p> 綜上而知,振動(dòng)檢測(cè)系統(tǒng)整體框圖設(shè)計(jì)如下圖2-5 所示:</p><p> 圖2-5 系統(tǒng)整體框圖</p><
36、;p> 此外,由于人體對(duì)振動(dòng)的敏感頻率僅限于低頻段,所以,電梯轎廂振動(dòng)檢測(cè)系統(tǒng)也應(yīng)該具有較好的低頻特性。</p><p> 基于單片機(jī)的電梯轎廂振動(dòng)檢測(cè)系統(tǒng),其主要工作就是在電梯運(yùn)行中通過(guò)多個(gè)振動(dòng)傳感器把電梯轎廂各個(gè)方向上的大量振動(dòng)數(shù)據(jù)實(shí)時(shí)可靠的記錄下來(lái),然后把記錄下來(lái)的振動(dòng)數(shù)據(jù)送入ADC0809數(shù)據(jù)采集系統(tǒng)進(jìn)行特殊轉(zhuǎn)換處理,將帶有干擾的模擬信號(hào)經(jīng)過(guò)濾波等干擾消除過(guò)程轉(zhuǎn)換成單片機(jī)易于接受的數(shù)字信號(hào),之后
37、傳送給AT89S52單片機(jī)再經(jīng)過(guò)進(jìn)一步的特殊處理,一方面將接受來(lái)的數(shù)字信號(hào)轉(zhuǎn)換成數(shù)碼管接受的顯示段碼顯示出來(lái);另一方面將接受來(lái)的振動(dòng)數(shù)字信號(hào)處理成為PC機(jī)能夠接受的振動(dòng)信號(hào),然后通過(guò)MAX232電平轉(zhuǎn)換使單片機(jī)與PC機(jī)的串行口電平匹配,把處理后的振動(dòng)數(shù)據(jù)送入PC機(jī)。PC機(jī)接受單片機(jī)傳送來(lái)的振動(dòng)數(shù)據(jù)后再以波形的方式顯示出來(lái)以便分析振動(dòng)變化情況,從而得出電梯轎廂振動(dòng)各個(gè)方向上的參數(shù)變化趨勢(shì),以便設(shè)計(jì)人員做出相應(yīng)的對(duì)策來(lái)消減電梯轎廂的振動(dòng)。&
38、lt;/p><p><b> 2.3 本章小結(jié)</b></p><p> 本章首先介紹了電梯轎廂的組成結(jié)構(gòu),并對(duì)電梯轎廂進(jìn)行了受力數(shù)學(xué)分析,然后根據(jù)分析所得的結(jié)論,通過(guò)虛擬儀器進(jìn)行了振動(dòng)仿真,最后,提出了電梯轎廂振動(dòng)檢測(cè)系統(tǒng)的總體設(shè)計(jì)方案。</p><p> 本章主要是通過(guò)對(duì)振動(dòng)分析,在整體上來(lái)把握電梯轎廂振動(dòng)檢測(cè)系統(tǒng)的設(shè)計(jì)方案,為下面第二章
39、著重介紹系統(tǒng)硬件電路的設(shè)計(jì)提供明確的方向。</p><p><b> 第三章 硬件設(shè)計(jì)</b></p><p> 通過(guò)上一章節(jié)對(duì)系統(tǒng)總體設(shè)計(jì)方案的介紹可知:電梯轎廂振動(dòng)檢測(cè)系統(tǒng)的硬件電路是以單片機(jī)為核心,由振動(dòng)信號(hào)檢測(cè)模塊、A/D轉(zhuǎn)換模塊,顯示模塊及串口通信模塊四部分組成。因此,本章節(jié)主要是針對(duì)以上各模塊進(jìn)行硬件電路設(shè)計(jì)。</p><p>
40、;<b> 3.1 單片機(jī)模塊</b></p><p> 該模塊使用的單片機(jī)是美國(guó)Atmel公司的AT89S52單片機(jī),該型號(hào)單片機(jī)功能強(qiáng)大,價(jià)格低廉,可以靈活應(yīng)用于各種控制領(lǐng)域。AT89S52單片機(jī)是一種高性能8位單片微型計(jì)算機(jī),它在單一芯片內(nèi)集成了并行I/O口、異步串行口、16位定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)、片內(nèi)RAM和片內(nèi)ROM以及其他一些功能部件。</p><p&
41、gt; AT89S52單片機(jī)的基本組成如下圖3-1 所示:</p><p> 圖3-1 AT89S52單片機(jī)的基本組成</p><p> 中央處理器CPU:?jiǎn)纹瑱C(jī)的核心部件,用于產(chǎn)生各種控制信號(hào),完成對(duì)數(shù)據(jù)的算術(shù)邏輯運(yùn)算和傳送;</p><p> 內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM:用于存放可以讀/寫(xiě)的數(shù)據(jù);</p><p> 內(nèi)部程序存儲(chǔ)器RO
42、M:用于存放程序指令或某些常數(shù)表格;</p><p> 4個(gè)8位的并行I/O接口P0、P1、P2和P3:每個(gè)口都可以用作輸入或者輸出;</p><p> 3個(gè)定時(shí)器/計(jì)數(shù)器:用來(lái)作外部事件計(jì)數(shù)器,也可以用來(lái)定時(shí);</p><p> 內(nèi)部中斷系統(tǒng):具有8個(gè)中斷源、2個(gè)優(yōu)先級(jí)的嵌套中斷結(jié)構(gòu),可實(shí)現(xiàn)二級(jí)中斷服務(wù)程序嵌套,每一個(gè)中斷源都可以用軟件程序規(guī)定為高優(yōu)先級(jí)中斷
43、或低優(yōu)先級(jí)中斷;</p><p> 一個(gè)串行接口電路:可以用于異步接收發(fā)送器;</p><p> 內(nèi)部時(shí)鐘電路:振蕩頻率可以高達(dá)40MHz,但是晶體和微調(diào)電容需要外接;</p><p> 單片機(jī)AT89S52提供以下標(biāo)準(zhǔn)功能:4K字節(jié)Flash閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32個(gè)I/O口線,看門(mén)狗(WDT),兩個(gè)數(shù)據(jù)指針,兩個(gè)16位的定時(shí)/計(jì)數(shù)器,一個(gè)5向
44、量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89S52可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。</p><p> 下面對(duì)單片機(jī)模塊設(shè)計(jì)時(shí)所用到的引腳作下說(shuō)明:</p><p&
45、gt; RST(9腳):復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。</p><p> EA / Vpp(31腳):外部訪問(wèn)允許。欲使單片機(jī)CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H~FFFFH),EA端必須保持低電平(接地)狀態(tài)。需要注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。當(dāng)EA為高電平即接Vcc端時(shí),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。當(dāng)F1ash
46、存儲(chǔ)器進(jìn)行編程時(shí),該引腳加上+12V的編程電壓Vpp。</p><p> XTAL2(18腳):接外部晶振和微調(diào)電容的一端。在AT89S52片內(nèi)它是振蕩電路反向放大器的輸出端,振蕩電路的頻率就是晶體的固有頻率。若采用外部時(shí)鐘電路,則該引腳須懸空。</p><p> XTAL1(19腳):接外部晶振和微調(diào)電容的另一端。在片內(nèi)它是振蕩電路反向放大器的輸入端。在采用外部時(shí)鐘時(shí),該引腳輸入外部
47、時(shí)鐘脈沖。</p><p> 單片機(jī)模塊電路連接圖如下圖3-2所示。該電路由5V電源給單片機(jī)供電,該芯片的P0.0~P0.7用作A/D轉(zhuǎn)換模塊的輸出端口,由于ADC0809輸出的是高電平,所以在程序初始化后,P0.0~P0.7為低電平。P1.0~P1.7用作四位數(shù)碼管的顯示段碼輸入端口,P2.0~P2.3用作動(dòng)態(tài)顯示的選位端口,P3.0~P3.1用作串口通信的接收和發(fā)送端口,P3.2和P3.3分別用來(lái)控制ADC
48、0809的A/D轉(zhuǎn)換結(jié)束信號(hào)和地址鎖存允許信號(hào),由于二者均為高電平有效,所以在程序初始化后,P3.2和P3.3均為低電平。</p><p> 圖3-2 單片機(jī)模塊電路連接圖</p><p> 由上圖可知,該模塊采用的是內(nèi)部方式時(shí)鐘電路。AT89S52單片機(jī)要形成時(shí)鐘信號(hào),必須外接相關(guān)元件。所以用外接11.0592MHz晶振以及電容C1和C2構(gòu)成并聯(lián)諧振電路,從而可以形成穩(wěn)定的自激振蕩器
49、,然后將其接在反饋回路中。當(dāng)振蕩頻率在6~12MHz時(shí),通常使電容C1和C2的值選擇為30pF來(lái)進(jìn)行微調(diào)。</p><p> 內(nèi)部方式時(shí)鐘電路連接圖如下圖3-3所示:</p><p> 圖3-3 內(nèi)部方式時(shí)鐘電路</p><p> AT89S52單片機(jī)同其他微處理器一樣,在啟動(dòng)時(shí)需要復(fù)位,使CPU和系統(tǒng)的各個(gè)部件處于一種確定的初始狀態(tài)。復(fù)位信號(hào)從RST引腳輸入
50、且高電平有效,其有效電平應(yīng)維持至少2個(gè)機(jī)器周期。</p><p> 該模塊采用的是按鍵手動(dòng)復(fù)位方式,復(fù)位電路如下圖3-4所示。單片機(jī)的復(fù)位是通過(guò)電容充電來(lái)實(shí)現(xiàn)的。只要電源VCC的電壓上升時(shí)間不超過(guò)1ms且通過(guò)在VCC與RST之間加一個(gè)22uF的電容C3,RST與GND之間加一個(gè)1k的電阻R1,在按下復(fù)位按鈕后電容C3通過(guò)R2放電,同時(shí)電源VCC通過(guò)R1和R2分壓,而R1要比R2大許多,所以大部分電壓降落在R1上
51、,使RST端得到一個(gè)高電平從而導(dǎo)致單片機(jī)復(fù)位。</p><p> 圖3-4 按鍵手動(dòng)復(fù)位電路</p><p> 一個(gè)實(shí)際單片機(jī)應(yīng)用系統(tǒng)能否正常工作,首先要檢查能否產(chǎn)生正確的復(fù)位信號(hào)。復(fù)位以后,單片機(jī)內(nèi)部各寄存器的狀態(tài)如下表3-1所示:</p><p> 表3-1 單片機(jī)內(nèi)部各寄存器復(fù)位狀態(tài)</p><p> 3.2 振動(dòng)信號(hào)檢測(cè)模塊&
52、lt;/p><p> 該模塊所選MMA7260QT低成本微型電容式加速度傳感器采用了信號(hào)調(diào)理、單極低通濾波器和溫度補(bǔ)償技術(shù),提供4個(gè)量程可選,并且因其小巧輕便,將其安裝在電梯轎廂中實(shí)時(shí)檢測(cè)電梯運(yùn)行中的轎廂振動(dòng)狀況,從而可以提高電梯的安全性能。</p><p> MMA7260QT內(nèi)部結(jié)構(gòu)如下圖3-5所示。gn-Select1和gn-Select2為量程選擇控制,Sleep Mode為休眠模
53、式控制,當(dāng)其為高電平時(shí)MMA7260QT正常工作,低電平時(shí)休眠。Xout、Yout、Zout分別為X、Y、Z三個(gè)方向的模擬輸出,并且該芯片采用5V直流電作為其工作電壓,所以Vss為5V供電源的正極,在5V的工作電壓下,當(dāng)檢測(cè)到有振動(dòng)信號(hào)時(shí)輸出電壓為3.78V,輸出端經(jīng)NPN型三極管將電流放大后與ADC0809的IN0連接。</p><p> 三軸加速度傳感器是一種可以對(duì)物體運(yùn)動(dòng)過(guò)程中的加速度進(jìn)行測(cè)量的電子設(shè)備,
54、本設(shè)計(jì)是基于單片機(jī)技術(shù)將MMA7260QT應(yīng)用在電梯轎廂振動(dòng)檢測(cè)方面。</p><p> 圖3-5 MMA7260QT內(nèi)部結(jié)構(gòu)</p><p> 振動(dòng)信號(hào)檢測(cè)模塊的電路連接圖如下圖3-6所示。該電路在接通電源之后,工作指示燈亮說(shuō)明電路正常工作,休眠控制引腳Sleep Mode接單片機(jī)P3.7,當(dāng)P3.7為高電平時(shí),MMA7260QT加速度傳感器開(kāi)始工作,低電平時(shí)則休眠。gn-Selec
55、t1、gn-Select2分別去接單片機(jī)P2.4、P2.5來(lái)控制測(cè)量范圍和重量靈敏度的檔位選擇。并且該電路采用RT9161來(lái)進(jìn)行電壓選擇控制,能夠?qū)﹄娞蒉I廂的振動(dòng)進(jìn)行檢測(cè),根據(jù)振動(dòng)強(qiáng)度輸出不同的電壓值來(lái)表示振動(dòng)的變化情況。</p><p> 圖3-6 振動(dòng)信號(hào)檢測(cè)電路</p><p> 3.3 模/數(shù)轉(zhuǎn)換模塊</p><p> 電梯轎廂的振動(dòng)量由振動(dòng)傳感器測(cè)量
56、得到之后還需經(jīng)過(guò)數(shù)據(jù)采集處理系統(tǒng)轉(zhuǎn)換成單片機(jī)可以接受的數(shù)字信號(hào),而ADC0809是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的CMOS工藝8通道,8位逐次逼近式A/D轉(zhuǎn)換器,它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)換,其轉(zhuǎn)換時(shí)間為100us左右。因此本設(shè)計(jì)選擇使用ADC0809來(lái)轉(zhuǎn)換振動(dòng)傳感器測(cè)量所得的轎廂振動(dòng)信號(hào)。</p><p> A/D轉(zhuǎn)換器的結(jié)構(gòu)框圖如下圖3-7 所示: </p&g
57、t;<p> 圖3-7 A/D轉(zhuǎn)換器的結(jié)構(gòu)</p><p> ADC0809芯片有28條引腳,采用雙列直插式封裝,下面對(duì)此模塊所用到</p><p><b> 的引腳簡(jiǎn)單說(shuō)明:</b></p><p> IN0~IN7:8路模擬量輸入端。</p><p> OUT1~OUT8:8位數(shù)字量輸出端。&
58、lt;/p><p> ADDA、ADDB、ADDC:3位地址輸入線,選通8路模擬輸入中的一路。ALE:地址鎖存允許信號(hào),輸入高電平有效。</p><p> START:A/D轉(zhuǎn)換啟動(dòng)脈沖輸入端,輸入一個(gè)正脈沖(至少100ns寬使其啟動(dòng)(脈沖上升沿使0809復(fù)位,下降沿啟動(dòng)A/D轉(zhuǎn)換)。 </p><p> EOC: A/D轉(zhuǎn)換結(jié)束信號(hào),輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此
59、端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平)。 </p><p> OE:數(shù)據(jù)輸出允許信號(hào),輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開(kāi)輸出三態(tài)門(mén),輸出數(shù)字量。</p><p> CLK:時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于640KHZ。</p><p> REF(+)、REF(-):基準(zhǔn)電壓。</p><p> Vc
60、c:電源,單一+5V。</p><p><b> GND:地。</b></p><p> ADC0809與單片機(jī)連接如圖3-8所示:</p><p> 圖3-8 ADC0809與單片機(jī)連接</p><p> 此模塊選擇的是ADC0809的通道0,數(shù)據(jù)輸出口連接單片機(jī)的P0口,時(shí)鐘脈沖由單片機(jī)P3.3來(lái)產(chǎn)生,同時(shí)地
61、址鎖存允許信號(hào)也由P3.3控制,當(dāng)有振動(dòng)信號(hào)輸入時(shí),P3.3為高電平,使得ALE=1,從而將地址存入地址鎖存器中,A/D轉(zhuǎn)換啟動(dòng)脈沖輸入端連接P3.0,P3.0輸出脈沖的上升沿將逐次逼近寄存器復(fù)位,下降沿啟動(dòng)A/D轉(zhuǎn)換,之后EOC輸出信號(hào)變低,指示轉(zhuǎn)換正在進(jìn)行,直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示轉(zhuǎn)換結(jié)束。</p><p> 數(shù)據(jù)輸出允許信號(hào)OE連接單片機(jī)P3.1,E0C=1可用作中斷申請(qǐng),當(dāng)P3.1輸出
62、高電平時(shí),ADC0809的輸出三態(tài)門(mén)打開(kāi),轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上傳送給單片機(jī)進(jìn)行處理。</p><p><b> 3.4 顯示模塊</b></p><p> 該模塊采用的是四位數(shù)碼管動(dòng)態(tài)顯示,即一位一位地輪流點(diǎn)亮各位顯示器,對(duì)于顯示器的每一位而言,每隔一段時(shí)間點(diǎn)亮一次。在同一時(shí)刻只有一位顯示器在工作,利用人眼的視覺(jué)暫留效應(yīng)和發(fā)光二極管熄滅時(shí)產(chǎn)生的余輝效應(yīng)
63、,看到的卻是多個(gè)字符同時(shí)顯示。顯示器亮度既與點(diǎn)亮?xí)r的導(dǎo)通電流有關(guān),也與點(diǎn)亮?xí)r間和間隔時(shí)間的比例有關(guān)。調(diào)整電流和時(shí)間參數(shù),可實(shí)現(xiàn)亮度較高較穩(wěn)定的顯示。</p><p> 顯示模塊的電路連接圖如3-9所示。四位一體數(shù)碼管采取的是共陽(yáng)極接法,其內(nèi)部段已連接好,A、B、C、D、E、F、G、DP為段引腳,1、2、3、4分別表示四個(gè)數(shù)碼管的位,此模塊用單片機(jī)將ADC0809轉(zhuǎn)換后的數(shù)字量處理成顯示段碼再通過(guò)P1口發(fā)送給四位
64、數(shù)碼管的段引腳,并且用P2.0~P2.3依次給數(shù)碼管的位送低電平來(lái)控制數(shù)碼管一位一位地顯示。</p><p> 圖3-9 數(shù)碼管與單片機(jī)連接</p><p> 3.5 串口通信模塊</p><p> 單片機(jī)和PC機(jī)的通信是通過(guò)單片機(jī)的串口和PC機(jī)串口之間的硬件連接來(lái)實(shí)現(xiàn)的。PC機(jī)內(nèi)裝有異步通信適配器板,其主要器件為可編程的8250UART芯片。它使該機(jī)有能力與
65、其他具有標(biāo)準(zhǔn)RS-232C串行通信接口的計(jì)算機(jī)或設(shè)備進(jìn)行通信。而AT89S52單片機(jī)本身具有一個(gè)全雙工的串行口,只要外接一個(gè)MAX232電平轉(zhuǎn)換器就可以與PC機(jī)的RS-232C串行口連接,組成一個(gè)簡(jiǎn)單可行的通信接口。電路具體連接如下圖3-10 所示:</p><p> 圖3-10 單片機(jī)與PC機(jī)串口通信</p><p> 本系統(tǒng)中采用異步串行通信方式來(lái)實(shí)現(xiàn)單片機(jī)與PC之間的通信。異步串
66、行通信是以字符為單位組成的幀進(jìn)行傳送的,即一幀一幀地進(jìn)行傳送。幀由發(fā)送端一幀一幀地發(fā)送,通過(guò)傳輸線由被接收設(shè)備一幀一幀地進(jìn)行接收。發(fā)送端何時(shí)開(kāi)始發(fā)送和何時(shí)結(jié)束發(fā)送是由幀格式來(lái)規(guī)定的。通信線上沒(méi)有數(shù)據(jù)傳送時(shí)為邏輯高電平,每當(dāng)接收端檢測(cè)到傳輸線上發(fā)送來(lái)的邏輯低電平(幀起始位)時(shí)就知道發(fā)送端已開(kāi)始發(fā)送,每當(dāng)接收端接收到幀的停止位時(shí)就知道一幀字符信息已發(fā)送完畢。</p><p> 串行數(shù)據(jù)傳送格式有兩種:</p&
67、gt;<p> 一是無(wú)空閑位字符幀。字符幀格式如下圖3-11 所示:</p><p> 圖3-11 無(wú)空閑位字符幀格式</p><p> 二是有空閑位字符幀。字符幀格式如下圖3-12 所示:</p><p> 圖3-12 有空閑位字符幀格式</p><p> 在串行通信時(shí),要求單片機(jī)和PC機(jī)雙方都采用一個(gè)標(biāo)準(zhǔn)接口,從而
68、使不同的設(shè)備可以方便地連接起來(lái)進(jìn)行通信。RS-232C是美國(guó)電子工業(yè)協(xié)會(huì)EIA公布的串行通信標(biāo)準(zhǔn),也是目前用的最多的一種串行通信標(biāo)準(zhǔn),它除了包括物理指標(biāo)外,還包括按位串行傳送的電氣指標(biāo)。其中,RS代表推薦,232是標(biāo)識(shí)號(hào),C表示修改的次數(shù)。RS-232C通常適用于短距離或帶調(diào)制解器的通信場(chǎng)合,目前已廣泛應(yīng)用于計(jì)算機(jī)外圍設(shè)備的串行異步通信接口中。</p><p> RS-232C是數(shù)據(jù)終端設(shè)備DTE和數(shù)據(jù)通訊設(shè)備
69、DCE之間的接口,RS-232C的機(jī)械標(biāo)準(zhǔn)規(guī)定DTE應(yīng)配置DB25的插頭,即25針連接器,其應(yīng)配置DB25的插座,即25孔連接器。在實(shí)際應(yīng)用中,DB25型連接器的許多信號(hào)都用不上,對(duì)于一般的全雙工通信,僅需幾條信號(hào)線就可以實(shí)現(xiàn)了,其中包括一條發(fā)送線、一條接收線和一條地線。因此實(shí)際應(yīng)用中普遍采用DB9插頭,即9針連接器。</p><p> 9針連接器如下圖3-13 所示:</p><p>
70、 圖3-13 9針連接器</p><p> 9針連接器各針腳功能如下表3-2 所示:</p><p> 表3-2 針串行口的針腳功能</p><p> 然而由于PC機(jī)RS-232C的邏輯電平與AT89S52單片機(jī)的TTL電平互不兼容,RS-232C的邏輯0電平規(guī)定為+3~+15V之間,邏輯1電平為?3~?15V之間。因此,為了與TTL電平的AT89S52單片
71、機(jī)器件連接,必須進(jìn)行電平轉(zhuǎn)換。美國(guó)MAXIM公司生產(chǎn)的MAX232系列RS-232C收發(fā)器是目前應(yīng)用較為普遍的串行口電平轉(zhuǎn)換器件。</p><p> PC機(jī)和單片機(jī)的串行接口連接原理圖如下圖3-14 所示。數(shù)據(jù)應(yīng)用串行通信時(shí)在硬件上采用三線制接法,將單片機(jī)和PC機(jī)串口的3個(gè)引腳(RXD、TXD、GND)分別連在一起,即將PC機(jī)和單片機(jī)的發(fā)送數(shù)據(jù)線TXD與接收數(shù)據(jù)RXD交叉連接,兩者的地線GND直接相連,而其他信
72、號(hào)線如握手信號(hào)線均空置不用,而是采用軟件握手的方式,這樣既可以實(shí)現(xiàn)預(yù)定的任務(wù)又可以簡(jiǎn)化電路設(shè)計(jì)。</p><p> 圖3-14 PC機(jī)和單片機(jī)的串行通信連接原理圖</p><p><b> 3.6 抗干擾技術(shù)</b></p><p> 影響正常工作的信號(hào)稱為噪聲,又稱干擾。在單片機(jī)控制系統(tǒng)中,如果出現(xiàn)了干擾,就會(huì)影響指令的正常執(zhí)行,造成控
73、制事故或控制失靈;在測(cè)量通道中,如果產(chǎn)生了干擾,就會(huì)使測(cè)量產(chǎn)生誤差,甚至某些情況下電壓的沖擊有可能使系統(tǒng)遭到致命的破壞。本系統(tǒng)硬件抗干擾采取以下三種方法:</p><p> 1、選用可靠的元器件</p><p> 一般情況下,元器件在出廠前都進(jìn)行了相關(guān)測(cè)試。所以在通常應(yīng)用時(shí)不再進(jìn)行測(cè)試,而直接將元器件用在電路中進(jìn)行通電運(yùn)行實(shí)驗(yàn)。在實(shí)驗(yàn)中若發(fā)現(xiàn)元器件問(wèn)題,直接替換不合格元器件。</
74、p><p> 2、接插件的選擇應(yīng)用</p><p> 單片機(jī)控制系統(tǒng)通常由幾塊印制電路板組成,各板之間以及各板與基準(zhǔn)電源之間經(jīng)常選用接插件相連接。所以在接插件的插針之間也易造成干擾,這些干擾與接插件插針之間的距離以及插針與地線之間的距離都有關(guān)系。因此在設(shè)計(jì)選用時(shí)要注意以下幾個(gè)問(wèn)題:</p><p> 1) 合理地設(shè)置插接件:如電源插接件與信號(hào)插接件要盡量遠(yuǎn)離,主要
75、信號(hào)的接插件外面最好帶有屏蔽。</p><p> 2) 插頭座上增加接地針數(shù):在安排插針信號(hào)時(shí),選用一些插針作為接地針,均勻分布于各信號(hào)針之間,這樣能起到一定的隔離作用,以減小針間信號(hào)互相干擾。</p><p> 3) 信號(hào)針盡量分散,增大彼此間的距離。</p><p> 3、印刷電路板抗干擾設(shè)計(jì)技術(shù)</p><p> 印制電路板是器
76、件、信號(hào)線、電源線的高密度集合體,布線和布局好壞對(duì)可靠性影響很大。</p><p> 1) 印制電路總體布局原則如下:</p><p> ?、?印制電路板大小要適中,板面過(guò)大,印制線路太長(zhǎng),阻抗增加,成本偏高;板子太小,板間相互連線增加,易增加干擾環(huán)境。</p><p> ?、?印制板元件布局時(shí)相關(guān)元件應(yīng)盡量靠近,如晶振、時(shí)鐘發(fā)生器及CPU時(shí)鐘輸入端等,大電流電路
77、要遠(yuǎn)離主板,或另做一塊板。</p><p> 2) 數(shù)據(jù)線的傳輸方向應(yīng)盡量保持一致,這樣有助于增強(qiáng)抗干擾能力。接地線可環(huán)繞印制板一周安排,根據(jù)實(shí)際情況盡可能就近接地。</p><p> 3.7 系統(tǒng)電路板設(shè)計(jì)</p><p> 綜合系統(tǒng)硬件各個(gè)模塊的設(shè)計(jì),并結(jié)合硬件抗干擾技術(shù),在Protel99SE中繪制出:</p><p> 1、系
78、統(tǒng)印刷電路板的原理圖設(shè)計(jì)如附錄1所示。</p><p> 2、系統(tǒng)印刷電路板PCB設(shè)計(jì)如附錄2所示。</p><p><b> 3.8 本章小結(jié)</b></p><p> 本章節(jié)主要介紹了系統(tǒng)的幾個(gè)重要組成部分,對(duì)單片機(jī)、振動(dòng)傳感器、A/D轉(zhuǎn)換器、數(shù)碼管以及串口通信等各模塊的工作原理作了詳細(xì)分析與設(shè)計(jì),另外也特別從硬件方面介紹了系統(tǒng)的抗干
79、擾技術(shù)。最后,通過(guò)軟件Protel99SE繪制出了系統(tǒng)印刷電路板的原理圖和PCB圖,為下面第四章節(jié)的軟件設(shè)計(jì)提供了具體的編程依據(jù),同時(shí)按照硬件電路進(jìn)行編程也大大降低了程序編寫(xiě)的難度。</p><p><b> 第四章 軟件設(shè)計(jì)</b></p><p><b> 4.1 設(shè)計(jì)思想</b></p><p> 由于電梯轎
80、廂的振動(dòng)方向很多,所以本系統(tǒng)主要檢測(cè)X、Y、Z三個(gè)方向上的振動(dòng)。三個(gè)方向如下圖4-1 所示:</p><p> 圖4-1 電梯轎廂振動(dòng)建模圖示</p><p> 整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來(lái)實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來(lái)了。從軟件的功能不同可分為兩大類(lèi):一是監(jiān)控軟件(主程序),它是整個(gè)控制系統(tǒng)的核心,專(zhuān)門(mén)用來(lái)協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件,它是用
81、來(lái)完成實(shí)質(zhì)性的功能,如串口通信、振動(dòng)檢測(cè)等。系統(tǒng)整體設(shè)計(jì)思想表示如圖4-2 所示:</p><p> 圖4-2 電梯轎廂振動(dòng)檢測(cè)系統(tǒng)實(shí)現(xiàn)思想</p><p> 本設(shè)計(jì)是硬件電路和軟件編程相結(jié)合的設(shè)計(jì)方案,選擇合適的編程語(yǔ)言是一個(gè)重要的環(huán)節(jié)。在單片機(jī)的應(yīng)用系統(tǒng)程序設(shè)計(jì)時(shí),常用的是匯編語(yǔ)言和C語(yǔ)言。匯編語(yǔ)言的特點(diǎn)是占用內(nèi)存單元少,執(zhí)行效率高。執(zhí)行速度快。但它依賴于計(jì)算機(jī)硬件,程序可讀性和可
82、移植性比較差。而C語(yǔ)言雖然執(zhí)行效率沒(méi)有匯編語(yǔ)言高,但語(yǔ)言簡(jiǎn)潔,使用方便,靈活,運(yùn)算豐富,表達(dá)化類(lèi)型多樣化,數(shù)據(jù)結(jié)構(gòu)類(lèi)型豐富,具有結(jié)構(gòu)化的控制語(yǔ)句,程序設(shè)計(jì)自由度大,有很好的可重用性,可移植性等特點(diǎn)。</p><p> 由于現(xiàn)在單片機(jī)的發(fā)展已經(jīng)達(dá)到了很高的水平,內(nèi)部的各種資源相當(dāng)?shù)呢S富,CPU的處理速度非??臁S肅語(yǔ)言控制單片機(jī)無(wú)疑是設(shè)計(jì)者一個(gè)理想的選擇。所以在本設(shè)計(jì)中采用C語(yǔ)言編寫(xiě)軟件程序。</p>
83、<p> 系統(tǒng)整體設(shè)計(jì)流程如下圖4-3 所示:</p><p> 圖4-3 系統(tǒng)整體設(shè)計(jì)流程</p><p> 4.2 單片機(jī)程序設(shè)計(jì)</p><p><b> 4.2.1 主程序</b></p><p> 系統(tǒng)軟件設(shè)計(jì)采用模塊化結(jié)構(gòu)和子程序嵌套技術(shù),可讀性好,便于編制和擴(kuò)充。主流程采用順序查詢方
84、式,分別檢測(cè)上位機(jī)控制信號(hào)、振動(dòng)轉(zhuǎn)感器信號(hào)。AT89S52單片機(jī)中的主程序主要完成以下兩個(gè)工作:</p><p> ?。?)對(duì)系統(tǒng)初始化,包括對(duì)I/O端口P1、P2、P3的初始化和配置;</p><p> ?。?)掃描I/O口,接收并處理MMA7260QT傳感器的振動(dòng)數(shù)據(jù);</p><p> 主程序基本設(shè)計(jì)思路是:程序運(yùn)行后,等待PC機(jī)對(duì)MMA7260QT傳感器的
85、啟動(dòng)信號(hào),如果檢測(cè)到有效信號(hào),則MMA7260QT傳感器正常工作,得到X、Y、Z三個(gè)方向上的振動(dòng)數(shù)據(jù)后首先進(jìn)入A/D轉(zhuǎn)換子程序,待轉(zhuǎn)換完成后再進(jìn)入數(shù)值轉(zhuǎn)換為字符串子程序,然后進(jìn)入顯示子程序,最后進(jìn)入串口通信子程序?qū)⒆址l(fā)送給PC機(jī),如此反復(fù)循環(huán)。</p><p> 單片機(jī)主程序設(shè)計(jì)流程如下圖4-4 所示:</p><p> 圖4-4 單片機(jī)主程序設(shè)計(jì)流程</p><
86、;p> 具體程序詳見(jiàn)附錄3所示。</p><p> 4.2.2 模數(shù)轉(zhuǎn)換子程序</p><p> MMA7260QT檢測(cè)出來(lái)的電梯轎廂振動(dòng)量經(jīng)ADC0809采集、轉(zhuǎn)換后生成數(shù)字量,單片機(jī)將讀取的數(shù)字量經(jīng)過(guò)標(biāo)度變換后以工程量的形式顯示在LED數(shù)碼管上面,并且通過(guò)串口通信發(fā)送到PC機(jī)端口。</p><p> 模數(shù)轉(zhuǎn)換子程序流程圖如下圖4-5 所示:<
87、/p><p> 圖4-5 模數(shù)轉(zhuǎn)換子程序流程圖</p><p> ADC0809芯片內(nèi)有8路模擬選通開(kāi)關(guān)以及相應(yīng)的通道鎖存譯碼電路,在電路應(yīng)用中,首先應(yīng)該指定ADC0809的數(shù)據(jù)通道,當(dāng)外部模擬量進(jìn)入芯片以后,在START信號(hào)的下降沿ADC0809開(kāi)始轉(zhuǎn)換,此時(shí),轉(zhuǎn)換結(jié)束信號(hào)EOC呈低電平狀態(tài),表示轉(zhuǎn)換正在進(jìn)行,待轉(zhuǎn)換完成以后,管腳EOC的電平會(huì)變高,表示一次轉(zhuǎn)換結(jié)束。</p>
88、;<p><b> 具體程序如下:</b></p><p> byte ReadAD(byte ch)//模數(shù)轉(zhuǎn)換函數(shù)</p><p><b> {</b></p><p> ADC_DATA = 0; //清A/D轉(zhuǎn)換結(jié)果寄存器</p><p>
89、ADC_CONTR = 0xF8|ch; //0000,1000ADCS = 1,啟動(dòng)轉(zhuǎn)換</p><p> delay1ms();</p><p><b> do{;} </b></p><p> while((ADC_CONTR&0x10)==0); //0001,0000等待A/D轉(zhuǎn)換結(jié)束</p>
90、;<p> ADC_CONTR = ADC_CONTR&0xE7; //1110,0111清ADC_FLAG位,停止A/D轉(zhuǎn)換</p><p> return ADC_DATA; </p><p><b> }</b></p><p> void init_ad(void)//A/D初始化函數(shù)</
91、p><p><b> {</b></p><p> P1M0=0x07;//設(shè)置P1.012為高阻輸入,以準(zhǔn)備AD</p><p> P1M1=0x00;</p><p> ADC_CONTR = 0xf8; //1000,0000打開(kāi)A/D轉(zhuǎn)換電源</p><p> del
92、ay1ms();</p><p> ADC_CONTR = ADC_CONTR&0xe0; //清ADC_FLAG,ADC_START位和低3位</p><p><b> }</b></p><p> 4.2.3 串口通信子程序</p><p> 單片機(jī)可以采用中斷方式或查詢RI(接受中斷標(biāo)志位)或TI(
93、發(fā)送中斷表示位)方式進(jìn)行數(shù)據(jù)通信。本設(shè)計(jì)采用查詢方式,查詢RI或TI的值,若檢測(cè)到RI=1則進(jìn)入串口數(shù)據(jù)接收子程序,在子程序中單片機(jī)讀取從上位機(jī)發(fā)送的通信指令、讀取記錄個(gè)數(shù)等數(shù)據(jù);若檢測(cè)到TI=1則進(jìn)入串口數(shù)據(jù)發(fā)送子程序,在子程序中單片機(jī)將經(jīng)過(guò)ADC0809轉(zhuǎn)換過(guò)的電梯轎廂振動(dòng)數(shù)據(jù)發(fā)送到上位機(jī)的端口中。</p><p> 串口通信子程序流程圖如圖4-6所示:</p><p> 圖4-6
94、 串口通信子程序流程圖</p><p><b> 具體程序如下:</b></p><p> void uart_putchar(byte ch)//串口數(shù)據(jù)發(fā)送函數(shù)</p><p><b> { </b></p><p><b> TI=0;</b></p&
95、gt;<p> if (ch == '\n') </p><p><b> {</b></p><p> SBUF= 0x0d; //output'CR'</p><p> while(!TI); </p><p><b> return
96、;</b></p><p><b> } </b></p><p><b> SBUF=ch;</b></p><p> while(!TI); </p><p><b> }</b></p><p> byte uart_g
97、etchar(void)//串口數(shù)據(jù)接收函數(shù)</p><p><b> { </b></p><p><b> if(RI)</b></p><p><b> {</b></p><p><b> RI=0; </b></p&
98、gt;<p> return SBUF; //有數(shù)據(jù)接收到,返回1</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> return 0; //無(wú)數(shù)據(jù)
99、接收到,返回0</p><p><b> }</b></p><p><b> }</b></p><p> void putstr(char ch[])</p><p><b> {</b></p><p> byte ptr=0;</
100、p><p> while(ch[ptr])</p><p><b> {</b></p><p> uart_putchar((byte)ch[ptr++]);</p><p><b> } </b></p><p><b> }</b>&
101、lt;/p><p> void init_uart(void) //P3.0,3.1串口函數(shù)初始化</p><p><b> {</b></p><p> TMOD=0x20; //TH1=256-INT(22118400/32/12/baud+0.5)</p><p> TH1=0xfa;//0xfa,
102、9600</p><p> TL1=0xfd;//0xff,57600</p><p> PCON=0x00;</p><p><b> TR1=1;</b></p><p> SCON=0xd0;</p><p><b> }</b></p>&
103、lt;p> 4.3 上位機(jī)程序設(shè)計(jì)</p><p> 上位機(jī)采用Visual Basic 6.0能實(shí)現(xiàn)可視化界面以及與下位機(jī)的通串口信功能。Windows環(huán)境下的串口通信技術(shù)方案主要有兩種,其一就是使用MSComm控件,此控件具有豐富的用于串口通信的屬性及事件,提供了一系列標(biāo)準(zhǔn)通信命令的接口,用它可以創(chuàng)建全雙工、事件驅(qū)動(dòng)、高效實(shí)用的通信程序;另外一種途徑就是采用API函數(shù)來(lái)直接實(shí)現(xiàn)與下位機(jī)的通信,但這種
104、方法要涉及到很多底層設(shè)置。</p><p> 本系統(tǒng)采用MSComm控件來(lái)實(shí)現(xiàn)單片機(jī)與上位機(jī)的串口通信,MSComm控件提供了兩種處理串行通信的方法:一是事件驅(qū)動(dòng)法;二是查詢法。本設(shè)計(jì)采用的是事件驅(qū)動(dòng)法,這是一種很強(qiáng)的處理串口活動(dòng)的方法,當(dāng)串口接收到或發(fā)送完指定數(shù)量的數(shù)據(jù)時(shí),或當(dāng)狀態(tài)發(fā)生改變時(shí),MSComm控件都將觸發(fā)OnComm事件,當(dāng)應(yīng)用程序捕獲到這些事件后,可通過(guò)檢查MSComm控件的CommEvent屬
105、性值來(lái)獲知所發(fā)生的事件類(lèi)型,從而執(zhí)行相應(yīng)的處理,這種方法具有程序響應(yīng)及時(shí)、可靠性高等優(yōu)點(diǎn)。</p><p> 利用MSComm控件實(shí)現(xiàn)計(jì)算機(jī)通信的關(guān)鍵是理解并正確設(shè)置其眾多的屬性,其中首要的幾個(gè)屬性如4-1所示:</p><p> 表4-1 MSComm控件的屬性</p><p> 打開(kāi)Visual Basic 6.0,新建一個(gè)工程項(xiàng)目,即可對(duì)窗體From1進(jìn)
106、行界面的設(shè)計(jì)。窗體From1如下圖4-7所示:</p><p> 圖4-7 窗體From1</p><p> 在空白的窗體框內(nèi),把軟件所要用到的控件拖曳到窗體中并布局好。程序需要用到串口的控制,而常用控件欄中沒(méi)有“串口控件”,因此需要在控件庫(kù)中添加。在部件添加窗體中,添加“Microsoft Comm Control 6.0”控件并點(diǎn)擊確認(rèn)。部件添加窗體如圖4-8所示:</p&g
107、t;<p> 此時(shí),可以發(fā)現(xiàn)常用控件欄中增加了一個(gè)電話形狀的控件,這就是串口的控件。由于在程序運(yùn)行的時(shí)候,串口控件不作圖標(biāo)顯示,因此,將串口控件拖曳到窗體的任意位置即可。完成好整個(gè)界面的布局如下圖4-9所示:</p><p> 圖4-8 部件添加窗體</p><p> 圖4-9 系統(tǒng)界面整體布局</p><p> 對(duì)于串口端號(hào)及波特率的設(shè)置均使
108、用Combo控件實(shí)現(xiàn)選擇設(shè)置。Combo作為一個(gè)下拉式選項(xiàng)控件,可以把具體內(nèi)容預(yù)設(shè)在Combo的List列表中。使用AddItem將內(nèi)同添加到Combo的列表中,運(yùn)行軟件時(shí)可通過(guò)下拉點(diǎn)擊方式選擇預(yù)存內(nèi)容。按照添加到列表中內(nèi)容的順序,VB會(huì)自動(dòng)對(duì)每個(gè)內(nèi)容分配一個(gè)列表引索號(hào)ListIndex。在程序中也可以通過(guò)向ListIndex賦值,選擇List中的內(nèi)容。如需要軟件在啟動(dòng)后默認(rèn)選擇串口“1”和波特率為“9600”。完成串口的參數(shù)設(shè)置后,還
109、需要將串口打開(kāi),才能正式實(shí)現(xiàn)計(jì)算機(jī)與目標(biāo)控制器的串口通信。</p><p> 上位機(jī)程序設(shè)計(jì)流程如下圖4-10 所示:</p><p> 圖4-10 上位機(jī)程序流程</p><p> 根據(jù)上位機(jī)程序流程圖,在窗體中添加兩個(gè)CommandButton用于打開(kāi)/關(guān)閉串口,在CommandButton事件中加入以下程序:</p><p>
110、Private Sub Command1_Click()</p><p> If MSComm1.PortOpen Then</p><p> If set_falg = False Then</p><p> set_falg = True</p><p> HScroll2.Enabled = False</p>&
111、lt;p> Command1.Caption = "采樣停止"</p><p> Label1.Caption = "信息發(fā)送成功!"</p><p> MSComm1.Output = Chr(111)</p><p> 'out_byte(1) = 111</p><p>
112、'out_byte(2) = 253</p><p> 'MSComm1.Output = out_byte</p><p><b> Else</b></p><p> set_falg = False</p><p> HScroll2.Enabled = True</p>&l
113、t;p> HScroll2.Value = 0</p><p> Command1.Caption = "采樣開(kāi)始"</p><p> Label1.Caption = "系統(tǒng)已停止"</p><p> 'close_falg = True</p><p> MSComm1.Ou
114、tput = Chr(100) '上下位機(jī)應(yīng)達(dá)成同步協(xié)議</p><p> 'out_byte(1) = 100</p><p> 'out_byte(2) = 253</p><p> 'MSComm1.Output = out_byte</p><p><b> End If</
115、b></p><p><b> Else</b></p><p> Label1.Caption = "串口未打開(kāi)!"</p><p> MsgBox "商顯峰提醒你:操作出錯(cuò),請(qǐng)連接串口!"</p><p><b> End If</b><
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的電梯轎廂控制系統(tǒng)的設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)---基于單片機(jī)控制的模擬電梯顯示
- 基于單片機(jī)控制電梯燈畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的電梯舒適性檢測(cè)儀設(shè)計(jì)
- 基于單片機(jī)的電梯控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的電梯控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的電梯控制系統(tǒng)
- 基于單片機(jī)的電梯控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 電梯轎廂架設(shè)計(jì)-畢業(yè)論文
- 單片機(jī)畢業(yè)設(shè)計(jì)---基于pic單片機(jī)的多路溫度巡回檢測(cè)系統(tǒng)
- 基于單片機(jī)的壓力檢測(cè)系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的電梯控制系統(tǒng)
- 畢業(yè)設(shè)計(jì)--電梯轎廂結(jié)構(gòu)設(shè)計(jì)(含全套資料)
- 基于單片機(jī)的畢業(yè)設(shè)計(jì)
- 電梯組裝轎廂
- 電梯轎廂振動(dòng)的原因及處理措施分析
- 畢業(yè)設(shè)計(jì)--基于plc的五層轎廂式電梯控制系統(tǒng)
- 電梯轎廂振動(dòng)的原因及處理措施分析
- 單片機(jī)畢業(yè)設(shè)計(jì)--基于單片機(jī)的電子時(shí)鐘
- 基于51單片機(jī)的模擬電梯控制系統(tǒng)畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論