數(shù)電自動售貨機報告課設(shè)_第1頁
數(shù)電自動售貨機報告課設(shè)_第2頁
數(shù)電自動售貨機報告課設(shè)_第3頁
數(shù)電自動售貨機報告課設(shè)_第4頁
數(shù)電自動售貨機報告課設(shè)_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、武漢理工大學(xué)數(shù)字電子技術(shù)課程設(shè)計課程設(shè)計任務(wù)書學(xué)生姓名:王耀輝專業(yè)班級:通信1304班指導(dǎo)教師:撒繼銘工作單位:信息工程學(xué)院題目:自動售貨飲料機控制電路的設(shè)計與實現(xiàn)初始條件:本設(shè)計既可以使用計數(shù)器、比較器、脈沖發(fā)生器等和必要的門電路等,也可以使用單片機系統(tǒng)構(gòu)建。用數(shù)碼管、LED燈顯示結(jié)果。要求完成的主要任務(wù):(包括課程設(shè)計工作量及技術(shù)要求,以及說明書撰寫等具體要1課程設(shè)計工作量:1周。2、 技術(shù)要求:1) 售貨機只接受5角和1元的硬幣,可以用按鈕代替硬幣的投入。投入硬幣的總金額用兩位數(shù)碼管顯示,最大投入金額為9.5元。2) 售貨機可以自動出售3種飲料,售價分別是0.5元,1元和1.5元。當(dāng)顧客

2、完成投幣后,根據(jù)投入金額,各飲料對應(yīng)的LED將亮起(如投入1元硬幣,0.5元和1元飲料的LED亮起,表示可以購買0.5元或1元飲料)。3) 顧客根據(jù)自身需要按下各飲料對應(yīng)的按鈕,每按一次掉出一瓶飲料,兩位數(shù)碼管顯示剩余金額,LED繼續(xù)指示可購飲料的種類;4) 顧客按下“找零”按鈕將使機器發(fā)出找零信號,兩位數(shù)碼管清零。5) 確定設(shè)計方案,按功能模塊的劃分選擇元、器件和中小規(guī)模集成電路,設(shè)計分電路,畫出總體電路原理圖,闡述基本原理。3、 查閱至少5篇參考文獻。按武漢理工大學(xué)課程設(shè)計工作規(guī)范要求撰寫設(shè)計報告書。全文用A4紙打印,圖紙應(yīng)符合繪圖規(guī)范。時間安排:1、2015年,月,日,布置課設(shè)具體實施計

3、劃與課程設(shè)計報告格式的要求說明。2、2015年A月一日至2015年7月一5日,方案選擇和電路設(shè)計。3、2015年八月_5_日至2015年八月_9_日:電路調(diào)試和設(shè)計說明書撰寫。4、2015年八月日,上交課程設(shè)計成果及報告,同時進行答辯。指導(dǎo)教師簽名:系主任(或責(zé)任教師)簽名摘要1ABSTRACT21緒論31.1 設(shè)計背景31.2 應(yīng)用前景31.3 設(shè)計目的和意義42總體方案設(shè)計52.1 自動售貨系統(tǒng)結(jié)構(gòu)52.2 方案比較選擇63單元電路設(shè)計83.1 硬件單元設(shè)計83.1.1 中央控制元件AT89C5283.1.2 AT89C52簡介83.1.3 主要特性93.1.4 管腳說明93.1.5 實驗

4、用模塊113.1.6 投幣購買以及清零模塊123.1.7 可供購買顯示模塊133.1.8 數(shù)碼管顯示模塊133.2 軟件單元電路143.2.1 編程語言與軟件143.2.3 protues簡介153.2.4 總體設(shè)計方案153.2.5 子程序設(shè)計方案164整體電路設(shè)計184.1 整體電路圖184.2 整體工作原理說明185Protues仿真結(jié)果與分析196實物焊接及調(diào)試236.1 實物焊接圖236.2 調(diào)試中出現(xiàn)的問題247總結(jié)與體會258參考文獻26附錄1元件清單27附錄2源程序28武漢理工大學(xué)數(shù)字電子技術(shù)課程設(shè)計摘要本文設(shè)計了一種以INTEL公司的AT89C52單片機為核心的自動飲料售貨機

