
目錄 第1章 電子秤的電路功能介紹及組成框圖 1.1功能描述 1.2電子秤的構(gòu)成 第2章 硬件電路設(shè)計 2.1總電路圖如下: 2.2 稱重傳感器 2.2.1 稱重傳感器選用時需考慮的問題 2.2.2稱重傳感器的原理 2.2.3電子秤傳感器參數(shù) 2.3 A/D轉(zhuǎn)換芯片HX711及其電路 2.4 單片機系統(tǒng) 2.5 輸出顯示 2.6 按鍵輸入 2.7 報警電路蜂鳴器和LED 2.8 USB供電 第3章 軟件設(shè)計 3.1 軟件流程圖 3.2 程序清單 第4章 設(shè)計總結(jié) 4.1 Proteus軟件仿真 4.2 程序下載與調(diào)試 4.2.1 USB轉(zhuǎn)串口驅(qū)動安裝 4.2.2 下載程序 4.3 硬件過程 4.4 體會與收獲 參 考 文 獻 附錄一 main.c主程序 附錄二 HX711.c子程序 附錄三 電子元器件清單
秤是一種在實際工作和生活中經(jīng)常用到的測量器具。隨著計量技術(shù)和電子技術(shù)的發(fā)展,傳統(tǒng)純機械結(jié)構(gòu)的桿秤、臺秤、磅秤等稱量裝置逐步被淘汰,電子稱量裝置電子秤、電子天平等以其準(zhǔn)確、快速、方便、顯示直觀等諸多優(yōu)點而受到人們的青睞。 和傳統(tǒng)秤相比較,電子秤利用新型傳感器、高精度AD轉(zhuǎn)換器件、單片機設(shè)計實現(xiàn),具有精度高、功能強等特點。本課題設(shè)計的電子秤具有基本稱重、鍵盤輸入、顯示、超重報警功能。該電子秤的測量范圍為0-10Kg,測量精度達(dá)到1g,有高精度,低成本,易攜帶的特點。電子秤采用數(shù)碼管顯示重量。另外,該電子秤電路簡單,使用壽命長,應(yīng)用范圍廣。
1.1功能描述1、采用高精度電阻應(yīng)變式壓力傳感器,測量量程0-10kg,測量精度可達(dá)5g。 2、采用電子秤專用模擬/數(shù)字(A/D)轉(zhuǎn)換器芯片HX711對傳感器信號進行調(diào)理轉(zhuǎn)換,HX711 采用了海芯科技集成電路專利技術(shù),是一款專為高精度電子秤而設(shè)計的24 位A/D 轉(zhuǎn)換器芯片。 3、采用STC89C52單片機作為主控芯片,實現(xiàn)稱重等主控功能。 4、采用4位數(shù)碼管顯示稱重重量。 5、采用4個按鍵進行人機交互,操作便捷。 6、具有超量程報警功能,可以通過蜂鳴器和LED燈報警。 - 系統(tǒng)通過USB電源供電,單片機程序也可通過USB線串行下載。
1.2電子秤的構(gòu)成 便攜式電子秤硬件系統(tǒng)由應(yīng)變式稱重傳感器、放大器、A/D轉(zhuǎn)換器、單片機系統(tǒng)、鍵盤/開關(guān)、數(shù)碼管、打印機等組成。儀器結(jié)構(gòu)框圖如下圖1.1所示。 圖1-1

