電子秤是將檢測與轉(zhuǎn)換技術、計算機技術、信息處理、數(shù)字技術等技術綜合一體的現(xiàn)代新型稱重儀器。它與我們?nèi)粘I罹o密結合息息相關。
電子稱主要以單片機作為中心控制單元,通過稱重傳感器進行模數(shù)轉(zhuǎn)換單元,在配以鍵盤、顯示電路及強大軟件來組成。電子稱不但計量準確、快速方便,更重要的自動稱重、數(shù)字顯示,對人們生活的影響越來越大,廣受歡迎。
本系統(tǒng)的設計主要從硬件電路設計,軟件編程調(diào)試,實物焊接調(diào)試三部分進行詳細闡述。硬件電路主要是基于單片機STC89S52為核心的控制單元實現(xiàn)數(shù)據(jù)的處理,采用壓力傳感器對數(shù)據(jù)進行采集,電子秤專用24位AD轉(zhuǎn)換芯片HX711對傳感器采集到的模擬量進行AD轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)據(jù)送到單片機進行處理顯示,數(shù)據(jù)顯示由LCD1602液晶實現(xiàn),液晶顯示效果穩(wěn)定無閃爍。
1緒論 4
2 系統(tǒng)硬件方案設計 6
2.1系統(tǒng)總體設計方案比較與論證
2.2系統(tǒng)元器件選型及器件參數(shù)介紹
2.2.1單片機選型
2.2.2傳感器選擇
2.2.3 顯示器選擇
2.2.4 AD轉(zhuǎn)換芯片選擇
2.2.5 時鐘芯片選擇
3系統(tǒng)硬件電路設計 17
3.1系統(tǒng)電源電路設計
3.2系統(tǒng)串口程序下載電路設計
3.3單片機控制電路設計
3.4系統(tǒng)顯示電路設計
3.5超重報警提示電路設計
3.6按鍵輸入電路設計
3.7系統(tǒng)硬件電路的繪制與PCB制作
3.7.1 Protel99SE軟件介紹
3.7.2系統(tǒng)原理圖與PCB的繪制
4 系統(tǒng)軟件設計
4.1系統(tǒng)主程序軟件流程圖
4.2系統(tǒng)按鍵檢測部分流程圖
5 系統(tǒng)整體調(diào)試
5.1硬件電路調(diào)試中遇到的問題
5.2系統(tǒng)實物調(diào)試效果圖
5.3系統(tǒng)設計總結
參考文獻
圖1 數(shù)碼管顯示方案
圖2帶有鍵盤輸入的結構簡圖
圖3帶有鍵盤輸入及液晶顯示的結構簡圖
鑒于上述三種方案的優(yōu)缺點,本系統(tǒng)在設計時充分考慮到系統(tǒng)的實用性及成本的可行性的前提下,設計完成了最終的電子稱方案,最終的硬件設計方案圖如圖4所示,該方案增加了電子日歷功能,從而使本系統(tǒng)的設計功能得到了很好的擴展與應用。
圖3系統(tǒng)設計硬件框圖
單片機的選擇在整個系統(tǒng)設計中至關重要,要滿足大內(nèi)存、高速率、通用性、價格便宜等要求,鑒于以上考慮本課題選擇AT89S52作為整個系統(tǒng)的主控芯片。
AT89S52是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含8k Bytes ISP(In-system programmable)的可反復擦寫10000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結構[1],芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S52可為許多嵌入式控制應用系統(tǒng)提供高性價比的解決方案。AT89S52芯片具有以下特性[2]:
①指令集和芯片引腳與Intel公司的8051兼容;
②8KB片內(nèi)在系統(tǒng)可編程Flash程序存儲器;
③時鐘頻率為0~33MHz;
④128字節(jié)片內(nèi)隨機讀寫存儲器(RAM);
⑤32個可編程輸入/輸出引腳;
⑥2個16位定時/計數(shù)器;
⑦6個中斷源,2級優(yōu)先級;
⑧全雙工串行通信接口;
⑨監(jiān)視定時器;
⑩2個數(shù)據(jù)指針。
AT89S52單片機的40個引腳中有2個專用于主電源引腳,2個外接晶振的引腳,4個控制或與其它電源復用的引腳,以及32條輸入輸出I/O引腳。
方案一 數(shù)碼管顯示
數(shù)碼管是一種半導體發(fā)光器件,其基本單元是發(fā)光二極管。數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應用時應將公共極COM接到+5V,當某一字段發(fā)光二極管的陰極為低電平時,相應字段就點亮。當某一字段的陰極為高電平時,相應字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應用時應將公共極COM接到地線GND上,當某一字段發(fā)光二極管的陽極為高電平時,相應字段就點亮。當某一字段的陽極為低電平時,相應字段就不亮。
數(shù)碼管顯示信息有限,當顯示信息較多時需要多個數(shù)碼管級聯(lián)方可,這樣會造成硬件連接復雜,成本增加;數(shù)碼管對大部分字符不能很好的顯示,動態(tài)掃描時處理不好易出現(xiàn)閃爍現(xiàn)象。
方案二 LCD字符液晶顯示
采用點陣字符型 LCD 液晶顯示,液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富等特點,現(xiàn)在字符型液晶顯示模塊已經(jīng)是單片機應用設計中最常用的信息顯示器件,但采用LCD液晶顯示會造成設計成本增加。
LCD1602可以顯示2行 16 個字符,有 8 位數(shù)據(jù)總線 D0-D7,和 RS、R/W、 EN 三個控制端口,工作電壓為 5V,并且?guī)в凶址麑Ρ榷日{(diào)節(jié)和背光[4]。
具體引腳說明如表圖6所示。
圖5 LCD1602字符液晶引腳定義
LCD1602 液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了 160 個不同 的點陣字符圖形,如表 1 所示,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、 常用的符號、和日文假名等,每一個字符都有一個固定的代碼,它的讀寫操作、 屏幕和光標的操作都是通過指令編程來實現(xiàn)的。
最后綜合了多方面因素的考慮采用了方案二,選擇 LCD1602 顯示器作為系統(tǒng)的顯示界面。
2.2.4 AD轉(zhuǎn)換芯片選擇HX711是一款專為高精度電子秤而設計的24位A/D轉(zhuǎn)換器芯片。與同類型其它芯片相比,該芯片集成了包括穩(wěn)壓電源、片內(nèi)時鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、響應速度快、抗干擾性強等優(yōu)點。降低了電子秤的整機成本,提高了整機的性能和可靠性。該芯片與后端MCU 芯片的接口和編程非常簡單,所有控制信號由管腳驅(qū)動,無需對芯片內(nèi)部的寄存器編程。輸入選擇開關可任意選取通道A 或通道B,與其內(nèi)部的低噪聲可編程放大器相連。通道A 的可編程增益為128 或64,對應的滿額度差分輸入信號幅值分別為±20mV或±40mV。通道B 則為固定的64 增益,用于系統(tǒng)參數(shù)檢測。芯片內(nèi)提供的穩(wěn)壓電源可以直接向外部傳感器和芯片內(nèi)的A/D 轉(zhuǎn)換器提供電源,系統(tǒng)板上無需另外的模擬電源。芯片內(nèi)的時鐘振蕩器不需要任何外接器件。上電自動復位功能簡化了開機的初始化過程。芯片管腳圖如圖7所示。
圖6 HX711管腳定義
HX711典型應用電路如圖8所示。
圖7 HX711典型應用電路
2.2.5 時鐘芯片選擇DS1302是美國DALLAS公司推出的一種高性能、低功耗的實時時鐘芯片,附加31字節(jié)靜態(tài)RAM,采用SPI三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號和RAM數(shù)據(jù)。實時時鐘可提供秒、分、時、日、星期、月和年,一個月小與31天時可以自動調(diào)整,且具有閏年補償功能。工作電壓寬達2.5~5.5V。采用雙電源供電(主電源和備用電源),可設置備用電源充電方式,提供了對后背電源進行涓細電流充電的能力。 DS1302用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點的記錄上,能實現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時間同時記錄,因此廣泛應用于測量系統(tǒng)中。DS1302實物和管腳圖分別如圖9圖10所示。
圖8 DS1302實物圖
圖9 DS1302管腳定義
DS1302各引腳的功能為:
VCC1:備用電源;VCC2:主電源。當VCC2>VCC1+0.2V時,由VCC2向DS1302供電,當VCC2< VCC1時,由VCC1向DS1302供電。
SCLK:串行時鐘,輸入;
I/O:三線接口時的雙向數(shù)據(jù)線;
CE:輸入信號,在讀、寫數(shù)據(jù)期間,必須為高。該引腳有兩個功能:第一,CE開始控制字訪問移位寄存器的控制邏輯;其次,CE提供結束單字節(jié)或多字節(jié)數(shù)據(jù)傳輸?shù)姆椒ā?/font>
DS1302有關日歷、時間的寄存器共有12個,其中有7個寄存器(讀時81h~8Dh,寫時80h~8Ch),存放的數(shù)據(jù)格式為BCD碼形式。
由于該系統(tǒng)中 51 單片機及 AD 轉(zhuǎn)換芯片及液晶顯示器所需供電電壓均為 5V 電壓,所以要保證系統(tǒng)穩(wěn)定可靠的工作,需要設計一個可以穩(wěn)定提供 5V 電壓的供電系統(tǒng)。本設計采用雙電源接口供電方式,USB 接口供電方便程序調(diào)試,也可采用外置電源作為系統(tǒng)的供電電源,但是需另加三端穩(wěn)壓器件 LM7805 作為系統(tǒng)電源的穩(wěn)壓器件以保證系統(tǒng)電壓為穩(wěn)定的直流 5V 電壓,同時外置電源的輸出電壓要高于 5V輸出,系統(tǒng)電源輸入接口要加濾波電容以確保工作電壓穩(wěn)定。電源輸出接口加上LED 電源指示燈,用來判定電源是否正常工作。該系統(tǒng)電源電路設計如圖 11 所示。
圖10電源接口電路
C1,C2實現(xiàn)對電源濾波,以濾除可能存在的高頻雜波對電源的影響,C4實現(xiàn)對電源電壓的平滑穩(wěn)定作用[10],當USB接口輸出電壓高時C4用來儲能,當后續(xù)電路負載過高USB供電不足時電解電容C4通過釋放儲存的電能來保證電源電壓不跌落。LED0用作電源指示,其亮滅代表電源工作與否,R0用來限流,以保證LED不被燒壞[13]。
3.2系統(tǒng)串口程序下載電路設計
由于RS-232C的接口電平與TTL兼容接口電平標準不同,所以該接口與TTL兼容電平連接時需要電平轉(zhuǎn)換。MAX232 芯片是常用的轉(zhuǎn)換芯片。MAX232芯片是美信公司專門為電腦的RS-232標準串口設計的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電,該芯片引腳圖如圖12所示。
圖11 MAX232引腳圖
常見RS232串口通信電路連接方式如圖13所示。
圖12 RS232串口通信電路
該電路第一部分為電荷泵電路。由1、2、3、4、5、6腳和4只電容構成,功能是產(chǎn)生+12v和-12v兩個電源,提供給RS-232串口電平的需要;第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構成兩個數(shù)據(jù)通道,其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道,8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道,TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭,DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出;第三部分是供電。15腳GND、16腳+5V[5]。
3.3單片機控制電路設計系統(tǒng)主控電路由AT89S52單片機及晶振電路和復位電路組成,該電路作為整個系統(tǒng)功能實現(xiàn)的核心單元,其連接方式如圖14所示。
圖13單片機主控電路
晶振全稱為晶體振蕩器,其作用在于產(chǎn)生原始的時鐘頻率,這個頻率經(jīng)過頻率發(fā)生器的放大或縮小后就成了電腦中各種不同的總線頻率。晶振一般叫做晶體諧振器,是一種機電器件,是用電損耗很小的石英晶體經(jīng)精密切割磨削并鍍上電極焊上引線做成。這種晶體有一個很重要的特性,如果給它通電,它就會產(chǎn)生機械振蕩,反之,如果給它機械力,它又會產(chǎn)生電,這種特性叫機電效應。他們有一個很重要的特點,其振蕩頻率與他們的形狀,材料,切割方向等密切相關。由于石英晶體化學性能非常穩(wěn)定,熱膨脹系數(shù)非常小,其振蕩頻率也非常穩(wěn)定,由于控制幾何尺寸可以做到很精密,因此,其諧振頻率也很準確。根據(jù)石英晶體的機電效應,我們可以把它等效為一個電磁振蕩回路,即諧振回路。他們的機電效應是機-電-機-電..的不斷轉(zhuǎn)換,由電感和電容組成的諧振回路是電場-磁場的不斷轉(zhuǎn)換。在電路中的應用實際上是把它當作一個高Q值的電磁諧振回路。由于石英晶體的損耗非常小,即Q值非常高,做振蕩器用時,可以產(chǎn)生非常穩(wěn)定的振蕩,作濾波器用,可以獲得非常穩(wěn)定和陡削的帶通或帶阻曲線[10]。
復位電路是用來讓單片機返回到初始狀態(tài)的輔助電路,其作用是當單片機程序跑飛或系統(tǒng)出現(xiàn)死機狀態(tài)時可以讓系統(tǒng)從新恢復工作。本系統(tǒng)復位電路的設計具有上電復位和手動按鍵復位兩種復位方式。
3.4系統(tǒng)顯示電路設計顯示部分采用LCD1602液晶顯示模塊,液晶板上排列著若干 5×7或 5×10點陣的字符顯示位,每個顯示位可顯示1個字符,從規(guī)格上分為每行 8、16、20、24、32、40位,有一行、兩行及四行三類。其與單片機的連接電路如圖15所示
圖14系統(tǒng)狀態(tài)顯示電路圖
1腳和2腳為液晶1602地和電源引腳,3腳為背光調(diào)節(jié)引腳,通過10K電位器接地,背光可通過電位器來調(diào)節(jié)亮度;4腳、5腳、6腳為液晶片選控制引腳,分別連接到單片機的P2.0、P2.1、P2,2端口,7~14腳為數(shù)據(jù)接口,與單片機的P0口相連實現(xiàn)數(shù)據(jù)的傳輸,15、16、腳為液晶的背光控制腳,分別接到電源和地[9]。
報警指示電路用來在稱重測量超出最高值時報警提示,以免重量太高的情況下?lián)p壞傳感器。報警指示電路由PNP三極管9012驅(qū)動蜂鳴器來實現(xiàn),單片機IO口控制三極管的基極,當單片機的IO口輸出為低電平時,三極管導通,蜂鳴器的正極與電源接通,蜂鳴器通電發(fā)出報警聲,當單片機IO口輸出高電平時,三極管截止,蜂鳴器停止報警。報警指示電路如圖16所示。
圖15報警指示電路
3.6按鍵輸入電路設計
電子稱按鍵功能分配如下表所示:
此電子秤是開機檢測托盤重量,并將托盤重量清零(即電子秤每次開機后檢測托盤重量,并程序中自動將托盤重量保存在一個變量中,稱量過程中每次都將獲得的重量減去托盤重量,而得到所要稱量物體的真正的重量),
計算功能:在正確輸入了單價之后,按下計算按鍵,將會計算出金額,并在液晶顯示器上顯示出重量、單價、總價。
電子日歷時鐘鍵盤面板:
設置 | + | — |
|
|
|
|
|
對應矩陣鍵盤按鍵
S1 | S2 | S3 |
|
|
|
|
|
通過設置按鍵可以切換日期、星期、時間的設置,通過加減鍵來進行各個狀態(tài)的調(diào)節(jié)。
3.7系統(tǒng)硬件電路的繪制與PCB制作本文在硬件電路的設計過程中,原理圖和PCB的繪制采用Protel99SE軟件,Protel99SE是應用于Windows9X/2000/NT操作系統(tǒng)下的EDA設計軟件,該軟件以其簡單易操作的優(yōu)勢一直以來備受電子工程師的喜愛,因而也成了很多高校電子相關專業(yè)EDA工具的必選課程。
3.7.2系統(tǒng)原理圖與PCB的繪制采用Protel99SE軟件繪制原理圖和PCB的主要步驟如下所述:
按照如上步驟最終完成繪制的電路原理圖如圖18所示,PCB線路板圖如圖19所示。
本電子稱設計采用C語言編程,編譯環(huán)境為keil UV3。
keil c51 是美國Keil Software 公司出品的51 系列兼容單片機C 語言軟件開發(fā)系統(tǒng),和匯編相比,C 在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。
Keil c51 軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows 界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到keil c51 生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。
Keil C51 可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE 本身或其它編輯器編輯C 或匯編源文件,然后分別有C51 及A51 編輯器編譯連接生成單片機可執(zhí)行的二進制文件(.HEX),然后通過單片機的燒寫軟件將HEX 文件燒入單片機內(nèi)。軟件主要三個方面:一是初始化系統(tǒng);二是按鍵檢測;三是數(shù)據(jù)采集、數(shù)據(jù)處理并進行顯示。這三個方面的操作分別在主程序中來進行。程序采用模塊化的結構,這樣程序結構清楚,易編程和易讀性好,也便于調(diào)試和修改。
4.1系統(tǒng)主程序軟件流程圖經(jīng)過不懈的努力和導師的細心指導,實物最終得以調(diào)試成功,最終完成的實物效果圖如圖23
在此設計過程中,鞏固了我在大學4年內(nèi)學過的知識,尤其是單片機和C語言編程方面的知識,同時通過這次畢設提高了單片機編程的能力,尤其是獲得的軟件調(diào)試經(jīng)驗,同時了解到了其它相關領域的知識,對今后的工作學習有著極大的幫助。
由于時間太倉促,經(jīng)驗不足,理論方面也相應的存在不足,加上條件有限,仍存在著一些設計方面的問題,個人技能也有待提高。理論知識還要鞏固加強。但是寶貴的實踐經(jīng)驗還是對自己的提高有著極大的幫助。
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |