全自動(dòng)豆?jié){機(jī)控制程序的設(shè)計(jì)說明書_第1頁(yè)
全自動(dòng)豆?jié){機(jī)控制程序的設(shè)計(jì)說明書_第2頁(yè)
全自動(dòng)豆?jié){機(jī)控制程序的設(shè)計(jì)說明書_第3頁(yè)
全自動(dòng)豆?jié){機(jī)控制程序的設(shè)計(jì)說明書_第4頁(yè)
全自動(dòng)豆?jié){機(jī)控制程序的設(shè)計(jì)說明書_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 微機(jī)原理及接口技術(shù)課程設(shè)計(jì) 微機(jī)原理及接口技術(shù)課程設(shè)計(jì)說明書 課題: 全自動(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ì)說明及總工作流程8總工作流程 8總體軟件設(shè)計(jì)說明 10第四章 系統(tǒng)資源分配及數(shù)據(jù)定義說明 11單元

2、分配以及各個(gè)標(biāo)志位注釋 11第五章 局部程序設(shè)計(jì)說明131.自檢模塊 132.鍵盤掃描子模塊 143.按鍵消抖子模塊 144.蜂鳴器LED緩沖子模塊 155.1分鐘內(nèi)取消模塊 156.拆字子模塊 167.調(diào)用時(shí)鐘設(shè)定子模塊 178.選擇工作模式子模塊 189.水位告警子模塊 1810.模擬水溫子模塊1911.無效啟動(dòng)子模塊 2012.實(shí)時(shí)鐘子模塊 2113.顯示更新子模塊2114.啟動(dòng)子模塊2215.煮漿子模塊2216.保溫子模塊23第六章系統(tǒng)功能與操作說明24 系統(tǒng)功能24 用戶界面操作說明25第七章存在問題與改進(jìn)程序說明 27 模擬水溫模塊27 水位告警模塊28第八章課程設(shè)計(jì)總結(jié)29附錄:

3、程序代碼清單第一章 設(shè)計(jì)任務(wù)與目標(biāo)設(shè)計(jì)課題:全自動(dòng)豆?jié){機(jī)控制程序的設(shè)計(jì)設(shè)計(jì)目的:通過兩個(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ī)控制程序,通過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ù)碼顯示器、指示燈、訊響器等自檢。2、八位LED 七段數(shù)碼管在常態(tài)下作

4、為實(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%功率加熱的保溫模塊。功能擴(kuò)展:1、可擴(kuò)展果汁功能模塊。2、設(shè)定電

5、機(jī)關(guān)閉和重新開啟之間必須間隔15秒。3、實(shí)時(shí)鐘模塊可設(shè)置為4X4模塊,伴有位閃,按鍵賦值功能。4、改良告警提示音為音樂模塊。設(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ì)說明書 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)校功能,模擬水溫等功能??傮w設(shè)計(jì)方案 對(duì)于這次的課程設(shè)計(jì),按照老師所講,我們所采取的程序設(shè)計(jì)是按照模塊化來進(jìn)行程序的

