基于單片機的電子秤設計HX711_第1頁
基于單片機的電子秤設計HX711_第2頁
基于單片機的電子秤設計HX711_第3頁
基于單片機的電子秤設計HX711_第4頁
基于單片機的電子秤設計HX711_第5頁
已閱讀5頁,還剩37頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、安徽建筑大學畢業設計(論文)目錄引言- 3 -第一章 系統的組成及工作原理- 3 -1.1系統的組成- 3 -1.2系統的工作原理- 3 -第二章 系統硬件設計- 3 -2.1主控芯片STC89C52單片機基本系統- 3 -2.1.1 STC89C52單片機性能介紹- 3 -2.1.2 STC89C52單片機引腳功能- 3 -2.1.3 復位電路- 3 -2.1.4 晶振電路- 3 -2.2 A/D轉換芯片HX711接口電路的設計- 3 -2,2.1 HX711引腳功能- 3 -2.2.2 HX711管腳說明- 3 -2.3 壓電傳感器的設計- 3 -2.3.1 應變式電阻傳感器- 3 -2.

2、3.2 應變片式電阻傳感器的結構和原理- 3 -2.3.3 全橋測量電路- 3 -2.4 顯示電路設計- 3 -2.4.1 LCD1602命令及時序- 3 -2.5 鍵盤輸入- 3 -第三章 系統軟件設計- 3 -3.1 C語言在單片機中的應用- 3 -3.2 系統主程序流程圖- 3 -3.3 子程序設計- 3 -3.3.1 A/D數據采集子程序- 3 -3.3.2 顯示子程序- 3 -3.3.3 鍵盤掃描子程序- 3 -第四章 系統的調試- 3 -4.1 AD值反向轉換重力值的參數計算- 3 -4.2 誤差分析- 3 -總結- 3 -致謝- 3 -參考文獻- 3 -附錄1 系統原理圖錯誤!未

3、定義書簽。附錄2 系統程序清單- 3 -附錄3 實物圖- 3 -安徽建筑大學畢業設計(論文)基于單片機的電子秤設計電子與信息工程學院 電子信息工程專業 2009級1班 唐杰指導教師 呂虹引言隨著人們生活水平的不斷提高,商業水平越來越現代化,人們對商品的度量速度和精度也提出了新的要求。目前,商用電子計價秤的使用非常普及,逐漸會取代傳統的桿秤和機械案秤。電子計價秤在秤臺結構上有一個顯著的特點:一個相當大的秤臺,只在中間裝置一個專門設計的傳感器來承當物料的全部重量。為了滿足電子秤的設計要求,本設計針對普通商業度量需要分析和設計。論述了系統的設計思想、方法及設計實施過程,詳細分析了各個模塊的選用、功能

4、及實現方法,包括系統的硬件構成,傳感器的選擇,系統的運作流程圖等,以及所用到的一些工具,工作環境。我們進行了各單元電路方案的比較論證及確定,最終選取以STC89C52單片機為控制核心,傳感器選用HL-8型懸臂梁式電阻應變式傳感器。該芯片集成了包括穩壓電源、片內時鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、響應速度快、抗干擾性強等優點。降低了電子秤的整機成本,提高了整機的性能和可靠性。該芯片與后端MCU芯片的接口和編程非常簡單,所有控制信號由管腳驅動,無需對芯片內部的寄存器進行編程。 第一章 系統的組成及工作原理1.1 系統的組成本數字電子秤系統可分為單片機控制電路、A/D轉換電路、

5、傳感器、LCD顯示、矩陣鍵盤、蜂鳴器模塊等幾部分,其系統組成如圖1-1所示。稱重傳感器 HL-8型數據采集部分電子秤專用24位高精度高增益傳感器芯片HX711單片機控制模塊單片機STC89C52人機交互界面點陣式1602型的LCD4*4矩陣鍵盤蜂鳴器報警模塊 圖1-1 系統的組成框圖1.2 系統的工作原理系統原理如圖1-1所示,系統通過傳感器將壓力這種物理量轉化為電信號,即傳感器內部的電阻應變片感應到壓力后,電阻發生微小變化,通過全橋測量電路將電阻的微小變化轉化成電壓的微小變化,HX711將信號調整到A/D能采集的范圍,然后由A/D進行采集,接著把采集到的24位高低電平通過DOUT送到單片機進

6、行處理,單片機處理后,把數字信號輸送到顯示電路中,由顯示電路輸出測量結果。整個系統實現了用單片機來控制輸出,在線性度的確定過程中,需要對程序進行反復的修改,最終實現設計的要求。第二章 系統硬件設計2.1主控芯片STC89C52單片機基本系統2.1.1 STC89C52單片機性能介紹STC89C52是一種低功耗、高性能CMOS 8位微控制器,具有8K的在系統可編程閃爍存儲器。使用Atmel公司高密度非易失性存儲器技術制造,與工業80C51產品指令和引腳完全兼容。片上flash允許程序存儲器在線可編程,也適于常規編程器。在單芯片上,擁有靈巧的8位CPU和在系統上可編程閃爍存儲單元,使得STC89C

