于洋
(撫順市第一中等職業技術專業學校,遼寧撫順,113001)
(1)溫度傳感器。溫度傳感器為美國DALLAS公司設計研制的DS1820芯片,芯片具有加強的集成性,能在一根信號線上集成址線、數據線與控制線,并能在信號線上連接多個器件;(2)單片機。單片機也叫微控制器,在芯片上集成計算機系統,由于單片機在實際應用中體積小,質量輕,且價格便宜得到廣泛運用。單片機屬于在線式實時控制計算機,在具體應用中具有較強的抗干擾性能。
DS18B20在工作運行過程中需按照一定工作原理完成相關操作。低溫度系數振蕩器會隨振蕩頻率的變化而變化,計數脈沖可以為計數器1提供,確保計數脈沖的穩定性。對于高溫度系數振蕩器而言,對溫度比較敏感,計數脈沖會提供給計數器2。溫度寄存器的初始溫度需設置為-55℃,對計數器數值進行調節,從1到0時溫度也會發生變化,一般會增加1℃,重復進行這個過程,停止時需要確保計算器2計數到0。
在溫度的變化下,提供的預置數也會發生變化。溫度寄存器寄存值增加1℃計數器需要的計數個數為計數器1的預制數。計數器1中的剩余值需要在計數器2停止后進行轉換,然后與0.25℃進行比較,溫度寄存器的最低位與最高位設置,要以0.25℃為分解,低于該值與高于該值需分別設置為0與1。
系統硬件結構如圖1所示。被控對象實時溫度是由溫度傳感器DS18B20采集完成的,數據輸入利用AT89C2051的P3.2口完成操作。所處室溫為被控對象。DS18B20屬于小體積封裝形式,為3引腳TO-92小體積形式。同時要明確相關參數,具體見表1。在3根或者2根線上并聯DS18B20,為與眾多DS18B20進行通信,可以使用一根端口連接CPU,不會占用太多微處理端。

圖1 系統硬件結構

表1 參數要求
2.1.1 單片機
單片機的初始化操作為復位,要先完成復位然后才能啟動單片機進行運行,需確保CPU與系統能處于一個確定的初始狀態開始運行。但單片機自身不會完成復位,要通過外部電路實現此項操作。單片機所使用的系列為,MCS-15,當2個機器周期以上的高電平出現在復位引腳RST上時,就可以實現復位操作。單片機的復位狀態需以RST為基準,當七寶池為高電平時,編能確保單片機保持復位的循環狀態。上電復位與下電復位是復位操作的兩種基本方式,電源接通后上電復位能進行自動操作,所以上電復位比較常見。
2.1.2 顯示電路
顯示期間使用的為LED,各種字符顯示是通過二極管導通實現的,常見的顯示器為七段LED顯示器。發光二極管的陽極全部連在一起,這種方法為共陽接法,高電平是由公共端COMM連接的,字段點的字段陰極連接低電平時就會被點亮;全部陰極連在一起為共陰接法,低電平被連接在公共端COMM上,字段的陽極與高電平連接時會點亮該字段。
2.1.3 串行通信
計算機上常用的通信協議為串口,串口可以對遠程設備的數據進行采集,發送與接收字節是通過串口按位(bit)實現的,接收數據與發送數據需分別使用兩根線。串口所使用的芯片為RS232標準芯片,在計算機端的串口RS232電平為-10V +10V。串行通信需使用地線、發送與接收3根線完成,對于兩個通訊端口的連接,需關注表2的幾個要點。