6、設(shè)計(jì)。將豆?jié){機(jī)的主工作流程作為一個(gè)模塊,再加入其它功能的模塊,比如實(shí)時(shí)鐘調(diào)校模塊,水位告警模塊,模擬水溫模塊等,通過各個(gè)模塊之間的循環(huán)調(diào)用,以此來完成整個(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)整通過對(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,能夠較準(zhǔn)確的對(duì)實(shí)時(shí)鐘進(jìn)行調(diào)校。方案二.:通過調(diào)時(shí)

7、鍵進(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í)鐘按鍵。通過對(duì)鍵號(hào)的掃描判斷按鍵是否按下以此來實(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ì)提供了很大的方便。通過上面的綜合判斷實(shí)時(shí)鐘的調(diào)校我們選擇方案二按鍵加減調(diào)校。鍵盤的掃描方式方案一:掃描法首先識(shí)別鍵盤有無鍵按下,驅(qū)動(dòng)所有列線為0,輸入各行線電平如果有0,就說明有鍵按下,如果行線電平全1,則全部無鍵按下。其次是如有鍵被按下,識(shí)別具體的按鍵。依序驅(qū)動(dòng)某一列為0 ,其余列均為1 ,輸入各行線電

8、平,如果某行線電平為0 ,可確定此行列交叉點(diǎn)處的按鍵被按下;如果行線電平全為1 則本列無按鍵按下。這種方式太占用CPU的工作時(shí)間。方案二:線反轉(zhuǎn)法 首先列線輸出為全0 ,隨后輸入行線電平如有0,則0所在的行就是閉合的按鍵所在行;無0則無鍵閉合。其次行線輸出為全0 ,隨后輸入列線電平如有0,則0所在的列就是閉合的按鍵所在列;無0則無鍵閉合。直通結(jié)合上述兩步,可確定按鍵所在行和列。這種方式非常簡(jiǎn)單,并且很實(shí)用。綜合以上的分析,我們選擇方案二線反轉(zhuǎn)法計(jì)數(shù)方式方案一:13位計(jì)數(shù)方式-方式0 定時(shí)器/計(jì)數(shù)器方式0 一共是有13位的計(jì)數(shù)方式。方式0是為兼容MCS-48而設(shè),初值計(jì)算麻煩,在實(shí)際應(yīng)用中,一般

9、不用方式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按鍵輸入消抖模塊的選擇對(duì)于開關(guān)量輸入的消抖處理一般有以下

10、兩種種處理方法。方案一:軟件延時(shí)消抖即檢測(cè)出鍵閉合后執(zhí)行一個(gè)延時(shí)程序,產(chǎn)生5ms10ms的延時(shí),讓前沿抖動(dòng)消失后再一次檢測(cè)鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認(rèn)為真正有鍵按下。當(dāng)檢測(cè)到按鍵釋放后,也要給5ms10ms的延時(shí),待后沿抖動(dòng)消失后才能轉(zhuǎn)入該鍵的處理程序。方案二:滾動(dòng)濾波消抖法滾動(dòng)濾波消抖法就是通過滾動(dòng)濾波法的原理,我們將PB0PB7電平輸入,并進(jìn)行五次滾存消抖,新態(tài)存2EH,舊態(tài)存2FH,這個(gè)方法能夠較好的完成按鍵的消抖,排除按鍵抖動(dòng)所產(chǎn)生的不良效果,完善了按鍵功能。所以我們對(duì)消抖模塊選擇滾存消抖。倒計(jì)時(shí)1S方法選擇方案一:在非倒計(jì)時(shí)顯示情況下,延時(shí)可采取調(diào)用主程序,重復(fù)相應(yīng)次數(shù),

11、得到相應(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)單、靈活,所以采取第一種方案來進(jìn)行精準(zhǔn)計(jì)時(shí)。 第三章 總體軟件設(shè)計(jì)說明與總工作流程總工作流程如圖所示主流程自檢模塊程序初始化B蜂鳴器LED燈緩沖子模塊調(diào)用鍵盤掃描子模塊啟動(dòng)子模塊調(diào)用按鍵消抖子模塊1分鐘內(nèi)取消子模塊顯示更新子模塊工作模式選擇模塊調(diào)用拆字子模塊時(shí)鐘設(shè)定子模塊 A無效啟動(dòng)子模塊 B A水位告警子模塊模擬水溫子模塊煮漿子模塊保溫子模塊撥動(dòng)開關(guān)子模塊總體軟件設(shè)計(jì)說明本次

12、的課程設(shè)計(jì)通過對(duì)15個(gè)子模塊的循環(huán)調(diào)用來完成全自動(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è)定子程序:通過掃描鍵號(hào)判斷調(diào)時(shí)鍵是否按下借以對(duì)實(shí)時(shí)鐘進(jìn)行調(diào)校。鍵盤掃描子程序:通過線反轉(zhuǎn)法掃描按鍵鍵號(hào),舊鍵號(hào)存65H,新鍵號(hào)存64H。工作模式子程序:當(dāng)無工作模式時(shí),按下功能選擇鍵,則顯示豆?jié){模式,而后再按時(shí),工作模式在果汁和豆?jié){兩種模式中切換。1分鐘取消子程序:?jiǎn)?dòng)1分鐘內(nèi),通過檢查啟動(dòng)鍵是否再被按下,是則取消運(yùn)行。蜂鳴器LED燈緩沖子程序:根據(jù)緩沖單元內(nèi)容驅(qū)動(dòng)蜂