7、52為眾多嵌入式控制應用系統提供靈活、有效的解決方案。STC89C52具有以下標準功能:8K字節閃爍存儲器,256字節讀寫存儲器,32位I/O口線,看門狗定時器,2個數據指針,三個16位定時器/計數器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,STC89C52可降至0Hz靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU停止工作,允許讀寫存儲器、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,讀寫存儲器內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。2.1.2 STC89C52單片機引腳功能VCC:電源。GND:地。P0口:P0口

8、是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數據存儲器時,P0口也被作為低8位地址/數據復用。在這種模式下,P0具有內部上拉電阻。在閃爍編程時,P0口也用來接收指令字節;在程序校驗時,輸出指令字節。程序校驗時,需要外部上拉電阻。P1口:P1口是一個具有內部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅動4個TTL邏輯電平。對P1端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流。P2口:P2口是一個具有內部上拉電阻的8位雙向I/O

9、口,P2輸出緩沖器能驅動4個TTL邏輯電平。對P2端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流。在訪問外部程序存儲器或用16位地址讀取外部數據存儲器時,P2口送出高八位地址。在這種應用中,P2口使用很強的內部上拉發送“1”。在使用8位地址訪問外部數據存儲器時,P2口輸出P2鎖存器的內容。在閃爍編程和校驗時,P2口也接收高8位地址字節和一些控制信號。P3口:P3口是一個具有內部上拉電阻的8位雙向I/O口,P3輸出緩沖器能驅動4個TTL邏輯電平。對P3端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作

10、為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流。RST:復位輸入。當晶振工作時,RST引腳持續2個機器周期高電平將使單片機復位。EA/VPP:訪問外部程序存儲器控制信號。為使能從0000H到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執行內部程序指令,EA應該接Vcc。在閃爍編程期間,EA也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和內部時鐘發生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。2.1.3 復位電路單片機上電時,當振蕩器正在運行時,只要持續給出RST引腳兩個機器周期的高電平,便可完成系統復位。外部復位電路是為提供兩個機器周期以上的高電平而設

11、計的。系統采用上電自動復位,上電瞬間電容器上的電壓不能突變,RST上的電壓是Vcc上的電壓與電容器上的電壓之差,因而RST上的電壓與Vcc上的電壓相同。隨著充電的進行,電容器上的電壓不斷上升,RST上的電壓與Vcc上的電壓相同。隨著充電的進行,電容器上的電壓不斷上升,RST上的電壓就隨著下降,RST腳上只要保持10ms以上高電平,系統就會有效復位。電容C1可取1033F,R取10k,充電時間常數為10×10-6×10×103=100ms。復位電路的實現可以有很多種方法,但是從功能上一般分為兩種:一種是電源復位,即外部的復位電路在系統通上電源之后直接使單片機工作,單

12、片機的起停通過電源控制;另一種方法是在復位電路中設計按鍵開關,通過按鍵開關觸發復位電平,控制單片機的復位。本設計使用了第二種方法,其電路圖如圖2-1所示。 圖2-1 STC89C52單片機復位電路,晶振電路圖2.1.4 晶振電路STC89C52單片機有一個用于構成內部振蕩器的反相放大器,XTAL1和XTAL2分別是放大器的輸入、輸出端,外接石英晶體或陶瓷振蕩器以及補償電容C2、C3構成并聯諧振電路。當外接石英晶體時,電容C2、C3選30pF±10pF;當外接陶瓷振蕩器時,電容C2、C3選40pF±10pF。STC89C52系統中晶振頻率一般在1.212MHz選擇。外接電容C

13、2、C3的大小會影響振蕩器頻率的高低、振蕩頻率的穩定度、起振時間及溫度穩定性。在設計電路板時,晶振和電容應靠近單片機,以便減少寄生電容,保證振蕩器穩定可靠工作。在本系統中,選擇了12MHz石英晶振,電容C1、C2為30pF。其電路圖如圖2-1所示。2.2 A/D轉換芯片HX711接口電路的設計根據設計要求,系統要求輸出的電流信號為201000mA,步進為1mA,且要求顯示數值,因此,給定量的執行元件A/D轉換器至少需要12位的轉換精度。結合系統的設計要求,并考慮到單片機的I/O接口資源緊張等因素,最終確定選用HX711量化精度能達到1/4096<1/1000,完全能達到設計的精度要求。H

14、X711接口電路如圖2-2所示。圖2-2 HX711接口圖HX711是一款專為高精度稱重傳感器而設計的24位A/D轉換器芯片。與同類型其它芯片相比,該芯片集成了包括穩壓電源、片內時鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、響應速度快、抗干擾性強等優點、降低了電子秤的整機成本,提高了整機的性能和可靠性。該芯片與后端MCU芯片的接口和編程非常簡單,所有控制信號由管腳驅動,無需對芯片內部的寄存器編程。輸入選擇開關可任意選取通道A或通道B,與其內部的低噪聲可編程放大器相連。通道A的可編程增益為128或64,對應的滿額度差分輸入信號幅值分別為±20mV或±40mV。通道