5、裝置的控制系統(tǒng),詳細介紹了自動飲料售貨機控制系統(tǒng)的方案設(shè)計、硬件選擇、軟件規(guī)劃和編寫,并重點描述了自動飲料售貨機控制系統(tǒng)的工作原理、系統(tǒng)設(shè)計、軟件編程的原則和技巧。該系統(tǒng)以單片機AT89C52芯片為核心,采用集中控制方式實現(xiàn)了對自動飲料售貨機全過程的自動控制。本系統(tǒng)選擇6個獨立鍵盤按鍵作為貨幣投入端,飲料選擇端和清零端,實現(xiàn)了投幣,飲料選擇功能,用兩個7段共陽極數(shù)碼管顯示貨幣數(shù)以及找零數(shù),用三個LED燈顯示可供選擇的飲料。此外,系統(tǒng)程序采用KeiluVision4軟件進行程序的編寫和編譯,采用C語言編寫程序,用Proteus7軟件進行仿真,stcisp-v4.79軟件和USB轉(zhuǎn)串口線驅(qū)動軟件下

6、載程序??傮w來說,通過實物的安裝調(diào)試,本次課程設(shè)計基本達到了設(shè)計指標(biāo)要求,實現(xiàn)了投幣,選擇飲料,購買飲料,找零等功能。關(guān)鍵詞:自動售貨機,AT89C52單片機,C語言程序,數(shù)碼管顯示3ABSTRACTInthispaper,thedesignofthecontrolsystemofautomaticbeveragevendingmachineisbasedonINTELcompanyAT89C52microcontrollerasthecore.Itdetailedlydesctribesthebeveragevendingmachinesystemdesign,hardwareselecti

7、on,softwareplanningandpreparation,andemphaticallydescribestheprincipleandskillworkprinciple,beveragevendingmachinesystemdesign,softwareprogramming.ThesystemisbasedonAT89C52chipasthecore,adoptsthecentralizedcontrolmethodtorealizetheautomaticcontrolofthewholeprocessofbeveragevendingmachine.Inthissyste

8、m,sixindependentkeyboardkeysaretakenasmonetaryinputend,beverageofchoiceandclearterminal,torealizethecoin,beverageofchoicefunction.TwoofsevencommonanodeLEDaretaketodisplaycurrencyandthenumberofchange.Besides,ThreeLEDlightsaretakentodisplayalternativebeverage.Inaddition,ThesoftwareofKeiluVision4istake

9、ntoprepareandcompileprocedures,usingCIanguageprogram,ThesoftwareofProteusistakentosimulateinthesystem.Thesoftwareofstcisp-v4.79andUSBtoseriallinedriveraretakentodownloadprogramma.Ingeneral,thedesignrequirementsaremetinthecurriculumdesigninrealizingthesefunctionsinthecoin,drinkschoose,drinksbuyandcha

10、nge.KeyWords:AutomaticBeverageVendingMachine,AT89C52,CLanguage,DigitalTubeDisplay1緒論1.1 設(shè)計背景隨著勞動密集型的產(chǎn)業(yè)構(gòu)造向技術(shù)密集型社會轉(zhuǎn)變,自動售貨機日趨盛行,主要用于公共場合,且種類繁多。一般的自動售貨機由錢幣裝置、指示裝置、貯藏售貨裝置等組成。錢幣裝置是售貨機的核心,其主要功能是確認投入錢幣的真?zhèn)危诌x錢幣的種類,計算金額。如果投入的金額達到購買物品的數(shù)值即發(fā)出售貨信號,并找出余錢。指示裝置用以指示顧客所選商品的品種。貯藏售貨裝置保存商品,接收出售指示信號,把顧客選擇的商品送至付貨口。一般售貨機的錢幣

