【正文】
纜和PC相連接。串口通訊過程的順利完成,通訊雙方不但要在硬件接口標準上共同遵守某種約定,而且還必須對數(shù)據(jù)格式、同步方式、傳送速度、傳送步驟、糾錯方式以及控制字符定義等問題作出統(tǒng)一的規(guī)定,即通訊協(xié)議,而這些工作是通過軟件編程實現(xiàn)。要實現(xiàn)單片機與PC際之間順利的通訊,首先要對PC機串行接口由簡單的了解,PC的串行通訊接口使用的是88250的可編程串行接口,內(nèi)部有10個寄存器,共占用7個地址,其COM1通信口的端口地址見下表41。表41 可編程串行接口DLAB選擇寄存器地址0發(fā)送緩沖器THR(寫)3F8H0接收緩沖器RDR(讀)3F8H1除數(shù)鎖存器BRDL(低8位)3F8H1除數(shù)鎖存器BRDH(高8位)3F9H0中斷允許寄存器3F9HX中斷識別寄存器IIR3FAHX線路控制寄存器LCR3FBHXModem控制寄存器MCR3FCHX傳輸線狀態(tài)寄存器LSR3FDHXModem狀態(tài)寄存器MSR3FEH由于地址3F8H和3F9H為兩個寄存器共用,由線路控制寄存器最高位DLAB進行選擇。8250通訊編程的步驟:,即寫波特率除數(shù)鎖存器BRD先使用線路控制寄存器LCR的最高位D7(DLAB)為“1”,以選中除數(shù)鎖存器,然后分別將波特率除數(shù)的高8位和低8位寫入BRDH和BRDL。,同時使其最高位DLAB為“0”,選中發(fā)送緩沖器和接受緩沖器,以便后面進行發(fā)送和接收。,先查狀態(tài)寄存器LSR的D5位(THRE位),發(fā)送保存寄存器為空(THRE=1)才能發(fā)送。對發(fā)送緩沖器寫,即啟動發(fā)送過程。接收數(shù)據(jù)時,先查狀態(tài)寄存器LSR的D1位(OE位),接受數(shù)據(jù)準備好(OE=1),即說明已接收到一個數(shù)據(jù),這時可以從接受緩沖器讀入數(shù)據(jù)。T1初始化,啟動T1工作設(shè)定串行通信方式設(shè)置發(fā)送數(shù)據(jù)塊首地址發(fā)送數(shù)據(jù)T1=1?清T1修改數(shù)據(jù)指針和數(shù)據(jù)塊長度計數(shù)器全部數(shù)據(jù)發(fā)送完?結(jié)束圖43 RS232傳輸程序歷程圖針對上述步驟作如下說明:(1)波特率除數(shù)鎖存器(BRD),波特率除數(shù)(BRD)和波特率(Baud)的關(guān)系為: BRD=時鐘頻率/(16Baud) (41)如:Baud=1200bps,則BRD=106/(161200)=0060H。(2)控制字(LCR)進行串行通訊之前,應(yīng)將通訊的數(shù)據(jù)格式寫入線路控制寄存器(LCR),即填寫控制字。(3)狀態(tài)字(LSR)狀態(tài)寄存器LSR用來向CPU提供接收和發(fā)送過程中產(chǎn)生的狀態(tài),這些狀態(tài)可用于CPU查詢,如果允許中斷,也可引起中斷。完成PC和單片機的串行雙工通信,要求單片機發(fā)送的數(shù)據(jù)能顯示在PC的屏幕上,采用查詢方式,波特率為1200,具體發(fā)送流程圖如圖43所示。PC的接收程序用TURBO C完成,利用庫函數(shù)inportb()完成對8250端口的寫操作,其具體接收子程序詳見附錄D。單片機采用方式雙工通訊,波特率1200時計算得T1的值為E6H,單片機工作,匯編語言編程如下:COMM:MOV TMOD, 20H 。T1方式2MOV TH1, 0E6HMOV TL1, 0E6H 。T1時間常數(shù)SETB TR1 。啟動T1MOV SCON, 50H 。串行口工作方式1MOV R0, 38H 。R0指示發(fā)送緩沖區(qū)首址MOV R7, 7 。R7發(fā)送數(shù)據(jù)計數(shù)NEXT: MOV SBUF,@R0 。發(fā)送數(shù)據(jù)JNB TI, $ 。等待發(fā)下一幀數(shù)據(jù)CLR TI 。一幀發(fā)完清TIINC R0DJNZ R7, NEXTSJMP $ 。延時程序 RS422接口擴展軟件設(shè)計對于單片機的通信程序來說,RS422通信與RS232通信沒有本質(zhì)區(qū)別。唯一需要注意的是通過單片機的I/O口控制RS422的發(fā)送和接收端口,與MAX232程序類似,程序源代碼見附錄D。 片外存儲器擴展軟件設(shè)計系統(tǒng)初始化啟動I2C設(shè)置I2C波特率向AT24C64讀寫數(shù)據(jù)結(jié)束圖44 AT24C64讀寫程序流程圖程序中利用Atmega64單片機的I2C接口能輕松的對AT24C64芯片進行操作。首先設(shè)置Atmega64單片機TWI(I2C)模塊的時鐘源和波特率,在I2C的寫函數(shù)中完成器件尋址、輸出指令或數(shù)據(jù)等功能以實現(xiàn)對AT24C64芯片數(shù)據(jù)存儲功能。在I2C的讀函數(shù)中,完成器件尋址,地址設(shè)定和讀取結(jié)果等操作,以實現(xiàn)對AT24C64芯片指定單元的數(shù)據(jù)讀取功能。程序留流程圖如圖44所示,詳細程序見附錄D。 鍵盤及顯示模塊軟件設(shè)計 鍵盤讀取程序設(shè)計在使用單片機對鍵盤處理時,必須消除鍵盤抖動的影響。這里說的抖動是鍵盤的機械抖動,此過程持續(xù)時間為10~200ms。消除鍵盤抖動可以使用硬件去抖或軟件去抖方法。軟件去抖實際上采用的是延時的方法,避開按鍵的抖動部分時間。程序清單見附錄D,程序流程圖如圖45所示:端口初始化讀取鍵盤值按鍵處理按鍵按下?圖45 鍵盤掃描程序流程圖 LCD顯示子程序設(shè)計1602是典型的字符點陣LCD,其硬件電路連接簡單,可以通過Atmega64直接對其編程。對1602的顯示控制通過指令代碼實現(xiàn)。1602共有11條指令,各指令說明如下:指令1:清屏。清屏?xí)r光標復(fù)位到00H。指令2:復(fù)位光標。光標返回到地址00H。指令3:光標和顯示模式設(shè)置。I/D為光標移動方向,1右移,0左移。指令4:顯示開關(guān)控制。D為1表示開顯示,0為關(guān)顯示;C為1表示右光標,0表示無光標;B為1表示光標閃爍,0為不閃爍。指令5:光標或顯示移位;S/C為1時移動顯示的文字,0時移動光標。指令6:功能設(shè)置命令,DL為1時為4位總線,0時為8位總線;N為1時雙行顯示,0時為單行顯示。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號和光標地址BF為忙標志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示忙。1602模塊必須在不忙時進行數(shù)據(jù)寫入操作。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。程序清單見附錄5,程序流程圖如圖46所示:初始化LCD寫入數(shù)據(jù)顯示的起始地址顯示數(shù)據(jù)代碼執(zhí)行顯示判斷液晶顯示器是否忙?圖46 顯示子程序流程圖 本章小結(jié)本章主要說明了數(shù)據(jù)采集系統(tǒng)主程序及各功能模塊軟件設(shè)計。為了便于系統(tǒng)功能擴展,采用了模塊化結(jié)構(gòu),除RS232接口通信程序采用匯編語言編程外,其他均采用C語言編寫。本章包括主程序設(shè)計,溫濕度及壓力參數(shù)采集程序設(shè)計,通信程序設(shè)計,片外E2PROM讀寫程序設(shè)計以及鍵盤掃描程序和LCD顯示子程序設(shè)計。系統(tǒng)上電后通過主程序調(diào)用各模塊子程序進行測量,處理并傳輸。在軟件設(shè)計過程中加入了抗干擾子程序段。千萬不要刪除行尾的分節(jié)符,此行不會被打印?!敖Y(jié)論”以前的所有正文內(nèi)容都要編寫在此行之前。 30 結(jié)論本論文提出了以Atmega64單片機為核心結(jié)構(gòu),進行數(shù)據(jù)實時采集的實施方案設(shè)計。圍繞該系統(tǒng)方案,把本系統(tǒng)實時內(nèi)核的具體實現(xiàn)步驟分為系統(tǒng)硬件設(shè)計和軟件編程設(shè)計兩個階段。深入討論程序設(shè)計、硬件設(shè)計、液晶顯示設(shè)計等內(nèi)容,整個系統(tǒng)分為5個模塊。該模塊有電源電路,時鐘電路和復(fù)位電路,其中時鐘電路采用內(nèi)部晶振,頻率為8MHz,復(fù)位電路采用按鍵復(fù)位。系統(tǒng)擴展了RS232接口和RS422接口,采集系統(tǒng)可通過RS232接口實現(xiàn)與上位機的通信,有效距離小于15m,而系統(tǒng)通過RS422接口則可實現(xiàn)與上位機的遠距離通信,有效距離最大可達1200m。系統(tǒng)通過I2C接口實現(xiàn)片外E2PROM的擴展。溫濕度采集模塊采用SHT75數(shù)字傳感器,可直接與單片機相連進行數(shù)據(jù)采集、分析及顯示,而壓力傳感器采用型號為26PCB的傳感器,直接與單片機的ADC接口相連。本采集系統(tǒng)設(shè)計了3個按鍵,通過按鍵可使使系統(tǒng)完成數(shù)據(jù)采集、顯示及傳輸;顯示部分則采用LCD1602液晶顯示器,價格便宜,接口及控制簡單。由于工作環(huán)境主要為野外,考慮到環(huán)境因素,該系統(tǒng)在硬件和軟件方面進行了抗干擾設(shè)計,軟件編寫采用模塊化設(shè)計,便于移植及擴展。致謝本課題是在xx老師的精心指導(dǎo)下完成的,首先向xx老師表示最崇高的感謝。在選題時,x老師就根據(jù)我的實際情況給我提出了寶貴的意見,我才得以確定題目。在設(shè)計過程中,x老師對我嚴格要求,每一步都親自把關(guān),每遇到困難,他都認真講解,深入淺出,不厭其煩,最終保證了該設(shè)計的順利完成。崔老師知識淵博,治學(xué)嚴謹,平易近人,使我深受教誨。同時對xx等同學(xué)表示忠心的感謝,在畢業(yè)設(shè)計的過程中他們給我提供了很大的幫助。時光荏苒,彈指一揮間,大學(xué)生活即將畫上一個圓滿的句號?;叵脒@四年的學(xué)習(xí)時光,有歡笑,有淚水,有收獲。我謹向關(guān)心和幫助我的所有老師、同學(xué)、朋友致以最誠摯的感謝。參考文獻1 李全利,仲偉峰,:136頁138頁2 ,:59頁60頁3 陳小忠,黃寧,:88頁89頁,105頁108頁4 朱飛,:282頁292頁5 沈文,Ealg lee,:59頁60頁6 Richard Barnett,Larry O’Cull,Sarah Cox, ,:66頁68頁7 ,:37頁40頁8 ,:95頁98頁9 ,:397頁399頁10 ,:108頁110頁11 ,:195頁198頁12 王正洪,朱正偉,:73頁75頁13 姜立東,:152頁156頁14丁化成,耿德根,:203頁206頁15 王保義,:145頁150頁16 Wayne Wolf(美).High Performance Embedded ,:336頁338頁17 Raj Systems Architecture Programming and ,:286頁287頁18 Stephen E. Derenzo(美).Practical Interfacing in the ,:204頁206頁附錄AEmbedded Linuxbased acquisition systemWith the rapid development of information technology, people need to accurate, fast and convenient access to large amounts of data and be able to quickly extract useful information. Embedded Systems is the IT network technology and a new direction of technology development. American futurist Timor predicted during his visit to China in 1999: 4 ~ 5 years after the tool will be embedded PC and the Internet is the second greatest invention after. 20th century 9039。s, the application of embedded technology in full swing, has bee the munications and consumer technology products, the main platform. In the field of automatic control, not only can be used in ATM machines, vending machines, industrial control and other special equipment and mobile munications equipment, GPS, a bination of entertainment, embedded systems play a huge role in the same.The development of embedded technology makes it easy to develop embedded systems, reducing development costs, generic products increased to replacement. Combination of the traditional embedded systems are small, energyless, antiinterference ability, stable characteristics, the development of embedded data acquisition system products, whether as a standalone product, or a function of a system of modules, all It is very meaningful.Data Acquisition System is a puter, munications and electronic technology, industrial control for an inte