15、B則為固定的64增益,用于系統參數檢測。芯片內提供的穩壓電源可以直接向外部傳感器和芯片內的A/D轉換器提供電源,系統板上無需另外的模擬電源。芯片內的時鐘振蕩器不需要任何外接部件。上電自動復位功能簡化了開機的初始化過程。2,2.1 HX711引腳功能表21 HX711引腳功能管腳號名稱性能描述1VSUP電源穩壓電路供電電源:2.6-5.5V(不用穩壓電路時接AVDD)2BASE模擬輸出穩壓電路控制輸出(不用穩壓電路時為無連接)3AVDD電源模擬電源:2.6-5.5V4VFB模擬輸入穩壓電路控制輸入(不用穩壓電路時應接地)5AGND地模擬地6VBG模擬輸出參考電源輸入7INA模擬輸入通道A負輸入端

16、8INA+模擬輸入通道A正輸入端9INB模擬輸入通道B負輸入端10INB+模擬輸入通道B正輸入端11PD-SCK數字輸入斷電控制(高電平有效)和串口時鐘輸入12DOUT數字輸出串口數據輸出13X0數字輸入輸出晶振輸入(不用晶振時為無連接)14X1數字輸入外部時鐘或晶振輸入,0:使用片內振蕩器15RATE數字輸入輸出數據速率控制,0:10Hz;1:80Hz16DVDD電源數字電源:2.6-5.5V2.2.2 HX711管腳說明模擬輸入通道A模擬差分輸入可直接與橋式傳感器的差分輸出相接。由于橋式傳感器輸出的信號較小,為了充分利用A/D轉換器的輸入動態范圍,該通道的可編程增益較大,為128或64。這

17、些增益所對應的滿量程差分輸入電壓分別±20mV或±40mV。通道B為固定的增益,所對應的滿量程差分輸入電壓為±40mV。通道B應用于包括電池在內的系統參數檢測。供電電源數字電源(DVDD)應使用與MCU芯片相同的數字供電電源。HX711芯片內額穩壓電路可同時向A/D轉換器和外部傳感器提供模擬電源。穩壓電源的供電電壓(VSUP)可與數字電源(DVDD)相同。穩壓電源的輸出電壓值(VAVDD)由外部分壓電阻R1、R2和芯片的輸出參考電壓VBG決定(圖1),VAVDD=VBG(R1+ R2)/ R2。應選擇該輸出電壓比穩壓電源的輸入電壓(VSUP)低至少100mV。如果

18、不使用芯片內的穩壓電路,管腳VSUP和管腳AVDD應相連,并接到電壓為2.65.5V的低噪聲模擬電源。管腳VBG上不需要外接電容,管腳VFB應接地,管腳BASE為無連接。時鐘選擇如果將管腳XI接地,HX711將自動選擇使用內部時鐘振蕩器,并自動關閉外部時鐘輸入和晶振的相關電路。這種情況下,典型輸出數據速率為10Hz或80Hz。如果需要準確的輸出數據速率,可將外部輸入時鐘通過一個20pF的隔直電容連接到XI管腳上,或將晶振連接到XI和XO管腳上。這種情況下,芯片內的時鐘振蕩器電路會自動關閉,晶振時鐘或外部輸入時鐘被采用。此時,若晶振頻率為11.0592MHz,輸出數據速率為準確的10Hz或80H

19、z。輸出數據速率與晶振頻率以上述關系按比例增加或減少。使用外部輸入時鐘,外部時鐘信號不一定需要為方波。可將MCU芯片的晶振輸出管腳上的時鐘信號通過20pF的隔直電容連接到XI管腳上,作為外部時鐘輸入。外部時鐘輸入信號的幅值可低至150 mV。HX711管腳說明如圖2-3所示圖2-3 HX711管腳說明串口通訊串口通訊線由管腳PD-SCK和DOUT組成,用來輸出數據,選擇輸入通道和增益。當數據輸出管腳DOUT為高電平,表明A/D轉換器還未準備好輸出數據,此時串口時鐘輸入信號PD-SCK應為低電平。當DOUT從高電平變低電平后,PD-SCK應輸入25至27個不等的時鐘脈沖(圖二)。其中第一個時鐘脈

20、沖的上升沿將讀出輸出24位數據的最高位(MSB),直至第24個時鐘脈沖用來選擇下一個A/D轉換的輸入通道和增益,輸入通道和增益說明如表2-3所示。表22 主要電氣參數參數條件及說明最小值典型值最大值單位滿額度差分輸入范圍V(inp)-V(inn)±0.5(AVDD/GAIN)V輸入共模電壓范圍AGND+0.6 AVDD-0.6V輸出數據速率使用片內振蕩器,RATE=010Hz使用片內振蕩器,RATE=DVDD80外部時鐘或晶振,RATE=0fclk/1,105,920外部時鐘或晶振,RATE=DVDDfclk/138,240輸出數據編碼二進制補碼800000 7FFFFF(HEX)輸

