版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于單片機的自動售賣機系統(tǒng)的設(shè)計目錄TOC\o"1-3"\h\u280661.緒論 131391.1選題研究背景及意義 1322081.2國內(nèi)外發(fā)展現(xiàn)狀及趨勢 2242701.3本文主要研究內(nèi)容 22802.系統(tǒng)方案設(shè)計與藍(lán)牙技術(shù) 3224902.1主控模塊選型 3128942.2顯示模塊選型 4326142.3自動售賣機系統(tǒng)總體設(shè)計 5224692.4無線通信方式及藍(lán)牙技術(shù) 5206622.5APPInventor2開發(fā)工具 6241633.系統(tǒng)硬件電路設(shè)計 740453.1系統(tǒng)主控芯片介紹 7246883.2最小系統(tǒng)電路 890403.3液晶顯示電路 10209973.4按鍵電路 11242853.5蜂鳴器報警電路 12124473.6繼電器控制電路 13186663.7藍(lán)牙選型與使用 14133224.系統(tǒng)程序設(shè)計 171494.1軟件開發(fā)環(huán)境 17131564.2貨物選擇流程 18192234.3投幣系統(tǒng)流程 19182504.4找零系統(tǒng)流程 19198995.系統(tǒng)調(diào)試 20149695.1系統(tǒng)硬件調(diào)試 20247015.2系統(tǒng)軟件調(diào)試 2193165.3Android軟件調(diào)試 2217336.結(jié)論 231.緒論1.1選題研究背景及意義據(jù)相關(guān)資料表明,自動售賣機的起源時間是在公元1世紀(jì),經(jīng)由希臘人希羅發(fā)明。可是由于當(dāng)時的社會發(fā)展程度仍然比較落后,很多物質(zhì)條件也極為匱乏,更缺少科學(xué)技術(shù)條件的有力支持,使得長久以來自動售賣機的發(fā)展進(jìn)程十分的緩慢。直到20世紀(jì)70年代,隨著科學(xué)技術(shù)的快速發(fā)展和物質(zhì)條件的不斷豐盛,人們開始注意到這么一個方便快捷的商業(yè)零售形式,自動售賣機的現(xiàn)代化發(fā)展進(jìn)程也因此在日本和歐美等發(fā)達(dá)國家和地區(qū)得以順利推進(jìn)。二十一世紀(jì)以來,隨著生活節(jié)奏逐漸變得越來越快,人們也可開始對于時間也越來越來重視,消費者和公司面臨的一個普遍問題是如何更快地購買需要的產(chǎn)品,因此技術(shù)已經(jīng)相對成熟和穩(wěn)定的自動售貨機在更多的國家和地區(qū)也得到了快速的推廣和普及。隨著科學(xué)技術(shù)的進(jìn)步以及人們生活水平的急劇變化,自動售貨機行業(yè)變得越來越多樣化和個性化,自助購物正逐漸成為人們的現(xiàn)代市場時尚。在如今如此快節(jié)奏的生活里,人們對于高質(zhì)量的生活也有了新的追求,自動售貨機的出現(xiàn)正好滿足了人們的這種追求,在商業(yè)街、風(fēng)景區(qū)、航站樓和火車站等地點,自動售賣機的出現(xiàn)不僅僅對人們生活起到了便捷的作用,同是也已經(jīng)成為城市的一道風(fēng)景線。自動售貨機是集成機械、電子和計算機一體的智能化商品,他的出現(xiàn),不僅僅便捷了人們的日常生活,同時體現(xiàn)了一個國家的商業(yè)自動化發(fā)展的水平。同時,自動售貨機的出現(xiàn)可以彌補商品售賣過程中人力短缺的問題,通常一個商店至少需要兩到三個營業(yè)員,負(fù)責(zé)商品的擺放和銷售,這無疑增加了商品銷售過程中的成本,同時還面臨著商品丟失的風(fēng)險,自動售貨機恰恰可以彌補這些缺點,一個自動售貨機只需要定期補貨,無需其他人力資源,降低了銷售過程中的成本的問題。此外,實體商店很少可以做到24小時營業(yè),而自動售賣機因其無需人員管理,恰恰彌補了這一缺點,雖然其工作時需要一直通電,無人購買時會有額外的電量損耗,但是相比實體商店雇傭人員的支出,這些成本微乎其微。自動售貨機的出現(xiàn),符合現(xiàn)代社會發(fā)展的趨勢,逐步通過機器取締簡單、重復(fù)的體力勞動力,將人力集中到重點資源上面,提高社會生產(chǎn)效率。近年來,隨著計算機技術(shù)的進(jìn)步,人們的生活水平穩(wěn)步提高。尤其是5G技術(shù)的出現(xiàn),人們在追求高質(zhì)量的生活的同時,也開始逐漸重視生活方式的便捷和舒適性,對便捷的生活方式也提高了關(guān)注,智能化已經(jīng)成為一個炙手可熱的話題,在生活智能化中,自動售貨系統(tǒng)是其一個至關(guān)重要的發(fā)展方向[1]1.2國內(nèi)外發(fā)展現(xiàn)狀及趨勢在我國國內(nèi),自動售貨機在所謂的掀起了“第三次零售業(yè)革命”后已經(jīng)成為了一個躋身于超市和百貨商店之上的具有非常廣闊的前景的新興行業(yè)。從形式上的更新到內(nèi)容上的豐富都帶來了很大突破。因為受地域影響小,自動售貨機售賣的商品種類可以根據(jù)不同的地區(qū)來具體供應(yīng),包括各種飲料、零食、電子產(chǎn)品、計生用品等都可以作為其銷售的對象[1]。在20世紀(jì)初,通過手機、英特網(wǎng)購物的消費方式在國內(nèi)開始相繼出現(xiàn),因為這種需求的誕生,國內(nèi)的相關(guān)公司已著手研制出此種類型的自動售貨機[2]。這樣的新興自動售貨機在方便顧客消費購物的同時也充當(dāng)著廣告?zhèn)鞑サ男滦兔浇椤獾淖詣邮圬洐C行業(yè)發(fā)展比較成熟和發(fā)達(dá)。例如從自動售貨機的機型上來說,在日本國內(nèi)就已經(jīng)達(dá)到了2000多種。而且所售的商品種類已經(jīng)高達(dá)6000多種。更是在由于無所不在的自動售貨機為人們提供了24小時的服務(wù)而特別受歡迎。而在比較發(fā)達(dá)的美國,光是提供自動售貨機服務(wù)的運營商就多達(dá)10800家[3],自動售貨機在國內(nèi)外的受歡迎程度已經(jīng)達(dá)到一個高度。1.3本文主要研究內(nèi)容本文研究的是通過STC89C52單片機控制的自動售賣機。采用keilUvision4來進(jìn)行C語言程序的編譯調(diào)試,通過AltiumDesigner電路連接來設(shè)計系統(tǒng)電路。通過單片機與輸入模塊、輸出顯示模塊、藍(lán)牙模塊的連接來系統(tǒng)模擬自動售賣這一功能。設(shè)計從能根據(jù)投入的錢幣自動售賣的機器。用按鍵來模擬貨物種類以及數(shù)量的選擇,再通過按鍵來模擬投幣功能。用LCD1602作為輸出顯示模塊,通過液晶顯示來明確按鍵的功能以及自動售賣機的購貨狀態(tài)等。用LED燈和繼電器來表示出貨狀態(tài),上述過程通過手機APP也可以進(jìn)行操作,因為貨幣識別功能是在自動售賣機的外部硬件電路方面來加以具體實施的,而本設(shè)計是模擬自動售賣機的功能,所以不考慮貨幣識別的模塊設(shè)計[4]。2.系統(tǒng)方案設(shè)計與藍(lán)牙技術(shù)2.1主控模塊選型在本系統(tǒng)的設(shè)計與實驗中,主控模塊作為核心器件相當(dāng)于人類的大腦一樣負(fù)責(zé)指令的發(fā)出與轉(zhuǎn)發(fā)功能,所以主控芯片的選型尤為重要,既要考慮到資源夠用又要考慮到價格成本。在本次設(shè)計中主要對以下芯片進(jìn)行分析并最終做出選擇。(1)FPGAFPGA全稱為現(xiàn)場可編程邏輯門陣列,屬于專用集成電路中的半定制電路,可對其進(jìn)行無限次擦除和讀寫操作。FPGA的出現(xiàn)使得定制芯片不足以及可編程邏輯門電路數(shù)目不足的問題得到了有效的解決,各種檔次的芯片也為設(shè)計提供了更多的選擇。FPGA具有多種分類方法,有國產(chǎn)和國外兩大類。國產(chǎn)比較著名的FPGA廠商有紫光同創(chuàng)、上海安路、京微雅格、易靈思等,國外我們常用且比較著名的FPGA廠商有Xilinx和Altera。(2)PLC在美國汽車行業(yè)以及其它工業(yè)在快速發(fā)展的同時,PLC技術(shù)也得到了快速的發(fā)展。在上世紀(jì)六十年代,美國眾多汽車生產(chǎn)企業(yè)紛紛發(fā)現(xiàn),在自家的汽車生產(chǎn)線上存在著控制系統(tǒng)優(yōu)化升級以及修改難的問題,于是提出了著名的“通用十條”招標(biāo)指標(biāo),第二年,就已經(jīng)有公司針對該問題提出了解決方案,也就是目前的PLC技術(shù)。和所有單片機一樣由CPU、內(nèi)存、輸入輸出、電源、數(shù)?;蚰?shù)轉(zhuǎn)換等模塊構(gòu)成。在PLC誕生初期由于其只具備邏輯設(shè)計的能力,所以命名為可編程邏輯控制器,但是隨著社會的發(fā)展以及應(yīng)用范圍的推廣現(xiàn)在PLC已經(jīng)具備了時序控制、模擬控制等功能,因此名稱也更改為可編程控制器。目前這兩種名字都可以用來表示PLC。在目前PLC廣泛應(yīng)用于大型工業(yè)場所,其穩(wěn)定性和安全性比其他類型單片機要好很多,但并不適應(yīng)于移動設(shè)備或小型設(shè)備。(3)STM32STM32系列芯片是上世紀(jì)八十年代被ST公司首先提出的一種新興處理器芯片的概念,而這種芯片的內(nèi)部核心以ARM公司的芯片作為內(nèi)核。在STM32概念被提出之后,該系列芯片迅速崛起風(fēng)靡整個電子設(shè)計市場。在較長一段時間內(nèi)STM32芯片占據(jù)了大部分的電子設(shè)計市場,其中以STM32F103和STM32F407系列最受追捧。而STM32也分為基礎(chǔ)性和增強型,基礎(chǔ)型芯片是目前較為常用的一種,而增強型的STM32芯片最高時鐘頻率可達(dá)72MHz,并且還可以進(jìn)行超頻使用。在性能提升的同時,功耗卻能保持較低水平,經(jīng)過專業(yè)測評運行相同程序時STM32的功耗極低。(4)DSPDSP芯片是一種用于精密數(shù)字處理的一款芯片,其內(nèi)部采用哈弗結(jié)構(gòu)并且內(nèi)置了專用乘法器,因此在進(jìn)行數(shù)字處理時效果尤其顯著。在應(yīng)用方面DSP應(yīng)用較為廣泛,但多數(shù)情況下應(yīng)用于數(shù)字信號處理中的濾波器、時頻域變換、譜分析、圖像處理等。與其他類型芯片相比,DSP具有集成度高、穩(wěn)定性好、處理精度高等優(yōu)點。(5)51單片機51單片機所有工科專業(yè)接觸的第一類單片機,這是一類泛稱,指的是所有兼容8051指令的單片機。Intel的8004單片機是這一類單片機的第一款,當(dāng)時能實現(xiàn)的功能和性能都很有限,目前市場上比較常見的51單片機主要有Intel的80C、87C系列,ATMEL的89C、89S系列,Philips、華邦、Dallas、Siemens等,但最常用的應(yīng)當(dāng)屬于國產(chǎn)宏晶的STC系列。雖然目前科學(xué)技術(shù)已經(jīng)發(fā)展到較高的水平,但是51系列單片機因為其價格低廉在電子市場仍占據(jù)較為重要的地位,價格低廉的同時也就限制了其性能。通過對上述幾種類型的單片機在性能、價格、功耗等方面的對比,結(jié)合本項目實際使用情況,決定選擇51系列芯片作為本項目的主控芯片。2.2顯示模塊選型為了滿足系統(tǒng)設(shè)計要求且能夠直觀看到系統(tǒng)運行的當(dāng)前狀態(tài),需要通過顯示裝置來對數(shù)據(jù)進(jìn)行顯示。如我們通過顯示器可以操作電腦一樣,在電子設(shè)計中,常用來對數(shù)據(jù)進(jìn)行顯示的設(shè)備有以下四種,每種顯示設(shè)備的優(yōu)缺點以及設(shè)計難度各有不同,下面針對這四種顯示設(shè)備進(jìn)行簡單描述。(1)LED點陣通常用作指示燈使用,其功耗低驅(qū)動簡單。隨著單片機性能和人們需求的增加,LED燈也開始朝著顯示的方向發(fā)展,其顯示原理是利用一個個小的LED燈珠搭建成大型LED矩陣,通過控制LED矩陣中部分LED燈的亮滅和顏色來實現(xiàn)顯示屏的效果,這種形式的顯示利用的是照片像素的原理,每個LED燈當(dāng)作一個像素點。雖然單個LED燈驅(qū)動簡單,就像電子學(xué)習(xí)的第一課都是點亮LED燈一樣,但是當(dāng)拼湊成矩陣后想要顯示不同圖形難度則直線上升,并且想要通過LED矩陣來顯示數(shù)據(jù)體積也過大。(2)OLED液晶顯示屏是近幾年在電子設(shè)計上流行起來的一種顯示方式。OLED(OrganicLight-EmittingDiode)又稱是激光顯示或發(fā)光半導(dǎo)體顯示,其原理是通過注入不同的載流子相結(jié)合產(chǎn)生發(fā)光的現(xiàn)象。這種顯示屏具有較多有點,如顯示內(nèi)容多且豐富,顯示畫質(zhì)更加細(xì)致,在現(xiàn)在很多設(shè)計中使用。(3)LCD液晶顯示屏,這種顯示屏又常常被成為LCD1602,其功能如名字一樣,是LCD的顯示方式,由于使用歷史較久,開發(fā)歷程非常成熟,可直接借鑒別人的歷程拿來直接使用,所以在開發(fā)難易程度上較容易,并且這種顯示裝置價格低廉,顯示數(shù)據(jù)也較為清晰,并且進(jìn)展用較少的單片機I/O口。(4)LED數(shù)碼管,也是電子類學(xué)生最先接觸的電子元器件類型之一,這種數(shù)碼管也常被成為八段管,顧名思義,利用八段發(fā)光二極管燈組合成一位,通過控制八個發(fā)光二極管的不同亮滅位置可以顯示出不同的數(shù)字。通過若干個數(shù)碼管拼接可用來顯示一串?dāng)?shù)字。復(fù)用引腳可大大節(jié)約單片機I/O口的使用。通過對幾種顯示器件的分析,結(jié)合本設(shè)計中僅需要對數(shù)值進(jìn)行顯示,所以選擇LCD1602顯示屏作為本設(shè)計的顯示設(shè)備。2.3自動售賣機系統(tǒng)總體設(shè)計本系統(tǒng)由STC89C52單片機、LCD1602液晶顯示、按鍵、蜂鳴器報警、繼電器及藍(lán)牙組成。系統(tǒng)框圖如下圖2-1所示。圖2-1系統(tǒng)框圖系統(tǒng)通過按鍵模擬貨物選擇,一共有三種貨物可供選擇,分別為貨物A、貨物B和貨物C,三種貨物對應(yīng)的價格分別為1元、2元和5元,通過確認(rèn)按鍵確認(rèn)選擇貨物,貨物選擇完成后,按下付款按鍵進(jìn)入付款界面,系統(tǒng)通過3個按鍵模擬3種不同面值的貨幣,分別為1元、2元和5元,輸入金額完成后,再次點擊付款按鍵進(jìn)行付款,若付款金額大于等于貨物總額,則單片機控制繼電器吸合,同時LED燈亮,表示出貨,同時LCD液晶屏幕顯示找零金額,若付款金額小于貨物總額,則單片機控制蜂鳴器報警,表示當(dāng)前金額輸入不足。2.4無線通信方式及藍(lán)牙技術(shù)無線組網(wǎng)技術(shù)包括多種方式,其中包括藍(lán)牙通信或者通信。聯(lián)網(wǎng)是目前家庭采用的普遍的聯(lián)網(wǎng)方式。ESP8266是一個高性價比的Wi-Fi微控制器芯片,它的組成是由可聯(lián)網(wǎng)的微控制器模塊,具有授權(quán)IoT的能力,連接各種對象之間的信息交換[10]。(1)藍(lán)牙:藍(lán)牙是RS-232電纜的無線替代品,用于小范圍內(nèi)從固定和移動電子設(shè)備發(fā)送數(shù)據(jù)的一種開放的無線技術(shù)。藍(lán)牙與各種電子設(shè)備進(jìn)行通信,能夠在2.4GHz頻帶內(nèi)運行的個人網(wǎng)絡(luò)。操作范圍則取決于設(shè)備類別。(2)Wi-Fi:Wi-Fi通信速度可以達(dá)到11Mb/s,既是一種無線網(wǎng)絡(luò)技術(shù),也是一種通信協(xié)議,在數(shù)據(jù)安全性方面,它不如藍(lán)牙安全。(3)NFC:NFC只是幾英寸的無線通信技術(shù),并且廣泛用于平板電腦,相機和消費電子產(chǎn)品。NFC可用于身份識別,移動支付,火車和公交車票以及其他電子交易。由上述可知,不同無線通信技術(shù)在各個領(lǐng)域都有較好的應(yīng)用,安全性NFC最高,通信距離Wi-Fi和藍(lán)牙比較遠(yuǎn)。簡而言之,藍(lán)牙是一種無線通信協(xié)議,因此它能夠與其他支持藍(lán)牙的設(shè)備進(jìn)行通信,如電腦、手機等設(shè)備。這樣一來,藍(lán)牙就類似于我們?nèi)粘J褂玫钠渌W(wǎng)絡(luò)協(xié)議,如http、ftp、smtp或imap。低復(fù)雜性、低消耗和低成本是其主要屬性[6]。點對點和點對多的通信可以通過藍(lán)牙技術(shù)進(jìn)行。最初,人們考慮的是電線替代技術(shù)。最常見的說法是,一臺裝有藍(lán)牙的電腦,有許多電腦設(shè)備,包括筆記本電腦、鼠標(biāo)、鍵盤、打印機、掃描儀等。這種電腦,被稱為"無繩電腦",有藍(lán)牙卡。在這些設(shè)備之間,沒有電線連接。藍(lán)牙確保了它們之間的無線連接,取代了有線線通信[7]。一個射頻芯片和一個基帶芯片組成藍(lán)牙的硬件。發(fā)送、接收和監(jiān)控是其主要功能。為了在藍(lán)牙模塊中實現(xiàn)數(shù)據(jù)傳輸,硬件接口必須是USB或RS323接口,因為RS323接口的帶寬不足,盡管數(shù)據(jù)傳輸受到影響[8]。原則上,USB的傳輸速率可以達(dá)到12Mb/s,這樣常規(guī)的數(shù)據(jù)傳輸是足夠的,不會出現(xiàn)速率瓶頸。單片機或其他一些有USB接口的設(shè)備都可以用藍(lán)牙模塊連接。只要我們在藍(lán)牙中擁有USB驅(qū)動,我們就可以輕松地進(jìn)行藍(lán)牙模塊的創(chuàng)建。2.5APPInventor2開發(fā)工具AppInventor2是一款具有圖形化、模塊化特點的Android應(yīng)用開發(fā)工具。與傳統(tǒng)的代碼編程不同,AppInventor2中的編程是通過可視化的對各種模塊進(jìn)行拼接來實現(xiàn)的,并且通過這些模塊定義來實現(xiàn)不同的功能。結(jié)構(gòu)主義的學(xué)習(xí)理論是AppInventor的創(chuàng)建依據(jù),該理論強調(diào)主動學(xué)習(xí),認(rèn)為編寫程序?qū)⒊蔀榧ぐl(fā)強大思想的有效工具。在此理論的積極影響下,從20世紀(jì)60年代開始,在MIT的Logo小組以及Logo語言發(fā)明人SeymourPapert的積極努力下,一系列與計算機及教育有關(guān)的活動在整個美國相繼發(fā)展起來,并一直持續(xù)至今。包括樂高頭腦風(fēng)暴機器人(LegoMindstorms)、StarLogo語言以及AppInventor在內(nèi)的一系列與學(xué)習(xí)有關(guān)的發(fā)明,都是這些活動的組成部分。AppInventor最初是在2009年由麻省理工學(xué)院(MIT)的HalAbelson教授主導(dǎo)的一個實驗項目開始的。谷歌實驗室(GoogleLab)在2010年12月5日AppInventor對外公測,后來由于谷歌調(diào)整業(yè)務(wù)發(fā)展,在2012年1月1日將該項目移交給麻省理工學(xué)院移動學(xué)習(xí)中心(MITCenterforMobileLearning)。2012年3月4日,MITAppInventor正式開放使用。2013年12月,麻省理工學(xué)院推出了新的AppInventor版本——AppInventor2(以下簡稱AI2)和新的AppInventor2官方網(wǎng)站。并將之前的版本稱為AppInventorClassic或AppInventor1(以下簡稱AI1),目前MIT已經(jīng)停止對AppInventor1提供技術(shù)支持。在AppInventor2中的應(yīng)用程序設(shè)計是通過一系列的圖形界面實現(xiàn)的,而且AppInventor2不只是一個原型系統(tǒng)或界面設(shè)計器,也可以用于創(chuàng)建各類完整的應(yīng)用。它所使用的塊語言提供了所有基礎(chǔ)的編程指令,如循環(huán)及條件,只是以“塊”的方式來呈現(xiàn)。傳統(tǒng)的Android應(yīng)用的開發(fā)工具主要有AndroidStudio、intellijidea、Eclipse等。在這些工具平臺上進(jìn)行Android軟件開發(fā)具有一定的難度,需要開發(fā)者具備一定的軟件開發(fā)知識和經(jīng)驗,但隨著AppInventor2開發(fā)工具的出現(xiàn),將非專業(yè)程序員編寫Android應(yīng)用軟件的可能變成了現(xiàn)實。本文出于路線簡潔、開發(fā)快捷的目的,決定采用AppInventor2開發(fā)工具進(jìn)行自動售賣機系統(tǒng)的開發(fā)[9]。雖然AppInventor2的操作比較簡約,但它實現(xiàn)的功能并不簡單[10],它同樣提供了循環(huán)、條件以及其它組件及邏輯結(jié)構(gòu),可以開發(fā)出邏輯結(jié)構(gòu)較為復(fù)雜的應(yīng)用。本文采用AppInventor2為基礎(chǔ)進(jìn)行編程,大大降低了開發(fā)門檻,在短時間內(nèi)就可以創(chuàng)建出功能強大的Android端應(yīng)用。AppInventor2是完全基于瀏覽器的開發(fā)Android應(yīng)用工具(也叫云端開發(fā)),只要能訪問AppInventor2云端官方服務(wù)器(但由于受實際國際互聯(lián)網(wǎng)的影響,該網(wǎng)站在國內(nèi)經(jīng)常無法訪問[1],可訪問備用服務(wù)器或),同時AppInventor2也是一個開源軟件,有開發(fā)者整合了離線開發(fā)包,可以下載并安裝離線開發(fā)包在沒有互聯(lián)網(wǎng)環(huán)境時脫機開發(fā)[12]。圖2-2AppInventor3.系統(tǒng)硬件電路設(shè)計3.1系統(tǒng)主控芯片介紹STC89C52是宏晶科技公司生產(chǎn)的基于MSC-51指令系統(tǒng)的8位微控制器,與傳統(tǒng)的8位單片機相比,其內(nèi)部資源更為豐富,芯片具有8k字節(jié)程序存儲空間,512字節(jié)數(shù)據(jù)存儲空間,并且內(nèi)部還帶有EEPROM存儲空間。32條I/O口線,3個16位定時器/計數(shù)器,1個UART通信接口[13],4路外部中斷I/O,看門狗功能;并且具有ISP功能,具有6T/12T模式,指令訪問速度更快。STC89C52引腳圖如下圖3-1.1所示[14],實物圖如下圖3-1.2所示。圖3-1.1STC89C52引腳圖圖3-1.2STC89C52實物圖3.2最小系統(tǒng)電路單片機最小系統(tǒng)由三部分組成即:電源、晶振電路和復(fù)位電路[15]。STC89C52單片機工作電壓為3.4~5.5V,只要供電電壓處于單片機工作電壓范圍內(nèi),單片機即可以正常工作,本次設(shè)計采用5V電壓為整個系統(tǒng)供電,如下圖3-2所示。電源線一端為USB接口,可以與手機插頭、電腦USB端口或者充電寶充電口相連,電源線另一端與DC接口接口連接,為系統(tǒng)提供電源輸入,其中,LED燈作為電源指示燈,當(dāng)電源開關(guān)按下,紅色指示燈亮起,當(dāng)電源開關(guān)彈起,紅色指示燈熄滅。由于LED工作電流為1~20mA,因此在電路中串聯(lián)一個1k電阻,防止電路電流過大,導(dǎo)致LED指示燈燒壞[16]。圖3-2電源電路微控制器從晶振獲得系統(tǒng)時鐘信號,根據(jù)晶體振蕩器是否包含振蕩器,可以將其分為有源晶振或無源晶振。有源晶振是一個完整的振蕩器,可以在不使用時鐘電路的情況下產(chǎn)生震蕩信號。無源晶振不是一個完整的振蕩器,需要使用時鐘電路的情況下產(chǎn)生震蕩信號。與無源晶振相比,有源晶振的信號穩(wěn)定但是振蕩信號的頻率是固定的并且不能被修改,并且其成本更高。基于以上原因,設(shè)計過程中經(jīng)常使用無源晶振。通過數(shù)據(jù)手冊可知,在51系列單片機中,晶振輸入引腳為18和19號引腳,晶振電路如下圖3-3所示,本次設(shè)計采用12M無源晶振,電容選擇30pf。圖3-3最小系統(tǒng)電路系統(tǒng)復(fù)位電路如圖3-3所示,主要由電阻和電容組成。系統(tǒng)復(fù)位可以分為三種,分別為上電復(fù)位,按鍵復(fù)位和軟件復(fù)位。上電復(fù)位:系統(tǒng)接通電源的一瞬間,電容進(jìn)行充電,電流由電源正極流過電容和電阻,因此RST端為高電平,在這個期間,系統(tǒng)完成數(shù)次上電復(fù)位,當(dāng)電壓穩(wěn)定后,由于電容具有通交流,隔直流的特性,RST引腳為低電平,因此系統(tǒng)正常工作[17]。手動復(fù)位時,當(dāng)按鍵S1按下后,電容C1首先進(jìn)行放電,此時RST引腳為高電平,當(dāng)按鍵S1松開后,與上電復(fù)位類似,電容C1首先進(jìn)行充電,RST引腳為高電平,當(dāng)充電完成后,RST引腳為低電平,系統(tǒng)正常工作,軟件復(fù)位,例如看門狗復(fù)位,當(dāng)程序長時間沒有響應(yīng),看門狗程序就會自動復(fù)位。由數(shù)據(jù)手冊可知,系統(tǒng)完成復(fù)位需要在RST引腳保持兩個機器周期的高電平。由圖3-1可知,復(fù)位電路電容采用10pF,電阻為10KΩ,則復(fù)位時間為10ms,遠(yuǎn)大于兩個機器周期。3.3液晶顯示電路顯示模塊可以選擇的種類較多,有數(shù)碼管、LCD1602、液晶屏、點陣,本次設(shè)計中,應(yīng)考慮到能力有限以及功能需求簡單,故排除數(shù)碼管、點陣,在LCD1602和液晶屏兩者中,因為液晶屏的控制相對復(fù)雜,故最終選擇了LCD1602,LCD1602的命名由來是因為該模塊是一個點陣,可以上下同時顯示兩行,每行16個,故取名LCD1602,當(dāng)然不僅僅可以顯示數(shù)字,也可以顯示數(shù)字和符號的,常見的LCD1602模塊有兩類,一個是5*7,另一個是5*11,5*7代表的是5行7列的點陣。在市場上運用最為廣泛的LCD驅(qū)動芯片就是HD44780LCD芯片。控制原理簡單,就是對對應(yīng)的點位進(jìn)行點亮或者關(guān)閉,來實現(xiàn)數(shù)字的顯示。LCD1602模塊的優(yōu)勢不僅僅在于外圍電路簡單微功耗、體積小,更因為它顯示內(nèi)容豐富、超薄輕巧,被市場檢驗后廣泛運用與袖珍式儀表系統(tǒng)中。因此,在本設(shè)計中作者選用了該顯示模塊,其連接結(jié)構(gòu)如圖3-4.1所示,實物圖如圖3-4.2所示。圖3-4.1液晶顯示電路圖3-4.2LCD1602實物圖LCD1602共有16個引腳,具體引腳說明如下表3-1所示。表3-1LCD1602引腳說明編號符號引腳說明編號符號引腳說明1VSS電源地9D2DataI/O2VDD電源正極10D3DataI/O3VL液晶顯示偏壓信號11D4DataI/O4RS數(shù)據(jù)/命令選擇12D5DataI/O5RW讀/寫選擇端13D6DataI/O6E使能引腳14D7DataI/O7D0DataI/O15BLA背光電源正極8D1DataI/O16BLK背光電源負(fù)極3.4按鍵電路單片機系統(tǒng)設(shè)計中,人機交互作為一個不可或缺的內(nèi)容,通常由按鍵完成人機交互設(shè)計。按鍵通??梢苑譃閮煞N,獨立式按鍵和陣列式按鍵。顧名思義,獨立式按鍵就是每一個按鍵與單片機I/O口連接,單片機通過讀取I/O口高低電平變化,即可判斷按鍵是否被按下。在51單片機種,系統(tǒng)上電之后I/O默認(rèn)輸出高電平,因此按鍵一端與單片機I/O口連接,另一端與GND連接,當(dāng)按鍵沒有被按下時候,單片機I/O口為高電平,當(dāng)按鍵被按下,I/O口由高電平變?yōu)榈碗娖?,因此?dāng)單片機檢測到對應(yīng)的I/O口變?yōu)榈碗娖綍r,既可以判斷按鍵被按下。陣列式按鍵通過行列組合方式與單片機連接,單片機通過對行列掃描,判斷哪個I/O口被按下,相比獨立式按鍵,陣列式按鍵占用I/O口較少,當(dāng)單片機I/O口不足時,通常采用陣列式按鍵。由于本次設(shè)計剩余I/O口充足,因此采用獨立式按鍵,電路如下圖3-5所示。6個按鍵依次連接在P1.0~P1.5,單片機只需讀取對應(yīng)I/O口的高低電平,就可以判斷哪個按鍵被按下。圖3-5按鍵電路3.5蜂鳴器報警電路蜂鳴器可以分為兩種,有源蜂鳴器和無源蜂鳴器。本次工程設(shè)計中所采用的報警控制模塊為5V有源式蜂鳴器,在工作中,蜂鳴器靠9021三極管進(jìn)行驅(qū)動。當(dāng)核心控制單元引腳輸出信號為低電平時,蜂鳴器就會通電工作,反之不會發(fā)生報警。通過控制核心控制單元的引腳方波輸出方法可以實現(xiàn)針對蜂鳴器鳴叫形式的改變。實物與電路如圖3-6所示[18]。圖3-6蜂鳴器報警電路3.6繼電器控制電路一般來說,電磁繼電器由鐵架、主軸、銜鐵、簧片觸點和其他元件組成??蚣苡秒姶拍芸朔椈蓪﹁F心的拉回,從而使框架移動,吸引動觸點和靜觸點(常開觸點)[19]。如果主軸兩邊有一定的張力,主軸可以通過電流的一些電磁效應(yīng)。銜鐵會在電磁吸力的作用下克服彈簧對鐵芯的返回拉力,從而帶動銜鐵的動觸頭和靜觸頭(常當(dāng)線圈關(guān)閉時,電磁吸力停止,銜鐵在彈簧的反作用力下返回原位,使動觸頭和原靜觸頭得到釋放[20]。對于繼電器的“常開常閉”觸點,可區(qū)分為:當(dāng)繼電器線圈未通電時,處于斷開狀態(tài)的靜態(tài)觸點稱為“常開觸點”,處于接通狀態(tài)的靜態(tài)觸點稱為“常閉觸點”。繼電器一般有兩個回路,分別為低壓控制電路和高壓工作回路[21]。由于單片機I/O口輸出電流較小,無法驅(qū)動繼電器,因此本次設(shè)計采用三極管驅(qū)動繼電器,電路圖如下圖3-7所示,當(dāng)單片機I/O輸出低電平時侯,三極管導(dǎo)通,控制繼電器吸合,同時LED指示燈亮,當(dāng)I/O口輸出高電平時,三極管截至,繼電器斷開[22]。圖3-7繼電器控制電路3.7藍(lán)牙選型與使用HC-05藍(lán)牙串行通信模塊基于BluetoothSpecificationV2.0構(gòu)建,并包括用于EDR藍(lán)牙協(xié)議的數(shù)字傳輸模塊。最大發(fā)射功率為4dBm,接收靈敏度為-85dBm,板上有一個PCB天線,可以進(jìn)行10m的距離通信[10]。HC-05如下圖3-8所示[23]。圖3-8HC-05藍(lán)牙模塊HC-05模塊用于代替全雙工通信時的物理連線,如下圖3-9所示。左側(cè)單片機、MCU等設(shè)備通過TXD端口向HC-05模塊發(fā)送串口數(shù)據(jù),模塊RXD端口接收到數(shù)據(jù)后,通過無線電波的方式,自動將數(shù)據(jù)發(fā)送到空中,右側(cè)模塊通過TXD端口接收到數(shù)據(jù)后,還原左側(cè)設(shè)備發(fā)送的數(shù)據(jù),從右側(cè)設(shè)備向左側(cè)發(fā)送數(shù)據(jù)也是同樣原理[24]。圖3-9HC-05工作原理圖(1)模塊與單片機MCU等設(shè)備的連接圖3-10HC-05與單片機連接當(dāng)模塊用3.3V電源系統(tǒng)連到MCU時,能通過串口交叉連接(模塊的RX連接到MCU的TX,模塊的TX連接到MCU的RX)。模塊與5VMCU系統(tǒng)連時,可在模塊的RX交叉連接,模塊的TX與MCU的TX串聯(lián)一個1k電阻,模塊的TX與MCU的RX直接連,無需串聯(lián)電阻[25]。(2)藍(lán)牙模塊連接通訊圖3-11模塊連接設(shè)置一個為主機,一個為從機,配對碼一致(默認(rèn)均為1234),波特率一致,上電即可自動連接。HC-05支持一對一連接。在連接模式CMODE為0時,主機第一次連接后,會自動記憶配對對象,如需連接其他模塊,必須先清除配對記憶[26]。在連接模式CMODE為1時,主機則不受綁定指令設(shè)置地址的約束,可以與其他從機模塊連接。HC-05-USB默認(rèn)為主機,HC-05默認(rèn)為從機。設(shè)一主一從,配對碼一致,波特率一致,開機自動連。HC-05支持一對一連。當(dāng)連接模式CMODE設(shè)置為0時,主機將在第一次連接后記住配對對象。但是,如果要綁定其他模塊,則必須首先清除配對存儲器。當(dāng)連接模式CMODE設(shè)置為1時,主機不受綁定命令指定的地址的綁定,并且可以自由連接到其他從模塊。HC-05-USB是默認(rèn)主機,而HC-05是默認(rèn)從機[27]。(3)模塊與手機連接通信圖3-12HC-05與手機連接HC-05可以與安卓手機自帶藍(lán)牙連接,通訊測試可以使用安卓串口助手軟件[27]。(4)模塊與手機PC連接通信圖3-13HC-05與PC連接HC-05直接連接電腦需借助HC-05-USB藍(lán)牙虛擬串口與電腦相連,HC-05也可直接連接電腦的自帶藍(lán)牙設(shè)備進(jìn)行通訊[28]。4.系統(tǒng)程序設(shè)計4.1軟件開發(fā)環(huán)境(1)Keil4軟件Keil4由Keil軟件公司研發(fā)。該軟件框架主要采用C語言。Keil4主要由鏈接器和編譯器組成。此外,Keil4還有一個高效的仿真調(diào)試器。軟件Keil4的開發(fā)方案是非常完善的。圖4-1顯示了Keil4開發(fā)環(huán)境的界面[29]。圖4-1Keil軟件界面本次設(shè)計采用C語言編程,它可以實現(xiàn)模塊編程,簡化了開難度,同時C程序執(zhí)行效率較高,各大主流軟件中,C編程都占據(jù)著重要的地位,連續(xù)多年占據(jù)著最受歡迎編程語言第一名[30]。(2)AltiumDesigner軟件AltiumDesigner原名為Protel,是一款一體化的電子開發(fā)系統(tǒng),以計算機為操作平臺,AltiumDesigner在單一環(huán)境中集成了板級系統(tǒng)設(shè)計、FPGA系統(tǒng)設(shè)計、PCB版圖設(shè)計和制造。將計算機技術(shù)、電子技術(shù)、設(shè)計流程、以及可編程的硬件集合到一個開發(fā)環(huán)境中[31],使用戶的開發(fā)省去了大量的時間和精力,AltiumDesigner還配有專業(yè)PCB電路設(shè)計軟件,用戶在計算機上進(jìn)行電路設(shè)計,通過仿真來獲得重要的參數(shù)以及關(guān)鍵點的電流電壓數(shù)據(jù),不需要連接實際電路,節(jié)約了費用和時間,能及時的發(fā)現(xiàn)自己的問題,縮短了開發(fā)時間,直到最終獲得最佳的設(shè)計效果[32]。AltiumDesigner擁有十分完備的芯片庫元器件庫,支持目前所有芯片的開發(fā)使用,是目前電子產(chǎn)品開發(fā)最完整的軟件,如圖4.2所示就是用該軟件設(shè)計的電路圖[33]。圖4-2AltiumDesigner軟件界面4.2貨物選擇流程本次設(shè)計可以通過按鍵進(jìn)行貨物選擇,貨物選擇流程如下圖4-32所示,當(dāng)按鍵按下,進(jìn)入貨物選擇流程,第一個按鍵選擇商品種類,一共有三種價格的貨物,分別為1元,2元和5元,流程圖以1元貨物為例,第二個按鍵為商品確認(rèn)按鍵,按鍵點擊一次選擇一個貨物,多次點擊可以選擇多件貨物。圖4-3貨物選擇流程4.3投幣系統(tǒng)流程商品選擇完成后進(jìn)入投幣流程,本次設(shè)計通過按鍵模擬系統(tǒng)投幣,按鍵3、按鍵4和按鍵5分別代表1元、2元和5元面值貨幣,投幣流程如下圖4-4所示,當(dāng)代表某一面值的按鍵按下,投幣金額則對應(yīng)累加相應(yīng)面值的貨幣,與貨物選擇類似,若代表1元面值按鍵按下,則累計金額加1,可以通過多次按下進(jìn)行累加,投幣結(jié)束后,按下確認(rèn)按鍵,若投幣金額大于貨物金額,進(jìn)入找零流程,否則蜂鳴器報警提示投幣金額不足。圖4-4投幣流程4.4找零系統(tǒng)流程找零流程圖如下圖4-5所示,若投幣金額等于貨物選擇金額,則Led燈亮,表示出貨,若投幣金額大于貨物選擇金額,則LCD液晶屏幕顯示找零金額,同時Led燈亮表示出貨。圖4-5出貨找零流程5.系統(tǒng)調(diào)試5.1系統(tǒng)硬件調(diào)試將每一部分的模塊先進(jìn)行測試,檢測基本功能是否可以實現(xiàn),在此基礎(chǔ)上,將各部分模塊連接在一起進(jìn)行整機的調(diào)試。對照電路原理圖,認(rèn)真把各個元器件焊接,注意有無連接錯誤,最常出現(xiàn)的問題就是有錯線、斷路和短路的情況[34]。另外一個關(guān)鍵點就是芯片引腳問題,這一點是至關(guān)重要的,比方供電引腳接錯了,容易燒毀芯片。在檢查時,針對斷路或短路問題,使用的是數(shù)字萬用表,當(dāng)萬用表響時,說明電路短路了。在電路連接正確的情況下接通電源。注意,通過了上一步的電路焊接檢查后,在接通電源后不要上來就測量,因為元器件也會有偶然的故障問題,先查看有無異?,F(xiàn)象發(fā)生(冒煙,異常氣味,發(fā)燙等現(xiàn)象)[35]。一旦出現(xiàn)這些故障現(xiàn)象,要馬上停止供電,待故障排除后方可繼續(xù)實驗。在第一次通電時,就出現(xiàn)了發(fā)燙的問題,經(jīng)過多次檢查,才發(fā)現(xiàn)是單片機接反了。根據(jù)每個模塊的功能,對單個模塊分別進(jìn)行調(diào)試,按照順序?qū)Ω髂K依次進(jìn)行測試,這樣方便檢查出是哪部分出問題,有針對性解決[36]。完成后的系統(tǒng)實物圖如圖5-1所示。圖5-1系統(tǒng)實物圖5.2系統(tǒng)軟件調(diào)試以Keil4為開發(fā)平臺,我們將需要仿真的各個參數(shù)設(shè)置好,然后將我們所寫好的代碼生成hex文件,然后通過STC-ISP燒錄到芯片中。由于程序較為復(fù)雜,所以難免會遇到各種各樣的問題,這個時候就要一步步的分析出錯的原因,通過查看寄
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中醫(yī)兒科學(xué)試題庫+參考答案
- 2026年工程地質(zhì)三維建模的數(shù)據(jù)來源與處理
- 2026年結(jié)構(gòu)抗震設(shè)計中的隔震技術(shù)
- 2026年房價上漲的背后房地產(chǎn)市場深度分析
- 2026上半年貴州事業(yè)單位聯(lián)考安順市招聘601人備考題庫完整參考答案詳解
- 2026云南紅河州個舊市醫(yī)療衛(wèi)生共同體乍甸分院編外工作人員招聘1人備考題庫含答案詳解(培優(yōu)a卷)
- 2026年工程地質(zhì)應(yīng)用中的技術(shù)動態(tài)
- 2026廣東東莞市石碣鎮(zhèn)招聘編外聘用人員5人備考題庫帶答案詳解(突破訓(xùn)練)
- 工業(yè)余熱回收項目在造紙行業(yè)的綠色生產(chǎn)技術(shù)應(yīng)用可行性研究
- 2026上半年海南事業(yè)單位聯(lián)考中共海南三亞市委社會工作部面向全國招聘下屬事業(yè)單位工作人員2人備考題庫(第1號)帶答案詳解(完整版)
- 學(xué)堂在線 雨課堂 學(xué)堂云 極區(qū)航海導(dǎo)航保障 期末考試答案
- 機關(guān)單位普通密碼設(shè)備管理制度
- 支氣管哮喘防治指南(2024年版)解讀
- 【指導(dǎo)規(guī)則】央企控股上市公司ESG專項報告參考指標(biāo)體系
- 土地管理學(xué)課件
- 村莊規(guī)劃搬遷方案
- 融資租賃實際利率計算表
- 民爆物品倉庫安全操作規(guī)程
- von frey絲K值表完整版
- 勾股定理復(fù)習(xí)導(dǎo)學(xué)案
- 第二章單自由度系統(tǒng)振動
評論
0/150
提交評論