13、鳴器和LED燈按鍵消抖子程序:輸入PB0PB7電平,經(jīng)5次滾存消抖后,舊態(tài)存2FH,新態(tài)存2EH。保溫子程序:以20%的功率進(jìn)行加熱保溫。水位告警子模塊:通過檢測(cè)高低水位,若有高水位或者低水位,則啟動(dòng)時(shí)會(huì)告警并退出 。煮漿子模塊:以240S倒計(jì)時(shí)加熱煮漿,若煮漿過程中檢測(cè)到超水位,則停止加熱,待水位恢復(fù)持續(xù)5秒后再重新開啟加熱。無效啟動(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)閉加熱。待25秒打漿倒計(jì)時(shí)結(jié)束后,

14、關(guān)閉電機(jī),開啟加熱。加熱達(dá)到50度時(shí)進(jìn)入打漿模式,開電機(jī),關(guān)加熱。以下再重復(fù)加熱打漿2次后進(jìn)入煮漿。第四章 系統(tǒng)資源分配及數(shù)據(jù)定義說明微處理器內(nèi)部存儲(chǔ)單元分配及數(shù)據(jù)定義微處理器內(nèi)部存儲(chǔ)單元數(shù)據(jù)定義23H豆?jié){進(jìn)程碼24H.0是否進(jìn)行調(diào)時(shí)標(biāo)志位25HLED燈閃爍進(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滾存消抖存儲(chǔ)單元2DH滾存消抖存儲(chǔ)單元2

15、EH新態(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分鐘無效標(biāo)志位第五章 局部程序設(shè)計(jì)說明1.自檢模塊功能簡(jiǎn)述該模塊主要功能為在開機(jī)時(shí)進(jìn)行有關(guān)接口部件及數(shù)碼顯示器、指示燈、

16、蜂鳴器等適當(dāng)自檢。程序設(shè)計(jì)思路及方案當(dāng)程序輸入到單片機(jī)中運(yùn)行后會(huì)首先進(jìn)行對(duì)單片機(jī)上各個(gè)功能顯示模塊的自檢,確保使用者所使用的單片機(jī)是可以正常使用。原理說明及部分代碼 下面通過一段程序了解自檢模塊的實(shí)現(xiàn)MOV DPTR,#0FEFCH ;DPTR指向U3-A口MOV A,#0FFH ;置八段均不亮的字段碼(8255A初始化后輸出寄存器全0')MOVX DPTR,A ;輸出,關(guān)數(shù)碼顯示器(段輸出口初始驅(qū)動(dòng)全為1'無效)MOV DPTR,#0FDFFH ;對(duì)8255A(U5)接口芯片初始化MOV A,#8BH ;設(shè)定為A口輸出(驅(qū)L815),B口輸入(按鈕PB07),C口輸入(開關(guān)S

17、W07) MOVX DPTR,A ;寫入方式控制字 MOV DPTR,#0FDFCH ;DPTR指向U5-A口MOV A,#0FFH ;置八位輸出均為1'無效MOVX DPTR,A ;輸出,令L8-15初始不亮CLR P3.2 ;蜂鳴器響 LCALL D1S ;延時(shí)1S SETB P3.2 ;關(guān)蜂鳴器MOV P1,#00H ;P1口輸出全0',所驅(qū)動(dòng)的L0L7指示燈全亮從這段代碼可知,再初始的狀態(tài)下,系統(tǒng)置八位數(shù)碼管全不亮,并且L8L15也置為不亮,隨后檢測(cè)蜂鳴器是否能正常亮,再檢測(cè)L0L7能否全亮。通過程序的設(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。通過掃描,并與鍵碼表比較行列碼,相等說明掃描到所按下的按鍵,將鍵值賦值到61H儲(chǔ)存單元,以便后面的使用。原理說明及部分代碼61H為鍵值存儲(chǔ)單元,給61H單元賦初值,通過掃描所按下按鍵的

19、行列碼與鍵碼表比較,找到相等的即說明有鍵按下,且能精確得到相應(yīng)鍵碼,若找不到相等鍵碼則說明為按下按鍵。鍵號(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ù),查完則無按鍵或出現(xiàn)異常行列碼,結(jié)束并返回。64H中存有新掃描到的鍵號(hào),65H中存有相對(duì)于64H中存有的鍵號(hào)10ms前掃描到的鍵號(hào),通過兩個(gè)單位的存儲(chǔ)比較,能夠較好的判斷出按鍵的按下與否。3.

20、按鍵消抖子模塊功能簡(jiǎn)述該模塊的主要功能是為按鍵輸入消抖,防止出現(xiàn)按鍵抖動(dòng)影響主流程。程序設(shè)計(jì)思路及方案將原新態(tài)存為前態(tài),將前4次得到的電平值推送至2AH-2DH單元中,獲得電平值并存為新態(tài)存放在2EH中,比較5次得到的電平值,若電平值不一致則新態(tài)不變,若電平值一致則存為新態(tài)。原理說明及部分代碼。代碼MOV 2FH,2EH 將原新態(tài)存入舊的鍵號(hào),即2EH為新態(tài)鍵值存儲(chǔ)單元,2FH為舊態(tài)鍵值存儲(chǔ)單元,代碼 MOV 2DH,2CH ; MOV 2CH,2BH MOV 2BH,2AH MOV 2AH,29H將前4次得到的電平值推送至2AH-2DH單元中,獲得電平值并存為新態(tài),代碼 MOV A,2DH

21、CJNE A,2CH,XDR CJNE A,2BH,XDR CJNE A,2AH,XDR CJNE A,29H,XDR比較近5次輸入的電平值,一致的話存為新態(tài),不一致則新態(tài)照舊。4.蜂鳴器LED燈緩沖子模塊功能簡(jiǎn)述該模塊通過設(shè)定緩沖單元驅(qū)動(dòng)蜂鳴器和LED燈。程序設(shè)計(jì)思路及方案通過設(shè)定緩沖單元來驅(qū)動(dòng)蜂鳴器和LED燈,防止直接驅(qū)動(dòng)蜂鳴器和LED燈這種情況下不容易修改需要驅(qū)動(dòng)的方式。原理說明及部分代碼 下面一段程序可以了解整個(gè)模塊功能FMQ:JB 26H.3,LF0 CLR P3.2 SJMP LF1 LF0:SETB P3.2 LF1:MOV P1,28HQ0:RET通過設(shè)定26H.3作為開啟蜂鳴

22、器的標(biāo)志位,28H作為L(zhǎng)ED燈L0L7,這樣能夠在設(shè)計(jì)過程中通過標(biāo)志位來判斷來使蜂鳴器能完成我們所需要設(shè)定的響的時(shí)間,而通過28H緩沖驅(qū)動(dòng)LED燈L0L7,我們就可以通關(guān)對(duì)28H的判斷來了解燈的亮滅,也可以直接給28H中各個(gè)字節(jié)分別置0或1,來開啟各個(gè)燈的亮滅。5.1分鐘內(nèi)取消子模塊功能簡(jiǎn)述該模塊主要功能為實(shí)現(xiàn)當(dāng)豆?jié){機(jī)開啟工作一分鐘之內(nèi)都可以取消工作,使用戶能再誤開狀態(tài)下能較好的停止豆?jié){機(jī)工作。程序設(shè)計(jì)思路及方案通過設(shè)定一個(gè)1分鐘之內(nèi)可以判斷按鍵是否按下,按下就可以退出整個(gè)工作狀態(tài)。原理說明及部分代碼 FQ1: DJNZ 69H,FQ2 ;1分鐘倒計(jì)時(shí) MOV 69H,#60 DJNZ 6AH

23、,FQ2 MOV 6AH,#100 以上程序?yàn)?分鐘主流程循環(huán),通過在一分鐘之內(nèi)可以判斷啟動(dòng)鍵是否再次按下,再次按下后就可以取消豆?jié){機(jī)運(yùn)作。超過一分鐘后就會(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ì)思路及方案通過判斷進(jìn)程碼,在不同的模式下拆送不同的單元到顯緩驅(qū)動(dòng)八位數(shù)碼顯示器,以實(shí)現(xiàn)所需要的功能。原理說明及部分代碼 CZ: MOV A,23H CJNE A,#00H,CZT SJMP CZ2 ;最開始不工作是顯示電子表 CZT: CJNE A,#25

24、H,CZ5 ;保溫時(shí)候也顯示電子表 CZ2:MOV R0,#3AH ;取秒,開始拆字實(shí)時(shí)種 MOV R1,#30H ;置顯示緩沖單元首地址(對(duì)應(yīng)于最右顯示位) 上面為拆字的部分程序,通過程序我們可以清楚的看到,拆字模塊主要通過判斷進(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,A MOV A,27H ANL A,#0F0H ;保留高4位(十位) SWAP A ;交換到低4位 MOV 37H

25、,A JB 26H.1,CZ0 ;為1不送倒計(jì)時(shí)(跳出) MOV A,59H ;倒計(jì)時(shí) ANL A,#0FH ;保留低4位(個(gè)位) MOV 32H,A MOV A,59H ANL A,#0F0H ;保留高4位(十位) SWAP A ;交換到低4位 MOV 33H,A MOV A,5AHANL A,#0FH ;保留低4位(個(gè)位) MOV 34H,A 為拆送倒計(jì)時(shí),工步號(hào)到對(duì)應(yīng)的顯緩單元,以此來實(shí)現(xiàn)豆?jié){機(jī)運(yùn)作過程中所需要的打漿倒計(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)校功能

26、,通過設(shè)定按鍵加減時(shí)分,輕松的完成實(shí)時(shí)鐘的調(diào)校。主要設(shè)定六個(gè)按鍵,包括進(jìn)入調(diào)時(shí)鍵K4,確定調(diào)時(shí)并退出調(diào)時(shí)K5,小時(shí)加1鍵K0,小時(shí)減1鍵K1,分鐘加1鍵K2,分鐘減1鍵K2。原理說明及部分代碼利用進(jìn)程碼進(jìn)行設(shè)定,只有在待機(jī),保溫進(jìn)程下才能對(duì)實(shí)時(shí)鐘進(jìn)行調(diào)校。通過線反轉(zhuǎn)法掃描鍵號(hào)來判斷按鍵是否按下以實(shí)現(xiàn)對(duì)實(shí)時(shí)鐘的調(diào)校功能。在進(jìn)入調(diào)校后通過4個(gè)按鍵分別對(duì)小時(shí)和分鐘進(jìn)行加減,并將秒單位及前一級(jí)單位置0,較準(zhǔn)確的完成實(shí)時(shí)鐘的調(diào)校功能。 KTE:JNB 24H.0,L2 MOV A,65H CJNE A,#10H,L3 MOV A,64H CJNE A,#04H,L3下面程序?yàn)榫€反轉(zhuǎn)法掃描鍵號(hào),若發(fā)現(xiàn)有按

27、鍵按下,則新鍵號(hào)會(huì)存到64H中,以此實(shí)現(xiàn)對(duì)應(yīng)的功能。65H存的10H為初始狀態(tài),即無000F鍵按下。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é){中切換。原理說明及部分代碼:原理我們可以分析部分程序來進(jìn)行,以下面部分程序?yàn)槔?GZMS: MOV A,23H CJNE A,#00H,GZ0 ;剛開始選擇功能鍵才有效 JNB 2FH.

28、1,GZ0 JB 2EH.1,GZ0 ;判斷PB1功能選擇鍵是否按下 以上的程序是通過判斷在待機(jī)狀態(tài)時(shí)的功能選擇鍵是否按下,通過按鍵的按下再實(shí)行以下程序; INC 50H MOV 28H,50H MOV A,50H CJNE A,#0FEH,GZ0 MOV 50H,#0FCH 通過對(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)志位,借此

29、分辨不同水位不同的閃爍告警方式。原理說明及部分代碼水位告警模塊是為了讓用戶能再一個(gè)安全的水位狀態(tài)下進(jìn)行煮漿,即保證了煮出豆?jié){的優(yōu)良度,亦能夠較好的保護(hù)使用者的安全與豆?jié){機(jī)的使用壽命。通過SW1模擬高水位,當(dāng)SW0為“0”時(shí),則為高水位,反之則未超水位。SW1為“0”時(shí)為低水位,反之水位正常。而通過加入閃爍標(biāo)志位和高低水位告警標(biāo)志位26H.4,在調(diào)用告警閃閃閃模塊中,可區(qū)分高低水位的告警,即高水位告警為閃爍3次,同步蜂鳴器響;低水位告警為閃爍一次,同步蜂鳴器。10.模擬水溫子模塊功能簡(jiǎn)述該模塊主要功能為在通過AN1控制A/D轉(zhuǎn)換數(shù)據(jù)拆送到數(shù)碼管最右邊兩位模擬水溫。.程序設(shè)計(jì)思路與方案為了更好的模

30、擬水溫拆送,在此模塊中獨(dú)立進(jìn)行拆字程序,而非在拆字模塊中進(jìn)行拆送,通過對(duì)A/D數(shù)據(jù)的BCD轉(zhuǎn)換,將0256轉(zhuǎn)換為099拆送顯示溫度,而AN1可調(diào)整模擬水溫。原理說明及部分代碼通過設(shè)定AN1調(diào)整,由以下程序完成: MOV DPTR,#0FBF9H ;A/D子程序。MOVX A,DPTR ;讀取A/D轉(zhuǎn)換結(jié)果的8位二進(jìn)制數(shù)字值即可以通過AN1調(diào)整模擬水溫。而A/D轉(zhuǎn)換結(jié)果存為緩沖單元,而后進(jìn)行BCD轉(zhuǎn)換,將其二進(jìn)制數(shù)轉(zhuǎn)換為099的BCD碼拆送溫度顯示。超過99則送“EE”到溫度顯示顯緩單元中。11.無效啟動(dòng)子模塊功能簡(jiǎn)述該模塊主要功能為防止用戶在未選擇模式就按啟動(dòng)進(jìn)入。程序設(shè)計(jì)思路及方案通過對(duì)功能

31、模式燈的亮滅進(jìn)行判斷是否選擇完模式,是則正常啟動(dòng),若無選擇模式進(jìn)入,則告警并且退出。原理說明及部分代碼首先檢測(cè)功能模式燈是否亮起,若未亮起時(shí)檢測(cè)到啟動(dòng)鍵按下,則會(huì)有告警程序,并且退出運(yùn)行。告警程序如下:WX2: JNB 2FH.0,WX0 JB 2EH.0,WX0 ; 啟動(dòng)鍵是否按下 CLR 26H.2 ; 響1s標(biāo)志位0,持續(xù)響 CLR 26H.3 ; 響 WX3: DJNZ 5CH,WX0 MOV 5CH,#100 ; 響1s SETB 26H.3 ; 停響 SETB 26H.2 ; 響1s標(biāo)志位1,不再響在無選擇模式下,啟動(dòng)鍵按下后,則會(huì)開啟響標(biāo)志位告警,并有1S主流程循環(huán),告警完才關(guān)閉

32、蜂鳴器。12.實(shí)時(shí)鐘子模塊功能簡(jiǎn)述該模塊主要功能為精確實(shí)時(shí)鐘計(jì)時(shí)。程序設(shè)計(jì)思路及方案利用定時(shí)方式1產(chǎn)生中斷進(jìn)行精確實(shí)時(shí)鐘計(jì)時(shí)。原理說明及部分代碼當(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ā)生,再過256TM再進(jìn)入程序,

33、為38H單元加1。當(dāng)計(jì)滿10ms,對(duì)200us單元38H清零,并對(duì)百分秒單元39H加1,判斷計(jì)滿100次即1s的時(shí)間,將百分秒單元清零,對(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ù)通過查表法找到相應(yīng)的段碼表將要顯示的內(nèi)容顯示到數(shù)碼管上。程序設(shè)計(jì)思路及方案通過單元指針逐個(gè)將顯示緩存單元30H-37H的數(shù)據(jù),查表法找到相應(yīng)的段碼表將要顯示的內(nèi)容

34、顯示到數(shù)碼管上,再通過循環(huán)和判斷執(zhí)行相應(yīng)程序。原理說明及部分代碼置顯緩首位,位碼首位,查詢相關(guān)的字段碼,輸出字段碼,保存顯示1ms,消除串顯,指向下一個(gè)單元,在30H-37H單元循環(huán)。14.啟動(dòng)子模塊功能簡(jiǎn)述該模塊為豆?jié){機(jī)運(yùn)行的主要模塊,模塊中實(shí)現(xiàn)豆?jié){機(jī)的預(yù)加熱,預(yù)打漿,3次加熱打漿以此來完成豆?jié){打磨加熱的主要過程。程序設(shè)計(jì)思路及方案通過判斷豆?jié){模式選擇完后正常啟動(dòng)進(jìn)入,利用進(jìn)程碼實(shí)行整個(gè)過程。利用進(jìn)程碼來完成預(yù)加熱-預(yù)打漿-加熱-打漿-加熱-打漿-加熱-打漿。利用L2燈模擬加熱是否開啟,L3模擬電機(jī)。原理說明及部分代碼正常啟動(dòng)后即賦進(jìn)程為10H進(jìn)程時(shí),進(jìn)行預(yù)加熱,而后通過判斷溫度是否達(dá)到35

35、度,達(dá)到后關(guān)閉加熱(即滅L2),開啟電機(jī)(即亮L3),進(jìn)程碼送11H,進(jìn)行倒計(jì)時(shí)25秒的預(yù)打漿,通過滿1秒標(biāo)志位的設(shè)立,準(zhǔn)確的進(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,Q2 CLR 28H.2 ;加熱 即在不同的進(jìn)程中完成不同的功能。 15.煮漿子模塊功能簡(jiǎn)述 該模塊是在豆?jié){機(jī)打漿完成后進(jìn)行的最后一步煮漿程序,為240秒的加熱過程,并且有水位溢出判斷功能程序設(shè)計(jì)思路及方案通過對(duì)滿一秒標(biāo)志

36、位的判斷進(jìn)行較為準(zhǔn)確的240秒加熱倒計(jì)時(shí),并且判斷在加熱過程中是否有超溢位,有則停止加熱,待水位恢復(fù)正常持續(xù)5秒后才重新開啟加熱。原理說明及部分代碼通過對(duì)進(jìn)程碼的判斷,當(dāng)進(jìn)程為20H進(jìn)程時(shí),進(jìn)行煮漿。開啟加熱。加熱過程中通過判斷水位情況,若出現(xiàn)高水位則會(huì)停止加熱,待恢復(fù)水位持續(xù)5秒后才重新開啟加熱,以下列程序?yàn)槔?LK1: DJNZ 5CH,LK2 ;5S內(nèi)無益處才重新加熱 MOV 5CH,#100 INC 4FH MOV A,4FH CJNE A,#06H,LK2 ;5秒后無超水位 CLR 28H.2 ;開加熱 即為判斷恢復(fù)水位5秒后才重新開啟加熱。若是為低水位狀態(tài)下,即出現(xiàn)“干燒”,則煮

37、漿模式停止,并退出運(yùn)行?;謴?fù)到待機(jī)狀態(tài)。240秒煮漿完成后,即進(jìn)入保溫模塊。16.保溫子模塊功能簡(jiǎn)述 該功能模塊是對(duì)煮完的豆?jié){訊響1分鐘后,以20%的功率進(jìn)行加熱保溫。程序設(shè)計(jì)思路及方案設(shè)定響標(biāo)志位來開啟蜂鳴器訊響通知。而后進(jìn)入保溫,通過設(shè)定加熱4秒,停熱16秒,來實(shí)現(xiàn)20%的功率加熱保溫。原理說明及部分代碼如下列程序: BW1: SETB 28H.2 ;停加熱 DJNZ 5BH,BW0 MOV 5BH,#16 DJNZ 5CH,BW0 ;延時(shí)16sMOV 5CH,#100 CLR 28H.2 ;開加熱 CLR 26H.5 BW2: DJNZ 5DH,BW0 MOV 5DH,#4 DJNZ 5

38、EH,BW0 ;延時(shí)4s MOV 5EH,#100 SETB 26H.5 SJMP BW1通過調(diào)用主流程循環(huán),以此來實(shí)現(xiàn)4秒的加熱以及16秒的停熱來進(jìn)行加熱保溫。 第六章 系統(tǒng)功能與操作說明系統(tǒng)功能全自動(dòng)豆?jié){機(jī)能夠自主的在啟動(dòng)后進(jìn)行整個(gè)豆?jié){的打磨煮漿過程,全程自動(dòng)化,無需使用者額外操作。而本全自動(dòng)豆?jié){機(jī)還包括有水位情況的報(bào)警,實(shí)時(shí)鐘的模塊,很好的滿足用戶的需求,以及保護(hù)使用者。用戶在使用時(shí)候,可以輕松操作,無需任何學(xué)習(xí),只需要在選擇模式后按下啟動(dòng)后即可,豆?jié){機(jī)將全程自動(dòng)化完成,用戶只需輕輕一點(diǎn),稍等段時(shí)間即可以享受一杯美味的豆?jié){。用戶若有誤啟動(dòng),在啟動(dòng)的一分鐘內(nèi)可再按此啟動(dòng)鍵取消啟動(dòng)。用戶界面

39、及操作說明針對(duì)用戶需求進(jìn)行說明。常規(guī)顯示界面及其說明常規(guī)顯示狀態(tài)下,8位數(shù)碼管是顯示“時(shí)鐘 - 分鐘 - 秒鐘”,當(dāng)用戶按下進(jìn)入啟動(dòng)后,最左邊兩位顯示當(dāng)前所進(jìn)行的工步的工步號(hào)。左邊第三位到第六位則顯示豆?jié){過程中打漿倒計(jì)時(shí),煮漿倒計(jì)時(shí)。最右邊兩位數(shù)碼管則顯示當(dāng)前豆?jié){溫度。數(shù)碼管顯示界面,從左到右分別為第一位至第八位常規(guī)顯示狀態(tài),即顯示當(dāng)前時(shí)間 1. 進(jìn)入運(yùn)行界面如下:01 240 55 工部號(hào) 倒計(jì)時(shí) 溫度2、L0為豆?jié){模式指示燈,L1為果汁模式指示燈,L7為保溫?zé)簦琇3加熱燈,L4為電機(jī)燈,PB0為功能選擇鍵,PB1為啟動(dòng)/取消鍵,如下圖 L0L1L3L4L7PB0PB1 豆?jié){模式 果汁模式

40、加熱 電機(jī) 保溫 啟動(dòng)鍵 功能選擇鍵 以上為各個(gè)功能模式燈與按鍵,用戶可通過對(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)行加減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í)。調(diào)時(shí)各個(gè)按鍵功能如下圖: 進(jìn)入調(diào)時(shí)鍵 確定調(diào)時(shí)退出鍵 小時(shí)+1 小時(shí)-1 分鐘+1 分鐘-1K1K0K3K2K4K8K12K5K9K6K7K14K10K13K11K15水位警告模式當(dāng)用戶開啟時(shí),若發(fā)現(xiàn)功能燈閃爍三次并同步伴有蜂鳴器響

41、,則為高水位。若功能燈閃爍一次,同步伴有蜂鳴器響,則為低水位。用戶通過報(bào)警的不同自行改變水量重新進(jìn)行煮豆?jié){。保溫模式當(dāng)煮漿完成時(shí),會(huì)有一分鐘提示音提示用戶已完成,用戶聽到提示音就可提取美味豆?jié){。再按次啟動(dòng)鍵即可退出保溫。第七章 存在問題與改進(jìn)程序說明 在整個(gè)程序的設(shè)計(jì)中,仍然有著一些程序存在問題,這是在設(shè)計(jì)的時(shí)候沒有考慮周全導(dǎo)致的,在經(jīng)過了與老師的探討和同學(xué)間的互相討論下,對(duì)程序進(jìn)行了完善。以下為幾個(gè)存在問題的程序以及其改進(jìn)后的程序。1.模擬水溫模塊在水溫模擬模塊中,設(shè)計(jì)時(shí)由于考慮不周全,單純的認(rèn)為只需要拆送099到顯緩中就可以,于是設(shè)計(jì)出了錯(cuò)誤的程序,如下:CJNE A,#9AH,LA1 L

42、A1:JNC LA2 ;超過99顯示EE CLR C DA A MOV 58H,A MOV B,A ;A/D轉(zhuǎn)換結(jié)果拆送最右兩位顯示緩沖單元 ANL A,#0FH MOV 30H,A MOV A,B ANL A,#0F0H SWAP A MOV 31H,A 這個(gè)程序模塊,是個(gè)虛假數(shù)據(jù),拆送了一個(gè)虛假的099到顯緩,并沒有經(jīng)過BCD轉(zhuǎn)換,在溫度送顯緩調(diào)整過程中會(huì)有跳步現(xiàn)象,無法完整的模擬出溫度變化,是我當(dāng)初設(shè)計(jì)時(shí)候沒有考慮周全造成的。而后在老師的指導(dǎo)與同學(xué)的探討下,有了水溫拆送的正確拆送方法,自己加以改進(jìn)程序。改進(jìn)程序如下:MOV A,58HMOV B,#10HDIV ABMOV 31H,AMOV 30H,B即可以完整的模擬099的水溫變化,而非虛假的數(shù)據(jù)轉(zhuǎn)換。通過BCD轉(zhuǎn)換拆送到顯緩。較為完整的模擬出了水溫。2.水位告警模塊在最初始的水位告警模塊中,初始判斷只判斷了預(yù)加熱狀態(tài)下的水位告警,而沒有考慮到接下去的預(yù)打漿模塊,使整個(gè)豆?jié){機(jī)在模擬過程中,跳過了在預(yù)打漿進(jìn)程下的水位檢測(cè)告警。經(jīng)老師指正修改后,添加了判斷進(jìn)程,使整個(gè)過程中都有著水位檢測(cè)的功能,改進(jìn)后的程序如下:SWGJ: JNB 26H.0,SW ;JNB,0跳轉(zhuǎn), MOV

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論