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