2.1總電路圖如下:
圖2-1 2.2 稱重傳感器 2.2.1稱重傳感器選用時需考慮的問題 傳感器是測量機構(gòu)最重要的部件。稱重傳感器本身具有單調(diào)性,其主要參數(shù)指標(biāo)是靈敏度、總誤差和溫度漂移。 (1) 靈敏度 稱重傳感器的電靈敏度為滿負(fù)荷輸出電壓與激勵電壓的比值,典型值是2mV/V。當(dāng)使用2 mV/V靈敏度和5 V激勵電壓的傳感器時,其滿度輸出電壓為10 mV。通常,為了使用稱重傳感器線性度最好的一段稱重范圍,應(yīng)當(dāng)僅使用滿度范圍的三分之二。因此滿度輸出電壓應(yīng)當(dāng)大約為6mV。當(dāng)電子秤應(yīng)用于工業(yè)環(huán)境時,在6mV滿度范圍內(nèi)測量微小的信號變化并非易事。 (2) 總誤差 總誤差是指輸出誤差和額定誤差的比值。典型電子秤的總誤差指標(biāo)大約是0.02%,這一技術(shù)指標(biāo)相當(dāng)重要,它限制了使用理想信號調(diào)節(jié)電路所能達(dá)到的精確度,決定了ADC分辨率的選擇以及放大電路和濾波器的設(shè)計。 (3) 漂移 稱重傳感器也產(chǎn)生與時間相關(guān)的漂移。 目前常用的稱重傳感器有電阻應(yīng)變式壓力傳感器、電容壓力傳感器、壓電式壓力傳感器。選用時應(yīng)按穩(wěn)定行、精度登記、壽命和安裝環(huán)境要求考慮,其主要特點如下: (1) 電容式壓力傳感器穩(wěn)定性較差,精度和靈敏度較高,壽命較短,對環(huán)境要求苛刻,不易長距離傳輸。 (2) 壓電式壓力傳感器穩(wěn)定性好,精度和靈敏度高,壽命長,但大量程的壓力傳感器尚待進一步研究。 (3) 電阻應(yīng)變式壓力傳感器穩(wěn)定性較好,精度和靈敏度較高,壽命較長,對測量環(huán)境要求不太嚴(yán)格。 綜上所述,選用電阻應(yīng)變式壓力傳感器作為電子秤稱重傳感器是最為合適的。電阻應(yīng)變式壓力傳感器主要由彈性體、電阻應(yīng)變片電纜線等組成,內(nèi)部線路采用惠更斯電橋,當(dāng)彈性體承受載荷產(chǎn)生變形時,電阻應(yīng)變片(轉(zhuǎn)換元件)受到拉伸或壓縮應(yīng)變片變形后,它的阻值將發(fā)生變化(增大或減小),從而使電橋失去平衡,產(chǎn)生相應(yīng)的差動信號,供后續(xù)電路測量和處理。 2.2.2稱重傳感器的原理 即由非電量(質(zhì)量或重量)轉(zhuǎn)換成電量的轉(zhuǎn)換元件,它是把支承力變換成電的或其它形式的適合于計量求值的信號所用的一種輔助手段。 按照稱重傳感器的結(jié)構(gòu)型式不同,可以分直接位移傳感器(電容式、電感式、電位計式、振弦式、空腔諧振器式等)和應(yīng)變傳感器(電阻應(yīng)變式、聲表面諧振式)或是利用磁彈性、壓電和壓阻等物理效應(yīng)的傳感器。 對稱重傳感器的基本要求是:輸出電量與輸入重量保持單值對應(yīng),并有良好的線性關(guān)系;有較高的靈敏度;對被稱物體的狀態(tài)的影響要小;能在較差的工作條件下工作;有較好的頻響特性;穩(wěn)定可靠。 傳感器下的定義是:“能感受規(guī)定的被測量并按照一定的規(guī)律轉(zhuǎn)換成可用信號的器件或裝置,通常由敏感元件和轉(zhuǎn)換元件組成”。其中敏感元件指傳感器中能直接感受被測量的部分,轉(zhuǎn)換元件指傳感器中能將敏感元件輸出量轉(zhuǎn)換為適于傳輸和測量的電信號部分。此外傳感器是一種檢測裝置,能感受到被測量的信息,并能將檢測感受到的信息,按一定規(guī)律變換成為電信號或其他所需形式的信息輸出,以滿足信息的傳輸、處理、存儲、顯示、記錄和控制等要求。它是實現(xiàn)自動檢測和自動控制的首要環(huán)節(jié)。 稱重傳感器在電子秤中占有十分重要的位置,被喻為電子秤的心臟部件,它的性能好壞很大程度上決定了電子秤的精確度和穩(wěn)定性。通常稱重傳感器產(chǎn)生的誤差約占電子秤整機誤差的50%~70%。若在環(huán)境惡劣的條件下(如高低溫、濕熱),傳感器所占的誤差比例就更大,因此,在人們設(shè)計電子秤時,正確地選用稱重傳感器非常重要。 稱重傳感器的種類很多,根據(jù)工作原理來分常用的有以下幾種: 電阻應(yīng)變式、電容式、壓磁式、壓電式、諧振式等。(本設(shè)計采用的是電阻應(yīng)變式) 電阻應(yīng)變式稱重傳感器包括兩個主要部分,一個是彈性敏感元件:利用它將被測的重量轉(zhuǎn)換為彈性體的應(yīng)變值;另一個是電阻應(yīng)變計:它作為傳感元件將彈性體的應(yīng)變,同步地轉(zhuǎn)換為電阻值的變化。電阻應(yīng)變片所感受的機械應(yīng)變量一般為10 - 6~10 - 2,隨之而產(chǎn)生的電阻變化率也大約在10 - 6~10 - 2數(shù)量級之間。這樣小的電阻變化用一般測量電阻的儀表很難測出,必須采用一定形式的測量電路將微小的電阻變化率轉(zhuǎn)變成電壓或電流的變化,才能用二次儀表顯示出來。在電阻應(yīng)變式稱重傳感器中通過橋式電路將電阻的變化轉(zhuǎn)換為電壓變化。電阻應(yīng)變式稱重傳感器工作原理框圖如圖2-1所示:

