版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
科技學(xué)院2010屆本科畢業(yè)論文——自動(dòng)售貨機(jī)機(jī)控制器設(shè)計(jì)計(jì)學(xué)科專業(yè):指導(dǎo)教師:學(xué)生姓名:學(xué)生學(xué)號(hào):2010年5月月目錄HYPERLINK32HYPERLINK"3.1自動(dòng)售貨貨機(jī)機(jī)貨幣識(shí)別別系系統(tǒng)程序流流程程圖IEIE、TMOD置初值,使T0為計(jì)數(shù)工作方式0,T1為定時(shí)工作方式0TH0TH0、TL0、TH1、TL1置初值,啟動(dòng)T0計(jì)數(shù)器、T1定時(shí)器,循環(huán)計(jì)數(shù)R0置初值601是否完成?是否完成?YNN檢測(cè)檢測(cè)T0是否有脈沖?NYYT0T0、T1開(kāi)始計(jì)數(shù)T1T1計(jì)數(shù)是否溢出?NYYTH1TH1、TL0重新設(shè)置計(jì)數(shù)初值將TL0將TL0計(jì)的數(shù)值存入R1、MONEY單元,然后TL0清零識(shí)別貨幣識(shí)別貨幣、累加計(jì)數(shù)結(jié)束圖3.1識(shí)識(shí)別貨貨幣系統(tǒng)驅(qū)驅(qū)動(dòng)動(dòng)程序流程程圖圖3.2自動(dòng)售貨貨機(jī)機(jī)貨物選擇擇系系統(tǒng)的程序序流流程圖本設(shè)計(jì)中,分別別設(shè)設(shè)置了價(jià)格格分分別為1元、2元、3元不等的貨貨物,這里里只只列出一元元貨貨物處理子子程程序的流程程圖圖如下:圖3.2按鍵鍵選擇擇程序流程程圖圖圖3.311元錢錢貨物處理理子子程序流程程圖圖3.3自動(dòng)售貨貨機(jī)機(jī)出貨,顯顯示示花錢數(shù)系系統(tǒng)統(tǒng)流程圖本設(shè)計(jì)設(shè)設(shè)置置了價(jià)格分分別別為1元、2元、3元不等的貨貨物,一共共112種。在通通過(guò)按鍵選選擇擇物品后,將將將會(huì)把產(chǎn)生生的的信號(hào)輸入入給給8255A的P1的引腳上上,8255接收信號(hào)后后,經(jīng)過(guò)處處理理后,將會(huì)會(huì)在在貨物輸出出端端產(chǎn)生與其其相相對(duì)應(yīng)的信信號(hào)號(hào)輸出,控控制制所選貨物物的的掉出。圖3.4出貨及及顯示示的功能驅(qū)驅(qū)動(dòng)動(dòng)程序流程程圖圖3.4自動(dòng)售貨貨機(jī)找錢,顯顯顯示找錢數(shù)數(shù)系系統(tǒng)流程圖圖本設(shè)計(jì)用825555A的PA控制找錢錢,用PB控制LED顯示找找錢數(shù),其中能夠找找錢貨幣的的面面值為1元、2元、5元。PA0控制1元,PA1控制2元,PA2控制2元,PA3控制5元。圖3.5找錢及及顯示示功能驅(qū)動(dòng)動(dòng)程程序流程圖圖由找錢系統(tǒng)1圖圖(圖圖見(jiàn)附錄)我我我們可以看看到到該芯片82255A的CS與8751的P2.6相連連,A0、A1分別與74LLS3733的的3Q、4Q相連。當(dāng)?shù)?Q、4QQ輸輸出不同組組合合時(shí),則控控制制選擇了82255A的PA、PB、PC口,當(dāng)取取00時(shí)對(duì)應(yīng)PA口輸入輸輸出,當(dāng)取取001時(shí)對(duì)應(yīng)PB口輸入輸輸出,當(dāng)取取110時(shí)對(duì)應(yīng)PC口輸入輸輸出;由于于也也受到P2..6的控制,只只有當(dāng)P2..6輸出為0時(shí),才能片片選到該芯芯片片8255AA。最后我們可以計(jì)計(jì)算算得出PA、PB、PC及控制口口對(duì)應(yīng)的地地址址分別為BFFF3H、BFF7HH、BFFBHH、和BFFFFH。3.5出錯(cuò)報(bào)警警系統(tǒng)流程程圖圖3.6報(bào)警功功能驅(qū)驅(qū)動(dòng)程序流流程程圖由找錢系統(tǒng)1圖圖(圖圖見(jiàn)附錄)我我我們可以看看到到該芯片82255A的CS與8751的P2.6相連連,A0、A1分別與74LLS3733的的3Q、4Q相連。這這個(gè)已經(jīng)在在上上一章中已已經(jīng)經(jīng)說(shuō)過(guò)了,在在在這里就不不再再畫了。當(dāng)?shù)?Q、4QQ輸輸出不同組組合合時(shí),則控控制制選擇了82255A的PA、PB、PC口,當(dāng)取取10時(shí)對(duì)應(yīng)PC口輸入輸輸出;由于于也也受到P2..6的控制,只只有當(dāng)P2..6輸出為0時(shí),才能片片選到該芯芯片片8255AA。最后我們可以計(jì)計(jì)算算得出PA、PB、PC及控制口口對(duì)應(yīng)的地地址址分別為BFFF3H、BFF7HH、BFFBHH、和BFFFFH。第四章.系統(tǒng)軟軟、硬硬件設(shè)計(jì)實(shí)實(shí)現(xiàn)現(xiàn)HYPERLINK\l""4.1驅(qū)動(dòng)程序序由于時(shí)間關(guān)系,本本次畢業(yè)設(shè)計(jì)計(jì)的仿真結(jié)果果就不再這里里做詳細(xì)的介介紹了,現(xiàn)列列出各軟件的的驅(qū)動(dòng)程序如如下:實(shí)現(xiàn)有效投幣定定時(shí)時(shí)30秒以及累加加計(jì)數(shù)程序序::ORG10000HHMONEY DDAATA 2000HHMOV IE,, #8AHMOV TMMOOD,#04H ;設(shè)置T1為定時(shí)工作作方式0,T0為計(jì)數(shù)工作作方式0MOV TH00,,#00HH ;置計(jì)數(shù)初值值MOV TL00,,#00HHMOV TH11,,#9EHH ;置計(jì)數(shù)初值值MOV TL11,,#58HHSETB TRR00 ;啟動(dòng)計(jì)數(shù)器器SETB TRR11 ;啟動(dòng)定時(shí)器器MOV R0,,##601LOOP1: DJNZ R0,T11_ENDD ;循環(huán)600次,實(shí)現(xiàn)30秒計(jì)時(shí)MOV A,PP33JBC ACCC..5,LPP11LP1: JJBBC TF1,NNEXT ;查詢計(jì)數(shù)溢溢出SJMP LPP11NEXT: MMOV TH1,##9EH ;重新設(shè)置計(jì)計(jì)數(shù)初值MOV TL11,,#58HHJMP LOOOPP1T1_END:: MOV R1,TLL0MOV MONNEEY,R11 ;將投入的貨貨幣累加數(shù)數(shù)存存入MONEEYCLR AMOV TL00,,AMOV TH00,,ARET貨物選擇系統(tǒng)的的驅(qū)驅(qū)動(dòng)程序VULEEQQUU40HMOVA,MOONNEYMOVB,ASJMPKEYYKEY:MOVVRR2,#0FEHH ;設(shè)置鍵碼寄寄存器ANLP1,##00F0H ;設(shè)置初始掃掃描碼MOVA,PP1 ;全掃描行線線CPL A;;取反ANLA,#00FF0H ;屏蔽回掃值值低4位JZKEY3;無(wú)鍵閉合,返返返回LCALLD1100MS;延時(shí)10mss去抖動(dòng)MOVR3,##004H;;設(shè)置掃描行行數(shù)ORL P11,,#0FH44;位描行線全全置高KEY1: MMOOVP1,R2;逐行掃描鍵鍵盤 MOVA,P1;讀入狀態(tài)值值 CPLA;取反 ANLA,#0F0HH;屏蔽狀態(tài)低低4位 JNZKEYY22 ;有鍵閉合,轉(zhuǎn)轉(zhuǎn)轉(zhuǎn)鍵處理 MOVA,R1;無(wú)鍵閉合,繼繼繼續(xù)掃描下下一一個(gè)按鍵 RLA ;左移掃描碼碼,指向下下一一行掃描線線 MOVR2,A DJNZR3,KEY1;逐行掃描未未完成,繼繼續(xù)續(xù) LJMPKEYY33;本輪掃描無(wú)無(wú)鍵閉合,返返返回KEY2: MMOOVAA,P1 ;鍵處理 ORLAA,#0FH ;掃描碼與狀狀態(tài)值拼裝裝成成特征字節(jié)節(jié) ANLA,R2 CPLA ;取反,特征征字節(jié)變換換成成鍵位碼 MOVVULLEE,A ;保存鍵位碼碼 LCALLLKEYPPCCS;用查表法查查找鍵碼WAIT:AANLP11,,#0F0HH;判斷鍵釋放放否?MOVAA,,P1ANLAA,,#0F0HHCPLAAJNZWWAAITRETKET3:MMOVVVULE,#0FFHH ;無(wú)鍵閉合,置置置無(wú)效碼RET查找鍵碼子程序序如如下:KEYPCS::MOVVR4,#10H ;查找鍵碼程程序,社子子按按鍵碼(166個(gè)按鍵)MOOVVR4,#00H ;清除鍵碼計(jì)計(jì)數(shù)器MOOVVDPTTRR,#KEYTTAB ;設(shè)置鍵碼表表首址KEYP1:CLRRAAMOOVVCA,@A+DPPTR ;查表CJJNNE A,VULE,KEYP22 ;未找到,轉(zhuǎn)轉(zhuǎn)到下一個(gè)個(gè)MOVVVUULE,R5 ;找到鍵位碼碼,鍵碼裝裝入入鍵碼寄存存器器VULEMOVREETTKEYP2:INCCR5 ;鍵碼計(jì)數(shù)器器加1INNCCDPPTTR ;鍵碼表地址址加1DJJNNZRR44,KEYP11 ;未查完16個(gè)按鍵,繼繼續(xù)MOOVVVUULLE,#0FFHH ;無(wú)鍵閉合,置置置無(wú)效碼REETTKEYTAB ::DB11H ;鍵碼=000H對(duì)應(yīng)應(yīng)鍵‘0’DBB21HH;鍵碼=000H對(duì)應(yīng)應(yīng)鍵‘1’DBB41HH;鍵碼=000H對(duì)應(yīng)應(yīng)鍵‘2’DBB81HH;鍵碼=000H對(duì)應(yīng)應(yīng)鍵‘3’DBB12HH;鍵碼=000H對(duì)應(yīng)應(yīng)鍵‘4’DBB22HH;鍵碼=000H對(duì)應(yīng)應(yīng)鍵‘5’DBB42HH;鍵碼=000H對(duì)應(yīng)應(yīng)鍵‘6’DBB82HH;鍵碼=000H對(duì)應(yīng)應(yīng)鍵‘7’DBB14HH;鍵碼=000H對(duì)應(yīng)應(yīng)鍵‘8’DBB24HH;鍵碼=000H對(duì)應(yīng)應(yīng)鍵‘9’DBB44HH;鍵碼=000H對(duì)應(yīng)應(yīng)鍵‘A’DBB84HH;鍵碼=000H對(duì)應(yīng)應(yīng)鍵‘B’DBB18HH;鍵碼=000H對(duì)應(yīng)應(yīng)鍵‘C’DBB28HH;鍵碼=000H對(duì)應(yīng)應(yīng)鍵‘D’DBB48HH;鍵碼=000H對(duì)應(yīng)應(yīng)鍵‘E’DBB88HH;鍵碼=000H對(duì)應(yīng)應(yīng)鍵‘F’MMOOVAA,,R5MOOVV R6,AA ;將選物按鍵鍵碼存入R66中ANL RR0,#0000H ;R0清零ANL RR1,#0000H ;R1清零*********************************************選擇1元錢的貨物A********************************************CJNE A,,##00H,,NNEXTBB ;判斷是否按按下鍵‘0’JMP 1YYUUAN*********************************************選擇1元錢的貨物B********************************************NEXTB: CCJNE A,#011H,NEEXXTC ;判斷是否按按下鍵‘1’JMP 1YYUUAN*********************************************選擇1元錢的貨物C********************************************NEXTC: CCJNE A,#022H,NEEXXTD ;判斷是否按按下鍵‘2’JMP 1YYUUAN*********************************************選擇1元錢的貨物D********************************************NEXTD: CCJNE A,#033H,NEEXXTE ;判斷是否按按下鍵‘3’1YUAN: MMOV A,B ;將投入的貨貨幣累加數(shù)數(shù)存存入寄存器器BBCJNE A,,##01H,,NNEXTAA11 ;判斷投入的的貨幣數(shù)是是否否為1元錢MOV R0,,##01H ;選擇的貨物物數(shù)為1個(gè)LOOPA1::LLCALLL KEY ;等待是否有有鍵按下MOV A,RR55CJNE A,,##0FH,,NNEXTAA22 ;按下確定鍵鍵,所選貨物掉掉出LJMP OUUTTGOODDSSNEXTA2::CCJNE A,#0EEH,VOOIICEA11 ;按下取消鍵鍵MOV A,BB ;退還全部的的錢JMP OUUTTMONEEYYVOICEA11::LCALLLL VOICEE ;選擇按下其其他鍵,報(bào)報(bào)警警JMP LOOOOPA1 ;返回,等到到有鍵按下下NEXTA1::JJNC NEXTAA3 ;投入的貨幣幣數(shù)小于所所選選擇商品的的預(yù)預(yù)設(shè)價(jià)格JMP OUUTTMONEEYY ;錢全部退還還NEXTA3::LLCALLL KEY ;等待是否有有鍵按下MOV A,RR55CJNE A,,##0CH,,NNEXTAA44 ;選擇一次性性購(gòu)買2個(gè)貨物MOV A,BBCJNZ A,,##02H,,NNEXTAA55 ;判斷投入的的貨幣數(shù)是是否否為2元MOV R0,,##02H ;將選擇的貨貨物數(shù)量值值存存入R0LOOPA2::LLCALLL KEY ;等待是否有有鍵按下MOV A,RR55CJNE A,,##0FH,,NNEXTAA66 ;按下確定鍵鍵,所選貨物掉掉出LJMP OUUTTGOODDSSNEXTA6::CCJNE A,#0EEH,VOOIICEA22MOV A,BB ;退還全部的的錢JMP OUUTTMONEEYYVOICEA22::LCALLLL VOICEE ;選擇按下其其他鍵,報(bào)報(bào)警警JMP LOOOOPA2 ;返回,等到有鍵按按下NEXTA5::JJNC NEXTAA7 ;投入的貨幣幣數(shù)小于所所選選貨物的預(yù)預(yù)設(shè)設(shè)價(jià)格JMP OUUTTMONEEYY ;錢全部退還還NEXTA7::LLCALLL KEY ;等待是否有有鍵按下MOV A,RR55CJNE A,,##0FH,,NNEXTAA88 ;按下確定鍵鍵,所選貨物掉掉出MOV A,BBSUBB A,,##02HMOV R0,,##02H ;將選擇的貨貨物數(shù)量值值存存入R0MOV R1,,AA ;將找錢數(shù)存存入R1LCALL OOUUTMONNEEY ;找錢JMP OUUTTGOODDSS ;所選貨物掉掉出NEXTA8::CCJNE A,#0EEH,VOOIICEA33MOV A,BB ;退還全部的的錢JMP OUUTTMONEEYYVOICEA33::LCALLLL VOICEE ;選擇按下其其他鍵,報(bào)報(bào)警警JMP NEEXXTA7 ;返回,等到到有鍵按NEXTA4::CCJNE A,#0DDH,NEEXXTA9 ;選擇一次性性購(gòu)買3個(gè)貨物MOV A,BBCJNE A,,##03H,,NNEXTAA110 ;判斷投入的的貨幣數(shù)是是否否為3元MOV R0,,##03H ;將選擇的貨貨物數(shù)量值值存存入R0LOOPA3::LLCALLL KEY ;等待是否有有鍵按下MOV A,RR55CJNE A,,##0FH,,NNEXTAA111 ;按下確定鍵鍵,所選貨物掉掉出LJMP OUUTTGOODDSSNEXTA111::CJNEE A,#0EEH,VOOIICEA44MOV A,BB ;退還全部的的錢JMP OUUTTMONEEYYVOICEA44::LCALLLL VOICEE ;選擇按下其其他鍵,報(bào)報(bào)警警JMP LOOOOPA3 ;返回,等到到有鍵按下下NEXTA100::JNC NEXTAA12 ;投入的貨幣幣數(shù)小于所所選選貨物的預(yù)預(yù)設(shè)設(shè)價(jià)格JMP OUUTTMONEEYY ;錢全部退還還NEXTA122::LCALLLL KEY ;等待是否有有鍵按下MOV A,RR55CJNE A,,##0FH,,NNEXTAA113 ;按下確定鍵鍵,所選貨物掉掉出MOV A,BBSUBB A,,##03HMOV R0,,##03H ;將選擇的貨貨物數(shù)量值值存存入R0MOV R1,,AA ;將找錢數(shù)存存入R1LCALL OOUUTMONNEEY ;找錢JMP OUUTTGOODDSS ;所選貨物掉掉出NEXTA133::CJNEE A,#0EEH,VOOIICEA55MOV A,BB ;退還全部的的錢JMP OUUTTMONEEYYVOICEA55::LCALLLL VOICEE ;選擇按下其其他鍵,報(bào)報(bào)警警JMP NEEXXTA122 ;返回,等到到有鍵按NEXTA9::LLCALLL KEY ;等待是否有有鍵按下MOV A,RR55CJNE A,,##0FH,,NNEXTAA114 ;按下確定鍵鍵,所選貨物掉掉出MOV A,BBSUBB A,,##01HMOV R0,,##01H ;將選擇的貨貨物數(shù)量值值存存入R0MOV R1,,AA ;將找錢數(shù)存存入R1LCALL OOUUTMONNEEY ;找錢JMP OUUTTGOODDSS ;所選貨物掉掉出NEXTA144::CJNEE A,#0EEH,VOOIICEA66 MOV A,BB ;退還全部的的錢JMP OUUTTMONEEYYVOICEA66::LCALLLL VOICEE ;選擇按下其其他鍵,報(bào)報(bào)警警JMP NEEXXTA9 ;返回,等到到有鍵按下下*************************************************出錯(cuò)報(bào)報(bào)警**************************************************NEXYM:LLCCALL VOICEE ;報(bào)警JMP KEEYY 報(bào)警系統(tǒng)的驅(qū)動(dòng)動(dòng)程程序VOICE: MOV DPTR,,#BFFFFFH ;控制口地址址送數(shù)據(jù)指指針針MOV A,##880H ;PC輸出MOVX @DDPPTR,AA ;將方式控制制字寫入82255A控制制口,PC輸出MOVX @DDPPTR,##BBFFBHH ;PC口地址送數(shù)數(shù)據(jù)指針MOV A,##001HMOVX @DDPPTR,AA ;PC0引腳輸出一一個(gè)高電平‘1’,實(shí)現(xiàn)報(bào)警警功能LCALL DD110MS ;延時(shí)10msANL A,##000HMOVX @DDPPTR,AA ;報(bào)警取消RETD10M
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年購(gòu)銷合同:某鋼鐵企業(yè)向供應(yīng)商訂購(gòu)0萬(wàn)噸原材料2篇
- 二零二五年度高鐵站房PC構(gòu)件預(yù)制及吊裝工程合同2篇
- 二零二五年度物業(yè)管理顧問(wèn)合同(含交通樞紐管理)2篇
- 二零二五版貨車司機(jī)意外傷害賠償合同范本3篇
- 二零二五年度綠色環(huán)保型二手房按揭交易合同模板3篇
- 二零二五食堂承包合同(大路食堂運(yùn)營(yíng)管理)3篇
- 二零二五版二手房買賣與家具選購(gòu)代理合同3篇
- 稅務(wù)局2025年度企業(yè)社會(huì)責(zé)任報(bào)告編制合同
- 二零二五年度智慧社區(qū)家居安裝合同規(guī)范3篇
- 二零二五年度蟲(chóng)草科研合作與技術(shù)轉(zhuǎn)移合同范本3篇
- 財(cái)務(wù)總監(jiān)個(gè)人述職報(bào)告
- 居家養(yǎng)老護(hù)理人員培訓(xùn)方案
- 江蘇省無(wú)錫市2024年中考語(yǔ)文試卷【附答案】
- 管理者的九大財(cái)務(wù)思維
- 四年級(jí)上冊(cè)數(shù)學(xué)應(yīng)用題練習(xí)100題附答案
- 2024年度中國(guó)電建集團(tuán)北京勘測(cè)設(shè)計(jì)研究院限公司校園招聘高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 有關(guān)企業(yè)會(huì)計(jì)人員個(gè)人工作總結(jié)
- 人教版高中數(shù)學(xué)必修二《第十章 概率》單元同步練習(xí)及答案
- 干部人事檔案專項(xiàng)審核工作情況報(bào)告(8篇)
- 智慧校園信息化建設(shè)項(xiàng)目組織人員安排方案
- 多旋翼無(wú)人機(jī)駕駛員執(zhí)照(CAAC)備考試題庫(kù)大全-下部分
評(píng)論
0/150
提交評(píng)論