21、出穩定時間(1)RATE=0400mvRATE=DVDD50輸入零點漂移增益=1280.2增益=640.8輸入噪聲增益=128,RATE=050nV(rms)增益=128,RATE= DVDD90溫度系數輸入零點漂移(增益=128)±7nV/增益漂移(增益=128)±3ppm/輸入共模信號抑制比增益=128,RATE=0100dB電源干擾抑制比增益=128,RATE=0100dB輸出參考電壓(VBG)1.25V外部時鐘或晶振頻率1 11.0592 30MHz電源電壓DVDD2.6 5.5VAVDD,VSUP2.6 5.5模擬電源電路(含穩壓電路)正常工作1600uA斷電0.

22、3數字電源電路正常工作100uA斷電0.2表23 輸入通道和增益選擇PD-SCK脈沖數輸入通道增益25A12826B6427A64PD-SCK的輸入時鐘脈沖數不應少于25或多于27,否則會造成串口通訊錯誤。當A/D轉換器的輸入通道或增益改變時,A/D轉換器需要4個數據輸出周期才能穩定。DOUT在4個數據輸出周期后才會從高電平變低電平,輸出有效數據。如圖2-4所示。圖2-4 數據輸入,輸出通道和增益選擇時序圖表24 四個周期選擇說明符號說 明最小值最大值單位T1DOUT下降沿到PD-SCK脈沖上升沿0.1usT2PD-SCK脈沖上升沿到DOUT數據有效0.1usT3PD-SCK正脈沖電平時間0.

23、250usT4PD-SCK負脈沖電平時間0.2us復位和斷電當芯片上電時,芯片內的上電自動復位電路會使芯片自動復位。管腳PD-SCK輸入來控制HX711的斷電。當PD-SCK為低電平時,芯片處于正常工作狀態。圖2-5 斷電控制如果PD-SCK從低電平變高電平并保持在高電平超過60 us,HX711即進入斷電狀態。如果使用片內穩壓電源電路,斷電時,外部傳感器和片內A/D轉換器會被同時斷電。當PD-SCK重新回到低電平時,芯片會自動復位后進入正常工作狀態。芯片從復位或斷電狀態后,通道A和增益128會被自動選擇為作為第一次A/D轉換的輸入通道和增益。隨后的輸入通道和增益選擇由PD-SCK的脈沖數決定

24、,參見串口通訊一節。芯片從復位或斷電狀態進入正常工作狀態后,A/D轉換器需要4個數據輸出周期才能穩定。DOUT在4個數據輸出周期后才會從高電平變為低電平,輸出有效數據。2.3 壓電傳感器的設計2.3.1 應變式電阻傳感器應變片式電阻傳感器是以應變片為傳感器元件的傳感器。它具有以下優點:1.精度高,測量范圍廣;2.使用壽命長,性能穩定可靠。3.結構簡單、尺寸小、重量輕,因此在測量時,對工件工作狀態及應力分布影響小;4.頻率響應特性好。應變片響應時間約為100ns;5.可在高低溫、高速、高溫、強烈振動、強磁場、核輻射和化學腐蝕等惡劣環境條件下工作;6.應變片種類繁多,價格便宜。電阻應變片的工作原理

25、是基于電阻應變效應,即在導體產生機械形變時,它的電阻值相應發生變化。應變片式電阻傳感器應用很廣。本設計采用的是梁式力傳感器,該傳感器結構簡單、靈敏度高。適用于小壓力測量。2.3.2 應變片式電阻傳感器的結構和原理電阻應變式傳感器是將被測量的力,通過它產生的金屬彈性變形轉換成電阻變化的原件。由電阻應變片和測量電路兩部分組成。常用的電阻應變片有兩種:電阻應變片和半導體應變片,本設計采用的是電阻應變片,為獲得高電阻值,電阻絲排成網狀,并貼在絕緣的基片上,電阻絲兩端引出導線,線珊上面有覆蓋層,起保護作用。電阻應變片也有誤差,產生的因素很多,所以在測量時我們一定要注意。其中的溫度的影響最重要,環境溫度影

26、響電阻值變化的原因主要是:A:電阻絲溫度系數引起的。B:電阻絲與被測原件對橋接零點和輸出,靈敏度的影響,即使采用同一批應變也會因應變片之間稍有溫度特性之差而引起誤差,所以對要求精度較高的傳感器,必須進行溫度補償,解決的辦法是在被粘貼的基片上采用適當及溫度系數的自動補償,并從外部對它加以適當的補償。非線性誤差是傳感器特性中最重要的一點。產生非線性誤差的原因很多,一般來說主要由結構設計決定,通過線性補償,也可以得到改善。滯后和蠕變是關于應變片及粘合劑的誤差。由于粘合劑為高分子材料,其特性隨溫度變化較大,所以稱重傳感器必須在規定的溫度范圍內使用。電阻應變片的工作原理是基于電阻應變效應,即在導體產生機

