圖1 數(shù)碼管顯示方案
圖2帶有鍵盤輸入的結(jié)構(gòu)簡(jiǎn)圖
圖3帶有鍵盤輸入及液晶顯示的結(jié)構(gòu)簡(jiǎn)圖
鑒于上述三種方案的優(yōu)缺點(diǎn),本系統(tǒng)在設(shè)計(jì)時(shí)充分考慮到系統(tǒng)的實(shí)用性及成本的可行性的前提下,設(shè)計(jì)完成了最終的電子稱方案,最終的硬件設(shè)計(jì)方案圖如圖4所示,
圖3系統(tǒng)設(shè)計(jì)硬件框圖
2.2系統(tǒng)元器件選型及器件參數(shù)介紹2.2.1單片機(jī)選型單片機(jī)的選擇在整個(gè)系統(tǒng)設(shè)計(jì)中至關(guān)重要,要滿足大內(nèi)存、高速率、通用性、價(jià)格便宜等要求,鑒于以上考慮本課題選擇ST89C52作為整個(gè)系統(tǒng)的主控芯片。
ST89C52是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含8k Bytes ISP(In-system programmable)的可反復(fù)擦寫(xiě)10000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu)[1],芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的ST89C52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。ST89C52芯片具有以下特性[2]:
①指令集和芯片引腳與Intel公司的8051兼容;
②8KB片內(nèi)在系統(tǒng)可編程Flash程序存儲(chǔ)器;
③時(shí)鐘頻率為0~33MHz;
④128字節(jié)片內(nèi)隨機(jī)讀寫(xiě)存儲(chǔ)器(RAM);
⑤32個(gè)可編程輸入/輸出引腳;
⑥2個(gè)16位定時(shí)/計(jì)數(shù)器;
⑦6個(gè)中斷源,2級(jí)優(yōu)先級(jí);
⑧全雙工串行通信接口;
⑨監(jiān)視定時(shí)器;
⑩2個(gè)數(shù)據(jù)指針。
ST89C52單片機(jī)的40個(gè)引腳中有2個(gè)專用于主電源引腳,2個(gè)外接晶振的引腳,4個(gè)控制或與其它電源復(fù)用的引腳,以及32條輸入輸出I/O引腳。
方案一 數(shù)碼管顯示
數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極(COM)的數(shù)碼管。共陽(yáng)數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。
數(shù)碼管顯示信息有限,當(dāng)顯示信息較多時(shí)需要多個(gè)數(shù)碼管級(jí)聯(lián)方可,這樣會(huì)造成硬件連接復(fù)雜,成本增加;數(shù)碼管對(duì)大部分字符不能很好的顯示,動(dòng)態(tài)掃描時(shí)處理不好易出現(xiàn)閃爍現(xiàn)象。
方案二 LCD字符液晶顯示
采用點(diǎn)陣字符型 LCD 液晶顯示,液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富等特點(diǎn),現(xiàn)在字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件,但采用LCD液晶顯示會(huì)造成設(shè)計(jì)成本增加。
LCD1602可以顯示2行 16 個(gè)字符,有 8 位數(shù)據(jù)總線 D0-D7,和 RS、R/W、 EN 三個(gè)控制端口,工作電壓為 5V,并且?guī)в凶址麑?duì)比度調(diào)節(jié)和背光[4]。
具體引腳說(shuō)明如表圖6所示。
圖6 LCD1602字符液晶引腳定義
LCD1602 液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了 160 個(gè)不同 的點(diǎn)陣字符圖形,如表 1 所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、 常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,它的讀寫(xiě)操作、 屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。
最后綜合了多方面因素的考慮采用了方案二,選擇 LCD1602 顯示器作為系統(tǒng)的顯示界面。
2.2.4 AD轉(zhuǎn)換芯片選擇HX711是一款專為高精度電子秤而設(shè)計(jì)的24位A/D轉(zhuǎn)換器芯片。與同類型其它芯片相比,該芯片集成了包括穩(wěn)壓電源、片內(nèi)時(shí)鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、響應(yīng)速度快、抗干擾性強(qiáng)等優(yōu)點(diǎn)。降低了電子秤的整機(jī)成本,提高了整機(jī)的性能和可靠性。該芯片與后端MCU 芯片的接口和編程非常簡(jiǎn)單,所有控制信號(hào)由管腳驅(qū)動(dòng),無(wú)需對(duì)芯片內(nèi)部的寄存器編程。輸入選擇開(kāi)關(guān)可任意選取通道A 或通道B,與其內(nèi)部的低噪聲可編程放大器相連。通道A 的可編程增益為128 或64,對(duì)應(yīng)的滿額度差分輸入信號(hào)幅值分別為±20mV或±40mV。通道B 則為固定的64 增益,用于系統(tǒng)參數(shù)檢測(cè)。芯片內(nèi)提供的穩(wěn)壓電源可以直接向外部傳感器和芯片內(nèi)的A/D 轉(zhuǎn)換器提供電源,系統(tǒng)板上無(wú)需另外的模擬電源。芯片內(nèi)的時(shí)鐘振蕩器不需要任何外接器件。上電自動(dòng)復(fù)位功能簡(jiǎn)化了開(kāi)機(jī)的初始化過(guò)程。芯片管腳圖如圖7所示。
圖7 HX711管腳定義
HX711典型應(yīng)用電路如圖8所示。
圖8 HX711典型應(yīng)用電路
3系統(tǒng)硬件電路設(shè)計(jì)3.1系統(tǒng)電源電路設(shè)計(jì)由于該系統(tǒng)中 51 單片機(jī)及 AD 轉(zhuǎn)換芯片及液晶顯示器所需供電電壓均為 5V 電壓,所以要保證系統(tǒng)穩(wěn)定可靠的工作,需要設(shè)計(jì)一個(gè)可以穩(wěn)定提供 5V 電壓的供電系統(tǒng)。本設(shè)計(jì)采用USB供電方式,USB 接口供電方便程序調(diào)試,電源輸接口加上LED 電源指示燈,用來(lái)判定電源是否正常工作。該系統(tǒng)電源電路設(shè)計(jì)如圖 11 所示。
3.3單片機(jī)控制電路設(shè)計(jì)
系統(tǒng)主控電路由STC89C52單片機(jī)及晶振電路和復(fù)位電路組成,該電路作為整個(gè)系統(tǒng)功能實(shí)現(xiàn)的核心單元,其連接方式如圖14所示。
圖14單片機(jī)主控電路
晶振全稱為晶體振蕩器,其作用在于產(chǎn)生原始的時(shí)鐘頻率,這個(gè)頻率經(jīng)過(guò)頻率發(fā)生器的放大或縮小后就成了電腦中各種不同的總線頻率。晶振一般叫做晶體諧振器,是一種機(jī)電器件,是用電損耗很小的石英晶體經(jīng)精密切割磨削并鍍上電極焊上引線做成。這種晶體有一個(gè)很重要的特性,如果給它通電,它就會(huì)產(chǎn)生機(jī)械振蕩,反之,如果給它機(jī)械力,它又會(huì)產(chǎn)生電,這種特性叫機(jī)電效應(yīng)。他們有一個(gè)很重要的特點(diǎn),其振蕩頻率與他們的形狀,材料,切割方向等密切相關(guān)。由于石英晶體化學(xué)性能非常穩(wěn)定,熱膨脹系數(shù)非常小,其振蕩頻率也非常穩(wěn)定,由于控制幾何尺寸可以做到很精密,因此,其諧振頻率也很準(zhǔn)確。根據(jù)石英晶體的機(jī)電效應(yīng),我們可以把它等效為一個(gè)電磁振蕩回路,即諧振回路。他們的機(jī)電效應(yīng)是機(jī)-電-機(jī)-電..的不斷轉(zhuǎn)換,由電感和電容組成的諧振回路是電場(chǎng)-磁場(chǎng)的不斷轉(zhuǎn)換。在電路中的應(yīng)用實(shí)際上是把它當(dāng)作一個(gè)高Q值的電磁諧振回路。由于石英晶體的損耗非常小,即Q值非常高,做振蕩器用時(shí),可以產(chǎn)生非常穩(wěn)定的振蕩,作濾波器用,可以獲得非常穩(wěn)定和陡削的帶通或帶阻曲線[10]。
復(fù)位電路是用來(lái)讓單片機(jī)返回到初始狀態(tài)的輔助電路,其作用是當(dāng)單片機(jī)程序跑飛或系統(tǒng)出現(xiàn)死機(jī)狀態(tài)時(shí)可以讓系統(tǒng)從新恢復(fù)工作。本系統(tǒng)復(fù)位電路的設(shè)計(jì)為上電復(fù)位復(fù)位方式。按鍵復(fù)位就沒(méi)有太大必要使用看,所以沒(méi)有設(shè)計(jì)按鍵復(fù)位。
3.4系統(tǒng)顯示電路設(shè)計(jì)顯示部分采用LCD1602液晶顯示模塊,液晶板上排列著若干 5×7或 5×10點(diǎn)陣的字符顯示位,每個(gè)顯示位可顯示1個(gè)字符,從規(guī)格上分為每行 8、16、20、24、32、40位,有一行、兩行及四行三類。其與單片機(jī)的連接電路如圖15所示
圖15系統(tǒng)狀態(tài)顯示電路圖
1腳和2腳為液晶1602地和電源引腳,3腳為背光調(diào)節(jié)引腳,通過(guò)10K電位器接地,背光可通過(guò)電位器來(lái)調(diào)節(jié)亮度;4腳、5腳、6腳為液晶片選控制引腳,分別連接到單片機(jī)的P2.5、P2.6、P2,7端口,7~14腳為數(shù)據(jù)接口,與單片機(jī)的P0口相連實(shí)現(xiàn)數(shù)據(jù)的傳輸,15、16、腳為液晶的背光控制腳,分別接到電源和地[9]。
報(bào)警指示電路用來(lái)在稱重測(cè)量超出最高值時(shí)報(bào)警提示,以免重量太高的情況下?lián)p壞傳感器。報(bào)警指示電路由PNP三極管9S8550驅(qū)動(dòng)蜂鳴器來(lái)實(shí)現(xiàn),單片機(jī)IO口控制三極管的基極,當(dāng)單片機(jī)的IO口輸出為低電平時(shí),三極管導(dǎo)通,蜂鳴器的正極與電源接通,蜂鳴器通電發(fā)出報(bào)警聲,當(dāng)單片機(jī)IO口輸出高電平時(shí),三極管截止,蜂鳴器停止報(bào)警。報(bào)警指示電路如圖16所示。
圖16報(bào)警指示電路
3.6按鍵輸入電路設(shè)計(jì)按鍵輸入電路用來(lái)在電子稱測(cè)量過(guò)程中輸入單價(jià)值,按鍵輸入電路采用4*4矩陣鍵盤實(shí)現(xiàn),矩陣鍵盤電路如圖17所示。
圖17按鍵輸入電路
電子稱按鍵功能分配如下表所示:
此電子秤是開(kāi)機(jī)檢測(cè)托盤重量,并將托盤重量清零(即電子秤每次開(kāi)機(jī)后檢測(cè)托盤重量,并程序中自動(dòng)將托盤重量保存在一個(gè)變量中,稱量過(guò)程中每次都將獲得的重量減去托盤重量,而得到所要稱量物體的真正的重量),
計(jì)算功能:在正確輸入了單價(jià)之后,按下計(jì)算按鍵,將會(huì)計(jì)算出金額,并在液晶顯示器上顯示出重量、單價(jià)、總價(jià)。
本電子稱設(shè)計(jì)采用C語(yǔ)言編程,編譯環(huán)境為keil UV3。
keil c51 是美國(guó)Keil Software 公司出品的51 系列兼容單片機(jī)C 語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),和匯編相比,C 在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。
Keil c51 軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows 界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到keil c51 生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。
Keil C51 可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程。開(kāi)發(fā)人員可用IDE 本身或其它編輯器編輯C 或匯編源文件,然后分別有C51 及A51 編輯器編譯連接生成單片機(jī)可執(zhí)行的二進(jìn)制文件(.HEX),然后通過(guò)單片機(jī)的燒寫(xiě)軟件將HEX 文件燒入單片機(jī)內(nèi)。軟件主要三個(gè)方面:一是初始化系統(tǒng);二是按鍵檢測(cè);三是數(shù)據(jù)采集、數(shù)據(jù)處理并進(jìn)行顯示。這三個(gè)方面的操作分別在主程序中來(lái)進(jìn)行。程序采用模塊化的結(jié)構(gòu),這樣程序結(jié)構(gòu)清楚,易編程和易讀性好,也便于調(diào)試和修改。
4.1系統(tǒng)主程序軟件流程圖經(jīng)過(guò)不懈的努力和導(dǎo)師的細(xì)心指導(dǎo),實(shí)物最終得以調(diào)試成功,最終完成的實(shí)物效果圖如圖23所示。
在此畢業(yè)設(shè)計(jì)過(guò)程中,鞏固了我在大學(xué)4年內(nèi)學(xué)過(guò)的知識(shí),尤其是單片機(jī)和C語(yǔ)言編程方面的知識(shí),同時(shí)通過(guò)這次畢設(shè)提高了單片機(jī)編程的能力,尤其是獲得的軟件調(diào)試經(jīng)驗(yàn),同時(shí)了解到了其它相關(guān)領(lǐng)域的知識(shí),對(duì)今后的工作學(xué)習(xí)有著極大的幫助。
由于時(shí)間太倉(cāng)促,經(jīng)驗(yàn)不足,理論方面也相應(yīng)的存在不足,加上條件有限,仍存在著一些設(shè)計(jì)方面的問(wèn)題,個(gè)人技能也有待提高。理論知識(shí)還要鞏固加強(qiáng)。但是寶貴的實(shí)踐經(jīng)驗(yàn)還是對(duì)自己的提高有著極大的幫助。
附錄
附錄1系統(tǒng)整體電路圖
致 謝
該電子秤控制系統(tǒng)的設(shè)計(jì)及論文的撰寫(xiě)是在我的導(dǎo)師老師的精心指導(dǎo)和悉心關(guān)懷下完成的,從論文的選題、研究、撰寫(xiě)到定稿,都得到了?老師細(xì)心指導(dǎo)。他寬厚待人,對(duì)學(xué)生關(guān)懷備至,在工作上精益求精,對(duì)學(xué)生嚴(yán)格要求,鼓勵(lì)學(xué)生學(xué)以致用,敢于實(shí)踐,勇于創(chuàng)新,在實(shí)踐中發(fā)現(xiàn)問(wèn)題、解決問(wèn)題。?老師具有豐富的科研經(jīng)驗(yàn)與理論水平,其開(kāi)明的學(xué)術(shù)思想、求實(shí)的科研作風(fēng)和對(duì)科學(xué)研究及發(fā)展趨勢(shì)的深刻認(rèn)識(shí)給我以極大的影響、啟迪和熏陶,令我受益匪淺。該設(shè)計(jì)及論文的圓滿完成是和?老師的細(xì)心關(guān)懷分不開(kāi)的。
在系統(tǒng)的設(shè)計(jì)和論文的研究工作中無(wú)不傾注著各位老師的心血和辛勤的汗水,各位老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、淵博的知識(shí)、生動(dòng)而滿富激情的授課方式,讓我四年里學(xué)到了扎實(shí)的理論知識(shí)。從各位尊敬的老師身上,我不僅學(xué)到了扎實(shí)的專業(yè)知識(shí)和豐富的實(shí)踐技能,也學(xué)到了很多做人的道理。在此,向給予我指導(dǎo)和幫助的各位老師致以最衷心的感謝和深深的敬意!
在這四年多的學(xué)習(xí)和研究工作中,也得到了學(xué)院的師兄弟們的關(guān)心和熱心幫助,在此向他們表示由衷的感謝!
最后,衷心感謝在百忙中評(píng)閱論文和參加答辯的各位專家、教授和同學(xué)!
單片機(jī)源碼:
完整的Word格式文檔51黑下載地址:
基于單片機(jī)的電子稱設(shè)計(jì).doc
(2.4 MB, 下載次數(shù): 27)
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |