




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、微機(jī)原理及接口技術(shù)課程設(shè)計(jì)說(shuō)明書課題: 全自動(dòng)豆?jié){機(jī)控制程序的設(shè)計(jì)專業(yè): 電子信息工程班級(jí): 電子 1102姓名: 張杰學(xué)號(hào): 3220806485指導(dǎo)老師:2013 年 12 月 28 日 第一章設(shè)計(jì)任務(wù)與目標(biāo) (3設(shè)計(jì)目的 (3設(shè)計(jì)任務(wù) (3基本設(shè)計(jì)要求 (3功能擴(kuò)展 (3設(shè)計(jì)環(huán)節(jié)與進(jìn)程安排 (3第二章總體方案設(shè)計(jì)與方案論證 (4總體方案設(shè)計(jì) (4實(shí)時(shí)鐘的調(diào)校方式 (5鍵盤的掃描方式 (5定時(shí)器方式 (6開關(guān)量輸入消抖模塊的選擇 (6倒計(jì)時(shí)1S方法選擇 (7第三章總體軟件設(shè)計(jì)說(shuō)明及總工作流程 (8總工作流程 (8總體軟件設(shè)計(jì)說(shuō)明 (10第四章系統(tǒng)資源分配及數(shù)據(jù)定義說(shuō)明 (11單元分配以及各
2、個(gè)標(biāo)志位注釋 (11第五章局部程序設(shè)計(jì)說(shuō)明 (131.自檢模塊 (132.鍵盤掃描子模塊 (143.按鍵消抖子模塊 (144.蜂鳴器LED緩沖子模塊 (155.1分鐘內(nèi)取消模塊 (156.拆字子模塊 (167.調(diào)用時(shí)鐘設(shè)定子模塊 (178.選擇工作模式子模塊 (189.水位告警子模塊 (1810.模擬水溫子模塊 (1911.無(wú)效啟動(dòng)子模塊 (20 12.實(shí)時(shí)鐘子模塊 (2113.顯示更新子模塊 (2114.啟動(dòng)子模塊 (2215.煮漿子模塊 (2216.保溫子模塊 (23第六章系統(tǒng)功能與操作說(shuō)明 (24系統(tǒng)功能 (24用戶界面操作說(shuō)明 (25第七章存在問(wèn)題與改進(jìn)程序說(shuō)明 (27模擬水溫模塊 (
3、27水位告警模塊 (28第八章課程設(shè)計(jì)總結(jié) (29附錄:程序代碼清單 第一章設(shè)計(jì)任務(wù)與目標(biāo)設(shè)計(jì)課題:全自動(dòng)豆?jié){機(jī)控制程序的設(shè)計(jì)設(shè)計(jì)目的:通過(guò)兩個(gè)禮拜在實(shí)驗(yàn)室親自動(dòng)手操作,熟悉和理解微機(jī)原理及接口技術(shù)上課老師所講的內(nèi)容,將所學(xué)知識(shí)親自動(dòng)手驗(yàn)證,借此熟悉和掌握書中知識(shí),并加強(qiáng)自己動(dòng)手設(shè)計(jì)程序的能力。設(shè)計(jì)任務(wù):本次為期兩個(gè)禮拜的課程設(shè)計(jì)任務(wù)是設(shè)計(jì)一個(gè)全自動(dòng)豆?jié){機(jī)控制程序,通過(guò)LED燈,數(shù)碼管模擬豆?jié){機(jī)的各個(gè)流程,主要要實(shí)現(xiàn)豆?jié){機(jī)的預(yù)加熱,預(yù)打漿,三次加熱打漿,而后進(jìn)行煮漿完成整個(gè)豆?jié){的流程,中間加入水位告警,防溢告警功能,并有實(shí)時(shí)鐘功能。基本設(shè)計(jì)要求:1、開機(jī)進(jìn)行適當(dāng)?shù)挠嘘P(guān)接口部件及數(shù)碼顯示器、指示
4、燈、訊響器等自檢。2、八位LED 七段數(shù)碼管在常態(tài)下作為實(shí)時(shí)鐘顯示,其余狀態(tài)下有工步號(hào),倒計(jì)時(shí),溫度顯示。3、鍵盤中能夠?qū)?shí)時(shí)鐘進(jìn)行調(diào)校功能按鍵。4、設(shè)有高低水位報(bào)警功能,在高水位狀態(tài)下啟動(dòng),LED燈閃3下,蜂鳴器同步響一秒,在低水位狀態(tài)下啟動(dòng),LED燈閃1下,蜂鳴器同步響一秒。5、具有能完成基本煮豆?jié){中的預(yù)加熱-預(yù)打漿,然后加熱-打漿總共3次的程序。6、具有在啟動(dòng)后能夠在一分鐘以內(nèi)取消煮漿的功能模塊。7、實(shí)現(xiàn)在3次打漿完成后進(jìn)入240S倒計(jì)時(shí)的煮漿功能模塊。8、在煮漿功能模塊中有對(duì)水位進(jìn)行檢測(cè),超出溢電極則停止加熱,待恢復(fù)水位持續(xù)5秒后才重新開啟加熱煮漿。9、煮漿完成后進(jìn)行以20%功率加熱的
5、保溫模塊。功能擴(kuò)展:1、可擴(kuò)展果汁功能模塊。2、設(shè)定電機(jī)關(guān)閉和重新開啟之間必須間隔15秒。3、實(shí)時(shí)鐘模塊可設(shè)置為4X4模塊,伴有位閃,按鍵賦值功能。4、改良告警提示音為音樂(lè)模塊。 設(shè)計(jì)環(huán)節(jié)及進(jìn)程安排1、布置課題,明確任務(wù)、總體方案設(shè)計(jì) 1天2、主體功能控制程序設(shè)計(jì)及調(diào)試 5天3、程序綜合聯(lián)調(diào)及功能完善、改進(jìn)、擴(kuò)展 3天4、答辯及編寫設(shè)計(jì)說(shuō)明書 3天 第二章總體方案設(shè)計(jì)與方案論證本次課程設(shè)計(jì)的課題是設(shè)計(jì)全自動(dòng)豆?jié){機(jī)模擬程序,需要運(yùn)用微機(jī)原理與接口技術(shù)課本內(nèi)容進(jìn)行設(shè)計(jì),設(shè)計(jì)的豆?jié){機(jī)不單單僅有煮豆?jié){功能。還帶有水位報(bào)警,實(shí)時(shí)鐘以及實(shí)時(shí)鐘調(diào)校功能,模擬水溫等功能。總體設(shè)計(jì)方案對(duì)于這次的課程設(shè)計(jì),按照老
6、師所講,我們所采取的程序設(shè)計(jì)是按照模塊化來(lái)進(jìn)行程序的設(shè)計(jì)。將豆?jié){機(jī)的主工作流程作為一個(gè)模塊,再加入其它功能的模塊,比如實(shí)時(shí)鐘調(diào)校模塊,水位告警模塊,模擬水溫模塊等,通過(guò)各個(gè)模塊之間的循環(huán)調(diào)用,以此來(lái)完成整個(gè)全自動(dòng)豆?jié){機(jī)的程序設(shè)計(jì)。整個(gè)程序由自檢模塊,程序初始化,15個(gè)子模塊組成的主流程循環(huán)調(diào)用,中斷模塊,延時(shí)子模塊構(gòu)成。實(shí)時(shí)鐘的調(diào)校方式方案一:運(yùn)用4X4鍵盤對(duì)應(yīng)數(shù)字輸入實(shí)時(shí)鐘調(diào)整通過(guò)對(duì)4X4鍵盤模塊的程序設(shè)計(jì),使鍵盤模塊能夠在實(shí)時(shí)鐘調(diào)校功能中實(shí)現(xiàn)時(shí)分秒準(zhǔn)確調(diào)時(shí),并且有退格,取消,確定等按鍵調(diào)整實(shí)時(shí)鐘調(diào)校,相對(duì)應(yīng)的小時(shí)十位只能輸入02,小時(shí)個(gè)位只能按鍵輸入04,分鐘十位輸入06,分鐘個(gè)位輸入09
7、,能夠較準(zhǔn)確的對(duì)實(shí)時(shí)鐘進(jìn)行調(diào)校。方案二.:通過(guò)調(diào)時(shí)鍵進(jìn)入調(diào)時(shí),四個(gè)按鍵對(duì)小時(shí),分鐘進(jìn)行+1-1調(diào)校。這個(gè)方案是更為簡(jiǎn)單的方案,只需要有個(gè)進(jìn)入調(diào)時(shí)的按鍵和一個(gè)調(diào)時(shí)完成確定按鍵,以及4個(gè)加減時(shí)鐘按鍵。通過(guò)對(duì)鍵號(hào)的掃描判斷按鍵是否按下以此來(lái)實(shí)現(xiàn)對(duì)實(shí)時(shí)鐘的調(diào)校功能。這個(gè)方案最好的優(yōu)點(diǎn)是簡(jiǎn)化了調(diào)校功能,使時(shí)鐘能夠以更簡(jiǎn)便的方式進(jìn)行調(diào)校,為產(chǎn)品的外觀設(shè)計(jì)提供了很大的方便。通過(guò)上面的綜合判斷實(shí)時(shí)鐘的調(diào)校我們選擇方案二按鍵加減調(diào)校。鍵盤的掃描方式方案一:掃描法首先識(shí)別鍵盤有無(wú)鍵按下,驅(qū)動(dòng)所有列線為0,輸入各行線電平如果有0,就說(shuō)明有鍵按下,如果行線電平全1,則全部無(wú)鍵按下。其次是如有鍵被按下,識(shí)別具體的按鍵。
8、依序驅(qū)動(dòng)某一列為0,其余列均為1,輸入各行線電平,如果某行線電平為0,可確定此行列交叉點(diǎn)處的按鍵被按下;如果行線電平全為1則本列無(wú)按鍵按下。這種方式太占用CPU的工作時(shí)間。 方案二:線反轉(zhuǎn)法首先列線輸出為全0,隨后輸入行線電平如有0,則0所在的行就是閉合的按鍵所在行;無(wú)0則無(wú)鍵閉合。其次行線輸出為全0,隨后輸入列線電平如有0,則0所在的列就是閉合的按鍵所在列;無(wú)0則無(wú)鍵閉合。直通結(jié)合上述兩步,可確定按鍵所在行和列。這種方式非常簡(jiǎn)單,并且很實(shí)用。綜合以上的分析,我們選擇方案二線反轉(zhuǎn)法 計(jì)數(shù)方式方案一:13位計(jì)數(shù)方式-方式0定時(shí)器/計(jì)數(shù)器方式0 一共是有13位的計(jì)數(shù)方式。方式0是為兼容MCS-48
9、而設(shè),初值計(jì)算麻煩,在實(shí)際應(yīng)用中,一般不用方式0。并且存在一個(gè)是時(shí)間誤差,不能適用于精確定時(shí)。方案二:16位計(jì)數(shù)方式-方式1定時(shí)器/計(jì)數(shù)器方式1 一共是有16位的計(jì)數(shù)方式,由于它每個(gè)掃描周期都會(huì)有38個(gè)Tm(機(jī)器周期的時(shí)間誤差,主要是用于要求不是很精確地定時(shí),因?yàn)橛须S機(jī)性的誤差產(chǎn)生。方案三:8位計(jì)數(shù)自動(dòng)重裝工作方式-方式2定時(shí)器/計(jì)數(shù)器方式2為自動(dòng)恢復(fù)初值(初值會(huì)自動(dòng)重裝的8位定時(shí)器/計(jì)數(shù)器,當(dāng)其計(jì)數(shù)溢出的時(shí)候,系統(tǒng)會(huì)自動(dòng)重裝初值,重新開始計(jì)數(shù)。這種工作方式可以省去用戶軟件中重裝初值的指令執(zhí)行時(shí)間,可以做到精確地定時(shí)時(shí)間。綜上所述,我們是要求能做到精確定時(shí),所以選擇方式2 按鍵輸入消抖模塊的選
10、擇對(duì)于開關(guān)量輸入的消抖處理一般有以下兩種種處理方法。方案一:軟件延時(shí)消抖即檢測(cè)出鍵閉合后執(zhí)行一個(gè)延時(shí)程序,產(chǎn)生5ms10ms的延時(shí),讓前沿抖動(dòng)消失后再一次檢測(cè)鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認(rèn)為真正有鍵按下。當(dāng)檢測(cè)到按鍵釋放后,也要給5ms 10ms的延時(shí),待后沿抖動(dòng)消失后才能轉(zhuǎn)入該鍵的處理程序。方案二:滾動(dòng)濾波消抖法滾動(dòng)濾波消抖法就是通過(guò)滾動(dòng)濾波法的原理,我們將PB0PB7電平輸入,并進(jìn)行五次滾存消抖,新態(tài)存2EH,舊態(tài)存2FH,這個(gè)方法能夠較好的完成按鍵的消抖,排除按鍵抖動(dòng)所產(chǎn)生的不良效果,完善了按鍵功能。所以我們對(duì)消抖模塊選擇滾存消抖。倒計(jì)時(shí)1S方法選擇方案一:在非倒計(jì)時(shí)顯示情況下
11、,延時(shí)可采取調(diào)用主程序,重復(fù)相應(yīng)次數(shù),得到相應(yīng)延時(shí)時(shí)間。如主程序每調(diào)用一次需10ms,調(diào)用100次,則得到1s的延時(shí)。在倒計(jì)時(shí)顯示情況下,采取在中斷設(shè)置1s到標(biāo)志位,用到倒計(jì)時(shí)開啟標(biāo)志位即可。方案二:每次延時(shí)即開啟1s到標(biāo)志位。兩個(gè)方案相比較,方案一比較簡(jiǎn)單、靈活,所以采取第一種方案來(lái)進(jìn)行精準(zhǔn)計(jì)時(shí)。 第三章 總體軟件設(shè)計(jì)說(shuō)明與總工作流程 總工作流程如圖所示主流程自檢模塊程序初始化B蜂鳴器LED 燈緩沖子模塊調(diào)用按鍵消抖子模塊1分鐘內(nèi)取消子模塊顯示更新子模塊工作模式選擇模塊調(diào)用拆字子模塊時(shí)鐘設(shè)定子模塊調(diào)用鍵盤掃描子模塊啟動(dòng)子模塊 A水位告警子模塊模擬水溫子模塊煮漿子模塊保溫子模塊撥動(dòng)開關(guān)子模塊無(wú)
12、效啟動(dòng)子模塊B 總體軟件設(shè)計(jì)說(shuō)明本次的課程設(shè)計(jì)通過(guò)對(duì)15個(gè)子模塊的循環(huán)調(diào)用來(lái)完成全自動(dòng)豆?jié){機(jī)的模擬功能,并且采用定時(shí)器方式2精準(zhǔn)計(jì)時(shí)。拆字子程序:常態(tài)下(待機(jī),保溫送時(shí)分秒到顯緩,其余則送工步號(hào),倒計(jì)時(shí)到顯緩。顯示更新子程序:根據(jù)顯緩單元內(nèi)容驅(qū)動(dòng)八位數(shù)碼管。時(shí)鐘設(shè)定子程序:通過(guò)掃描鍵號(hào)判斷調(diào)時(shí)鍵是否按下借以對(duì)實(shí)時(shí)鐘進(jìn)行調(diào)校。鍵盤掃描子程序:通過(guò)線反轉(zhuǎn)法掃描按鍵鍵號(hào),舊鍵號(hào)存65H,新鍵號(hào)存64H。工作模式子程序:當(dāng)無(wú)工作模式時(shí),按下功能選擇鍵,則顯示豆?jié){模式,而后再按時(shí),工作模式在果汁和豆?jié){兩種模式中切換。1分鐘取消子程序:啟動(dòng)1分鐘內(nèi),通過(guò)檢查啟動(dòng)鍵是否再被按下,是則取消運(yùn)行。蜂鳴器LED燈
13、緩沖子程序:根據(jù)緩沖單元內(nèi)容驅(qū)動(dòng)蜂鳴器和LED燈按鍵消抖子程序:輸入PB0PB7電平,經(jīng)5次滾存消抖后,舊態(tài)存2FH,新態(tài)存2EH。保溫子程序:以20%的功率進(jìn)行加熱保溫。水位告警子模塊:通過(guò)檢測(cè)高低水位,若有高水位或者低水位,則啟動(dòng)時(shí)會(huì)告警并退出。煮漿子模塊:以240S倒計(jì)時(shí)加熱煮漿,若煮漿過(guò)程中檢測(cè)到超水位,則停止加熱,待水位恢復(fù)持續(xù)5秒后再重新開啟加熱。無(wú)效啟動(dòng)子模塊:檢測(cè)功能未選擇時(shí)啟動(dòng)鍵是否按下,是則告警并退出。撥動(dòng)開關(guān)子模塊:輸入SW0SW7電平到緩沖單元,輸出驅(qū)動(dòng)L8L15。啟動(dòng)子模塊:功能選擇后判斷啟動(dòng)鍵是否按下,是則進(jìn)入預(yù)加熱,預(yù)加熱達(dá)到35度時(shí),則進(jìn)入預(yù)打漿。開啟電機(jī),關(guān)閉
14、加熱。待25秒打漿倒計(jì)時(shí)結(jié)束后,關(guān)閉電機(jī),開啟加熱。加熱達(dá)到50度時(shí)進(jìn)入打漿模式,開電機(jī),關(guān)加熱。以下再重復(fù)加熱打漿2次后進(jìn)入煮漿。 第四章系統(tǒng)資源分配及數(shù)據(jù)定義說(shuō)明微處理器內(nèi)部存儲(chǔ)單元分配及數(shù)據(jù)定義微處理器內(nèi)部存儲(chǔ)單元數(shù)據(jù)定義23H豆?jié){進(jìn)程碼24H.0是否進(jìn)行調(diào)時(shí)標(biāo)志位25H LED燈閃爍進(jìn)程碼26H.0閃爍標(biāo)志位26H.1倒計(jì)時(shí)標(biāo)志位26H.2響標(biāo)志位26H.3開關(guān)蜂鳴器標(biāo)志位26H.4高低水位告警區(qū)分標(biāo)志位26H.5保溫標(biāo)志位26H.6滿1秒標(biāo)志位26H.7倒計(jì)時(shí)百位減到0標(biāo)志位27H工步號(hào)28H驅(qū)動(dòng)P1標(biāo)志位29H滾存消抖存儲(chǔ)單元2AH滾存消抖存儲(chǔ)單元2BH滾存消抖存儲(chǔ)單元2CH滾存消
15、抖存儲(chǔ)單元2DH滾存消抖存儲(chǔ)單元2EH新態(tài)按鍵存儲(chǔ)單元2FH舊態(tài)按鍵存儲(chǔ)單元30H-37H顯示緩存單元38H200us計(jì)數(shù)單元39H1/100s計(jì)數(shù)單元3AH實(shí)時(shí)鐘秒鐘存儲(chǔ)單元3BH實(shí)時(shí)鐘分鐘存儲(chǔ)單元 3CH實(shí)時(shí)鐘小時(shí)存儲(chǔ)單元47H打漿,加熱4次設(shè)置初值53H閃閃閃延時(shí)200ms59H倒計(jì)時(shí)十位,個(gè)位。5AH倒計(jì)時(shí)百位(千位不顯示 5BH保溫16秒設(shè)置初值5DH保溫4秒設(shè)置初值5FH滿一秒計(jì)數(shù)64H當(dāng)前新掃描鍵號(hào)值存儲(chǔ)單元65H10ms前掃描到鍵號(hào)存儲(chǔ)單元67H保溫訊響1分鐘初值69H1分鐘內(nèi)取消初值6BH1分鐘無(wú)效標(biāo)志位 第五章局部程序設(shè)計(jì)說(shuō)明1.自檢模塊功能簡(jiǎn)述該模塊主要功能為在開機(jī)時(shí)進(jìn)行
16、有關(guān)接口部件及數(shù)碼顯示器、指示燈、蜂鳴器等適當(dāng)自檢。程序設(shè)計(jì)思路及方案當(dāng)程序輸入到單片機(jī)中運(yùn)行后會(huì)首先進(jìn)行對(duì)單片機(jī)上各個(gè)功能顯示模塊的自檢,確保使用者所使用的單片機(jī)是可以正常使用。原理說(shuō)明及部分代碼下面通過(guò)一段程序了解自檢模塊的實(shí)現(xiàn)MOV DPTR,#0FEFCH ;DPTR指向U3-A口MOV A,#0FFH ;置八段均不亮的字段碼(8255A初始化后輸出寄存器全0' MOVX DPTR,A ;輸出,關(guān)數(shù)碼顯示器(段輸出口初始驅(qū)動(dòng)全為1'無(wú)效MOV DPTR,#0FDFFH ;對(duì)8255A(U5接口芯片初始化MOV A,#8BH ;設(shè)定為A口輸出(驅(qū)L815,B口輸入(按鈕P
17、B07,C口輸入(開關(guān)SW07MOVX DPTR,A ;寫入方式控制字MOV DPTR,#0FDFCH ;DPTR指向U5-A口MOV A,#0FFH ;置八位輸出均為1'無(wú)效MOVX DPTR,A ;輸出,令L8-15初始不亮CLR P3.2 ;蜂鳴器響LCALL D1S ;延時(shí)1SSETB P3.2 ;關(guān)蜂鳴器MOV P1,#00H ;P1口輸出全0',所驅(qū)動(dòng)的L0L7指示燈全亮從這段代碼可知,再初始的狀態(tài)下,系統(tǒng)置八位數(shù)碼管全不亮,并且L8L15也置為不亮,隨后檢測(cè)蜂鳴器是否能正常亮,再檢測(cè)L0L7能否全亮。通過(guò)程序的設(shè)計(jì),完整的檢驗(yàn)了單片機(jī)上各個(gè)模塊的狀態(tài),讓使用者能更
18、好的分辨出單片機(jī)的正常程度。2.鍵盤掃描子模塊功能簡(jiǎn)述 該模塊主要功能為實(shí)現(xiàn)4*4的鍵盤掃描功能,掃描當(dāng)前所按下4*4鍵盤的按鍵鍵號(hào)存入相應(yīng)存儲(chǔ)單元,并獲得鍵值,以備后面的操作和功能實(shí)現(xiàn)。程序設(shè)計(jì)思路及方案該模塊在主流程中調(diào)用鍵盤掃描子程序(LCALL,運(yùn)用反轉(zhuǎn)法掃描鍵盤,得到所按下按鍵的相應(yīng)行列碼。當(dāng)用戶未按下按鍵時(shí),相應(yīng)存儲(chǔ)單元存入未按下信息,即為10H,當(dāng)用戶按下按鍵時(shí),系統(tǒng)相應(yīng)存儲(chǔ)單元存入已按下信息,即00H-0FH。通過(guò)掃描,并與鍵碼表比較行列碼,相等說(shuō)明掃描到所按下的按鍵,將鍵值賦值到61H儲(chǔ)存單元,以便后面的使用。原理說(shuō)明及部分代碼61H為鍵值存儲(chǔ)單元,給61H單元賦初值,通過(guò)掃
19、描所按下按鍵的行列碼與鍵碼表比較,找到相等的即說(shuō)明有鍵按下,且能精確得到相應(yīng)鍵碼,若找不到相等鍵碼則說(shuō)明為按下按鍵。鍵號(hào)值從00H開始,最多進(jìn)行16次的鍵碼查表,DPTR指向鍵碼表首地址,置當(dāng)前鍵號(hào)于A 中,代碼MOVC A,A+DPTR查表讀取鍵碼表中當(dāng)前鍵號(hào)對(duì)應(yīng)位置的鍵碼,與8位行列碼比較,不同則轉(zhuǎn)NK查下一個(gè),相同表明找到當(dāng)前按下的鍵號(hào),代碼INC 61H使鍵號(hào)值加1,代碼DJNZ R5,KY 判斷未查完鍵值表則繼續(xù),查完則無(wú)按鍵或出現(xiàn)異常行列碼,結(jié)束并返回。64H中存有新掃描到的鍵號(hào),65H中存有相對(duì)于64H中存有的鍵號(hào)10ms前掃描到的鍵號(hào),通過(guò)兩個(gè)單位的存儲(chǔ)比較,能夠較好的判斷出按
20、鍵的按下與否。3.按鍵消抖子模塊功能簡(jiǎn)述該模塊的主要功能是為按鍵輸入消抖,防止出現(xiàn)按鍵抖動(dòng)影響主流程。程序設(shè)計(jì)思路及方案將原新態(tài)存為前態(tài),將前4次得到的電平值推送至2AH-2DH單元中,獲得電平值并存為新態(tài)存放在2EH中,比較5次得到的電平值,若電平值不一致則新態(tài)不變,若電平值一致則存為新態(tài)。原理說(shuō)明及部分代碼。代碼MOV 2FH,2EH 將原新態(tài)存入舊的鍵號(hào),即2EH為新態(tài)鍵值存儲(chǔ)單元,2FH為舊態(tài)鍵值存儲(chǔ)單元,代碼MOV 2DH,2CH ;MOV 2CH,2BHMOV 2BH,2AH MOV 2AH,29H將前4次得到的電平值推送至2AH-2DH單元中,獲得電平值并存為新態(tài),代碼MOV A
21、,2DHCJNE A,2CH,XDRCJNE A,2BH,XDRCJNE A,2AH,XDRCJNE A,29H,XDR比較近5次輸入的電平值,一致的話存為新態(tài),不一致則新態(tài)照舊。4.蜂鳴器LED燈緩沖子模塊功能簡(jiǎn)述該模塊通過(guò)設(shè)定緩沖單元驅(qū)動(dòng)蜂鳴器和LED燈。程序設(shè)計(jì)思路及方案通過(guò)設(shè)定緩沖單元來(lái)驅(qū)動(dòng)蜂鳴器和LED燈,防止直接驅(qū)動(dòng)蜂鳴器和LED燈這種情況下不容易修改需要驅(qū)動(dòng)的方式。原理說(shuō)明及部分代碼下面一段程序可以了解整個(gè)模塊功能FMQ:JB 26H.3,LF0CLR P3.2SJMP LF1LF0:SETB P3.2LF1:MOV P1,28HQ0:RET通過(guò)設(shè)定26H.3作為開啟蜂鳴器的標(biāo)志
22、位,28H作為L(zhǎng)ED燈L0L7,這樣能夠在設(shè)計(jì)過(guò)程中通過(guò)標(biāo)志位來(lái)判斷來(lái)使蜂鳴器能完成我們所需要設(shè)定的響的時(shí)間,而通過(guò)28H緩沖驅(qū)動(dòng)LED燈L0L7,我們就可以通關(guān)對(duì)28H的判斷來(lái)了解燈的亮滅,也可以直接給28H中各個(gè)字節(jié)分別置0或1,來(lái)開啟各個(gè)燈的亮滅。5.1分鐘內(nèi)取消子模塊功能簡(jiǎn)述 該模塊主要功能為實(shí)現(xiàn)當(dāng)豆?jié){機(jī)開啟工作一分鐘之內(nèi)都可以取消工作,使用戶能再誤開狀態(tài)下能較好的停止豆?jié){機(jī)工作。程序設(shè)計(jì)思路及方案通過(guò)設(shè)定一個(gè)1分鐘之內(nèi)可以判斷按鍵是否按下,按下就可以退出整個(gè)工作狀態(tài)。原理說(shuō)明及部分代碼FQ1: DJNZ 69H,FQ2 ;1分鐘倒計(jì)時(shí)MOV 69H,#60DJNZ 6AH,FQ2MO
23、V 6AH,#100以上程序?yàn)?分鐘主流程循環(huán),通過(guò)在一分鐘之內(nèi)可以判斷啟動(dòng)鍵是否再次按下,再次按下后就可以取消豆?jié){機(jī)運(yùn)作。超過(guò)一分鐘后就會(huì)跳出一分鐘取消模塊,就不能再按取消鍵結(jié)束豆?jié){機(jī)運(yùn)作。6.拆字子模塊功能簡(jiǎn)述該模塊主要功能是在待機(jī)保溫時(shí)候拆送實(shí)時(shí)鐘時(shí)分秒到顯緩,其余狀態(tài)下拆送工步號(hào),倒計(jì)時(shí)到顯緩驅(qū)動(dòng)八位數(shù)碼管。程序設(shè)計(jì)思路及方案通過(guò)判斷進(jìn)程碼,在不同的模式下拆送不同的單元到顯緩驅(qū)動(dòng)八位數(shù)碼顯示器,以實(shí)現(xiàn)所需要的功能。原理說(shuō)明及部分代碼CZ: MOV A,23HCJNE A,#00H,CZTSJMP CZ2 ;最開始不工作是顯示電子表CZT: CJNE A,#25H,CZ5 ;保溫時(shí)候也顯
24、示電子表CZ2:MOV R0,#3AH ;取秒,開始拆字實(shí)時(shí)種MOV R1,#30H ;置顯示緩沖單元首地址(對(duì)應(yīng)于最右顯示位 上面為拆字的部分程序,通過(guò)程序我們可以清楚的看到,拆字模塊主要通過(guò)判斷進(jìn)程碼,不同的進(jìn)程碼拆送不同的單元到顯緩,上面一段程序?yàn)樵诖龣C(jī)進(jìn)程00H,保溫進(jìn)程25H下拆送時(shí)分秒到顯緩,而若非待機(jī),保溫。則程序跳轉(zhuǎn)到CZ5,如下程序:CZ5:MOV A,27H ; 步驟碼ANL A,#0FH ;保留低4位(個(gè)位MOV 36H,AMOV A,27HANL A,#0F0H ;保留高4位(十位SWAP A ;交換到低4位MOV 37H,AJB 26H.1,CZ0 ;為1不送倒計(jì)時(shí)(
25、跳出MOV A,59H ;倒計(jì)時(shí)ANL A,#0FH ;保留低4位(個(gè)位MOV 32H,AMOV A,59HANL A,#0F0H ;保留高4位(十位SWAP A ;交換到低4位MOV 33H,AMOV A,5AHANL A,#0FH ;保留低4位(個(gè)位MOV 34H,A為拆送倒計(jì)時(shí),工步號(hào)到對(duì)應(yīng)的顯緩單元,以此來(lái)實(shí)現(xiàn)豆?jié){機(jī)運(yùn)作過(guò)程中所需要的打漿倒計(jì)時(shí)和工步號(hào)顯示。7.時(shí)鐘設(shè)定子模塊功能簡(jiǎn)述該模塊主要功能為提供用戶對(duì)實(shí)時(shí)鐘的調(diào)校功能。程序設(shè)計(jì)思路與方案當(dāng)用戶在使用時(shí),如發(fā)現(xiàn)實(shí)時(shí)鐘不準(zhǔn)確,可簡(jiǎn)單的對(duì)實(shí)時(shí)鐘進(jìn)行調(diào)校功能,通過(guò)設(shè)定按鍵加減時(shí)分,輕松的完成實(shí)時(shí)鐘的調(diào)校。主要設(shè)定六個(gè)按鍵,包括進(jìn)入調(diào)時(shí)鍵
26、K4,確定調(diào)時(shí)并退出調(diào) 時(shí)K5,小時(shí)加1鍵K0,小時(shí)減1鍵K1,分鐘加1鍵K2,分鐘減1鍵K2。原理說(shuō)明及部分代碼利用進(jìn)程碼進(jìn)行設(shè)定,只有在待機(jī),保溫進(jìn)程下才能對(duì)實(shí)時(shí)鐘進(jìn)行調(diào)校。通過(guò)線反轉(zhuǎn)法掃描鍵號(hào)來(lái)判斷按鍵是否按下以實(shí)現(xiàn)對(duì)實(shí)時(shí)鐘的調(diào)校功能。在進(jìn)入調(diào)校后通過(guò)4個(gè)按鍵分別對(duì)小時(shí)和分鐘進(jìn)行加減,并將秒單位及前一級(jí)單位置0,較準(zhǔn)確的完成實(shí)時(shí)鐘的調(diào)校功能。KTE:JNB 24H.0,L2MOV A,65HCJNE A,#10H,L3MOV A,64HCJNE A,#04H,L3下面程序?yàn)榫€反轉(zhuǎn)法掃描鍵號(hào),若發(fā)現(xiàn)有按鍵按下,則新鍵號(hào)會(huì)存到64H中,以此實(shí)現(xiàn)對(duì)應(yīng)的功能。65H存的10H為初始狀態(tài),即無(wú)00
27、0F鍵按下。8.工作模式子模塊功能簡(jiǎn)述該模塊的功能主要為用戶提供模式選擇,正常的模式選擇有豆?jié){機(jī)和果汁,由于本程序只設(shè)計(jì)豆?jié){機(jī),但仍然提供了果汁的模式選擇,較好了模擬了正常產(chǎn)品的功能選擇。程序設(shè)計(jì)思路及方案當(dāng)用戶按下功能選擇按鍵時(shí),會(huì)將28H.0置0,驅(qū)動(dòng)L0亮起,模擬豆?jié){模式,而后再按下功能選擇鍵,則模式會(huì)在果汁和豆?jié){中切換。原理說(shuō)明及部分代碼:原理我們可以分析部分程序來(lái)進(jìn)行,以下面部分程序?yàn)槔?GZMS: MOV A,23HCJNE A,#00H,GZ0 ;剛開始選擇功能鍵才有效JNB 2FH.1,GZ0JB 2EH.1,GZ0 ;判斷PB1功能選擇鍵是否按下以上的程序是通過(guò)判斷在待機(jī)狀態(tài)
28、時(shí)的功能選擇鍵是否按下,通過(guò)按鍵的按下再實(shí)行以下程序; INC 50H MOV 28H,50HMOV A,50HCJNE A,#0FEH,GZ0MOV 50H,#0FCH通過(guò)對(duì)50H單元加1,而50H內(nèi)容有初值0FDH,加1后變?yōu)镕E即驅(qū)動(dòng)L0亮起,即選擇豆?jié){模式,而后L0與L1交替切換亮滅,即模擬豆?jié){和果汁模式切換。9.水位告警子模塊功能簡(jiǎn)述該模塊主要功能為在啟動(dòng)時(shí)檢測(cè)是否水位是否正常程序設(shè)計(jì)思路及方案為了模擬高低水位,我們?cè)O(shè)置為SW0模擬高水位,SW1模擬低水位,設(shè)立閃爍標(biāo)志位,借此分辨不同水位不同的閃爍告警方式。原理說(shuō)明及部分代碼水位告警模塊是為了讓用戶能再一個(gè)安全的水位狀態(tài)下進(jìn)行煮漿,
29、即保證了煮出豆?jié){的優(yōu)良度,亦能夠較好的保護(hù)使用者的安全與豆?jié){機(jī)的使用壽命。通過(guò)SW1模擬高水位,當(dāng)SW0為“0”時(shí),則為高水位,反之則未超水位。SW1為“0”時(shí)為低水位,反之水位正常。而通過(guò)加入閃爍標(biāo)志位和高低水位告警標(biāo)志位26H.4,在調(diào)用告警閃閃閃模塊中,可區(qū)分高低水位的告警,即高水位告警為閃爍3次,同步蜂鳴器響;低水位告警為閃爍一次,同步蜂鳴器。 10.模擬水溫子模塊功能簡(jiǎn)述該模塊主要功能為在通過(guò)AN1控制A/D轉(zhuǎn)換數(shù)據(jù)拆送到數(shù)碼管最右邊兩位模擬水溫。.程序設(shè)計(jì)思路與方案為了更好的模擬水溫拆送,在此模塊中獨(dú)立進(jìn)行拆字程序,而非在拆字模塊中進(jìn)行拆送,通過(guò)對(duì)A/D數(shù)據(jù)的BCD轉(zhuǎn)換,將0256
30、轉(zhuǎn)換為099拆送顯示溫度,而AN1可調(diào)整模擬水溫。原理說(shuō)明及部分代碼通過(guò)設(shè)定AN1調(diào)整,由以下程序完成:MOV DPTR,#0FBF9H ;A/D子程序。MOVX A,DPTR ;讀取A/D轉(zhuǎn)換結(jié)果的8位二進(jìn)制數(shù)字值即可以通過(guò)AN1調(diào)整模擬水溫。而A/D轉(zhuǎn)換結(jié)果存為緩沖單元,而后進(jìn)行BCD轉(zhuǎn)換,將其二進(jìn)制數(shù)轉(zhuǎn)換為099的BCD碼拆送溫度顯示。超過(guò)99則送“EE”到溫度顯示顯緩單元中。11.無(wú)效啟動(dòng)子模塊功能簡(jiǎn)述該模塊主要功能為防止用戶在未選擇模式就按啟動(dòng)進(jìn)入。程序設(shè)計(jì)思路及方案通過(guò)對(duì)功能模式燈的亮滅進(jìn)行判斷是否選擇完模式,是則正常啟動(dòng),若無(wú)選擇模式進(jìn)入,則告警并且退出。原理說(shuō)明及部分代碼首先檢
31、測(cè)功能模式燈是否亮起,若未亮起時(shí)檢測(cè)到啟動(dòng)鍵按下,則會(huì)有告警程序,并且退出運(yùn)行。告警程序如下:WX2: JNB 2FH.0,WX0JB 2EH.0,WX0 ; 啟動(dòng)鍵是否按下CLR 26H.2 ; 響1s標(biāo)志位0,持續(xù)響CLR 26H.3 ; 響WX3: DJNZ 5CH,WX0MOV 5CH,#100 ; 響1sSETB 26H.3 ; 停響SETB 26H.2 ; 響1s標(biāo)志位1,不再響 在無(wú)選擇模式下,啟動(dòng)鍵按下后,則會(huì)開啟響標(biāo)志位告警,并有1S主流程循環(huán),告警完才關(guān)閉蜂鳴器。12.實(shí)時(shí)鐘子模塊功能簡(jiǎn)述該模塊主要功能為精確實(shí)時(shí)鐘計(jì)時(shí)。程序設(shè)計(jì)思路及方案利用定時(shí)方式1產(chǎn)生中斷進(jìn)行精確實(shí)時(shí)鐘
32、計(jì)時(shí)。原理說(shuō)明及部分代碼當(dāng)定時(shí)器1滿足中斷條件(即定時(shí)器計(jì)滿256TM,發(fā)生中斷,找到中斷路口地址001BH,跳轉(zhuǎn)到子程序IT1P。子程序的開頭和結(jié)尾分別對(duì)累加器A和PSW進(jìn)行入棧和出棧,保證完成中斷回到主循環(huán)后,能保存累加器和PSW的數(shù)據(jù)。進(jìn)入IT1P子程序表示完成200us計(jì)時(shí),此時(shí)先對(duì)38H 單元加1,用以做200us計(jì)時(shí)單元。同時(shí)判斷38H是否為36次,即是否計(jì)滿36*256TM=10ms?當(dāng)時(shí)間未到10ms,則跳出子程序,繼續(xù)等待中斷發(fā)生,再過(guò)256TM再進(jìn)入程序,為38H單元加1。當(dāng)計(jì)滿10ms,對(duì)200us單元38H清零,并對(duì)百分秒單元39H加1,判斷計(jì)滿100次即1s的時(shí)間,將
33、百分秒單元清零,對(duì)秒單元3A單元加1,之后按照時(shí)間規(guī)律,每60s對(duì)秒單元清零、分鐘單元加1;每60min對(duì)分鐘單元清零、小時(shí)單元加1但處理秒、分和時(shí)的加1需要十進(jìn)制加1(BCD碼加1,使用ADD累加并用DA進(jìn)行十進(jìn)制調(diào)整,可以完成此功能。13.顯示更新子模塊功能簡(jiǎn)述該模塊主要功能為將顯示緩存單元30H-37H的數(shù)據(jù)通過(guò)查表法找到相應(yīng)的段碼表將要顯示的內(nèi)容顯示到數(shù)碼管上。程序設(shè)計(jì)思路及方案通過(guò)單元指針逐個(gè)將顯示緩存單元30H-37H的數(shù)據(jù),查表法找到相應(yīng)的段碼表將要顯示的內(nèi)容顯示到數(shù)碼管上,再通過(guò)循環(huán)和判斷執(zhí)行相應(yīng)程序。原理說(shuō)明及部分代碼置顯緩首位,位碼首位,查詢相關(guān)的字段碼,輸出字段碼,保存顯
34、示1ms,消除串顯,指向下一個(gè)單元,在30H-37H單元循環(huán)。 14.啟動(dòng)子模塊功能簡(jiǎn)述該模塊為豆?jié){機(jī)運(yùn)行的主要模塊,模塊中實(shí)現(xiàn)豆?jié){機(jī)的預(yù)加熱,預(yù)打漿,3次加熱打漿以此來(lái)完成豆?jié){打磨加熱的主要過(guò)程。程序設(shè)計(jì)思路及方案通過(guò)判斷豆?jié){模式選擇完后正常啟動(dòng)進(jìn)入,利用進(jìn)程碼實(shí)行整個(gè)過(guò)程。利用進(jìn)程碼來(lái)完成預(yù)加熱-預(yù)打漿-加熱-打漿-加熱-打漿-加熱-打漿。利用L2燈模擬加熱是否開啟,L3模擬電機(jī)。原理說(shuō)明及部分代碼正常啟動(dòng)后即賦進(jìn)程為10H進(jìn)程時(shí),進(jìn)行預(yù)加熱,而后通過(guò)判斷溫度是否達(dá)到35度,達(dá)到后關(guān)閉加熱(即滅L2,開啟電機(jī)(即亮L3,進(jìn)程碼送11H,進(jìn)行倒計(jì)時(shí)25秒的預(yù)打漿,通過(guò)滿1秒標(biāo)志位的設(shè)立,準(zhǔn)確
35、的進(jìn)行倒計(jì)時(shí)。25秒倒計(jì)時(shí)結(jié)束后重新開啟加熱,關(guān)閉電機(jī),待溫度達(dá)到50度后,關(guān)閉加熱,開啟電機(jī)進(jìn)行打漿,接下去重復(fù)加熱打漿兩次,待最后一次打漿完成后即完成整個(gè)打磨部分,直接送煮漿程序進(jìn)程碼。下面示例程序?yàn)閷?duì)進(jìn)程碼的判斷: Q1: CJNE R1,#10H,Q2CLR 28H.2 ;加熱即在不同的進(jìn)程中完成不同的功能。15.煮漿子模塊功能簡(jiǎn)述該模塊是在豆?jié){機(jī)打漿完成后進(jìn)行的最后一步煮漿程序,為240秒的加熱過(guò)程,并且有水位溢出判斷功能程序設(shè)計(jì)思路及方案通過(guò)對(duì)滿一秒標(biāo)志位的判斷進(jìn)行較為準(zhǔn)確的240秒加熱倒計(jì)時(shí),并且判斷在加熱過(guò)程中是否有超溢位,有則停止加熱,待水位恢復(fù)正常持續(xù)5秒后才重新開啟加熱。
36、原理說(shuō)明及部分代碼通過(guò)對(duì)進(jìn)程碼的判斷,當(dāng)進(jìn)程為20H進(jìn)程時(shí),進(jìn)行煮漿。開啟加熱。加熱過(guò)程中通過(guò)判斷水位情況,若出現(xiàn)高水位則會(huì)停止加熱,待恢復(fù)水位持續(xù)5秒后才重新開啟加熱,以下列程序?yàn)槔? LK1: DJNZ 5CH,LK2 ;5S內(nèi)無(wú)益處才重新加熱MOV 5CH,#100 INC 4FHMOV A,4FHCJNE A,#06H,LK2 ;5秒后無(wú)超水位CLR 28H.2 ;開加熱即為判斷恢復(fù)水位5秒后才重新開啟加熱。若是為低水位狀態(tài)下,即出現(xiàn)“干燒”,則煮漿模式停止,并退出運(yùn)行。恢復(fù)到待機(jī)狀態(tài)。240秒煮漿完成后,即進(jìn)入保溫模塊。16.保溫子模塊功能簡(jiǎn)述該功能模塊是對(duì)煮完的豆?jié){訊響1分鐘后,以
37、20%的功率進(jìn)行加熱保溫。程序設(shè)計(jì)思路及方案設(shè)定響標(biāo)志位來(lái)開啟蜂鳴器訊響通知。而后進(jìn)入保溫,通過(guò)設(shè)定加熱4秒,停熱16秒,來(lái)實(shí)現(xiàn)20%的功率加熱保溫。原理說(shuō)明及部分代碼如下列程序:BW1: SETB 28H.2 ;停加熱DJNZ 5BH,BW0MOV 5BH,#16DJNZ 5CH,BW0 ;延時(shí)16sMOV 5CH,#100CLR 28H.2 ;開加熱CLR 26H.5BW2: DJNZ 5DH,BW0MOV 5DH,#4DJNZ 5EH,BW0 ;延時(shí)4sMOV 5EH,#100SETB 26H.5SJMP BW1通過(guò)調(diào)用主流程循環(huán),以此來(lái)實(shí)現(xiàn)4秒的加熱以及16秒的停熱來(lái)進(jìn)行加熱保溫。 第
38、六章系統(tǒng)功能與操作說(shuō)明系統(tǒng)功能全自動(dòng)豆?jié){機(jī)能夠自主的在啟動(dòng)后進(jìn)行整個(gè)豆?jié){的打磨煮漿過(guò)程,全程自動(dòng)化,無(wú)需使用者額外操作。而本全自動(dòng)豆?jié){機(jī)還包括有水位情況的報(bào)警,實(shí)時(shí)鐘的模塊,很好的滿足用戶的需求,以及保護(hù)使用者。用戶在使用時(shí)候,可以輕松操作,無(wú)需任何學(xué)習(xí),只需要在選擇模式后按下啟動(dòng)后即可,豆?jié){機(jī)將全程自動(dòng)化完成,用戶只需輕輕一點(diǎn),稍等段時(shí)間即可以享受一杯美味的豆?jié){。用戶若有誤啟動(dòng),在啟動(dòng)的一分鐘內(nèi)可再按此啟動(dòng)鍵取消啟動(dòng)。用戶界面及操作說(shuō)明針對(duì)用戶需求進(jìn)行說(shuō)明。常規(guī)顯示界面及其說(shuō)明常規(guī)顯示狀態(tài)下,8位數(shù)碼管是顯示“時(shí)鐘 - 分鐘 - 秒鐘”,當(dāng)用戶按下進(jìn)入啟動(dòng)后,最左邊兩位顯示當(dāng)前所進(jìn)行的工步的
39、工步號(hào)。左邊第三位到第六位則顯示豆?jié){過(guò)程中打漿倒計(jì)時(shí),煮漿倒計(jì)時(shí)。最右邊兩位數(shù)碼管則顯示當(dāng)前豆?jié){溫度。 數(shù)碼管顯示界面,從左到右分別為第一位至第八位 常規(guī)顯示狀態(tài),即顯示當(dāng)前時(shí)間1. 進(jìn)入運(yùn)行界面如下: 工部號(hào) 倒計(jì)時(shí) 溫度 2、 L0為豆?jié){模式指示燈, L1為果汁模式指示燈, L7為保溫?zé)?L3加熱燈,L4為電機(jī)燈,PB0為功能選擇鍵,PB1為啟動(dòng)/取消鍵,如下圖豆?jié){模式果汁模式加熱電機(jī)保溫啟動(dòng)鍵功能選擇鍵以上為各個(gè)功能模式燈與按鍵,用戶可通過(guò)對(duì)比參照使用與觀察。時(shí)間調(diào)整模式當(dāng)用戶按下調(diào)時(shí)功能鍵后,則會(huì)進(jìn)入調(diào)時(shí),然后用戶根據(jù)所需要調(diào)整的時(shí)間進(jìn)行按鍵加減操作,K0和K1為分別對(duì)小時(shí)單位進(jìn)行加減
40、1操作,而K2和K3則為對(duì)分鐘單位進(jìn)行加減1操作。用戶可以簡(jiǎn)單輕松的對(duì)實(shí)時(shí)鐘進(jìn)行調(diào)校,在調(diào)校完成后,用戶只需按下確定調(diào)時(shí)鍵K5,即可退出調(diào)時(shí)。L0 L1 L3 L4 L7PB0 PB101 240 55 調(diào)時(shí)各個(gè)按鍵功能如下圖:進(jìn)入調(diào)時(shí)鍵 確定調(diào)時(shí)退出鍵小時(shí)+1 小時(shí)-1 分鐘+1 分鐘-1水位警告模式當(dāng)用戶開啟時(shí),若發(fā)現(xiàn)功能燈閃爍三次并同步伴有蜂鳴器響,則為高水位。若功能燈閃爍一次,同步伴有蜂鳴器響,則為低水位。用戶通過(guò)報(bào)警的不同自行改變水量重新進(jìn)行煮豆?jié){。 保溫模式當(dāng)煮漿完成時(shí),會(huì)有一分鐘提示音提示用戶已完成,用戶聽(tīng)到提示音就可提取美味豆?jié){。再按次啟動(dòng)鍵即可退出保溫。K1 K0 K3K2
41、K4 K8 K12 K5 K9 K6 K7K14 K10 K13 K11K15 第七章存在問(wèn)題與改進(jìn)程序說(shuō)明在整個(gè)程序的設(shè)計(jì)中,仍然有著一些程序存在問(wèn)題,這是在設(shè)計(jì)的時(shí)候沒(méi)有考慮周全導(dǎo)致的,在經(jīng)過(guò)了與老師的探討和同學(xué)間的互相討論下,對(duì)程序進(jìn)行了完善。以下為幾個(gè)存在問(wèn)題的程序以及其改進(jìn)后的程序。1.模擬水溫模塊在水溫模擬模塊中,設(shè)計(jì)時(shí)由于考慮不周全,單純的認(rèn)為只需要拆送099到顯緩中就可以,于是設(shè)計(jì)出了錯(cuò)誤的程序,如下:CJNE A,#9AH,LA1LA1:JNC LA2 ;超過(guò)99顯示EECLR CDA AMOV 58H,AMOV B,A ;A/D轉(zhuǎn)換結(jié)果拆送最右兩位顯示緩沖單元ANL A,#
42、0FHMOV 30H,AMOV A,BANL A,#0F0HSWAP AMOV 31H,A這個(gè)程序模塊,是個(gè)虛假數(shù)據(jù),拆送了一個(gè)虛假的099到顯緩,并沒(méi)有經(jīng)過(guò)BCD轉(zhuǎn)換,在溫度送顯緩調(diào)整過(guò)程中會(huì)有跳步現(xiàn)象,無(wú)法完整的模擬出溫度變化,是我當(dāng)初設(shè)計(jì)時(shí)候沒(méi)有考慮周全造成的。而后在老師的指導(dǎo)與同學(xué)的探討下,有了水溫拆送的正確拆送方法,自己加以改進(jìn)程序。改進(jìn)程序如下:MOV A,58HMOV B,#10HDIV ABMOV 31H,AMOV 30H,B即可以完整的模擬099的水溫變化,而非虛假的數(shù)據(jù)轉(zhuǎn)換。通過(guò)BCD轉(zhuǎn)換拆送到顯緩。較為 完整的模擬出了水溫。2.水位告警模塊在最初始的水位告警模塊中,初始判斷只判斷了預(yù)加熱狀態(tài)下的水位告警,而沒(méi)有考慮到接下去的預(yù)打漿模塊,使整個(gè)豆?jié){機(jī)在模擬過(guò)程中,跳過(guò)了在預(yù)打漿進(jìn)程下的水位檢測(cè)告警。經(jīng)老師指正修改后,添加了判斷進(jìn)程,使整個(gè)過(guò)程中都有著水位檢測(cè)的功能,改進(jìn)后的程序如下: SWGJ: JNB 26H.0,SW ;JNB,0跳轉(zhuǎn),MOV A,23HCJNE A,#
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 航標(biāo)器材的海洋數(shù)據(jù)信息處理技術(shù)考核試卷
- 錫冶煉中的產(chǎn)品質(zhì)量穩(wěn)定性控制考核試卷
- 社區(qū)醫(yī)療資源整合與服務(wù)考核試卷
- 錫礦選礦廠生產(chǎn)數(shù)據(jù)分析與決策支持考核試卷
- 裝潢印刷的清潔能源設(shè)備考核試卷
- 肉制品加工業(yè)的標(biāo)準(zhǔn)化與質(zhì)量管理考核試卷
- 夏季急救知識(shí)趣味科普
- 學(xué)校應(yīng)急救護(hù)技能培訓(xùn)體系
- 因數(shù)與倍數(shù)教學(xué)設(shè)計(jì)
- 甘肅省酒泉市四校聯(lián)考2024-2025學(xué)年高一下學(xué)期期中考試 物理 PDF版含解析【KS5U 高考】
- DZ∕T 0219-2006 滑坡防治工程設(shè)計(jì)與施工技術(shù)規(guī)范(正式版)
- 探索心理學(xué)的奧秘智慧樹知到期末考試答案章節(jié)答案2024年北京大學(xué)
- 《北斗衛(wèi)星電力應(yīng)用綜合服務(wù)平臺(tái)接口規(guī)范》
- 《光伏發(fā)電工程工程量清單計(jì)價(jià)規(guī)范》
- T-JMTX 013-2020 特種設(shè)備作業(yè)人員考核細(xì)則 鍋爐水處理(G3)
- 關(guān)于讀后續(xù)寫的可行操作課件-高三英語(yǔ)一輪復(fù)習(xí)
- 倉(cāng)庫(kù)搬遷及改進(jìn)方案課件
- 港灣網(wǎng)絡(luò)介紹膠片
- OFFER通知:實(shí)習(xí)生錄取函
- 2023年貴州黔西南州專項(xiàng)招聘國(guó)企業(yè)工作人員21人考前自測(cè)高頻難、易考點(diǎn)模擬試題(共500題)含答案詳解
- 中醫(yī)護(hù)理實(shí)訓(xùn)報(bào)告總結(jié)
評(píng)論
0/150
提交評(píng)論