27、械形變時,它的電阻值相應發生變化。設有一根電阻絲,如圖所示。它在未受力時的原始電阻值為 式中 :電阻絲的電阻率;電阻絲的長度;電阻絲的面積。電阻絲在外力的作用下,將引起電阻變化,且有令電阻絲的軸向效應為,由材料力學可知,為電阻絲材料的泊松系數,經整理可得通常把單位應變所引起的電阻相對變化稱作電阻線的靈敏系數,其表達式為從上式可以明顯看出,電阻絲靈敏系數由兩部分組成:表示受力后由材料的幾何尺寸變化引起的;表示由材料電阻變化所引起的。對于金屬材料,項的阻值要比小得多,可以忽略,故=。大量實驗證明,在電阻絲拉伸比例極限內,電阻的相對變化與應變成正比,即=1.73.6。上式可寫成。2.3.3 全橋測量

28、電路應變式傳感器常用的測量電路有單臂電橋、差動半橋和差動全橋,其中差動全橋可提高電橋的靈敏度,消除電橋的非線性誤差,并可消除溫度誤差等共模干擾。一般在測量中都使用4片應變片組成差動全橋,本設計所采用的傳感器就是全橋測量電路。其電路圖如圖3-6所示。橋式測量電路有四個電阻,其中任何一個都可以是電阻應變片電阻,電橋的一個對角線接入工作電壓U,另一個對角線位輸出電壓Uo。其特點是:當四個橋臂電阻達到相應關系時,電橋輸出為零,或則就有電壓輸出,可用靈敏檢流計來測量,所以電橋能夠精確地測量微小的電阻變化。應變電阻作為橋臂電阻接在電橋電路中。無壓力時,電橋平衡,輸出電壓為零;有壓力時,電橋的橋臂電阻值發生

29、變化,電橋失去平衡。 全橋測量電路中,將受力性質相同的兩片應變片接入電橋對邊。其輸出靈敏度比半橋提高了一倍,非線性誤差和溫度誤差均得到了改善。圖2-6 全橋測量電路2.4 顯示電路設計方案一:LED顯示 LED就是light emitting diode ,發光二極管的英文縮寫,簡稱LED。它是一種通過控制半導體發光二極管的顯示方式,用來顯示文字、圖形、圖像、動畫、行情、視頻、錄像信號等各種信息的顯示屏幕。LED顯示器結構:基本的半導體數碼管是由七個條狀發光二極管芯片排列而成的。可實現09的顯示。其具體結構有“反射罩式”、“條形七段式”及“單片集成式多位數字式”等LED顯示器與顯示方式:LED

30、顯示塊是由發光二極管顯示字段的顯示器件。通常使用的是七段LED。這種顯示塊有共陰極與共陽極兩種。共陰極LED顯示塊的發光二極管陰極共地。當某個發光二極管的陽極為高電平時,發光二極管點亮;共陽極LED顯示塊的發光二極管陽極并接。在設計中使用LED顯示塊構成N位LED顯示器。N位LED顯示器有N根位選線和8*N根段選線。根據顯示方式不同,位選線與段選線的連接方法不同。段選線控制字符選擇,位選線控制顯示位的亮、暗。LED顯示器有靜態顯示與動態顯示兩種方式。我們使用的為動態顯示方式。在多位LED顯示時,為了簡化電路,降低成本,將所有位的段選線并聯在一起,由一個8位I/O口控制,而共陰極點或共陽極點分別

31、由響應的I/O口線控制。其中兩片74LS244分別用于段信號和位信號的驅動,74LS273用于段信號的鎖存,其鎖存地址為7FFFH。 圖2.7 LED數碼管顯示方式方案二: LCD顯示LCD 液晶顯示器是 Liquid Crystal Display 的簡稱,LCD 的構造是在兩片平行的玻璃當中放置液態的晶體,兩片玻璃中間有許多垂直和水平的細小電線,透過通電與否來控制桿狀水晶分子改變方向,將光線折射出來產生畫面。比LED要好的多,但是價錢較其貴。在日常生活中,我們對液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產品的通過器件,如在計算器、萬用表、電子表及很多家用電子產品中都可以看到,顯示的主要

32、是數字、專用符號和圖形。在單片機的人機交流界面中,一般的輸出方式有以下幾種:發光管、LED數碼管、液晶顯示器。發光管和LED數碼管比較常用,軟硬件都比較簡單,在前面章節已經介紹過,在此不作介紹,本章重點介紹字符型液晶顯示器的應用。 在單片機系統中應用晶液顯示器作為輸出器件有以下幾個優點:(1)顯示質量高:由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點。因此,液晶顯示器畫質高且不會閃爍。(2)數字式接口:液晶顯示器都是數字式的,和單片機系統的接口更加簡單可靠,操作更加方便。(3)體積小、重量輕:液晶顯示器通過顯示屏上的

33、電極控制液晶分子狀態來達到顯示的目的,在重量上比相同顯示面積的傳統顯示器要輕得多。(4)功耗低:相對而言,液晶顯示器的功耗主要消耗在其內部的電極和驅動IC上,因而耗電量比其它顯示器要少得多。液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規模集成電路直接驅動、易于實現全彩色顯示的特點,目前已經被廣泛應用在便攜式電腦、數字攝像機、PDA移動通信工具等眾多領域。液晶顯示器各種圖形的顯示原理(1)線段的顯示:點陣圖形式液晶由M×N個顯示單元組成,假設LCD顯示屏有64行,每行有128列,每8列對應1字節的8