如圖2-2電阻應(yīng)變式稱重傳感器工作原理框圖
當(dāng)傳感器不受載荷時,彈性敏感元件不產(chǎn)生應(yīng)變,粘貼在其上的應(yīng)變片不發(fā)生變形,阻值不變,電橋平衡,輸出電壓為零;當(dāng)傳感器受力時,即彈性敏感元件受載荷P時,應(yīng)變片就會發(fā)生變形,阻值發(fā)生變化,電橋失去平衡,有輸出電壓。 如圖2-3 橋式測量電路 R1、R2、R3、R4為4個應(yīng)變片電阻,組成了橋式測量電路,Rm為溫度補償電阻,e為激勵電壓,V為輸出電壓。 若不考慮Rm,在應(yīng)變片電阻變化以前,電橋的輸出電壓為: V=
由于橋臂的起始電阻全等,即R1 = R2 = R3 = R4 = R,所以V=0 。 當(dāng)應(yīng)變片的電阻R1、R2、R3、R4變成R+△R1、R+△R2、R+△R3、R+△R4時,電橋的輸出電壓變?yōu)椋?/p> V= 通過化簡,上式則變?yōu)椋?/p> V=  也就是說,電橋輸出電壓的變化與各臂電阻變化率的代數(shù)和成正比。 如果四個橋臂應(yīng)變片的靈敏系數(shù)相同,且 = Kε,則上式又可寫成: V= ε1 - ε2 + ε3 - ε4 ) 式中K為應(yīng)變片靈敏系數(shù),ε為應(yīng)變量。 上式表明,電橋的輸出電壓和四個轎臂的應(yīng)變片所感受的應(yīng)變量的代數(shù)和成正比。在電阻應(yīng)變式稱重傳感器中,4個應(yīng)變片分別貼在彈性梁的4個敏感部位,傳感器受力作用后發(fā)生變形。在力的作用下,R1、R3被拉伸,阻值增大,△R1、△R3正值,R2、R4被壓縮,阻值減小,△R2、△R4為負(fù)值。再加之應(yīng)變片阻值變化的絕對值相同,即 △R1 = △R3 = +△R或ε1 = ε3 = +ε △R2 = △R4= -△R或ε2 = ε4 = - ε 因此,V= ×4ε = e Kε。若考慮 Rm,則電橋的輸出電壓變成: V=  = = K εe 令SU = ,則SU = K ε SU稱為傳感器系數(shù)或傳感器輸出靈敏度。 對于一個高精度的應(yīng)變傳感器來說,僅僅靠4個應(yīng)變片組成橋式測量電路還是遠(yuǎn)遠(yuǎn)不夠的。由于彈性梁材料金相組織的不均勻性及熱處理工藝、應(yīng)變片性能及粘貼工藝、溫度變化等因素的影響,傳感器勢必產(chǎn)生一定的誤差。為了減少傳感器隨溫度變化產(chǎn)生的誤差,提高其精度和穩(wěn)定性,需要在橋路兩端和橋臂中串入一些補償元件。如:初始不平衡值的補償、零載輸出溫度補償、輸出靈敏度溫度補償?shù)取?/p> 2.2.3電子秤傳感器參數(shù)表2-1 HX711 是一款專為高精度稱重傳感器而設(shè)計的24位A/D 轉(zhuǎn)換器芯片。 HX711管腳說明如圖3所示:
圖2-4 HX711管腳封裝圖
HX711管腳描述如表一所示:
HX711是一款專為高精度稱重傳感器而設(shè)計的24位A/D 轉(zhuǎn)換器芯片。與同類型其它芯片相比,該芯片集成了包括穩(wěn)壓電源、片內(nèi)時鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、響應(yīng)速度快、抗干擾性強等優(yōu)點。降低了電子秤的整機成本,提高了整機的性能和可靠性。該芯片與后端MCU 芯片的接口和編程非常簡單,所有控制信號由管腳驅(qū)動,無需對芯片內(nèi)部的寄存器編程。輸入選擇開關(guān)可任意選取通道A 或通道B,與其內(nèi)部的低噪聲可編程放大器相連。通道A 的可編程增益為128 或64,對應(yīng)的滿額度差分輸入信號幅值分別為±20mV 或±40mV 。通道B 則為固定的64 增益,用于系統(tǒng)參數(shù)檢測。芯片內(nèi)提供的穩(wěn)壓電源可以直接向外部傳感器和芯片內(nèi)的A/D 轉(zhuǎn)換器提供電源,系統(tǒng)板上無需另外的模擬電源。芯片內(nèi)的時鐘振蕩器不需要任何外接器件。上電自動復(fù)位功能簡化了開機的初始化過程。 高精度高增益24位A/D芯片HX711具有以下特點: - 兩路可選擇差分輸入;
- 片內(nèi)低噪聲可編程放大器,可選增益為64 和128;
- 片內(nèi)穩(wěn)壓電路可直接向外部傳感器和芯片內(nèi)A/D 轉(zhuǎn)換器提供電源;
- 片內(nèi)時鐘振蕩器無需任何外接器件,必要時也可使用外接晶振或時鐘;
- 上電自動復(fù)位電路;
- 簡單的數(shù)字控制和串口通訊:所有控制由管腳輸入,芯片內(nèi)寄存器無需編程;
- 可選擇10Hz 或80Hz 的輸出數(shù)據(jù)速率;
- 同步抑制50Hz 和60Hz 的電源干擾;
- 耗電量(含穩(wěn)壓電源電路):典型工作電流:< 1.7mA, 斷電電流:< 1μA ;
- 工作電壓范圍:2.6 ~ 5.5V ;
高精度高增益24位A/D芯片HX711在電子秤應(yīng)用中的典型電路如圖1-6所示:
圖2-5 HX711內(nèi)部方框圖 模擬輸入 通道A模擬差分輸入可直接與橋式傳感器的差分輸出相接。由于橋式傳感器輸出的信號較小,為了充分利用A/D轉(zhuǎn)換器的輸入動態(tài)范圍,該通道的可編程增益較大,為128或64。這些增益所對應(yīng)的滿量程差分輸入電壓分別±20mV或±40mV。通道B為固定的32增益,所對應(yīng)的滿量程差分輸入電壓為±80mV。通道B應(yīng)用于包括電池在內(nèi)的系統(tǒng)參數(shù)檢測。
供電電源 數(shù)字電源(DVDD)應(yīng)使用與MCU芯片相同的的數(shù)字供電電源。HX711芯片內(nèi)的穩(wěn)壓電路可同時向A/D轉(zhuǎn)換器和外部傳感器提供模擬電源。穩(wěn)壓電源的供電電壓(VSUP)可與數(shù)字電源(DVDD)相同。穩(wěn)壓電源的輸出電壓值(VAVDD)由外部分壓電阻R1、R2 和芯片的輸出參考電壓VBG決定(圖1),VAVDD=VBG(R1+R2)/R2。應(yīng)選擇該輸出電壓比穩(wěn)壓電源的輸入電壓(VSUP)低至少100mV。如果不使用芯片內(nèi)的穩(wěn)壓電路,管腳VSUP和管腳AVDD應(yīng)相連,并接到電壓為2.6~5.5V的低噪聲模擬電源。管腳VBG上不需要外接電容,管腳VFB應(yīng)接地,管腳BASE 為無連接。
時鐘選擇 如果將管腳XI接地,HX711將自動選擇使用內(nèi)部時鐘振蕩器,并自動關(guān)閉外部時鐘輸入和晶振的相關(guān)電路。這種情況下,典型輸出數(shù)據(jù)速率為10Hz或80Hz。如果需要準(zhǔn)確的輸出數(shù)據(jù)速率,可將外部輸入時鐘通過一個20pF的隔直電容連接到XI管腳上,或?qū)⒕д襁B接到XI和XO管腳上。這種情況下,芯片內(nèi)的時鐘振蕩器電路會自動關(guān)閉,晶振時鐘或外部輸入時鐘電路被采用。此時,若晶振頻率為11.0592MHz,輸出數(shù)據(jù)速率為準(zhǔn)確的10Hz或80Hz。輸出數(shù)據(jù)速率與晶振頻率以上述關(guān)系按比例增加或減少。使用外部輸入時鐘時,外部時鐘信號不一定需要為方波。可將MCU芯片的晶振輸出管腳上的時鐘信號通過20pF的隔直電容連接到XI管腳上,作為外部時鐘輸入。外部時鐘輸入信號的幅值可低至150mV。
串口通訊 串口通訊線由管腳PD_SCK和DOUT組成,用來輸出數(shù)據(jù),選擇輸入通道和增益。當(dāng)數(shù)據(jù)輸出管腳DOUT為高電平時,表明A/D轉(zhuǎn)換器還未準(zhǔn)備好輸出數(shù)據(jù),此時串口時鐘輸入信號PD_SCK應(yīng)為低電平。當(dāng)DOUT從高電平變低電平后,PD_SCK應(yīng)輸入25至27個不等的時鐘脈沖(圖二)。其中第一個時鐘脈沖的上升沿將讀出輸出24位數(shù)據(jù)的最高位(MSB),直至第24個時鐘脈沖完成,24位輸出數(shù)據(jù)從最高位至最低位逐位輸出完成。第25至27個時鐘脈沖用來選擇下一次A/D轉(zhuǎn)換的輸入通道和增益,參見表三。 表三輸入通道和增益選擇
PD_SCK的輸入時鐘脈沖數(shù)不應(yīng)少于25或多于27,否則會造成串口通訊錯誤。當(dāng)A/D轉(zhuǎn)換器的輸入通道或增益改變時,A/D轉(zhuǎn)換器需要4個數(shù)據(jù)輸出周期才能穩(wěn)定。DOUT在4個數(shù)據(jù)輸出周期后才會從高電平變低電平,輸出有效數(shù)據(jù)。 復(fù)位和斷電 當(dāng)芯片上電時,芯片內(nèi)的上電自動復(fù)位電路會使芯片自動復(fù)位。管腳PD_SCK輸入用來控制HX711的斷電。當(dāng)PD_SCK為低電平時,芯片處于正常工作狀態(tài)。 如果PD_SCK從低電平變高電平并保持在高電平超過60μs,HX711 即進入斷電狀態(tài)(圖三)。如使用片內(nèi)穩(wěn)壓電源電路,斷電時,外部傳感器和片內(nèi)A/D 轉(zhuǎn)換器會被同時斷電。當(dāng)PD_SCK 重新回到低電平時,芯片會自動復(fù)位后進入正常工作狀態(tài)。芯片從復(fù)位或斷電狀態(tài)進入正常工作狀態(tài)后,通道A和增益128會被自動選擇作為第一次A/D轉(zhuǎn)換的輸入通道和增益。隨后的輸入通道和增益選擇由PD_SCK的脈沖數(shù)決定,參見串口通訊一節(jié)。芯片從復(fù)位或斷電狀態(tài)進入正常工作狀態(tài)后,A/D 轉(zhuǎn)換器需要4個數(shù)據(jù)輸出周期才能穩(wěn)定。DOUT在4個數(shù)據(jù)輸出周期后才會從高電平變低電平,輸出有效數(shù)據(jù)。 應(yīng)用實例 圖四為HX711芯片應(yīng)用于電子秤的一個典型方案圖。該方案使用內(nèi)部時鐘振蕩器(XI=0),10Hz的輸出數(shù)據(jù)速率(RATE=0)。電源(2.7~5.5V)直接取用與MCU芯片相同的供電電源。片內(nèi)穩(wěn)壓電源電路通過片外PNP管S8550和分壓電阻R1、R2向傳感器和A/D轉(zhuǎn)換器提供穩(wěn)定的低噪聲模擬電源。通道A與傳感器相連,通道B通過片外分壓電阻(未在圖一中顯示)與電池相連,用于檢測電池電壓。 注意事項 1.所有數(shù)字輸入管腳,包括RATE,XI和PD_SCK管腳,芯片內(nèi)均無內(nèi)置拉高或拉低電阻。這些管腳在使用時不應(yīng)懸空。 2.建議使用通道A與傳感器相連,作為小信號輸入通道;通道B用于系統(tǒng)參數(shù)檢測,如電池電壓檢測。 3.建議使用PNP管S8550與片內(nèi)穩(wěn)壓電源電路配合。也可根據(jù)需要使用其他MOS或雙極晶體管,但應(yīng)注意穩(wěn)壓電源的穩(wěn)定性。 4.無論是采用片內(nèi)穩(wěn)壓電源或系統(tǒng)上其他電源,建議傳感器和A/D轉(zhuǎn)換器使用同一模擬供電電源。 5.的輸入時鐘脈沖數(shù)不應(yīng)少于25或多于27,否則會造成串口通訊錯誤。
HX711實物仿真圖如下 圖2-6HX711 2.4 單片機系統(tǒng) (1) STC89C52 單片機概述 STC89C52系列單片機是宏晶科技生產(chǎn)的單時鐘/機器周期(1T)的單片機,是高速/低功耗/超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍,內(nèi)部集成MAX810專用復(fù)位電路。 (2) STC89C52 單片機特點 - 增強型 8051 CPU,1T,單時鐘/機器周期,指令代碼完全兼容傳統(tǒng)8051;
- 工作電壓: 5.5V - 3.5V(5V單片機);
- 工作頻率范圍:0~40MHz,相當(dāng)于普通8051的 0~80MHz;
- 用戶應(yīng)用程序空間 4K//8K/16k/32K/64K字節(jié);
- 片上集成1280字節(jié) RAM;
- 通用I/O口(32/36個),復(fù)位后為準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口);
- ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器/仿真器。
- 每個I/O口驅(qū)動能力均可達(dá)到20mA,但整個芯片最大不要超過120mA;
- 可通過串口(P3.0/P3.1)直接下載用戶程序,數(shù)秒即可完成一片;
- 有EEPROM功能;
- 看門狗;
- 內(nèi)部集成MAX810專用復(fù)位電路(外部晶體12M以下時,復(fù)位腳可直接1K電阻到地);
- 時鐘源:外部高精度晶體/時鐘,內(nèi)部R/C振蕩器;
- 用戶在下載用戶程序時,可選擇是使用內(nèi)部R/C 振蕩器還是外部晶體/ 時鐘;
- 常溫下內(nèi)部R/C 振蕩器頻率為:5.0V 單片機為: 11MHz ~ 17MHz;
- 共4個16位定時器,兩個與傳統(tǒng)8051兼容的定時器/計數(shù)器,16位定時器T0和T1,沒有定時器2,但有獨立波特率發(fā)生器做串行通訊的波特率發(fā)生器,再加上2路PCA模塊可再實現(xiàn)2個16位定時器;
- 外部中斷I/O口4路,傳統(tǒng)的下降沿中斷或低電平觸發(fā)中斷,并新增支持上升沿中斷的PCA模塊,Power Down模式可由外部中斷喚醒;
- 通用全雙工異步串行口(UART) ;
- 工作溫度范圍:-40 ~ +85℃(工業(yè)級) / 0 ~ 75℃(商業(yè)級) ;
- 封裝:PDIP-40, PLCC-44。
(3) STC89C52 單片機管腳及封裝 STC89C52單片機有多種封裝形式,本設(shè)計中選用40DIP封裝,其管腳定義如圖1-8所示。 圖2-7 STC89C52 管腳圖
本課題設(shè)計的電子秤的單片機應(yīng)用電路如圖2-9所示: 圖2-8 STC89C52單片機電路 圖中DT和SCK為單片機與HX711的AD轉(zhuǎn)換電路交換數(shù)據(jù)的通信線。P10為蜂鳴器報警信號線,P11為報警燈信號線,RXD和TXD為串口通信線,也可以用于單片機程序的串行ISP下載。 2.5輸出顯示 LED 數(shù)碼管具有顯示亮度高、響應(yīng)速度快的特點。最常用的七段LED顯示器,該顯示器內(nèi)部有七個條形發(fā)光二極管和一個小圓點發(fā)光二極管。  本設(shè)計采用共陽極接法如下圖 圖2-9 數(shù)碼管  實物尺寸及引腳圖如下 圖2-10 圖2-11數(shù)碼管 圖2-12數(shù)碼管驅(qū)動
2.6按鍵輸入 電子稱按鍵定義說明:采用四個按鍵輸入,鍵盤對應(yīng)名稱如下: 其中, 【1】為復(fù)位按鍵,單片機的復(fù)位,按下單片機重新開機 【2】為校準(zhǔn)加按鍵 【3】為校準(zhǔn)減按鍵 【4】鍵為去皮按鍵 校準(zhǔn)方法:連接好傳感器和電源線,打開自鎖開關(guān),待開機正常顯示數(shù)值后(開機時保證傳感器上不能有物體,且保持穩(wěn)定),將一已知重量物體放上傳感器,例如放置100g砝碼,100g砝碼放到傳感器上,看重量顯示的數(shù)值,如果比100g大,就按校準(zhǔn)值減鍵(可長按快速減),直到數(shù)值顯示100;如果數(shù)值比100小,就按校準(zhǔn)值加鍵(可長按快速加),直到數(shù)值顯示100.此時拿下砝碼,如果什么都不放,示數(shù)不為0,就按一下復(fù)位按鍵,重新開機一次,然后再放上100g砝碼,再按照上面的步驟2鍵和3鍵校準(zhǔn)一次就好了,校準(zhǔn)后會保存進單片機的EEPROM,下次開機不需要校準(zhǔn)了。 原理圖如下: 圖2-13
2.7 報警電路蜂鳴器和LED 聲光報警電路如圖所示: 圖2-14蜂鳴器 圖2-15 LED指示 (1)當(dāng)測量重量超過量程時,P10和P11給出低電平信號,驅(qū)動蜂鳴器鳴響,報警燈亮。(2)出現(xiàn)稱重為負(fù)時發(fā)生報警。(3)復(fù)位時稱重不為零時報警。 圖2-16供電模塊 SWITCH為自鎖開關(guān)2、4、6和1、3、5各為一組,選擇組1、3常開觸點。1口是5V DC接口,3口是單路VCC接口,1、5為常閉觸點。右邊部分為DC電源,2、3腳接地,1腳實際是VCC(電源)。
3.1 軟件流程圖本設(shè)計主程序使用了定時器,用來實現(xiàn)每0.5秒稱重一次的功能,流程圖如圖3-1所示。鍵盤掃描程序如圖3-2所示。 圖3-1時鐘中斷流程圖 圖3-2 鍵盤掃描程序流程圖
主程序軟件流程圖如圖3-3所示 圖3-3 主程序流圖
A/D數(shù)據(jù)處理(采用數(shù)組平均值法)流程圖 (詳見51hei附件)
3.2 程序清單主程序:main.c主程序編寫,詳見附錄一。
信號采用與A/D轉(zhuǎn)換子程序:HX711.c子程序編寫,詳見附錄二。
4.1 Proteus軟件仿真4.2 程序下載與調(diào)試4.2.1 USB轉(zhuǎn)串口驅(qū)動安裝打開USB驅(qū)動文件夾下的PL2303_Prolific_DriverInstaller_v130.exe安裝文件,按提示安裝USB轉(zhuǎn)串口驅(qū)動程序。安裝完成后,插入USB下載線后,在[開始]-[控制面板]-[打印機和其他硬件]-[設(shè)備管理器],在“端口”分支下有(Prolific USB-to-Serial Comm Port(COMX)。X表示串口號,如果沒有說明USB轉(zhuǎn)串口驅(qū)動沒有安裝,須重新安裝。記住括號里的COM口號。 圖4-1成功安裝USB轉(zhuǎn)串口驅(qū)動示意圖 4.2.2 下載程序打開STC單片機下載軟件文件夾,點擊運行STC_ISP_V481.exe程序,出現(xiàn)如下界面。 圖4-2 程序下載軟件 正確選擇MCU 類型為STC89C52,COM口(與剛才安裝的COM號一致),最高波特率和最低波特率選擇高速,如果不成功則嘗試降低撥特率,并打開正確的.hex數(shù)據(jù)文件。點擊“Download/下載”按鈕,并重新上電。 4.3 硬件過程

實物圖如下:
4.4 體會與收獲 在這次制作單片機課程設(shè)計的過程中,學(xué)習(xí)到如何完整地(包括軟件和硬件)設(shè)計一個電子器件,并學(xué)習(xí)到了很多新的器件的使用方法,例如A/D轉(zhuǎn)換模塊HX711、電阻應(yīng)變式傳感器等。設(shè)計的過程中一直最難的部分就是程序設(shè)計,既要估計電路連接的簡便,又要清楚地劃分每一塊程序?qū)崿F(xiàn)的功能,在仿真時時常出現(xiàn)不明的錯誤,都需要一點一點地去修改程序,已達(dá)到完美地運行。在焊接實物的過程中,因為焊接技術(shù)的不熟練,偶爾會出現(xiàn)虛焊,此時就要細(xì)心地使用萬用表去檢測電路,發(fā)現(xiàn)問題所在,重新焊接。
參 考 文 獻[1]馬心凱.基于FPGA的實用電子秤[J],低壓電器,2006 [2]康華光.電子技術(shù)基礎(chǔ)[M].模擬部分.高等教育出版社,1998 [3]于敬芬.基于AT89S52和TLC0834的數(shù)據(jù)采集系統(tǒng)[J].中國水運(學(xué)術(shù)版),2006 [4]王幸之.AT89系列單片機原理及接口技術(shù)[M].北京航天航空出版社,2006 [5]康華光.電子技術(shù)基礎(chǔ)[M].?dāng)?shù)字部分.高等教育出版社,1998 [6]王素珍,鄭淑芬,周梅.稱重配料系統(tǒng)傳感器電源及放大電路[J].傳感器技術(shù),2006 [7]周立功.單片機ZLG7289B串行接口LED數(shù)碼管及鍵盤管理器件數(shù)據(jù)手冊 [8]胡漢才.單片機原理及系統(tǒng)設(shè)計[M].清華大學(xué)出版社,2002 [9]王福瑞.集成電路器件大全[M].北京航天航空出版社,1999 [10]夏路易.電路原理圖與電路板設(shè)計教程Protel99se[M].北京希望電子出版社,2002 [11]Theodore Wildi.Electrical machine,and power system[M],2002
附錄一 main.c主程序:- 1. #include <reg52.h>
- 2. #include <intrins.h>
- 3. #include <string.h>
- 4. #include "main.h"
- 5. #include "HX711.h"
- 6. #include "eeprom52.h"
- 7.
- 8. #define uchar unsigned char
- 9. #define uint unsigned int
- 10.
- 11. unsigned long HX711_Buffer = 0;
- 12. unsigned long Weight_Maopi = 0;
- 13. unsigned long Weight_Maopi_0 = 0;
- 14. long Weight_Shiwu = 0;
- 15. unsigned int qupi=0;
- 16. unsigned char p=0;
- 17. //鍵盤處理變量
- 18. unsigned char keycode;
- 19. unsigned char key_press_num=0;
- 20.
- 21. uint GapValue,GapValue1;
- 22. bit flag_cz=0;
- 23.
- 24. uchar code LEDData[]={0x5F,0x44,0x9D,0xD4,0xC6,0xD3,0xDB,0x57,0xDF,0xD7,0xCF,0xaA,0x9B,0xDC,0x9B,0x8B}; //數(shù)碼管顯示碼表
- 25. //定義標(biāo)識
- 26. volatile bit FlagTest = 0; //定時測試標(biāo)志,每0.5秒置位,測完清0
- 27. volatile bit FlagKeyPress = 0; //有鍵按下標(biāo)志,處理完畢清0
- 28. //校準(zhǔn)參數(shù)
- 29. //因為不同的傳感器特性曲線不是很一致,因此,每一個傳感器需要矯正這里這個參數(shù)才能使測量值很準(zhǔn)確。
- 30. //當(dāng)發(fā)現(xiàn)測試出來的重量偏大時,增加該數(shù)值。
- 31. //如果測試出來的重量偏小時,減小改數(shù)值。
- 32. //該值可以為小數(shù)
- 33. //#define GapValue 349
- 34. sbit LED=P1^1;
- 35. sbit ROW1=P3^0;
- 36. sbit ROW2=P3^1;
- 37. sbit ROW3=P3^2;
- 38. sbit DIAN = P0^6; //小數(shù)點
- 39.
- 40. volatile bit ClearWeighFlag = 0; //傳感器調(diào)零標(biāo)志位,清除0漂
- 41.
- 42. /******************把數(shù)據(jù)保存到單片機內(nèi)部eeprom中******************/
- 43. void write_eeprom()
- 44. {
- 45. SectorErase(0x1080);
- 46. GapValue1=GapValue&0x00ff;
- 47. byte_write(0x1000, GapValue1);
- 48. GapValue1=(GapValue&0xff00)>>8;
- 49. byte_write(0x1001, GapValue1);
- 50. byte_write(0x1060, a_a);
- 51. }
復(fù)制代碼 附錄三 電子元器件清單
7*9萬用板
STC89C51單片機
40腳IC座
12MHz晶振
30pF瓷片電容*2
10uF電解電容
100uF電解電容
0.36四位一體共陽數(shù)碼管
5V有源蜂鳴器
9012三極管*5
5mm紅發(fā)紅LED
按鍵*4
10k電阻*3
2.2k電阻*6
HX711模塊
4P單排母座
6P單排母座
壓力傳感器(含支架)
自鎖開關(guān)
DC電源插座
USB電源線
導(dǎo)線
焊錫
以上的圖文的word格式的文檔下載(不含程序):
基于51單片機數(shù)字電稱.docx
(2.94 MB, 下載次數(shù): 475)
2017-10-23 20:55 上傳
點擊文件名下載附件
|