11、裝置由投幣口、選別裝置、確認錢幣真?zhèn)蔚臋z查裝置、計算金額的計算裝置和找錢裝置組成。70年代以來,出現(xiàn)了采用微型計算機控制的各種新型自動售貨機和利用信用卡代替錢幣并與計算機連接的更大規(guī)模的無人售貨系統(tǒng),如無人自選商場、車站的自動售票和檢票系統(tǒng)、銀行的現(xiàn)金自動支付機等。1.2 應(yīng)用前景現(xiàn)在,自動售貨機產(chǎn)業(yè)正在走向信息化并進一步實現(xiàn)合理化。例如實行聯(lián)機方式,通過電話線路將自動售貨機內(nèi)的庫存信息及時地傳送各營業(yè)點的電腦中,從而確保了商品的發(fā)送、補充和商品選定的順利進行。進入21世紀(jì)時,自動售貨機將進一步向節(jié)省資源和能源以及高功能化的方向發(fā)展。從自動售貨機的發(fā)展趨勢來看,大量生產(chǎn),大量消費以及消費模式和

12、銷售環(huán)境的變化,要求出現(xiàn)新的流通渠道,而相對的超市,百貨購物中心等新的流通渠道的產(chǎn)生,人工費用也不斷上升,在加上場地的局限性和購物的便利性等這些因素的制約,無人自動售貨機作為一種必須的機器也就有武漢理工大學(xué)數(shù)字電子技術(shù)課程設(shè)計了其相當(dāng)可觀的前景。1.3 設(shè)計目的和意義本次課程設(shè)計是自動飲料售貨機控制系統(tǒng),可用于簡單的自動飲料售貨機。本次設(shè)計采用手動按鍵控制,數(shù)碼管顯示,簡單清晰,操作簡潔,以AT89C52為核心,C語言編程,提高了系統(tǒng)的穩(wěn)定性,保證了自動售貨機能夠長期穩(wěn)定的運行,提高我們的編程能力以及實際動手能力,對數(shù)電,對0和1的世界有一個更新的認識。4武漢理工大學(xué)數(shù)字電子技術(shù)課程設(shè)計2總體

13、方案設(shè)計根據(jù)設(shè)計要求,自動售貨飲料機主要由四個模塊構(gòu)成,即投幣模塊、選擇購買模塊、找零模塊和顯示模塊(余額顯示和可購買類型指示燈顯示)。按照此思路,可以用數(shù)字芯片設(shè)計,也可以用單片機系統(tǒng)設(shè)計,兩種設(shè)計方案如下。2.1自動售貨系統(tǒng)結(jié)構(gòu)自動售貨機是集光、機、電一體化的獨立機構(gòu),它只需要顧客投幣和按購物鍵選擇即可自動售貨及退找零錢,其工作程序如圖1。顧署投幣計算累計段幣金額顯示可以購買的飲料r顧客迭擇購買飲料柏除飲料金額井顯示余額顧客選擇繼續(xù)購買飲斜、投幣或找零結(jié)束圖1自動售貨機工作程序售貨機的工作流程是:(1)用戶投幣口送入貨幣-按按鍵,程序自動計數(shù)(2根據(jù)金額LED顯示顯示可供選選擇的商品。(3

14、)顧客選擇商品,程序計算余額(4)數(shù)碼管顯示余額。(5)系統(tǒng)復(fù)零,完成售貨2.2方案比較選擇案;1:電路從兩部分輸入,第一部分通過開關(guān)閉合模擬投幣,投幣后進入計數(shù)器74LS161和二進制全加器74LS283進行累加,通過數(shù)碼管顯示投幣總值。再通過數(shù)值比較器74LS85比較可以購買不同價格的飲料類型。另一部分通過開關(guān)閉合模擬選擇飲料,選擇貨物后用編碼器和數(shù)碼管顯示飲料價格,最后將投幣總值和飲料價格一起通過減法器,做差值后顯示。原理框圖如圖2所示。圖2方案一原理框圖萬案2:用單片機實現(xiàn)自動售飲料功能,通過編寫程序來控制數(shù)碼管上金額的顯示和各種價格的飲料對應(yīng)的LED燈顯示,通過按鍵的操作來實現(xiàn)投幣,

15、買飲料和找零。原理框圖如圖3所示,系統(tǒng)搭建圖如圖4所示。46投幣數(shù)碼菅顯示余額購買按 鍵找零按 鍵單濟AT89C5可購買指示燈輸入控制圖3方案二原理框圖品振,復(fù) 位電路等輸出顯示外圍功能器件圖4單片機系統(tǒng)搭建圖分析得出,方案一和方案二都可行。但是,方案一需要使用74LS161,74LS283,74LS85等芯片,電路組成比較復(fù)雜,焊接電路花費的時間較長,不容易做出實物。而方案二使用單片機思路清晰,電路簡單易焊接。綜合考慮,我選擇方案二,因此,硬件需要按鍵控制,LED顯示,數(shù)碼管顯示和AT89C52核心芯片3單元電路設(shè)計3.1硬件單元設(shè)計3.1.1中央控制元件AT89C52本次設(shè)計中,中央控制元

16、件采用MCS-5彳系列單片機中的AT89C52芯片,其引腳圖女口下圖5所示.PJT附DP3?AW?P34TTOPJlrtNTlP32/1HT0P3IHXDPiOrttXOP2P2&414EAPSEM4*P2*dM4Hdijtd-'P23/A11-JP22/A1D、P2gP2BMidiH30TAD7PO? /ADfl _ -P0SAD5PO JAD4P0 3/AD3P0 2/AO2 PO vApi POCyADCAT&KS2RSTKYALJXTAL1Jf圖5AT89C52引腳圖3.1.2 AT89C52簡介AT89C52是一個低電壓,高性能CMOS8再片機,片內(nèi)含8KB的

17、可反復(fù)擦寫的Flash只讀程序存儲器和256B的隨機存取數(shù)據(jù)存儲器(RAM,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強大的AT89C52單片機可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。AT89C5

18、2有PDIP、PQFP/TQF及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。3.1.3 主要特性(1)兼容MCS5指令系統(tǒng)(2) 8k可反復(fù)擦寫(>1000次)FlashROM(3) 32個雙向I/O口(4) 256x8bit內(nèi)部RAM(5) 3個16位可編程定時/計數(shù)器中斷(6) 時鐘頻率0-24MHZ(7) 2個串行中斷(8) 可編程UART串行通道(9) 2個外部中斷源(10) 共6個中斷源(11) 2個讀寫中斷口線(12) 3級加密位(13) 低功耗空閑和掉電模式(14) 軟件設(shè)置睡眠和喚醒功能3.1.4 管腳說明(1) VCC供電電壓,一般接+5V電壓(2) GND接地。(3

19、) P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器或程序存儲器。它可以在總線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在FIASH編程時,P0口作為原碼輸入口,在Flash編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻(4) P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4個TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在F

20、LASH編程和校驗時,P1口作為第八位地址接收。(5) P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“T時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASHS程和校驗時接收高八位地址信號和控制信號。(6) P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I

21、/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“T后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。(7) P3口也可作為AT89C5口的一些特殊功能口,如下所示:P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INTO(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時器0外部輸入)P3.5T1(記時器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲器寫選通)P3.7/RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機

22、器周期的高電平時間。(8) ALE/PROG當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6o因此它可用作對外部輸出的脈沖或用于定時目的。(9) PSEN外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的PSENB號將不出現(xiàn)。(10) EA/VPP當(dāng)EA保持低電平時,則在此期間外部程序存儲器(OOOOH-FFFFH否有內(nèi)部程序存儲器。注意加密方式1時,EA將內(nèi)部鎖定為RESET當(dāng)/EA端

23、保持高電間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP。(11) XTAL1反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。(XTAL2來自反向振蕩器的輸出。3.1.5 實驗用模塊內(nèi)部時鐘電路及復(fù)位端連接如下圖:30pF>XTAL-AXTAL.RST1髭3T Jj.7二PRPPPPPP.5啟r圖6內(nèi)部時鐘電路及復(fù)位端連接口仝時鐘電路:XTAL1芯片內(nèi)部振蕩電路輸入端。XTAL2芯片內(nèi)部振蕩電路輸出端。XTAL1和XTAL2是獨立的輸入和輸出反相放大器,它們可以被配置為使用石英晶振的片內(nèi)振蕩器,或者是器件直接由外部時鐘驅(qū)動。圖2.1.3中采用的是

24、內(nèi)時鐘模式,即采用利用芯片內(nèi)部的振蕩電路,在XTAL1XTAL2的引腳上外接定時元件(一個石英晶體和兩個電容),內(nèi)部振蕩器便能產(chǎn)生自激振蕩。一般來說晶振可以在1.2?12MHz之間任選,甚至可以達到24MHz或者更高,但是頻率越高功耗也就越大。在本實驗套件中采用的11.0592M的石英晶振。和晶振并聯(lián)的兩個電容的大小對振蕩頻率有微小影響,可以起到頻率微調(diào)作用。當(dāng)采用石英晶振時,電容可以在20?40pF之間選擇(本實驗套件使用30pF)。復(fù)位電路:在單片機系統(tǒng)中,復(fù)位電路是非常關(guān)鍵的,當(dāng)程序跑飛(運行不正常)或死機(停止運行)時,就需要進行復(fù)位。復(fù)位引腳RST(第9管腳)出現(xiàn)2個機器周期以上的高

25、電平時,單片機就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機就處于循環(huán)復(fù)位狀態(tài)。復(fù)位操作通常有兩種基本形式:上電自動復(fù)位和開關(guān)復(fù)位。圖6中所示的復(fù)位電路就包括了這兩種復(fù)位方式。上電瞬間,電容兩端電壓不能突變,此時電容的負極和RESET相連,電壓全部加在了電阻上,RESET的輸入為高,芯片被復(fù)位。隨之+5V電源給電容充電,電阻上的電壓逐漸減小,最后約等于0,芯片正常工作。和電阻儀器并聯(lián)在電容的兩端為復(fù)位按鍵,當(dāng)復(fù)位按鍵沒有被按下的時候電路實現(xiàn)上電復(fù)位,在芯片正常工作后,通過按下按鍵使RST管腳出現(xiàn)高電平達到手動復(fù)位的效果。一般來說,只要RST管腳上保持10ms以上的高電平,就能使單片機有效的復(fù)位

26、。圖中所示的復(fù)位電阻和電容為經(jīng)典值,實際制作是可以用同一數(shù)量級的電阻和電容代替。3.1.6 投幣購買以及清零模塊投幣系統(tǒng)是自動售貨設(shè)計當(dāng)中比較重要的一塊,涉及到貨幣識別系統(tǒng),對于識別貨幣器是如何設(shè)計、如何工作的,在這里將不做進一步的研究,這里只用單片機研究輸入是如何實現(xiàn)的。在本次設(shè)計中用P1.0和P1.1上的兩個按鍵來代替投幣0.5元與投幣1元,投幣時,按鍵按下,給 實P1.0/P1.1 一個低電平,通過程序控制,現(xiàn)加法計數(shù)。P1.2、P1.3、P1.4 口分別表示購買飲料A、B、C,購買時,按鍵按下,給P1.2/P1.3/P1.4一個低電平,通過程序控制,實現(xiàn)減法計數(shù)P1.5表示清零,案件按

27、下是,通過程序控制,實現(xiàn)清零。具體代碼將在后面介紹,投幣模塊和購買模塊電路圖連接如下o o CHANGE JZZL.圖7投幣購買以及清零模塊3.1.7 可供購買顯示模塊顯示模塊:用端口P0.0、P0.1和P0.2作為可購買指示輸出端,分別表示可購買0.5元、1.0元和1.5元的飲料。由于二極管具有具有約0.7v的壓降和約20mA的限制電流,故選擇220V的限流電阻,電路圖連接如圖8.P0.0/AD0P0J/AD1PO 3/AO3PD.4/AD4圖8可供購買顯示模塊3.1.8 數(shù)碼管顯示模塊用端口P2.0-P2.7,P3.0-P3.7作為顯示輸出端,連接數(shù)碼管顯示余額。由于數(shù)碼管存在一定的最大限

28、制電壓,故需要外接限流電阻。P2CWAS P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2J5W14P27/A15 23 W24 >25 26J2Z.P3 0IRKO P3JJ7XD P3.2|NTC T內(nèi)竊麗 TP3.4/T0P3.5TT1F3.5/VWP37ARD 10 >11 >12 1311斗 15ffiFiitiiiJ C IF J ii3R24 IIT圖9數(shù)碼管顯示模塊3.2軟件單元電路321編程語言與軟件C語言是編譯型程序設(shè)計語言的一種,它兼顧了各種高級語言和匯編語言的特點。使用語言進行程序設(shè)計已經(jīng)成為單片機軟件開發(fā)的主流。其有

29、以下優(yōu)點:1、 不懂得單片機的指令集,也能編寫完美的單片機程序;2、 程序具有堅固性:數(shù)據(jù)被破壞是導(dǎo)致程序運行異常的重要因素;3、 提供常用的標(biāo)準(zhǔn)函數(shù)庫,以供用戶直接使用;4、 有嚴(yán)格的語法檢查,錯誤很少,可容易地在高級語言的水平上迅速地被排除。因此,本設(shè)計使用被廣泛應(yīng)用的KeiluVision4語言編譯器為開發(fā)環(huán)境,進行了單片機的C語言程序設(shè)計。323protues簡介Proteus軟件是英國Labcenterelectronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。目前國內(nèi)推廣剛起步,但已受到

30、單片機愛好者、從事單片機教學(xué)的教師、致力于單片機開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVRARM8086和MSP430等,2010年增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLA等多種編譯器。使用Prote

31、us開發(fā)環(huán)境進行培訓(xùn),在不需要硬件投入的條件下,對單片機的學(xué)習(xí)比單純學(xué)習(xí)書本知識更容易接受,更容易提高。實踐證明,在使用Proteus進行系統(tǒng)仿真成功之后再進行實際制作,能極大提高單片機系統(tǒng)設(shè)計效率。5、 2.4總體設(shè)計方案當(dāng)系統(tǒng)啟動后先進行初始化,然后開始進行按鍵掃描,等待按鈕被按下,從而進入相應(yīng)的子程序處理部分,其中子程序主要包括鍵盤掃描程序,顯示子程序等。其流程圖如圖10所示。S sttnAai兀耳錢斟為0元-一耳、Y 曳做 Ml.57t圖10程序設(shè)計流程圖325子程序設(shè)計方案1、運算子程序2、運算子程序包括輸入五角和輸入一元,減去5角,減去一元,減去一元五角五種,以輸入五角為例。由于兩

32、個數(shù)碼管是分開控制的,即分十位與個位分別控制,因此,在計算加法的時候需要考慮進位問題。當(dāng)個位初始值為5的時候,對其進行加5操作則需對十位進行進位并同時將各位清零。止匕外,由于最大不能超過9.5元,還需在程序中對十位個位的最大數(shù)值進行判斷,減法程序與加法程序類似,也需注意借位問題,在此不再贅述。2、顯示子程序顯示子程序包括數(shù)碼管顯示和led顯示兩種。由于數(shù)碼管相當(dāng)于8個led并聯(lián)連接,一段接電源VC一端接單片機I/O。當(dāng)I/O輸出低電平時,數(shù)碼管對應(yīng)的位置將亮起。在編寫程序的時候可利用數(shù)組實現(xiàn)對數(shù)碼管的控制,將09對應(yīng)的二進制代碼存入數(shù)組中,顯示時輸入對應(yīng)數(shù)字即可完成數(shù)碼管的顯示,其流程圖如圖1

33、1所示。卜位為5+位為1,個位加位為1個位為!«1位大于1+位為0,力位為0三個燈都不亮ledl先Lcdl,lcd2克Led】.Ied2«1期3全亮圖11子程序流程圖4整體電路設(shè)計4.1 整體電路圖CHAHOEBUW4 £ BUY1xFO WIPD3由!>1FD4ADIFD&WFDtMM PDhAAT*ZWS?>F2J 沐 燈陀fiM* 2T高隹塔KHLAHDF3 AHEPi&fisr wjmc圖12整體電路圖4.2 整體工作原理說明根據(jù)設(shè)計要求,自動售貨飲料機主要由四個模塊構(gòu)成,即投幣模塊、選擇購買模塊、找零模塊和顯示模塊(余額顯示和

34、可購買類型指示燈顯示)。綜合考慮自動售貨機的功能需求和硬件設(shè)計,軟件程序的編寫應(yīng)該包括以下幾個內(nèi)容:獨立鍵盤掃描函數(shù)KeyScan,數(shù)碼管顯示函數(shù)Display、非精確延時Delay函數(shù)和主程序main。電源供電后,手動控制按鍵投幣,飲料選擇等,按下按鍵等于給相應(yīng)的I/O口一個低電平,在通過程序控制,AT89C52芯片給相應(yīng)的I/O口高低電平,實現(xiàn)LED燈的亮滅表示是否可選擇飲料和數(shù)碼管金額顯示,具體代碼見附錄2。5Protues仿真結(jié)果與分析1、開始2投0.5元圖13開始界面詳一=邕一;一ffj f man.圖14投幣0.5元,未購買狀態(tài)仿真圖仿真結(jié)果分析:此時LED A燈亮,表示0.5元的

35、飲料可以購買;LED B LED C處于熄滅狀態(tài),表示1元和1.5元的飲料不能購買數(shù)碼管上顯示0.5,表示投入金額為0.5元。符合設(shè)計要求3、投1元圖15投幣1元,未購買狀態(tài)仿真圖仿真結(jié)果分析:此時LED_A和LED_B丁亮,表示0.5元和1.0元的飲料可以購買;LED_Q處于熄滅狀態(tài),表示1.5元的飲料不能購買。數(shù)碼管上顯示1.0,表示投入金額為1.0元。符合設(shè)計要求。4、最多只能投9.5元I f V工±16投幣9.5元,未購買狀態(tài)仿真圖仿真結(jié)果分析:止匕時LED_A LED_B和多次投入1.0元和0.5元硬幣 求。5、買0.5元的飲料LED_C都亮,表示0.5元、1.0元和1.5

36、元的飲料均可購買;,但最多只能投入9.5合設(shè)計要元,此時數(shù)碼管上顯示9.5o符1HU票411114>圖17購買一瓶0.5元飲料仿真結(jié)果分析:此時LED_A和LED_B和LED_C燈亮,表示0.5元、1.0元和1.5元的飲料可以購買數(shù)碼管上顯示9.0,表示剩余金額為9.0元。符合設(shè)計要求。66圖18找零-嚴(yán)左Bun仿真結(jié)果分析:止匕時LED_ALED_B和LED_(tE為熄滅狀態(tài),表示0.5元、1.0元和1.5元的飲料均不能購買;按下找零按鍵后,數(shù)碼管顯示為0.0o符合設(shè)計要求。6實物焊接及調(diào)試圖20實物圖6.2調(diào)試中出現(xiàn)的問題1、焊接晚一個數(shù)碼管后,部分管子無法顯示,后來發(fā)現(xiàn)焊接錯誤,最

37、終修改后實現(xiàn)正確功圖21接錯誤圖2、實物中的數(shù)碼管亮度較淺可能是因為10口和數(shù)碼管之間的電阻阻值過大引起的,不過并不影響使用7總結(jié)與體會這是我第一次做數(shù)電課設(shè),大二上學(xué)期做過一個模電課設(shè),有過那次緊張的熬夜以及做實物,趕報告,知道了做一次課設(shè)的不容易,所以這一次我提前做好準(zhǔn)備,在網(wǎng)上查閱資料,買好材料,等考完試就全力鉆研數(shù)電課設(shè)。此次數(shù)電課設(shè)是做一個模擬的自動售貨機,使我有了這幾方面的提升和收獲:本次設(shè)計采用兩個7段共陽極數(shù)碼管顯示,實驗過程中,復(fù)習(xí)了有關(guān)數(shù)碼管的知識,比如引腳圖,還有編碼知識。設(shè)計采用C語言編程,讓我回顧了大一學(xué)的C語言編程方法與原則,以及如何通過程序?qū)纹瑱C進行控制,進而控

38、制顯示電路。讓我學(xué)會多個軟件的聯(lián)合使用。比如,用Keil4編程,其生成的hex文件可用于proteus仿真,還可下載到單片機芯片實現(xiàn)電路控制,這大大方便了我的仿真效率,本來打算選用multisim,但是布線太過于復(fù)雜,而且導(dǎo)入程序沒有protues方便。同時焊接的部分使我熟悉了課程設(shè)計流程,增強了焊接技巧。這一次實物焊接比較順利,實物焊接出來后除了數(shù)碼管亮度不夠之外,功能全部都實現(xiàn)了。在調(diào)整了電阻后,亮度也恢復(fù)了正常值。通過這次課程設(shè)計,我體會到了自主設(shè)計實物的不容易與最終實物調(diào)試成功后的喜悅感,也讓我對數(shù)電這門課程有了更深層次的了解。止匕外,我還感受到編寫程序時思路清晰的重要性。我正是由于有

39、時候有些急于求成,在還未規(guī)劃好的時候就開始編程,導(dǎo)致后期小錯誤不斷。這一個星期的緊張的課程設(shè)計,理論與實際相相結(jié)合,鍛煉了我的綜合運用所學(xué)專業(yè)基礎(chǔ)知識的能力,同時也提高我查閱文獻資料、程序設(shè)計規(guī)范以及電腦制圖和電路調(diào)試等其他專業(yè)能力水平,而且通過對整體的掌控,對局部的取舍,以及對細節(jié)的斟酌處理,都使我的能力得到了鍛煉,豐富了實踐經(jīng)驗,并且意志力,抗壓能力及耐力也都得到了不同程度的提升??傮w來說,這次數(shù)電課設(shè)可以說是成功的,體會了成功的喜悅,嘗過了失敗的心酸,我想我會在人生的的路上走得越來越遠。8參考文獻口新型集成電路的應(yīng)用一電子技術(shù)基礎(chǔ)課程設(shè)計,梁宗善主編,華中科技大學(xué)出版社。2電子技術(shù)基礎(chǔ)課

40、程設(shè)計,孫梅生等編著,高等教育出版社。3電子線路設(shè)計?實驗?測試第三版,謝自美主編,華中科技大學(xué)出版社。451單片機C語言程序設(shè)計經(jīng)典實例陳忠平主編,電子工業(yè)出版社,2012年5月。Proteus教程M,朱清慧、張鳳蕊、翟天嵩編,清華大學(xué)出版社,2000年9月。附錄1元件清單表1元件數(shù)目89C52核心板1雙US電源線1下載線1萬用板110K電阻16220歐電阻3按鍵6一位八段數(shù)碼管2紅色LED3杜邦線產(chǎn)排針附錄2源程序名稱:自動飲料售貨機控制*時間:2015.7.8#include<reg52.h>產(chǎn)宏定義r/#defineMoneyshiP2/數(shù)碼管余額顯示十位,P2腳定義為十位

41、#defineMoneygeP3/數(shù)碼管余額顯示個位,P3腳定義為個位產(chǎn)管腳定義sbitkey5=PM0;定義5角錢的輸入按鈕連接管腳P1A0sbitkey10=P1Al;定義1元錢的輸入按鈕連接管腳PM1sbitdekey5=P1A2;定義選擇飲料(0.5元)的輸入按鈕連接管腳PM2sbitdekey10=PM3;/定義選擇飲料(1.0元)的輸入按鈕連接管腳PM3sbitdekey15=P1A4;/定義選擇飲料(1.5元)的輸入按鈕連接管腳PM4sbitkeyClear=P1A5;/定義清零按鈕連接管腳PM5sbitLED5=P0A0;定義飲料(0.5元)的LED連接管腳P0A0sbitLED10=P0A1;/定義飲料(1.0元)的LED連接管腳口0八1sbitLED15=P0A2;定義飲料(1.5元)的LED連接管腳P0八2unsignedcharcodedisplay_shi10=0x02,0x9e,0x24,0x0c,0x98,0x48,0x40,0x1e,0x00,0x08;變量定義共陽數(shù)碼管碼值分別對應(yīng)0,1,2.9unsignedcharcodedisp

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論