34、位,即每行由16字節,共16×8=128個點組成,屏上64×16個顯示單元與顯示RAM區1024字節相對應,每一字節的內容和顯示屏上相應位置的亮暗對應。例如屏的第一行的亮暗由RAM區的000H00FH的16字節的內容決定,當(000H)=FFH時,則屏幕的左上角顯示一條短亮線,長度為8個點;當(3FFH)=FFH時,則屏幕的右下角顯示一條短亮線;當(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H時,則在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是LCD顯示的基本原理。(2)字符的顯示:用LCD顯示一個字

35、符時比較復雜,因為一個字符由6×8或8×8點陣組成,既要找到和顯示屏幕上某幾個位置對應的顯示RAM區的8字節,還要使每字節的不同位為“1”,其它的為“0”,為“1”的點亮,為“0”的不亮。這樣一來就組成某個字符。但由于內帶字符發生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據在LCD上開始顯示的行列號及每行的列數找出顯示RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。(3)漢字的顯示:漢字的顯示一般采用圖形的方式,事先從微機中提取要顯示的漢字的點陣碼(一般用字模提取軟件),每個漢字占32B,分左右兩半,各占16B,左邊為1、3、5右邊為2、

36、4、6根據在LCD上開始顯示的行列號及每行的列數可找出顯示RAM對應的地址,設立光標,送上要顯示的漢字的第一字節,光標位置加1,送第二個字節,換行按列對齊,送第三個字節直到32B顯示完就可以LCD上得到一個完整漢字。1602字符型LCD簡介字符型液晶顯示模塊是一種專門用于顯示字母、數字、符號等點陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。我們以1602LCD字符型液晶顯示器為例。1602LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應用中并無差別,1602LCD主要技術參數:顯示容量:16×2個字符,芯片

37、工作電壓:4.55.5V,工作電流:2.0mA(5.0V),模塊最佳工作電壓:5.0V,字符尺寸:2.95×4.35(W×H)mm19。由于本次設計的顯示模塊需要顯示多位數字,如果采用數碼管顯示的話將會占用多個單片機I/O口,使得電路變得更為復雜。所以選用液晶顯示,1602LCD符合基本條件,能夠采用。2.4.1 LCD1602命令及時序 1602液晶模塊的引腳連線如圖2-8。其中,第1、2腳為液晶的驅動電源;第三腳VL為液晶的對比度調節,通過在VCC和GND之間接一個10K多圈可調電阻,中間抽頭接VL,可實現液晶對比度的調節;液晶的控制線RS、R/W、E分別接單片機的P0

38、.5、P0.6、P0.7;數據口接在單片機的P2口;BL+、BL-為液晶背光電源。圖2-8 1602液晶模塊的接線圖1602液晶模塊的初始化過程:延遲15ms寫指令38H(不檢測忙信號)延遲5ms寫指令38H(不檢測忙信號)延遲5ms寫指令38H(不檢測忙信號)(以后每次寫指令、讀/寫數據操作之前均需檢測忙信號)寫指令38H:顯示模式設置寫指令08H:顯示關閉寫指令01H:顯示清屏寫指令06H:顯示光標移動設置寫指令0CH:顯示開及光標設置1602液晶模塊的讀操作時序如圖2-9所示。圖2-9 1602液晶模塊的讀操作時序1602液晶模塊的寫操作時序如圖2-10所示。圖2-10 1602液晶模塊

39、的寫操作時序2.5 鍵盤輸入鍵盤輸入是人機交互界面中重要的組成部分,它是系統接受用戶指令的直接途徑。操作者通過鍵盤向系統發送各種指令或置入必要的數據信息。因此鍵盤模塊設計的好壞,直接關系到系統的可靠性和穩定性。鍵盤是由若干個按鍵開關組成,鍵的多少根據單片機應用系統的用途而定。鍵盤由許多鍵組成,每一個鍵相當于一個機械開關觸點,當鍵按下時,觸點閉合,當鍵松開時,觸點斷開。單片機接收到按鍵的觸點信號后作相應的功能處理。因此,相對于單片機系統來說鍵盤接口信號是輸入信號。方案一:專用芯片式設計專用鍵盤處理芯片一般功能比較完善,芯片本身能完成對按鍵的編碼、掃描、消抖和重鍵等問題的處理,甚至還集成了顯示接口

40、功能。列如Intel8279是一種為8位微處理器設計的比較成熟的通用鍵盤/顯示器接口芯片,其功能有:接收來自鍵盤的輸入數據,并作預處理;數據顯示的管理和數據顯示器的控制。專用鍵盤處理芯片的優點很明顯,可靠性高,口簡單,使用方便,適合處理按鍵較多的情況。但在很多應用場合,考慮成本因素,可能并不是最佳選擇。 方案二:矩陣式鍵盤設計矩陣式鍵盤又叫行列式鍵盤。用I/O口線組成行、列結構,按鍵設置在行列的交點上。例如,用2×2的行列結構可構成4個鍵的鍵盤,4×4行列結構可構成16個鍵的鍵盤。因此,在按鍵數量較多時,可以節省I/O口線。相對于專用芯片式可以節省成本,且更為靈活。缺點就是

41、需要用軟件處理消抖、重鍵等問題。 圖2-11 4×4矩陣鍵盤考慮到成本方面,我決定采用矩陣鍵盤。第三章 系統軟件設計在單片機應用系統的開發中,軟件的設計是最復雜和困難的,大部分情況下工作量都較大,特別是對那些控制系統比較復雜的情況。如果是機電一體化的設計人員,往往需要同時考慮單片機的軟硬件資源分配。本系統的軟件設計主要分為系統初始化、按鍵、顯示處理及信號頻率輸入處理。程序設計是一件復雜的工作,為了把復雜的工作條理化,就要有相應的步驟和方法。其步驟可概括為以下三點: 分析系統控制要求,確定算法:對復雜的問題進行具體的分析,找出合理的計算方法及適當的數據結構,從而確定編寫程序的步驟。這是

42、能否編制出高質量程序的關鍵。 根據算法畫流程圖:畫程序框圖可以把算法和解題步驟逐步具體化,以減少出錯的可能性。編寫程序:根據程序框圖所表示的算法和步驟,選用適當的指令排列起來,構成一個有機的整體,即程序。程序數據的一種理想方法是結構化程序設計方法。結構化程序設計是對利用到的控制結構類程序做適當的限制,特別是限制轉向語句(或指令)的使用,從而控制了程序的復雜性,力求程序的上、下文順序與執行流程保持一致性,使程序易讀易理解,減少邏輯錯誤和易于修改、調試。根據系統的控制任務,本系統的軟件設計主要由主程序、初始化程序、顯示子程序、數據采集子程序和延時程序等組成。3.1 C語言在單片機中的應用C語言是一

43、種通用的計算機程序設計語言,在國際上非常流行。它既可以用來編寫計算機的系統程序,也可以用來編寫一般的應用程序。以前計算機的系統軟件主要用匯編語言編寫,單片機應用系統更是如此。C語言是當前最流行的程序設計語言,它像其它高級語言一樣,面向用戶,面向解題的過程,編程者不必熟悉具體的計算機內部結構和指令;C語言又像匯編語言一樣,可以對機器硬件進行操作。如進行端口I,0操作、位操作、地址操作,并可內嵌匯編指令,將匯編指令當作它的語句一樣。我們知道,匯編語言將涉及計算機硬件,所以C語言又像低級語言一樣,可以對計算機硬件進行控制,因此人們把它稱為介于高級語言與低級語言之間的一種中級語言。正是因為C語言具有這

44、樣的特性,所以很適合編寫要對硬件進行操作的軟件程序。本文采用C語言進行編寫因為此系統軟件比較,其存儲量較大,因此必須應用C語言編程了。3.2 系統主程序流程圖在系統通電后,主程序首先完成系統初始化,其中包括系統變量定義和給系統變量賦初值等,然后調用A/D采集函數,將A/D采集模塊輸出的24位二進制串行數據轉化為十進制,接著進行調零和定標,最后分離出四位十進制數據的千位、百位、十位和個位,調用液晶顯示函數,將對應的數值送到對應的液晶上進行顯示。系統主函數流程圖如圖3-1所示。圖3-1 主程序流程圖3.3 子程序設計3.3.1 A/D數據采集子程序A/D數據采集子程序主要是采集壓電傳感器的輸出小信

45、號,前24個ADSK脈沖采集24位串行二進制數據,接下來的13個ADSK脈沖選擇下次A/D采集的通道和增益,本設計采用1個ADSK脈沖,選擇通道A,增益為128。其流程圖如圖3-2所示。 開始返回輸出數據編碼采集4位串行數據A/D端口初始化選擇下次采集通道和增益圖3-2 A/D數據采集子函數流程圖3.3.2 顯示子程序顯示子程序主要是來判斷是否需要顯示,以及如何去顯示,也是十分重要的程序之一。設計流程圖如圖3-3所示。圖3-3 顯示子程序流程圖3.3.3 鍵盤掃描子程序鍵盤電路設計成4X4矩陣式,在程序中可以先判斷按鍵編碼,然后根據編碼將鍵盤代表的數值送到相應的存儲單元,再進行功能選擇或數據處

46、理。設計流程圖如圖3-4所示。圖3-4 鍵盤掃描子程序流程圖第四章 系統的調試系統硬件調試比較簡單,首先檢查電路的焊接是否正確,用萬用表檢測電路板是否存在短路或者斷路。經檢測后再接上電源,用萬用表測量電源部分的各個輸出電壓值,經調試正常后方可接到各部分電路。先按下單片機復位鍵將系統復位,調用液晶顯示子函數顯示1234,顯示無誤后,接上傳感器和由24位串行A/D轉換芯片構成的調理電路和A/D轉換電路,將全部的程序燒到芯片中,觀察液晶上是否顯示0000,如果沒有顯示,即進行軟件調零工作,待調零完成后,用手給傳感器慢慢施加壓力,看數液晶的數值是否也跟隨增大,當放手后,看液晶的數值是否回到0000附近

47、。4.1 AD值反向轉換重力值的參數計算滿量程輸出電壓=激勵電壓*靈敏度1.0mv/v,例如:供電電壓是5v 乘以靈敏度2.0mv/v=滿量程10mv。相當于有10Kg 重力產生時候產生10mV 的電壓。假設重力為 AKg, (x<10Kg),測量出來的 AD 值為 y, 10Kg傳感器輸出,發送給 AD 模塊兒的電壓為 AKg* 8.6mV /10Kg =0.86A mV 經過128倍增益后為 128 *0.86A = 110.08AmV 轉換為24bit 數字信號為 110.08A mV */4.3V =429496. 7296A 所以 y =429496. 7296A /100 =

48、 4294.967296 A 因此得出 A = y /4294.967296 Kg y / 4.30 g 所以得出程序中計算公式Weight_Shiwu = (unsigned int)(float)Weight_Shiwu/4.30+0.05);4.2 誤差分析由于所采用的傳感器靈敏度很高,如果傳感器在水平方向固定的不是很好,會存在一定的誤差。另外傳感器的引線也很靈敏,稍微觸動一下,也會產生誤差。總結隨著集成電路和計算機技術的迅速發展,使電子儀器的整體水平發生巨大變化,傳統的儀器逐步的被智能儀器所取代。智能儀器的核心部件是單片機,因其極高的性價比得到廣泛的應用與發展,從而加快了智能儀器的發展

