隨著當今社會的飛速發(fā)展,越來越多的流水線上的產品和各種公共場所需要進行自動計數(shù)。基于單片機構成的產品自動計數(shù)器有直觀和計數(shù)精確的優(yōu)點,目前已在各種行業(yè)中得到廣泛應用。數(shù)字計數(shù)器有多種形式,總體來說有接觸式和非接觸式兩種,在科技發(fā)展的今天,非接觸式紅外計數(shù)器得到了廣泛的應用。本設計采用一對紅外發(fā)射接收管作為紅外計數(shù)器的信號檢測頭,具有價格低廉,抗干擾性好,結構簡單,操作方便等特點。
指導思想是利用紅外發(fā)光管發(fā)射紅外線,紅外接收管接收此紅外線,并將其放大、整流形成低電平信號.當有人或物擋住紅外光時,接收液晶沒有接收到紅外信號,放大器將輸出高電平,同時將這個電平信號送入單片機進行控制計數(shù),并且使液晶顯示數(shù)值。這樣就得到要統(tǒng)計的人或物的數(shù)量。
計數(shù)器是工業(yè)生產流水線上重要的組成部分,其實時的、有效率的、精確的自動計數(shù)在很大程度上解決了工業(yè)生產的問題決定了生產效率成為廣大廠家的首選自動計數(shù)的裝置。但計數(shù)器種類繁多,如何選擇一個方便有多功能的計數(shù)器成了廣大廠家非常關心的核心老問題,如何讓計數(shù)器超越簡單的技術功能,成為生產流水線上的一把利器。而基于單片機的紅外線計數(shù)器能夠滿足廣大廠家的要求,它擁有實時,精確,可靠,穩(wěn)定等技術有點而且體積小、功能強、可靠性高、性能價格比高等特點。
利用單片機做紅外線電子計數(shù)器能夠使產品的穩(wěn)定性、實時性、功能和性價比得到大幅的提高。
早期的單片機都是8位或4位的。其中最成功的是INTEL8031,因為簡單可靠而性能不錯獲得了很大的好評。此后在8031上發(fā)展出了MCS51系列單片機系統(tǒng)單片機比專用處理器更適合應用于嵌入式系統(tǒng),因此它得到了最多的應用。事實上單片機是世界上數(shù)量最多的計算機。現(xiàn)代人類生活中所用的幾乎每件電子和機械產品中都會集成有單片機。
如今的產品自動計數(shù)器大多采用非接觸式的計數(shù)觸發(fā)方式。早已開發(fā)出了多種型號的專用檢測芯片.而利AT89C2051 為控制單元、輔以多種外圍硬件搭配而成的計數(shù)裝置已成為現(xiàn)在自動計數(shù)應用領域的潮流。而如何提高自動計數(shù)器的實時性,抗干擾能力、穩(wěn)定性是現(xiàn)在國內外自動計數(shù)生產廠家研究的主要課題.產品自動計數(shù)器主要用于工廠的流水線上,往往是處于高溫,高噪聲等極度惡劣的環(huán)境當中.而MCS-51 系列單片構成的產品自動計數(shù)器在這種環(huán)境中工作時往往會出現(xiàn)誤動作(單片機程序跑飛)或死機(程序進入死循環(huán)).這也是基于單片機構成的產品自動計數(shù)器存在的致命問題
1.2.2 研究主要成果通過查閱相關德文獻期刊書籍,對對紅外線德一些研究成果如下:
①在作者王送德,朱小龍的《對射式紅外線計數(shù)器的設計》文章中把紅外線發(fā)射、接收模塊作計數(shù)傳感器代替了傳統(tǒng)的光電傳感器、紅外線傳感器。經作者實際應用驗證,該方法在數(shù)據(jù)采集這方面它的抗干擾能力強,且在該設計中還使用了加密、解碼技術,故工作穩(wěn)定,計數(shù)準確,但是該實驗是采用對射式的,所以發(fā)射管和接受管的方向一定要對正,這在現(xiàn)實中可能會造成不必要的麻煩。
②在作者謝洪的《用單片機控制紅外編碼探測障礙物》文章中采用由單片機控制發(fā)射一定意義的紅外編碼脈沖串,同時,單片機接收該脈沖串。如果接受到的信號和發(fā)射的信號基本一致,才判斷為有障礙物的存在。經作者實際應用驗證,這種方法能夠較強的降低虛警率,具有較強的抗干擾性。作者在該文章中提到3種編碼的方案:(1)發(fā)送較短的編碼串(10~16 位),判斷時間約6~10 ms。在接收過程中,不能有一位的誤碼,否則認為是干擾,要等待下一次的障礙檢測。這種方案在檢測過程中,不能存在干擾。(2)發(fā)送大于16 位的編碼串(16~32 位),判斷時問約10~20 ms。對接收“0”和“1”的編碼誤碼統(tǒng)計,其中可以根據(jù)應用場合的需要,存在1~2 位“0”的誤碼和1~3 位“1”的誤碼,這樣能有效提高抗干擾能力。(3)發(fā)送大于32 位編碼串,判斷時間>20 ms。根據(jù)實際情況來分析接收的編碼,以判斷障礙的存在。且這三種方案都在該實驗中得到驗證。
③在作者王松德,梁會琴,王丹的《紅外線計數(shù)器的設計與制作》文章中采用一體化紅外線傳感器TX05D,由于TX05D 使用了調制技術和采用帶補償?shù)目垢蓴_器件,在一定程度上解決了抗干擾問題,使白天黑夜的靈敏度基本保持一致。計數(shù)部分使用十進制計數(shù)7段譯碼器二合一集成電路CD4033 可直接驅動LCD 液晶實現(xiàn)高亮度數(shù)字顯示電源部分使用變壓器降壓集成穩(wěn)壓器穩(wěn)壓可確保電路工作更穩(wěn)定使用更安全。該設計電路和控制方案簡潔明了,容易實現(xiàn),具有應用推廣價值。
④在作者戴培山,馮成德,劉棟的《基于keil+c51 的紅外遙控器解碼設計》文章中采用HS9012 芯片,它是一塊用于紅外遙控系統(tǒng)中的專用發(fā)射集成電路,功耗低,外圍元件少。它的發(fā)射碼采用脈沖位相調制方式(PPM)進行編碼,效率高,抗干擾性能好。HS9012的振蕩頻率為fesc=455kH,高電平脈沖的寬度(即內部工作時鐘周期)Tm=256/lose=0.56ms。根據(jù)計時/計數(shù)器T0 的數(shù)值來判斷脈沖的間隔,進而判斷一位二進制遙控碼是“0”,“1”,還是“引導碼”或是干擾碼。這樣用兩個中斷可以提高解碼效率,節(jié)省解碼時間。該設計接受裝置簡單明了,設計的keilc51 程序通用性好,編寫效率高,可以方便的移植到其它微控制器上,可靠性好,不受其他遙控器碼的干擾。
⑤在作者王禮廣、胡解生、熊東平、肖秀如的《基于RS-485 的靜脈注射網絡監(jiān)控系統(tǒng)的設計與實驗》文章中采用RS-485收發(fā)器,該收發(fā)器采用平衡驅動和差分接收,具有抑制共模干擾的能力,RS-485接受器靈敏度可以達到4-200 mv,在100 kbit/s速率下電纜長度可以達到l200 m,如果通信距離縮短,最大速率可達10 Mbit/s。該系統(tǒng)性能穩(wěn)定、安全可靠、操控直觀方便。
1.2.3 發(fā)展趨勢電子計數(shù)器到目前為止已有30多年的發(fā)展史。早期,設計師門追求的目標主要是擴展計數(shù)范圍,再加上提高計數(shù)精度、穩(wěn)定度等,這些也是人們衡量電子技術器的技術水平,決定電子計數(shù)器價格高低的主要依據(jù),目前這些基本技術日臻完善,成熟。應用現(xiàn)代化技術可以輕松地將電子計數(shù)器的計數(shù)上限擴展到無限大。
隨著單片微型計算機迅速發(fā)展,基于單片機技術開發(fā)的計數(shù)設備和產品廣泛應用到各個領域,單片機技術產品和設備促進生產技術水平的提高。企業(yè)迫切需要大量熟練掌握單片機技術并能開發(fā)、應用和維護管理這些智能化產品的高級工程技術人才,單片機以體積小、功能強、可靠性高、性能價格比高等特點。已經實現(xiàn)或部分實現(xiàn),但要真正完美的實現(xiàn)這些目標,對于設計者來說,還有許多工作要做,而不是表面看來似乎發(fā)展到頭了。
紅外線電子計數(shù)器是一種多功能的電子測量儀器。它利用紅外線發(fā)射器發(fā)射紅外線,接收器接收由物體阻擋或直射的紅外線,把接受到的紅外線信號轉換為電脈沖,并由放大電路進行多級放大,通過計數(shù)芯片分析,計算出遮攔的次數(shù),再由數(shù)碼譯碼器翻譯,通過動態(tài)數(shù)字顯示方式顯示被測物體遮擋的次數(shù)從而進行計數(shù)。隨著紅外技術的提高,在軍事、醫(yī)學等多種領域得到應用,在軍事上可以用來防止敵人的侵入,在醫(yī)學上可以查看病人的病情等。
紅外線電子計數(shù)器作為工業(yè)生產流水線上的重要組成部分,對任何一個大型乃至中、小型企業(yè)都是不可或缺的。它能夠快速準確的統(tǒng)計產品的數(shù)量提高生產的效率,節(jié)約大量的人力資源,提高廠家的競爭力。并且隨著紅外計數(shù)器的不斷改進,抗干擾能力增強,可以在許多惡劣的地方代替科研人員進行科學工作。
1.3 設計任務本設計主要任務是以單片機為主控芯片來進行軟件控制,能正常進行數(shù)據(jù)計數(shù)。基于單片機構成的產品自動計數(shù)器研究的主要內容包括:如果構成檢測電路、MCS-51 單片機用何種方式對外部計數(shù)脈沖進行計數(shù)顯示控制、LCD 顯示驅動模塊的選擇、MCS-51 單片機的擴展。在這個設計中主要需要解決的問題便是如何提高MCS-51單片機的抗干擾能力以及穩(wěn)定性。
主要技術指標:
(1)顯示并能計數(shù);
(2)具有報警功能;
(3)具有較強的抗干擾性。
2 基于單片機構成的產品自動計數(shù)器的設計
原理闡述:專業(yè)檢測芯片形成計數(shù)后送入控制單元AT89C51單片機,通過對它片內計數(shù)、顯示編程。74LS245是LCD驅動芯片,可以同時驅動4個7段液晶,AT24C02是EEPROM模塊,可以保存單片機運算時的中間有用結果的芯片,是突然掉電,關斷電源或瞬間電源電壓不穩(wěn)定時,不會造成數(shù)據(jù)丟失或數(shù)據(jù)誤寫,也可以在上電后從中讀出其保存的數(shù)據(jù)內容,大大增強了抗干擾的能力。
原理闡述:紅外發(fā)射電路和紅外接收電路(由LM324為核心)構成紅外檢測單元及形成計數(shù)脈沖,計數(shù)顯示部分使用了使用共陰液晶。當紅外線被阻擋時,P32口由高電平變?yōu)榈碗娖剑纬上陆笛兀瑔纹瑱C進行計數(shù),并在液晶上顯示。
原理闡述:利用紅外接收發(fā)射管的特性(即紅外接收頭在有紅外光電阻原理分壓)可取基準電壓,然后通過電壓比較器可輸出高低電平,當有紅外光照射的時候,紅外接收管串聯(lián)的電阻分得的電壓很大,可使電壓比較器LM324輸出為低電平;當無紅外光照射的時候,紅外接收頭串聯(lián)電阻分得的電壓很小,可使電壓比較器LM324輸出為高電平,然后通過單片機處理,可使輸出精準的計數(shù)值。
以上三個方案各有自己的優(yōu)點:
方案一既可完美的實現(xiàn)產品自動計數(shù)功能且能讓系統(tǒng)處于異常狀態(tài)和抗干擾時通過外圍專用芯片到非常好的解決,外圍電路架設相對簡單、在市場上屬于高端自動計數(shù)產品。同時它也暴露出一個重大問題;由于成本太貴的原因此類產品并沒有得到普及。如果用此方案進行設計只需要了解各專用芯片的引腳功能以及外圍連接方法就可以實現(xiàn)自動計數(shù),并沒有很好的達到我人做畢業(yè)設計的目的,故雖然這個方案最完美的一個方案也只有舍棄。
方案二是這次畢業(yè)設計用的方案,該方案價格低廉、計數(shù)精確,且在系統(tǒng)處于異常狀態(tài)時,工作也十分穩(wěn)定,也是屬于現(xiàn)在產品自動計數(shù)市場上的熱銷產品,可用于在計數(shù)要求比較高的場合中。
方案三涉及的知識面廣也能達到精確、穩(wěn)定的自動計數(shù),但也有一個致命的缺點,整個系統(tǒng)的抗干擾力較弱,系統(tǒng)掉電后不能保存數(shù)據(jù),在系統(tǒng)牌異常狀態(tài)時容易出現(xiàn)誤操作或死機,故不考慮。
2.2 系統(tǒng)總體框圖和原理系統(tǒng)總體框圖如圖4所示:
原理:電路的指導思想是紅外發(fā)射管發(fā)射紅外線,紅外接收管接收紅外線,并且接收管當有紅外線照射的時候,電阻比較小,當無線外線照射的時候電阻比較大,這樣就可以通過一個電壓比較器和一個基準電壓進行對比,當有光照的時候,紅外接收管電阻比較小,那么和其串聯(lián)的電壓分壓就會增大,所以電壓比較器將會輸出一高電平;當無光照射的時候,紅外接收管的電阻比較大,這樣電壓比較器就會輸出一個低電平。這個便是外部計數(shù)電平信號,這個電平信號送入AT89C51單片機進行計數(shù)控制,在經過擴展、顯示驅動完成最后的顯示過程。
2.3 主控芯片簡介(見附件)復位電路:C1和R2構成了復位電路。剛開始上電時時,C1瞬間相當于短路,C1 兩端保持0V電壓,VCC的電源電壓就都加在了R2上,因此在單片機9腳RST上變成了高電平,此后C1上逐漸充電,即在C1上出現(xiàn)電壓,R2上的電壓開始下降,最后單片機9腳RST上變成了低電平。在此過程中只要滿足單片機9腳RST上的高電平持續(xù)24個振蕩周期即可使單片機復位。
3.2、紅外線檢測電路3.2.1 紅外線發(fā)射電路如圖9所示,紅外線檢測部分采用一對紅外發(fā)送接收管完成,當電路正常工作時,無障礙物遮擋,紅外接收頭有紅外線照射,這時,紅外接收頭的電阻很小,大部分電壓都加在R3上,這正是電壓比較器LM324的正向輸入電壓,而負向輸入電壓由R4和R5分壓得到,而R3分得的電壓要大于此基準電壓值,故這時電壓比較器LM324輸出高電平;當在紅外發(fā)射接收管間有一不透光的障礙物時,,紅外接收頭無紅外線照射,這時紅外接收頭的電阻很大,大部分電壓都加在紅外接收頭上,這也是電壓比較器LM324的正向輸入電壓,而負向輸入電壓也是由R4和R5分壓得到,和原來電壓一樣,這時,R3分得的電壓要小于此基準電壓值,故這時電壓比較器LM324輸出低電平。
計數(shù)顯示部分由單片機AT89C51控制完成。基本原理為當紅外檢測部分檢測到有產品經過時,紅外接收電路LM567 芯片的8輸出口將產生一個低電平信號,這個信號將供給單片機進行計數(shù)控制;顯示部分是通8 位LCD數(shù)碼顯示管顯示。
計數(shù)控制部分是將計數(shù)脈沖(負脈沖有效)送入單片機AT89C51兩個中斷入口的INT0入口,經過單片機內部對這個中斷信號進行計數(shù)編程構成.AT89C51與MCS-51 指令系統(tǒng)完全兼容。提供以下標準功能:4K字節(jié)FLASH 閃爍存儲器、128字節(jié)內部RAM、32個I/O口線、兩個16位定時/計數(shù)器、一個5 向量兩級中斷、一個全雙工串行通信口、片內振蕩器及時鐘電路。同時AT89C51可降至0HZ的靜態(tài)邏輯操作,并支持兩個軟件的節(jié)電工作模式。空閑方式停止CPU 的工作,但是允許RAM、定時/計數(shù)器、串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電后保存RAM中的內容,但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件。
本設計采軟件處理報警,利用有源蜂鳴器進行報警輸出,采用直流供電。當所測溫度超過獲低于所預設的溫度時,數(shù)據(jù)口相應拉高電平,報警輸出。(也可采用發(fā)光二級管報警電路,如過需要報警,則只需將相應位置1,當參數(shù)判斷完畢后,再看報警模型單元ALARM 的內容是否與預設一樣,如不一樣,則發(fā)光報警)報警電路硬件連接見下圖10。
STC89C52RC 單片機可以用匯編語言和C語言進行編程。匯編語言與機器指令一一對應,所以用匯編語言編寫的程序在單片機里運行起來效率較高,而且對于紅外計數(shù)器數(shù)據(jù)的讀寫上,所用到的語句比較簡單易懂。而C語言程序可讀性高,更便于理解。本設計使用C語言編程。
4.1 主程序設計第一次開機,系統(tǒng)進行初始化,LCD顯示51芯片的初始數(shù)字,并開始運行。如果這個時候按下S2鍵,則LCD液晶的前兩位則累加,該數(shù)字作為本次實驗的報警觸發(fā)數(shù)據(jù),后兩位液晶則位紅外線當前的計數(shù),當顯示數(shù)據(jù)達到觸發(fā)數(shù)據(jù)則蜂鳴器報警。當此時按下S1鍵,則蜂鳴器報警停止且后兩位液晶數(shù)據(jù)清零,重新進行計數(shù)。
設定左邊兩位校對液晶初始值E=10,設定右邊兩位計數(shù)液晶初始值N=0。
4.2 子程序設計用NPN 三極管驅動LCD液晶動態(tài)顯示電路,編程就是利用人視覺的暫留性,不斷地輪流輸出每個液晶位的數(shù)據(jù),達到不閃爍的效果,編程上還是比較簡單的。
其難點就在把4 位一體共陰液晶分成兩部分并且能夠進行0~999的計數(shù),這么做是為了能夠清楚的反映實驗的效果,左邊的兩位為給定的數(shù)據(jù)并且能夠通過按鍵S2進行累加達到改變數(shù)據(jù)而不用通過修改程序來改變的效果,后兩位則是紅外對管所測得遮擋的次數(shù)。
另外,就是顯示中閃爍的功能。常用的方法是利用單片機的中斷產生方波來達閃爍的功能,而本次設計則采用不斷調用幾個顯示子程序來達到閃爍的效果,如當要閃爍秒位時,則調用完整的顯示子程序一段時間,然后再調用缺少秒位的顯示子程序一段時間,這樣就達到了閃爍的效果。而整個閃爍程序是通過掃描一個標志位來實現(xiàn)的,標志位則是由鍵控制。
當后兩位液晶的數(shù)據(jù)大于等于給定的數(shù)字則蜂鳴器發(fā)聲報警,當按下S1 按鈕,則后兩位數(shù)據(jù)清零進行新一輪的計數(shù)且蜂鳴器停止報警,從而達到計數(shù)的意義。
調試工作可分硬件調試和軟件調試兩個部分,調試方法如下:
首先,硬件調試主要是先制作硬件電路板,然后用萬用表等工具對電路檢查,最后應用程序進行功能調試。硬件調試比較費時,需要細心和耐心,也需要熟練掌握電路原理。然后,用仿真軟件進行軟件調試,比如單片機C51編輯軟件KEIL,該軟件提供一個集成開發(fā)環(huán)境uVision,它包括C編輯器、宏編輯器、連接器、庫管理和一個功能強大的仿真調試器。通過編譯、運行,可以檢查程序錯誤。但應用此方法,仍需要十分了解所使用元器件的工作方式和管腳連接方式。
5.2 軟件調試本次設計則是直接完成電路的硬件設計,出現(xiàn)的硬件問題幾乎沒有,主要在軟件的程序上進行調試。
在軟件調試過程中,曾遇到以下問題:
當硬件初次開機的時候,發(fā)現(xiàn)LCD亮度不夠均勻。進行分析,是程序設里面對顯示程序的延時不夠造成的。在調試按鍵的時候,當一按下任意一個按鍵,系統(tǒng)顯示的就處于定格狀態(tài),再按下按鍵則沒有任何反應。查詢程序,由于在延時和循環(huán)程序里,對Rx寄存器重復使用造成的,經過合理分配使用,問題解決。由于本硬件設計中,對P0是復用的狀態(tài),顯示程序的段碼和時鐘芯片的數(shù)據(jù),都是通過P0傳輸?shù)摹T诰幊讨校雎粤岁P閉另個數(shù)據(jù)的通信,導致顯示有余光的狀態(tài)。
在研究這個畢業(yè)設計的過程當中曾經讓我遇到了許多小麻煩:在檢測單元的選擇上是選擇光電傳感器還是紅外對射式曾經讓我迷茫.在MCS-51單片機的選擇上是選擇內部具有4KB字節(jié)的閃爍存儲器的AT89C51 還是選擇內部具有8KB 字節(jié)的閃爍存儲器的AT89C2051 曾經也讓我困惑不已(其實任選一款都可以實現(xiàn))。而最讓我感到迷茫的是否利用8155 進行I/O 口的擴展,其實通過設計要求可以看出不難看出根本不需要對AT89C51進行擴展就可有完成0-999999 的計數(shù)顯示功能(采用7 段液晶顯示可以不擴展)。
基于單片機構成的產品自動計數(shù)器能夠實現(xiàn)實時、穩(wěn)定、精確的計數(shù)。如果要對這個課題進行深入的研究可以采用AT89C2051 或者AT89C52為控制單元的產品自動計數(shù)器在配合專用的掉電數(shù)據(jù)保護芯片、單片機專用保護芯片等就可以很好的提高整個系統(tǒng)的抗干擾能力。產品自動計數(shù)器的設計的抗干擾問題永遠是設計者們研究的課程!只要能有效的遏制這個缺陷形成一個優(yōu)質的自動技術產品指日可待!(MCS—51 單片機允許工作的溫度范圍:-55℃--150℃,正產工作的頻率范圍上限:24MHZ—33MHZ)。
通過本次設計,對單片機的內部模塊更加熟悉,使用上也更加的清晰,對于今后用單片機設計產品提供了極大的幫助,并且培養(yǎng)了良好的編程習慣,對子程序命名的規(guī)范,和對寄存器的使用上,有了一定的良好意識。
本設計在選題及研究過程中得***教授的悉心指導。馬老師多次詢問研究進程,并為我指點迷津,幫助我開拓研究思路,精心點撥、熱忱鼓勵。馬老師一絲不茍的作風,嚴謹求實的態(tài)度,踏踏實實的精神,不僅授我以文,而且教我做人,我對馬老師的感激之情是無法用言語表達的。他不僅學識淵博,對專業(yè)孜孜以求,精益求精;而且在百忙之余仍然讀書不輟,不斷探求;為人師表,率先垂范;傳道授業(yè),嘔心瀝血。如果說我從指導老師那里學會了怎樣做好學問,那么首先應該說我從導師那里領略了真正的學術精神,導師嚴謹?shù)闹螌W態(tài)度和堅韌的探索精神將使我終生受益。
在此,我還要感謝在一起愉快的度過大學生生活的宿舍——309 的各位同門,正是由于你們的幫助和支持,我才能克服一個一個的困難和疑惑,直至本文的順利完成。特別感謝我的同學,劉子偉,賴章勇等對本課題做了不少工作,給予我不少的幫助。
在論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有多少可敬的師長、同學、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!最后我還要感謝培養(yǎng)我長大含辛茹苦的父母,謝謝你們!
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |