版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、武漢理工大學(xué)數(shù)字電子技術(shù)課程設(shè)計(jì)課程設(shè)計(jì)任務(wù)書學(xué)生姓名: 王耀輝 專業(yè)班級(jí): 通信1304班 指導(dǎo)教師: 撒繼銘 工作單位: 信息工程學(xué)院 題 目: 自動(dòng)售貨飲料機(jī)控制電路的設(shè)計(jì)與實(shí)現(xiàn) 初始條件:本設(shè)計(jì)既可以使用計(jì)數(shù)器、比較器、脈沖發(fā)生器等和必要的門電路等,也可以使用單片機(jī)系統(tǒng)構(gòu)建。用數(shù)碼管、LED燈顯示結(jié)果。要求完成的主要任務(wù): (包括課程設(shè)計(jì)工作量及技術(shù)要求,以及說明書撰寫等具體要求)1、課程設(shè)計(jì)工作量:1周。2、技術(shù)要求:1)售貨機(jī)只接受5角和1元的硬幣,可以用按鈕代替硬幣的投入。投入硬幣的總金額用兩位數(shù)碼管顯示,最大投入金額為9.5元。2)售貨機(jī)可以自動(dòng)出售3種飲料,售價(jià)分別是0.5元
2、,1元和1.5元。當(dāng)顧客完成投幣后,根據(jù)投入金額,各飲料對(duì)應(yīng)的LED將亮起(如投入1元硬幣,0.5元和1元飲料的LED亮起,表示可以購買0.5元或1元飲料)。3)顧客根據(jù)自身需要按下各飲料對(duì)應(yīng)的按鈕,每按一次掉出一瓶飲料,兩位數(shù)碼管顯示剩余金額,LED繼續(xù)指示可購飲料的種類;4)顧客按下“找零”按鈕將使機(jī)器發(fā)出找零信號(hào),兩位數(shù)碼管清零。5)確定設(shè)計(jì)方案,按功能模塊的劃分選擇元、器件和中小規(guī)模集成電路,設(shè)計(jì)分電路,畫出總體電路原理圖,闡述基本原理。3、查閱至少5篇參考文獻(xiàn)。按武漢理工大學(xué)課程設(shè)計(jì)工作規(guī)范要求撰寫設(shè)計(jì)報(bào)告書。全文用A4紙打印,圖紙應(yīng)符合繪圖規(guī)范。時(shí)間安排:1、2015年 7 月 1
3、 日,布置課設(shè)具體實(shí)施計(jì)劃與課程設(shè)計(jì)報(bào)告格式的要求說明。2、2015年 7 月 3 日至 2015年 7月 5 日,方案選擇和電路設(shè)計(jì)。3、2015年 7 月 5 日至 2015年 7 月 9 日,電路調(diào)試和設(shè)計(jì)說明書撰寫。4、2015年 7 月 10 日,上交課程設(shè)計(jì)成果及報(bào)告,同時(shí)進(jìn)行答辯。指導(dǎo)教師簽名: 年 月 日 系主任(或責(zé)任教師)簽名: 年 月 日目錄摘要1ABSTRACT21緒論31.1設(shè)計(jì)背景31.2 應(yīng)用前景31.3設(shè)計(jì)目的和意義42 總體方案設(shè)計(jì)52.1 自動(dòng)售貨系統(tǒng)結(jié)構(gòu)52.2方案比較選擇63 單元電路設(shè)計(jì)83.1 硬件單元設(shè)計(jì)83.1.1 中央控制元件AT89C5283
4、.1.2 AT89C52簡介83.1.3 主要特性93.1.4 管腳說明93.1.5 實(shí)驗(yàn)用模塊113.1.6 投幣購買以及清零模塊123.1.7 可供購買顯示模塊133.1.8 數(shù)碼管顯示模塊133.2 軟件單元電路143.2.1編程語言與軟件143.2.3 protues簡介153.2.4總體設(shè)計(jì)方案153.2.5子程序設(shè)計(jì)方案164 整體電路設(shè)計(jì)184.1 整體電路圖184.2整體工作原理說明185 Protues仿真結(jié)果與分析196實(shí)物焊接及調(diào)試236.1實(shí)物焊接圖236.2調(diào)試中出現(xiàn)的問題247 總結(jié)與體會(huì)258 參考文獻(xiàn)26 附錄1 元件清單27 附錄2 源程序28 摘要本文設(shè)計(jì)了
5、一種以INTEL 公司的AT89C52單片機(jī)為核心的自動(dòng)飲料售貨機(jī)裝置的控制系統(tǒng),詳細(xì)介紹了自動(dòng)飲料售貨機(jī)控制系統(tǒng)的方案設(shè)計(jì)、硬件選擇、軟件規(guī)劃和編寫,并重點(diǎn)描述了自動(dòng)飲料售貨機(jī)控制系統(tǒng)的工作原理、系統(tǒng)設(shè)計(jì)、軟件編程的原則和技巧。該系統(tǒng)以單片機(jī)AT89C52芯片為核心,采用集中控制方式實(shí)現(xiàn)了對(duì)自動(dòng)飲料售貨機(jī)全過程的自動(dòng)控制。本系統(tǒng)選擇6個(gè)獨(dú)立鍵盤按鍵作為貨幣投入端,飲料選擇端和清零端,實(shí)現(xiàn)了投幣,飲料選擇功能,用兩個(gè)7段共陽極數(shù)碼管顯示貨幣數(shù)以及找零數(shù),用三個(gè)LED燈顯示可供選擇的飲料。此外,系統(tǒng)程序采用Keil uVision 4軟件進(jìn)行程序的編寫和編譯,采用C語言編寫程序,用Proteus
6、7軟件進(jìn)行仿真,stcisp-v4.79軟件和USB轉(zhuǎn)串口線驅(qū)動(dòng)軟件下載程序??傮w來說,通過實(shí)物的安裝調(diào)試,本次課程設(shè)計(jì)基本達(dá)到了設(shè)計(jì)指標(biāo)要求,實(shí)現(xiàn)了投幣,選擇飲料,購買飲料,找零等功能。關(guān)鍵詞:自動(dòng)售貨機(jī),AT89C52單片機(jī),C語言程序,數(shù)碼管顯示ABSTRACTIn this paper, the design of the control system of automatic beverage vending machine is based on INTEL company AT89C52 microcontroller as the core . It detailedly de
7、sctribes the beverage vending machine system design, hardware selection, software planning and preparation, and emphatically describes the principle and skill work principle, beverage vending machine system design, software programming. The system is based on AT89C52 chip as the core, adopts the cen
8、tralized control method to realize the automatic control of the whole process of beverage vending machine . In this system , six independent keyboard keys are taken as monetary input end, beverage of choice and clear terminal, to realize the coin, beverage of choice function .Two of sevencommon anod
9、e LED are take to display currency and the number of change . Besides , Three LED lights are taken to display alternative beverage . In addition, The software of Keil uVision 4is taken to prepare and compile procedures, using C language program , The software of Proteus is taken to simulate in the s
10、ystem . The software of stcisp-v4.79 and USB to serial line driverare taken to download programma .In general , the design requirements are met in the curriculum design in realizing these functions in the coin , drinks choose, drinks buy and change .Key Words : Automatic Beverage Vending Machine , A
11、T89C52 ,C Language , Digital Tube Display1緒論1.1設(shè)計(jì)背景 隨著勞動(dòng)密集型的產(chǎn)業(yè)構(gòu)造向技術(shù)密集型社會(huì)轉(zhuǎn)變,自動(dòng)售貨機(jī)日趨盛行,主要用于公共場合,且種類繁多。一般的自動(dòng)售貨機(jī)由錢幣裝置、指示裝置、貯藏售貨裝置等組成。錢幣裝置是售貨機(jī)的核心,其主要功能是確認(rèn)投入錢幣的真?zhèn)?,分選錢幣的種類,計(jì)算金額。如果投入的金額達(dá)到購買物品的數(shù)值即發(fā)出售貨信號(hào),并找出余錢。指示裝置用以指示顧客所選商品的品種。貯藏售貨裝置保存商品,接收出售指示信號(hào),把顧客選擇的商品送至付貨口。一般售貨機(jī)的錢幣裝置由投幣口、選別裝置、確認(rèn)錢幣真?zhèn)蔚臋z查裝置、計(jì)算金額的計(jì)算裝置和找錢裝置組成
12、。70年代以來,出現(xiàn)了采用微型計(jì)算機(jī)控制的各種新型自動(dòng)售貨機(jī)和利用信用卡代替錢幣并與計(jì)算機(jī)連接的更大規(guī)模的無人售貨系統(tǒng),如無人自選商場、車站的自動(dòng)售票和檢票系統(tǒng)、銀行的現(xiàn)金自動(dòng)支付機(jī)等。1.2 應(yīng)用前景現(xiàn)在,自動(dòng)售貨機(jī)產(chǎn)業(yè)正在走向信息化并進(jìn)一步實(shí)現(xiàn)合理化。例如實(shí)行聯(lián)機(jī)方式,通過電話線路將自動(dòng)售貨機(jī)內(nèi)的庫存信息及時(shí)地傳送各營業(yè)點(diǎn)的電腦中,從而確保了商品的發(fā)送、補(bǔ)充和商品選定的順利進(jìn)行。進(jìn)入21世紀(jì)時(shí),自動(dòng)售貨機(jī)將進(jìn)一步向節(jié)省資源和能源以及高功能化的方向發(fā)展。從自動(dòng)售貨機(jī)的發(fā)展趨勢來看,大量生產(chǎn),大量消費(fèi)以及消費(fèi)模式和銷售環(huán)境的變化,要求出現(xiàn)新的流通渠道,而相對(duì)的超市,百貨購物中心等新的流通渠道的
13、產(chǎn)生,人工費(fèi)用也不斷上升,在加上場地的局限性和購物的便利性等這些因素的制約,無人自動(dòng)售貨機(jī)作為一種必須的機(jī)器也就有了其相當(dāng)可觀的前景。1.3設(shè)計(jì)目的和意義本次課程設(shè)計(jì)是自動(dòng)飲料售貨機(jī)控制系統(tǒng),可用于簡單的自動(dòng)飲料售貨機(jī)。本次設(shè)計(jì)采用手動(dòng)按鍵控制,數(shù)碼管顯示,簡單清晰,操作簡潔,以AT89C52為核心,C語言編程,提高了系統(tǒng)的穩(wěn)定性,保證了自動(dòng)售貨機(jī)能夠長期穩(wěn)定的運(yùn)行,提高我們的編程能力以及實(shí)際動(dòng)手能力,對(duì)數(shù)電,對(duì)0和1的世界有一個(gè)更新的認(rèn)識(shí)。2 總體方案設(shè)計(jì) 根據(jù)設(shè)計(jì)要求,自動(dòng)售貨飲料機(jī)主要由四個(gè)模塊構(gòu)成,即投幣模塊、選擇購買模塊、找零模塊和顯示模塊(余額顯示和可購買類型指示燈顯示)。按照此思
14、路,可以用數(shù)字芯片設(shè)計(jì),也可以用單片機(jī)系統(tǒng)設(shè)計(jì),兩種設(shè)計(jì)方案如下。2.1 自動(dòng)售貨系統(tǒng)結(jié)構(gòu) 自動(dòng)售貨機(jī)是集光、機(jī)、電一體化的獨(dú)立機(jī)構(gòu),它只需要顧客投幣和按購物鍵選擇即可自動(dòng)售貨及退找零錢,其工作程序如圖1。 圖1 自動(dòng)售貨機(jī)工作程序售貨機(jī)的工作流程是:(1)用戶投幣口送入貨幣-按按鍵,程序自動(dòng)計(jì)數(shù)。(2根據(jù)金額LED顯示顯示可供選選擇的商品。(3)顧客選擇商品,程序計(jì)算余額。(4)數(shù)碼管顯示余額。(5)系統(tǒng)復(fù)零,完成售貨。2.2方案比較選擇 方案1:電路從兩部分輸入,第一部分通過開關(guān)閉合模擬投幣,投幣后進(jìn)入計(jì)數(shù)器74LS161和二進(jìn)制全加器74LS283進(jìn)行累加,通過數(shù)碼管顯示投幣總值。再通過
15、數(shù)值比較器74LS85比較可以購買不同價(jià)格的飲料類型。另一部分通過開關(guān)閉合模擬選擇飲料,選擇貨物后用編碼器和數(shù)碼管顯示飲料價(jià)格,最后將投幣總值和飲料價(jià)格一起通過減法器,做差值后顯示。原理框圖如圖2所示。 圖2 方案一原理框圖方案2:用單片機(jī)實(shí)現(xiàn)自動(dòng)售飲料功能,通過編寫程序來控制數(shù)碼管上金額的顯示和各種價(jià)格的飲料對(duì)應(yīng)的LED燈顯示,通過按鍵的操作來實(shí)現(xiàn)投幣,買飲料和找零。原理框圖如圖3所示,系統(tǒng)搭建圖如圖4所示。 圖3 方案二原理框圖 圖4 單片機(jī)系統(tǒng)搭建圖分析得出,方案一和方案二都可行。但是,方案一需要使用74LS161,74LS283,74LS85等芯片,電路組成比較復(fù)雜,焊接電路花費(fèi)的時(shí)間
16、較長,不容易做出實(shí)物。而方案二使用單片機(jī)思路清晰,電路簡單易焊接。綜合考慮,我選擇方案二, 因此,硬件需要按鍵控制,LED顯示,數(shù)碼管顯示和AT89C52核心芯片3 單元電路設(shè)計(jì) 3.1 硬件單元設(shè)計(jì) 3.1.1 中央控制元件AT89C52 本次設(shè)計(jì)中,中央控制元件采用MCS-51系列單片機(jī)中的AT89C52芯片,其引腳圖如下圖5所示. 圖5 AT89C52引腳圖3.1.2 AT89C52簡介AT89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8KB的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼
17、容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央 處理器和Flash存儲(chǔ)單元,功能強(qiáng)大的AT89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。 AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2 個(gè)讀寫口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的 Flash存儲(chǔ)器可有效地降低開發(fā)成本。 AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。3.1.3 主要特性(1)兼容MCS51指
18、令系統(tǒng) (2)8k可反復(fù)擦寫(1000次)Flash ROM (3)32個(gè)雙向I/O口 (4) 256x8bit內(nèi)部RAM (5)3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷 (6) 時(shí)鐘頻率0-24MHz (7) 2個(gè)串行中斷 (8) 可編程UART串行通道 (9) 2個(gè)外部中斷源 (10) 共6個(gè)中斷源 (11) 2個(gè)讀寫中斷口線 (12)3級(jí)加密位 (13)低功耗空閑和掉電模式 (14) 軟件設(shè)置睡眠和喚醒功能 3.1.4管腳說明(1)VCC:供電電壓,一般接+5V電壓 (2)GND:接地。 (3)P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被
19、定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器。它可以在總線分時(shí)轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在FIASH編程時(shí),P0 口作為原碼輸入口,在Flash 編程時(shí),P0 口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻(4)P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4個(gè)TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 (5)P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I
20、/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 (6)P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為
21、輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 (7)P3口也可作為AT89C51的一些特殊功能口,如下所示: P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時(shí)器0外部輸入) P3.5 T1(記時(shí)器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 (8)ALE/PROG:當(dāng)訪問外部存儲(chǔ)
22、器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。(9)PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不出現(xiàn)。 (10)EA/VPP:當(dāng)EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLAS
23、H編程期間,此引腳也用于施加12V編程電源(VPP)。 (11)XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 (12)XTAL2:來自反向振蕩器的輸出。3.1.5實(shí)驗(yàn)用模塊 內(nèi)部時(shí)鐘電路及復(fù)位端連接如下圖: 圖6 內(nèi)部時(shí)鐘電路及復(fù)位端連接時(shí)鐘電路:XTAL1:芯片內(nèi)部振蕩電路輸入端。XTAL2:芯片內(nèi)部振蕩電路輸出端。XTAL1 和XTAL2 是獨(dú)立的輸入和輸出反相放大器,它們可以被配置為使用石英晶振的片內(nèi)振蕩器,或者是器件直接由外部時(shí)鐘驅(qū)動(dòng)。圖2.1.3 中采用的是內(nèi)時(shí)鐘模式,即采用利用芯片內(nèi)部的振蕩電路,在XTAL1、XTAL2 的引腳上外接定時(shí)元件(一個(gè)石英晶體和兩個(gè)電容)
24、,內(nèi)部振蕩器便能產(chǎn)生自激振蕩。一般來說晶振可以在1.2 12MHz 之間任選,甚至可以達(dá)到24MHz 或者更高,但是頻率越高功耗也就越大。在本實(shí)驗(yàn)套件中采用的11.0592M 的石英晶振。和晶振并聯(lián)的兩個(gè)電容的大小對(duì)振蕩頻率有微小影響,可以起到頻率微調(diào)作用。當(dāng)采用石英晶振時(shí),電容可以在20 40pF 之間選擇(本實(shí)驗(yàn)套件使用30pF)。復(fù)位電路:在單片機(jī)系統(tǒng)中,復(fù)位電路是非常關(guān)鍵的,當(dāng)程序跑飛(運(yùn)行不正常)或死機(jī)(停止運(yùn)行)時(shí),就需要進(jìn)行復(fù)位。復(fù)位引腳RST( 第9 管腳) 出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST 持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。復(fù)位操作通常有
25、兩種基本形式:上電自動(dòng)復(fù)位和開關(guān)復(fù)位。圖6中所示的復(fù)位電路就包括了這兩種復(fù)位方式。上電瞬間,電容兩端電壓不能突變,此時(shí)電容的負(fù)極和RESET 相連,電壓全部加在了電阻上,RESET 的輸入為高,芯片被復(fù)位。隨之+5V電源給電容充電,電阻上的電壓逐漸減小,最后約等于0,芯片正常工作。和電阻儀器并聯(lián)在電容的兩端為復(fù)位按鍵,當(dāng)復(fù)位按鍵沒有被按下的時(shí)候電路實(shí)現(xiàn)上電復(fù)位,在芯片正常工作后,通過按下按鍵使RST管腳出現(xiàn)高電平達(dá)到手動(dòng)復(fù)位的效果。一般來說,只要RST 管腳上保持10ms 以上的高電平,就能使單片機(jī)有效的復(fù)位。圖中所示的復(fù)位電阻和電容為經(jīng)典值,實(shí)際制作是可以用同一數(shù)量級(jí)的電阻和電容代替。3.1
26、.6 投幣購買以及清零模塊投幣系統(tǒng)是自動(dòng)售貨設(shè)計(jì)當(dāng)中比較重要的一塊,涉及到貨幣識(shí)別系統(tǒng),對(duì)于識(shí)別貨幣器是如何設(shè)計(jì)、如何工作的,在這里將不做進(jìn)一步的研究,這里只用單片機(jī)研究輸入是如何實(shí)現(xiàn)的。在本次設(shè)計(jì)中用P1.0和P1.1上的兩個(gè)按鍵來代替投幣0.5元與投幣1元,投幣時(shí),按鍵按下,給P1.0/P1.1一個(gè)低電平,通過程序控制,實(shí)現(xiàn)加法計(jì)數(shù)。P1.2、P1.3、P1.4口分別表示購買飲料A、B、C,購買時(shí),按鍵按下,給P1.2/P1.3/P1.4一個(gè)低電平,通過程序控制,實(shí)現(xiàn)減法計(jì)數(shù)。P1.5表示清零,案件按下是,通過程序控制,實(shí)現(xiàn)清零。具體代碼將在后面介紹,投幣模塊和購買模塊電路圖連接如下:圖7
27、 投幣購買以及清零模塊3.1.7 可供購買顯示模塊顯示模塊:用端口P0.0、P0.1和P0.2作為可購買指示輸出端,分別表示可購買0.5元、1.0元和1.5元的飲料。由于二極管具有具有約0.7v的壓降和約20mA的限制電流,故選擇220V的限流電阻,電路圖連接如圖8.圖 8可供購買顯示模塊3.1.8數(shù)碼管顯示模塊用端口P2.0-P2.7 ,P3.0-P3.7作為顯示輸出端,連接數(shù)碼管顯示余額。由于數(shù)碼管存在一定的最大限制電壓,故需要外接限流電阻。 圖9數(shù)碼管顯示模塊3.2 軟件單元電路 3.2.1 編程語言與軟件C語言是編譯型程序設(shè)計(jì)語言的一種,它兼顧了各種高級(jí)語言和匯編語言的特點(diǎn)。使用C語言
28、進(jìn)行程序設(shè)計(jì)已經(jīng)成為單片機(jī)軟件開發(fā)的主流。其有以下優(yōu)點(diǎn):1、不懂得單片機(jī)的指令集,也能編寫完美的單片機(jī)程序;2、程序具有堅(jiān)固性:數(shù)據(jù)被破壞是導(dǎo)致程序運(yùn)行異常的重要因素;3、提供常用的標(biāo)準(zhǔn)函數(shù)庫,以供用戶直接使用;4、有嚴(yán)格的語法檢查,錯(cuò)誤很少,可容易地在高級(jí)語言的水平上迅速地被排除。因此,本設(shè)計(jì)使用被廣泛應(yīng)用的Keil uVision 4語言編譯器為開發(fā)環(huán)境,進(jìn)行了單片機(jī)的C語言程序設(shè)計(jì)。3.2.3 protues簡介 Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真
29、單片機(jī)及外圍器件的工具。目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支
30、持IAR、Keil和MPLAB等多種編譯器。使用 Proteus 開發(fā)環(huán)境進(jìn)行培訓(xùn),在不需要硬件投入的條件下,對(duì)單片機(jī)的學(xué)習(xí)比單純學(xué)習(xí)書本知識(shí)更容易接受,更容易提高。實(shí)踐證明,在使用 Proteus 進(jìn)行系統(tǒng)仿真成功之后再進(jìn)行實(shí)際制作,能極大提高單片機(jī)系統(tǒng)設(shè)計(jì)效率。3.2.4 總體設(shè)計(jì)方案 當(dāng)系統(tǒng)啟動(dòng)后先進(jìn)行初始化,然后開始進(jìn)行按鍵掃描,等待按鈕被按下,從而進(jìn)入相應(yīng)的子程序處理部分,其中子程序主要包括鍵盤掃描程序,顯示子程序等。其流程圖如圖10所示。 圖10程序設(shè)計(jì)流程圖3.2.5 子程序設(shè)計(jì)方案1、 運(yùn)算子程序2、 運(yùn)算子程序包括輸入五角和輸入一元,減去5角,減去一元,減去一元五角五種,以輸
31、入五角為例。由于兩個(gè)數(shù)碼管是分開控制的,即分十位與個(gè)位分別控制,因此,在計(jì)算加法的時(shí)候需要考慮進(jìn)位問題。當(dāng)個(gè)位初始值為5的時(shí)候,對(duì)其進(jìn)行加5操作則需對(duì)十位進(jìn)行進(jìn)位并同時(shí)將各位清零。此外,由于最大不能超過9.5元,還需在程序中對(duì)十位個(gè)位的最大數(shù)值進(jìn)行判斷,減法程序與加法程序類似,也需注意借位問題,在此不再贅述。2、 顯示子程序 顯示子程序包括數(shù)碼管顯示和led顯示兩種。由于數(shù)碼管相當(dāng)于8個(gè)led并聯(lián)連接,一段接電源VCC一端接單片機(jī)I/O口。當(dāng)I/O口輸出低電平時(shí),數(shù)碼管對(duì)應(yīng)的位置將亮起。在編寫程序的時(shí)候可利用數(shù)組實(shí)現(xiàn)對(duì)數(shù)碼管的控制,將09對(duì)應(yīng)的二進(jìn)制代碼存入數(shù)組中,顯示時(shí)輸入對(duì)應(yīng)數(shù)字即可完成數(shù)
32、碼管的顯示,其流程圖如圖11所示。 圖11 子程序流程圖4 整體電路設(shè)計(jì)4.1 整體電路圖 圖12 整體電路圖4.2整體工作原理說明根據(jù)設(shè)計(jì)要求,自動(dòng)售貨飲料機(jī)主要由四個(gè)模塊構(gòu)成,即投幣模塊、選擇購買模塊、找零模塊和顯示模塊(余額顯示和可購買類型指示燈顯示)。綜合考慮自動(dòng)售貨機(jī)的功能需求和硬件設(shè)計(jì),軟件程序的編寫應(yīng)該包括以下幾個(gè)內(nèi)容:獨(dú)立鍵盤掃描函數(shù)KeyScan,數(shù)碼管顯示函數(shù)Display、非精確延時(shí)Delay函數(shù)和主程序main。電源供電后,手動(dòng)控制按鍵投幣,飲料選擇等,按下按鍵等于給相應(yīng)的I/O口一個(gè)低電平,在通過程序控制,AT89C52芯片給相應(yīng)的I/O口高低電平,實(shí)現(xiàn)LED燈的亮滅
33、表示是否可選擇飲料和數(shù)碼管金額顯示,具體代碼見附錄2。5 Protues仿真結(jié)果與分析1、開始圖13開始界面2 投0.5元 圖14投幣0.5元,未購買狀態(tài)仿真圖仿真結(jié)果分析:此時(shí)LED_A燈亮,表示0.5元的飲料可以購買;LED_B、LED_C處于熄滅狀態(tài),表示1元和1.5元的飲料不能購買。數(shù)碼管上顯示0.5,表示投入金額為0.5元。符合設(shè)計(jì)要求。3、 投1元圖15 投幣1元,未購買狀態(tài)仿真圖仿真結(jié)果分析:此時(shí)LED_A和LED_B燈亮,表示0.5元和1.0元的飲料可以購買;LED_C處于熄滅狀態(tài),表示1.5元的飲料不能購買。數(shù)碼管上顯示1.0,表示投入金額為1.0元。符合設(shè)計(jì)要求。4、 最多
34、只能投9.5元圖16投幣9.5元,未購買狀態(tài)仿真圖仿真結(jié)果分析:此時(shí)LED_A、LED_B和LED_C都亮,表示0.5元、1.0元和1.5元的飲料均可購買;多次投入1.0元和0.5元硬幣,但最多只能投入9.5元,此時(shí)數(shù)碼管上顯示9.5。符合設(shè)計(jì)要求。5、 買0.5元的飲料 圖17 購買一瓶0.5元飲料仿真結(jié)果分析:此時(shí)LED_A和LED_B和LED_C燈亮,表示0.5元、1.0元和1.5元的飲料可以購買;數(shù)碼管上顯示9.0,表示剩余金額為9.0元。符合設(shè)計(jì)要求。6、 找零 圖18找零仿真結(jié)果分析:此時(shí)LED_A、LED_B和LED_C都為熄滅狀態(tài),表示0.5元、1.0元和1.5元的飲料均不能購
35、買;按下找零按鍵后,數(shù)碼管顯示為0.0。符合設(shè)計(jì)要求。6實(shí)物焊接及調(diào)試6.1實(shí)物焊接圖 圖19實(shí)物焊接圖 圖20實(shí)物圖6.2調(diào)試中出現(xiàn)的問題1、焊接晚一個(gè)數(shù)碼管后,部分管子無法顯示,后來發(fā)現(xiàn)焊接錯(cuò)誤,最終修改后實(shí)現(xiàn)正確功能。 圖21 焊接錯(cuò)誤圖2、實(shí)物中的數(shù)碼管亮度較淺可能是因?yàn)镮O口和數(shù)碼管之間的電阻阻值過大引起的,不過并不影響使用。7 總結(jié)與體會(huì) 這是我第一次做數(shù)電課設(shè),大二上學(xué)期做過一個(gè)模電課設(shè),有過那次緊張的熬夜以及做實(shí)物,趕報(bào)告,知道了做一次課設(shè)的不容易,所以這一次我提前做好準(zhǔn)備,在網(wǎng)上查閱資料,買好材料,等考完試就全力鉆研數(shù)電課設(shè)。此次數(shù)電課設(shè)是做一個(gè)模擬的自動(dòng)售貨機(jī),使我有了這幾
36、方面的提升和收獲:本次設(shè)計(jì)采用兩個(gè)7段共陽極數(shù)碼管顯示,實(shí)驗(yàn)過程中,復(fù)習(xí)了有關(guān)數(shù)碼管的知識(shí),比如引腳圖,還有編碼知識(shí)。設(shè)計(jì)采用C語言編程,讓我回顧了大一學(xué)的C語言編程方法與原則,以及如何通過程序?qū)纹瑱C(jī)進(jìn)行控制,進(jìn)而控制顯示電路。讓我學(xué)會(huì)多個(gè)軟件的聯(lián)合使用。比如,用Keil4編程,其生成的hex文件可用于proteus仿真,還可下載到單片機(jī)芯片實(shí)現(xiàn)電路控制,這大大方便了我的仿真效率,本來打算選用multisim,但是布線太過于復(fù)雜,而且導(dǎo)入程序沒有protues方便。同時(shí)焊接的部分使我熟悉了課程設(shè)計(jì)流程,增強(qiáng)了焊接技巧。 這一次實(shí)物焊接比較順利,實(shí)物焊接出來后除了數(shù)碼管亮度不夠之外,功能全部都
37、實(shí)現(xiàn)了。在調(diào)整了電阻后,亮度也恢復(fù)了正常值。通過這次課程設(shè)計(jì),我體會(huì)到了自主設(shè)計(jì)實(shí)物的不容易與最終實(shí)物調(diào)試成功后的喜悅感,也讓我對(duì)數(shù)電這門課程有了更深層次的了解。此外,我還感受到編寫程序時(shí)思路清晰的重要性。我正是由于有時(shí)候有些急于求成,在還未規(guī)劃好的時(shí)候就開始編程,導(dǎo)致后期小錯(cuò)誤不斷。 這一個(gè)星期的緊張的課程設(shè)計(jì),理論與實(shí)際相相結(jié)合,鍛煉了我的綜合運(yùn)用所學(xué)專業(yè)基礎(chǔ)知識(shí)的能力,同時(shí)也提高我查閱文獻(xiàn)資料、程序設(shè)計(jì)規(guī)范以及電腦制圖和電路調(diào)試等其他專業(yè)能力水平,而且通過對(duì)整體的掌控,對(duì)局部的取舍,以及對(duì)細(xì)節(jié)的斟酌處理,都使我的能力得到了鍛煉,豐富了實(shí)踐經(jīng)驗(yàn),并且意志力,抗壓能力及耐力也都得到了不同程度
38、的提升??傮w來說,這次數(shù)電課設(shè)可以說是成功的,體會(huì)了成功的喜悅,嘗過了失敗的心酸,我想我會(huì)在人生的的路上走得越來越遠(yuǎn)。8 參考文獻(xiàn)1 新型集成電路的應(yīng)用電子技術(shù)基礎(chǔ)課程設(shè)計(jì),梁宗善主編,華中科技大學(xué)出版社。2 電子技術(shù)基礎(chǔ)課程設(shè)計(jì),孫梅生等編著,高等教育出版社。3 電子線路設(shè)計(jì)實(shí)驗(yàn)測試第三版,謝自美 主編,華中科技大學(xué)出版社。4 51單片機(jī)C語言程序設(shè)計(jì)經(jīng)典實(shí)例陳忠平主編,電子工業(yè)出版社,2012年5月。5 Proteus教程M,朱清慧、張鳳蕊、翟天嵩編,清華大學(xué)出版社,2000年9月。附錄1 元件清單表1元件數(shù)目89C52核心板1雙USB電源線1下載線1萬用板110K電阻16220歐電阻3按
39、鍵6一位八段數(shù)碼管2紅色LED3杜邦線若干排針若干附錄2 源程序/*名稱:自動(dòng)飲料售貨機(jī)控制 *時(shí)間:2015.7.8 */#include/*宏定義*/ #define Moneyshi P2 / 數(shù)碼管余額顯示 十位,P2腳定義為十位#define Moneyge P3 / 數(shù)碼管余額顯示 個(gè)位,P3腳定義為個(gè)位/*管腳定義*/sbit key5=P10;/定義5角錢的輸入按鈕連接管腳P10sbit key10=P11;/定義1元錢的輸入按鈕連接管腳P11 sbit dekey5=P12;/定義選擇飲料(0.5元)的輸入按鈕連接管腳P12 sbit dekey10=P13;/定義選擇飲料(
40、1.0元)的輸入按鈕連接管腳P13sbit dekey15=P14;/定義選擇飲料(1.5元)的輸入按鈕連接管腳P14 sbit keyClear=P15;/定義清零按鈕連接管腳P15 sbit LED5=P00;/定義飲料 (0.5元) 的LED連接管腳P00sbit LED10=P01;/定義飲料(1.0元) 的LED連接管腳P01sbit LED15=P02;/定義飲料(1.5元)的LED連接管腳P02/*變量定義*/unsigned char code display_shi10 =0x02,0x9e,0x24,0x0c, 0x98,0x48,0x40,0x1e,0x00,0x08; /共
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《模具制造工藝學(xué)》教學(xué)大綱
- 教案裝訂順序
- 四個(gè)自信課件
- 玉溪師范學(xué)院《現(xiàn)代教育技術(shù)》2022-2023學(xué)年第一學(xué)期期末試卷
- 玉溪師范學(xué)院《田徑》2021-2022學(xué)年第一學(xué)期期末試卷
- 教練員繼續(xù)教育考試題目及答案-知識(shí)題庫
- 湖南師大附中2024-25屆高三年級(jí)月考試卷(二)(英語)
- 電商公司整體薪酬設(shè)計(jì)(早期)
- 《信號(hào)基礎(chǔ)設(shè)備》全套教學(xué)課件
- 2023年雙頻、雙模移動(dòng)通信手機(jī)項(xiàng)目綜合評(píng)估報(bào)告
- 精準(zhǔn)醫(yī)療與個(gè)體化治療
- 雞尾酒種類大全
- 職業(yè)技術(shù)學(xué)院計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)教學(xué)標(biāo)準(zhǔn)
- (高清版)JTG 2112-2021 城鎮(zhèn)化地區(qū)公路工程技術(shù)標(biāo)準(zhǔn)
- 中國新能源汽車安全發(fā)展報(bào)告-2023-03-新能源
- PE100管施工方案水平定向鉆
- 實(shí)驗(yàn)室試劑管理培訓(xùn)
- 超星爾雅學(xué)習(xí)通《中國近現(xiàn)代史綱要(首都師范大學(xué))》2024章節(jié)測試答案
- 新部編版九年級(jí)語文下冊(cè)《詞四首》導(dǎo)學(xué)案
- (2024年)小學(xué)體育多媒體課件
- 物資設(shè)備盤點(diǎn)報(bào)告(模版)
評(píng)論
0/150
提交評(píng)論