49、。而傳感器作為測控系統中對象信息的入口,越來越受到人們的關注。傳感器好比人體“五官”的工程模擬物,它是一種能將特定的被測量信息(物理量、化學量、生物量等)按一定規律轉換成某種可用信號輸出的器件或裝置本次設計中的全橋電子稱就是在以上儀器的基礎上設計而成的。因此,只有充分了解有關智能儀器、單片機、傳感器以及各部分之間的關系才能達到要求。經過幾個月的努力,終于按照畢業設計進度要求如期完成了實用電子秤控制系統的硬件設計任務。在做畢業設計的過程中,雖然碰到了不少的困難,但是在老師的指導以及自己的努力下,終于取得了一定成果。一、 主要工作及結論1、熟悉STC89C52單片機功能及工作特性,掌握其接口擴展方

50、法。2、通過對數據采集的分析,了解了各種傳感器、放大器及A/D轉換器有了更深的認識。3、對鍵盤和顯示器進行選型比較,得出各種型號優劣比。4、采用面向對象的思想,分層次、分模塊構建設計的總體框架。二、 存在的問題1、系統設計不夠優化,有待改善。比如系統的超量程信號直接由單片機送入報警電路,沒有設計保護電路再入單片機處理后送入報警電路。2、沒有擴展更多電路,如日歷時鐘電路、通訊接口電路等。日歷時鐘電路可以顯示購貨日期,通訊接口電路可以與上位機(PC機)進行通訊,從而將大量的商品數據存于上位機,然后通過串口或并口通訊與電子稱相連,達到遠距離控制的目的。3、對各種實用芯片價格了解不夠,選擇上任有欠缺,