表2 參數及要點
2.1.4 振蕩電路
振蕩電路在單片機系統設計中十分重要。按照廠家給出的參數確定振蕩電路,如果在實際運行中難以正常工作,無需進行修改。對于PIC系列的單片機,依然根據Microchip的不同而需要合理確定,汽車級溫度當工作電壓的直流電壓為2.5~5.5V時,要將溫度控制為-40~125℃之間,振蕩電路的性能會受到實際參數的影響,影響元素有溫度與低電壓等。在設計PIC系列單片機時,需重視下面幾項工作:(1)合理選擇晶振。晶振的選擇要更加系統需要予以確定,同時也要關注眾多指標,比如工作溫度、頻率的穩定性等,確保各項指標符合要求,才能提升單片機振蕩電路的正常運行;(2)振蕩器類型的選擇。PIC系列的單片機有不同的振蕩模式,其中LP、XT與HS等振蕩模式主要條件為環路增益的確定。
2.1.5 MAX232的應用
MAX232是一款兼容RS232標準的芯片,串口電平為-10v+10v,在系統中信號電壓為tt1電平0+5v,電平轉換用max232完成操作,該器件主要包括驅動器與接收器等。期間符合國家標準,可以對電平進行有效轉換。MAX232的特點主要表現為:所使用的技術為LinBiCMOSTM工藝;輸入電平為±30V;驅動器與接收器的數量各為2個。MAX232應用電路在實際應用中還需注意很多討點需注意。電荷泵芯片為323,能細線兩路TTL/RS-232的轉換。RS232在實際應用中的不足也比較明顯,接口電路芯片易損壞、傳輸速率較低、傳輸距離有限等都對其有效應用產生極大影響,所以未來這些問題是關注的重點。
MSComm在Visual Basic中屬于專門的串口通信物件,在工程中設定好通信協議,在與單片機進行串行通信時需利用RS232。在通訊控制中MSComm作為特殊功能元件,在預設工具箱里不會主動出現,要在專門的使用元件中完成。設定RS232的通信口中的COM2傳輸口為2,16為最大值號碼。確保VB程序與89C52編輯的頻率參數均為1200bps。單片機的溫度顯示和測量程序主要包括:系統主程序、DS18B20初始化子程序等。
2.2.1 單片機發送部分
外部數據采集需利用8051單片機,在RAM20H~3DH的區域村塾數據,并能在計算機端接收到數據,需先將#55H(聯絡信號)發送給計算機端,然后在接收后再將#0AAH(回應信號)發送給單片機,在對數據進行驗證后單片機將數據傳送給計算機端,通過這樣的方式能有效保證數據傳輸的正確性。
2.2.2 VB部分
VB項目的開啟,能輸數據采集的情況進行實時了解,數據在單片機上讀出來后賦給數組,并描繪波形曲線。為構建起串行通信信道,需在開啟一個VB項目后安排一個MSCOMM控件。調出屬性窗口,將變量COMPORT屬性與Rthreshold屬性分別設置為2、1,字符被外界傳送來后就會引發事件。連續動作的執行控件為定時器,數據發送完后就會中斷,下一個數據開始發送。
程序編寫是通過MCS-51指令實現的,各項操縱的執行需通過指令實現,程序就是要求編排的指令。溫度傳感器為DALLAS公司生產的,型號為DS18B20,具有3引腳TO-92小體積封裝形式。溫度轉換需通過初始化、ROM指令操作與存儲器操作指令完成。啟動DS18B20、開始轉換工作、讀出溫度轉換值。確定轉換精度為12位,只設置一個芯片,電源方式為外接供電,WDMSB單元接收讀取的溫度值高位字節,在WSLSB單元接受低位字節。高速暫存RMA與非易失性的可擦除E2RAM為DS18B20的組成部分,高溫度與低溫度觸發器TH存儲于非易失性的可擦除E2RAM。在存儲器中總共有8個連續字節,從第一個字節到第五個字節分別為溫度的第八位、溫度的高八位、TH的易失性拷貝、TL的易失性拷貝、結構存儲器的易失性拷貝;第幾六字節到第八字節均為內部計算。
TM R1 R0 1 1 1 1 1 是八個字節的意義,1 為低五位,測試模式位為TM,TM的作用是DS18B20模式設置。DS18B20出廠后不要隨意改動運行模式,一般會將其設置為0。分辨率設置是通過R1與R0完成的。DS18B20設置的為12位,這時在分別率設置時,需重視溫度最大轉換時間。
在實現溫度轉換時,主機控制DS18B20需完成下面的幾個步驟:復位→發送ROM指令→RAM指令。在復位時,也有一定要求,要CPU數據線需下拉500微秒,并釋放,DS18B20在接收到信號后,需等待一段時間,時間為16~60微秒之間。CPU在受到60~240微秒的存在低脈沖后說明復位成功。DS18B20讀寫程序的數據腳與晶振分別為P1.5、12MHZ。DS18B20匯編程序鎖使用的轉化位為12位,最大轉化時間為750微秒。
計算機通信程序的設計,所采用的編程工具為Boland C++ Builder5.0在設計時串口通訊方法為使用注冊組件,由于C++ Builder不會提供串行通信組件,但是微軟公司的MSCcomm32組件可通過注冊獲得。在串口中斷接收程序、指令判斷程序等在設計過程中,與方案一基本類似。但是方案二在設計時經常會遇到一些問題,雖然相對比較簡單,但是C++Builder5.0在使用過程中,由于一部分計算機無法注冊,影響設計工作的有效開展。
通過兩種方案的對比,最終選擇方案一。方案一的設計具有普遍性,能滿足設計要求。但是在設計過程中,單片機溫度測量裝置的功能有待豐富,且需要曾氏時鐘顯示功能。
計算機與單片機的串口通訊程序設計期間,有很多要點需重視,首先要對器件及原理予以明確,然后做好硬件與軟件設計。在硬件設計時需重視單片機、顯示電路、串行通信等方面的科學設計,同時也要在軟件設計時做好單片機發送與VB兩個部分。最后通過方案對比,確定選擇方案一。方案一在實際應用中適用性較強,能滿足使用需求。未來在現代科學技術的快速發展下,芯片會朝智能化、微小化、集約化的方向發展,不斷滿足當下社會發展的實際需求。