51、如所選的稱重傳感器價格較貴。這些都為我今后的學習和工作留下了積極的影響。致謝大學生涯即將結束,臨近畢業,我感慨良多。在論文的設計過程中,我查閱了許多有關壓電傳感器、A/D轉換和C程序設計方面的文獻資料,使我對壓電傳感器的設計和使用有了更深的認識。從論文選題到完成論文,呂虹老師付出了大量心血。設計過程中,他從多方面進行指導,不斷對論文提出修改意見。呂虹老師淵博的知識、嚴謹的治學態度,求實的精神,時刻感染著我。在此,我要衷心地感謝呂虹老師!論文的完成,不僅是我大學四年知識積累的體現,而且也是電信學院所有老師悉心教導的結果,感謝他們讓我掌握了一定的專業知識,專業技能和一些做人的道理。同時,我也要感謝

52、周圍不斷鼓勵、支持、幫助我的同學們,是你們的友情、關心、愛心讓我倍感生活的精彩和溫暖。最后,我要特別感謝我的家人,他們辛勤的付出,無私的關愛讓我體會到親情的偉大,為我茁壯成長提供了良好的環境。參考文獻1 Chen Guang,Wang Yong,Wu Gang.Frequency domain identification of flexible structure with the resistance strain gauge sensorA.Intelligent Control and Automation, 2004. WCICA 2004. Fifth World Congress

53、 C.2004.2 D. Macnamara,D. Thiel.Optimizing piezo-resistive strain gauge characteristics for intelligent strain sensing applicationsA.Microelectronics:Design,Technology,and Packaging IIC.2006.3 Clarence W. de Silva.Signal Conditioning and Modification: Bridge CircuitsA.Vibration and Shock HandbookC.2005.4 Sifuentes, E,Casas, O.Direct interface circuit to linearise resistive sensor bridgesJ.Sensors and Actuators. A, Physical,2008,147(1):52-54.5 M.K. Patra,K. Manzoor,M. Manoth.Nanotechnology Applications for Chemical and Biolo

溫馨提示

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

評論

0/150

提交評論