全自動豆漿機控制程序的設計說明書(精)復習進程_第1頁
全自動豆漿機控制程序的設計說明書(精)復習進程_第2頁
全自動豆漿機控制程序的設計說明書(精)復習進程_第3頁
已閱讀5頁,還剩35頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、微機原理及接口技術課程設計說明書課題:全自動豆漿機控制程序的設計專業:電子信息工程班級:電子1102姓名:張杰 學號:3220806485指導老師:2013年12月28日Fujian Untversity of Technology第一章設計任務與目標(3 設計目的(3設計任務(3 基本設計要求(3功能擴展 (3(8(11設計環節與進程安排 (3 第二章總體方案設計與方案論證 (4 總體方案設計 (4 實時鐘的調校方式 (5 鍵盤的掃描方式 (5 定時器方式 (6 開關量輸入消抖模塊的選擇 (6 倒計時 1S 方法選擇 (7 第三章總體軟件設計說明及總工作流程 總工作流程 (8 總體軟件設計說

2、明 (10 第四章系統資源分配及數據定義說明 單元分配以及各個標志位注釋 (11 第五章局部程序設計說明 (131. 自檢模塊 (132. 鍵盤掃描子模塊 (143. 按鍵消抖子模塊 (144. 蜂鳴器 LED 緩沖子模塊 (155.1分鐘內取消模塊(156. 拆字子模塊(167. 調用時鐘設定子模塊(178. 選擇工作模式子模塊(189. 水位告警子模塊(1810. 模擬水溫子模塊(1911. 無效啟動子模塊(20Fujian Uni vers ity of Te c h nol ogy12. 實時鐘子模塊(2113. 顯示更新子模塊(2114. 啟動子模塊(2215. 煮漿子模塊(2216

3、. 保溫子模塊(23第六章系統功能與操作說明(24系統功能(24用戶界面操作說明(25第七章存在問題與改進程序說明(27模擬水溫模塊(27水位告警模塊(28第八章課程設計總結(29附錄:程序代碼清單衿花工帶承淺Fujian University of Technology第一章設計任務與目標設計課題:全自動豆漿機控制程序的設計設計目的:通過兩個禮拜在實驗室親自動手操作,熟悉和理解微機原理及接口技術上課老師所講的內容,將所學知識親自動手驗證,借此熟悉和掌握書中知識,并加強自己動手設計程序的能力。設計任務:本次為期兩個禮拜的課程設計任務是設計一個全自動豆漿機控制程 序,通過LED燈,數碼管模擬豆漿

4、機的各個流程,主要要實現豆漿機的預加熱,預打漿, 三次加熱打漿,而后進行煮漿完成整個豆漿的流程,中間加入水位告警,防溢告警功能,并有實時 鐘功基本設計要求:1、開機進行適當的有關接口部件及數碼顯示器、指示燈、訊響器等自檢。2、八位LED七段數碼管在常態下作為實時鐘顯示,其余狀態下有工步號,倒計時,溫度顯示。3、鍵盤中能夠對實時鐘進行調校功能按鍵。4、設有高低水位報警功能,在高水位狀態下啟動丄ED燈閃3下,蜂鳴器同步響 一秒,在低水位狀態下啟動 丄ED燈閃1下,蜂鳴器同步響一秒。5、具有能完成基本煮豆漿中的預加熱-預打漿,然后加熱-打漿總共3次的程 序。6具有在啟動后能夠在一分鐘以內取消煮漿的功

5、能模塊。7、實現在3次打漿完成后進入240S倒計時的煮漿功能模塊。8、在煮漿功能模塊中有對水位進行檢測,超出溢電極則停止加熱,待恢復水位持 續5秒后才重新開啟加熱煮漿。9、煮漿完成后進行以20%功率加熱的保溫模塊。功能擴展:1、可擴展果汁功能模塊。2、設定電機關閉和重新開啟之間必須間隔 15秒。3、實時鐘模塊可設置為4X4模塊,伴有位閃,按鍵賦值功能。4、改良告警提示音為音樂模塊。楊在工彳陽I漫Fujian Untversity of Technology設計環節及進程安排1、布置課題,明確任務、總體方案設計1天2、主體功能控制程序設計及調試 5天3、程序綜合聯調及功能完善、改進、擴展 3天4

6、、答辯及編寫設計說明書3天繼林金工;Rr支Fujian Uni ver s ity of Te c h nol ogy第二章總體方案設計與方案論證本次課程設計的課題是設計全自動豆漿機模擬程序 ,需要運用微機原理與接口 技術課本內容進行設計,設計的豆漿機不單單僅有煮豆漿功能。還帶有水位報警,實 時鐘以及實時鐘調校功能,模擬水溫等功能。總體設計方案對于這次的課程設計,按照老師所講,我們所采取的程序設計是按照模塊化來進 行程序的設計。將豆漿機的主工作流程作為一個模塊,再加入其它功能的模塊,比如 實時鐘調校模塊,水位告警模塊,模擬水溫模塊等,通過各個模塊之間的循環調用,以此 來完成整個全自動豆漿機的程

7、序設計。整個程序由自檢模塊,程序初始化,15個子模塊組成的主流程循環調用,中斷模塊, 延時子模塊構成。實時鐘的調校方式方案一:運用4X4鍵盤對應數字輸入實時鐘調整通過對4X4鍵盤模塊的程序設計,使鍵盤模塊能夠在實時鐘調校功能中實現時 分秒準確調時,并且有退格,取消,確定等按鍵調整實時鐘調校,相對應的小時十位只能 輸入02,小時個位只能按鍵輸入04,分鐘十位輸入06,分鐘個位輸入09,能夠較 準確的對實時鐘進行調校。方案二通過調時鍵進入調時,四個按鍵對小時,分鐘進行+1-1調校。這個方案是更為簡單的方案,只需要有個進入調時的按鍵和一個調時完成確定 按鍵,以及4個加減時鐘按鍵。通過對鍵號的掃描判斷

8、按鍵是否按下以此來實現對 實時鐘的調校功能。這個方案最好的優點是簡化了調校功能,使時鐘能夠以更簡便的方式進行調校, 為產品的外觀設計提供了很大的方便。通過上面的綜合判斷實時鐘的調校我們選擇方案二一一按鍵加減調校。鍵盤的掃描方式方案一:掃描法首先識別鍵盤有無鍵按下,驅動所有列線為0輸入各行線電平如果有0就說 明有鍵按下,如果行線電平全1則全部無鍵按下。其次是如有鍵被按下,識別具體的 按鍵。依序驅動某一列為0其余列均為1輸入各行線電平,如果某行線電平為0' 可確定此行列交叉點處的按鍵被按下;如果行線電平全為 1則本列無按鍵按下。這 種方式太占用CPU的工作時間。縊衿之工瑋狗支Fujian

9、Uni ver s ity ot Te c h nol ogy方案二:線反轉法首先列線輸出為全0輸后輸入行線電平如有0則,所在的行就是閉合的按鍵 所在行;無則無鍵閉合。其次行線輸出為全 0輸后輸入列線電平如有0則,所 在的列就是閉合的按鍵所在列;無則無鍵閉合。直通結合上述兩步,可確定按鍵所在行和列。這種方式非常簡單,并且很實用綜合以上的分析,我們選擇方案二一一線反轉法計數方式方案一 :13位計數方式-方式0定時器/計數器方式0 共是有13位的計數方式。方式0是為兼容MCS-48而 設,初值計算麻煩,在實際應用中,一般不用方式0。并且存在一個是時間誤差,不能適 用于精確定時。方案二:16位計數方

10、式-方式1定時器/計數器方式1 一共是有16位的計數方式,由于它每個掃描周期都會有38個Tm(機器周期的時間誤差,主要是用于要求不是很精確地定時,因為有隨機性 的誤差產生。方案三:8位計數自動重裝工作方式-方式2定時器/計數器方式2為自動恢復初值(初值會自動重裝的8位定時器/計數器, 當其計數溢出的時候,系統會自動重裝初值,重新開始計數。這種工作方式可以省去 用戶軟件中重裝初值的指令執行時間,可以做到精確地定時時間。綜上所述,我們是要求能做到精確定時,所以選擇方式2Fujian Uni ver s ity of Te c h nol ogy按鍵輸入消抖模塊的選擇對于開關量輸入的消抖處理一般有以

11、下兩種種處理方法。方案一:軟件延時消抖即檢測出鍵閉合后執行一個延時程序,產生5ms10ms的延時,讓前沿抖動消失 后再一次檢測鍵的狀態,如果仍保持閉合狀態電平,則確認為真正有鍵按下。當檢測 到按鍵釋放后,也要給5ms 10ms的延時,待后沿抖動消失后才能轉入該鍵的處理程 序。方案二:滾動濾波消抖法滾動濾波消抖法就是通過滾動濾波法的原理,我們將PB0PB7電平輸入,并進行 五次滾存消抖,新態存2EH,舊態存2FH,這個方法能夠較好的完成按鍵的消抖,排除 按鍵抖動所產生的不良效果,完善了按鍵功能。所以我們對消抖模塊選擇滾存消 抖。倒計時1S方法選擇方案一:在非倒計時顯示情況下,延時可采取調用主程序

12、,重復相應次數,得到相 應延時時間。如主程序每調用一次需 10ms調用100次,則得到1s的延時。在倒計 時顯示情況下,采取在中斷設置1s到標志位,用到倒計時開啟標志位即可。方案二:每次延時即開啟1s到標志位。兩個方案相比較,方案一比較簡單、靈活,所以采取第一種方案來進行精準計 時。'Fujian University of Technology第三章總體軟件設計說明與總工作流程總工作流程如圖所示主流程自檢模塊程序初始化B蜂鳴器LED燈緩沖子模塊調用按鍵消抖子模塊1分鐘內取消子模塊 顯示更新子模塊 工作模式選擇模塊 調用拆字子模塊時鐘設定子模塊 調用鍵盤掃描子模塊啟動子模塊I鏡林言工材

13、承曖乜M測鄉1 Fujian University of Technology水位告警子模塊模擬水溫子模塊煮漿子模塊保溫子模塊撥動開關子模塊無效啟動子模塊B繼林金工;Rr支Fujian Uni ver s ity of Te c h nol ogy總體軟件設計說明本次的課程設計通過對15個子模塊的循環調用來完成全自動豆漿機的模擬功 能,并且采用定時器方式2精準計時。拆字子程序:常態下(待機,保溫送時分秒到顯緩,其余則送工步號,倒計時到顯 緩。顯示更新子程序:根據顯緩單元內容驅動八位數碼管。時鐘設定子程序:通過掃描鍵號判斷調時鍵是否按下借以對實時鐘進行調校。鍵盤掃描子程序:通過線反轉法掃描按鍵鍵

14、號,舊鍵號存65H,新鍵號存64H。工作模式子程序:當無工作模式時,按下功能選擇鍵,則顯示豆漿模式,而后再按 時,工作模式在果汁和豆漿兩種模式中切換。1分鐘取消子程序:啟動1分鐘內,通過檢查啟動鍵是否再被按下,是則取消運蜂鳴器LED燈緩沖子程序:根據緩沖單元內容驅動蜂鳴器和 LED燈按鍵消抖子程序:輸入PB0PB7電平,經5次滾存消抖后,舊態存2FH,新態存2EH。保溫子程序:以20%的功率進行加熱保溫。水位告警子模塊:通過檢測高低水位,若有高水位或者低水位,則啟動時會告警并 退出。煮漿子模塊:以 240S倒計時加熱煮漿,若煮漿過程中檢測到超水位,則停止加熱, 待水位恢復持續5秒后再重新開啟加

15、熱。無效啟動子模塊:檢測功能未選擇時啟動鍵是否按下,是則告警并退出。撥動開關子模塊:輸入SW0SW7電平到緩沖單元,輸出驅動L8L15。啟動子模塊:功能選擇后判斷啟動鍵是否按下,是則進入預加熱,預加熱達到35 度時,則進入預打漿。開啟電機,關閉加熱。待25秒打漿倒計時結束后,關閉電機,開 啟加熱。加熱達到50度時進入打漿模式,開電機,關加熱。以下再重復加熱打漿2次后進 入煮漿。林花工彳陽I嘍Fujian University of Technology第四章系統資源分配及數據定義說明微處理器內部存儲單元分配及數據定義微處理器內部存儲單元數據定義 23H豆漿進程碼24H.0是否進行調時標志位25

16、H LED燈閃爍進程碼26H.0閃爍標志位26H.1倒計時標志位26 H .2響標志位26H.3開關蜂鳴器標志位26H.4高低水位告警區分標志位26H.5保溫標志位26H.6滿1秒標志位26H.7倒計時百位減到0標志位27H 工步號28H 驅動 P1 標志位29H 滾存消抖存儲單元2AH 滾存消抖存儲單元2BH 滾存消抖存儲單元2CH 滾存消抖存儲單元2DH 滾存消抖存儲單元2EH 新態按鍵存儲單元2FH 舊態按鍵存儲單元30H-37H 顯示緩存單元38H200us計數單元39H1/100S計數單元3AH實時鐘秒鐘存儲單元3BH實時鐘分鐘存儲單元工瑋診I咳Fujian UnWer5ity of

17、 Technology3CH實時鐘小時存儲單元47H打漿,加熱4次設置初值53H閃閃閃延時200ms59H倒計時十位,個位5AH倒計時百位(千位不顯示5BH保溫16秒設置初值5DH保溫4秒設置初值5FH滿一秒計數64H當前新掃描鍵號值存儲單元65H10ms前掃描到鍵號存儲單元67H保溫訊響1分鐘初值69H1分鐘內取消初值6BH1分鐘無效標志位Fujian Uni vers ity of Te c h nol ogy第五章局部程序設計說明1. 自檢模塊功能簡述該模塊主要功能為在開機時進行有關接口部件及數碼顯示器、指示燈、蜂鳴器 等適當自檢。程序設計思路及方案當程序輸入到單片機中運行后會首先進行對

18、單片機上各個功能顯示模塊的自檢 確保使用者所使用的單片機是可以正常使用。原理說明及部分代碼下面通過一段程序了解自檢模塊的實現MOV DPTR,#0FEFCH ;DPTR 指向 U3-A 口MOV A,#0FFH ; 置八段均不亮的字段碼 (8255A 初始化后輸出寄存器全 0' MOVX DPTR,A ; 輸出,關數碼顯示器 (段輸出口初始驅動全為 1無' 效MOV DPTR,#OFDFFH ;對 8255A(U5 接 口芯片初始化MOV A,#8BH ;設定為A 口輸出(驅L815,B 口輸入(按鈕PB07,C 口輸入(開關SWO7MOVX DPTR,A ; 寫入方式控制字M

19、OV DPTR,#0FDFCH ;DPTR 指向 U5-A 口MOV A,#0FFH ;置八位輸出均為 無1'效MOVX DPTR,A ;輸出,令L8-15初始不亮CLR P3.2 ;蜂鳴器響LCALL D1S ;延時 1SSETB P3.2 ;關蜂鳴器MOV P1,#00H ;P1 口輸出全所驅動的L0L7指示燈全亮從這段代碼可知,再初始的狀態下,系統置八位數碼管全不亮,并且L8L15也置 為不亮,隨后檢測蜂鳴器是否能正常亮,再檢測L0L7能否全亮。通過程序的設計,完 整的檢驗了單片機上各個模塊的狀態,讓使用者能更好的分辨出單片機的正常程 度。2. 鍵盤掃描子模塊功能簡述Fujian

20、 UniYers Ity of Tec h nology該模塊主要功能為實現4*4的鍵盤掃描功能,掃描當前所按下4*4鍵盤的按鍵 鍵號存入相應存儲單元,并獲得鍵值,以備后面的操作和功能實現。程序設計思路及方案該模塊在主流程中調用鍵盤掃描子程序(LCALL,運用反轉法掃描鍵盤,得到所 按下按鍵的相應行列碼。當用戶未按下按鍵時,相應存儲單元存入未按下信息,即為 10H,當用戶按下按鍵時,系統相應存儲單元存入已按下信息,即00H-0FH。通過掃描, 并與鍵碼表比較行列碼,相等說明掃描到所按下的按鍵,將鍵值賦值到61H儲存單元, 以便后面的使用。原理說明及部分代碼61H為鍵值存儲單元,給61H單元賦初

21、值,通過掃描所按下按鍵的行列碼與鍵碼 表比較,找到相等的即說明有鍵按下,且能精確得到相應鍵碼,若找不到相等鍵碼則說 明為按下按鍵。鍵號值從OOH開始,最多進行16次的鍵碼查表,DPTR指向鍵碼表首地址,置當 前鍵號于A中,代碼MOVC A,A+DPTR查表讀取鍵碼表中當前鍵號對應位置的鍵 碼,與8位行列碼比較,不同則轉NK查下一個,相同表明找到當前按下的鍵號,代碼 INC 61H使鍵號值加1,代碼DJNZ R5,KY判斷未查完鍵值表則繼續,查完則無按鍵 或出現異常行列碼,結束并返回。64H中存有新掃描到的鍵號,65H中存有相對于64H中存有的鍵號10ms前掃描 到的鍵號,通過兩個單位的存儲比較

22、,能夠較好的判斷出按鍵的按下與否。3. 按鍵消抖子模塊功能簡述該模塊的主要功能是為按鍵輸入消抖,防止出現按鍵抖動影響主流程。程序設計思路及方案將原新態存為前態,將前4次得到的電平值推送至2AH-2DH單元中,獲得電平 值并存為新態存放在2EH中,比較5次得到的電平值,若電平值不一致則新態不變 若 電平值一致則存為新態。原理說明及部分代碼。代碼MOV 2FH,2EH將原新態存入舊的鍵號,即2EH為新態鍵值存儲單元,2FH 為舊態鍵值存儲單元,代碼MOV 2DH,2CH ;MOV 2CH,2BHMOV 2BH,2AH衿花工帶承淺Fujian Uni ver s ity of Te c h nol

23、ogyMOV 2AH,29H將前 4 次得到的電平值推送至 2AH-2DH 單元中 ,獲得電平值并存為新態 ,代碼MOV A,2DHCJNE A,2CH,XDRCJNE A,2BH,XDRCJNE A,2AH,XDRCJNE A,29H,XDR比較近 5 次輸入的電平值 ,一致的話存為新態 ,不一致則新態照舊。4. 蜂鳴器 LED 燈緩沖子模塊功能簡述該模塊通過設定緩沖單元驅動蜂鳴器和 LED 燈。 程序設計思路及方案LED 燈這通過設定緩沖單元來驅動蜂鳴器和 LED 燈,防止直接驅動蜂鳴器和 種情況下不容易修改需要驅動的方式。原理說明及部分代碼 下面一段程序可以了解整個模塊功能FMQ:JB

24、26H.3,LF0CLR P3.2SJMP LF1LF0:SETB P3.2LF1:M0V P1,28HQO:RET通過設定26H.3作為開啟蜂鳴器的標志位,28H作為LED燈L0L7,這樣能夠在 設計過程中通過標志位來判斷來使蜂鳴器能完成我們所需要設定的響的時間,而通過28H緩沖驅動LED燈L0L7,我們就可以通關對28H的判斷來了解燈的亮滅 也 可以直接給28H中各個字節分別置0或1,來開啟各個燈的亮滅。5.1分鐘內取消子模塊功能簡述Fujian UniYers Ity of Tec h nology該模塊主要功能為實現當豆漿機開啟工作一分鐘之內都可以取消工作,使用戶能再誤開狀態下能較好的

25、停止豆漿機工作。程序設計思路及方案通過設定一個1分鐘之內可以判斷按鍵是否按下,按下就可以退出整個工作狀 態0原理說明及部分代碼FQ1: DJNZ 69H,FQ2 ;1 分鐘倒計時MOV 69H,#60DJNZ 6AH,FQ2MOV 6AH,#100以上程序為1分鐘主流程循環,通過在一分鐘之內可以判斷啟動鍵是否再次按 下,再次按下后就可以取消豆漿機運作。超過一分鐘后就會跳出一分鐘取消模塊,就不能再按取消鍵結束豆漿機運作。6. 拆字子模塊功能簡述該模塊主要功能是在待機保溫時候拆送實時鐘時分秒到顯緩,其余狀態下拆送 工步號,倒計時到顯緩驅動八位數碼管。程序設計思路及方案通過判斷進程碼,在不同的模式下

26、拆送不同的單元到顯緩驅動八位數碼顯示器,以實現所需要的功能。原理說明及部分代碼CZ: MOV A,23HCJNE A,#00H,CZTSJMP CZ2最開始不工作是顯示電子表CZT: CJNE A,#25H,CZ5 ;保溫時候也顯示電子表CZ2:MOV R0,#3AH ;取秒,開始拆字實時種MOV R1,#30H ;置顯示緩沖單元首地址(對應于最右顯示位:、出NFujian Uni ver s ity of Te c h nol ogy上面為拆字的部分程序 ,通過程序我們可以清楚的看到 ,拆字模塊主要通過判斷進程碼,不同的進程碼拆送不同的單元到顯緩,上面一段程序為在待機進程00H,保溫 進程2

27、5H下拆送時分秒到顯緩,而若非待機保溫。則程序跳轉到CZ5,如下程序:CZ5:MOV A,27H ; 步驟碼ANL A,#0FH ; 保留低 4位(個位MOV 36H,AMOV A,27HANL A,#0F0H ;保留高 4位(十位SWAP A ;交換到低 4 位MOV 37H,AJB 26H.1,CZ0 ;為 1不送倒計時 (跳出MOV A,59H ; 倒計時ANL A,#0FH ; 保留低 4位(個位MOV 32H,AMOV A,59HANL A,#0F0H ;保留高 4位(十位SWAP A ;交換到低 4 位MOV 33H,AMOV A,5AHANL A,#OFH ;保留低4位(個位MO

28、V 34H,A為拆送倒計時,工步號到對應的顯緩單元,以此來實現豆漿機運作過程中所需要 的打漿倒計時和工步號顯示。7時鐘設定子模塊功能簡述該模塊主要功能為提供用戶對實時鐘的調校功能。程序設計思路與方案當用戶在使用時,如發現實時鐘不準確,可簡單的對實時鐘進行調校功能,通過設 定按鍵加減時分,輕松的完成實時鐘的調校。主要設定六個按鍵,包括進入調時鍵K4, 確定調時并退出調Fujian Uni ver s ity of Te c h nol ogy時K5,小時加1鍵KO,小時減1鍵K1,分鐘加1鍵K2,分鐘減1鍵K2原理說明及部分代碼利用進程碼進行設定,只有在待機,保溫進程下才能對實時鐘進行調校。通過

29、線反轉法掃描鍵號來判斷按鍵是否按下以實現對實時鐘的調校功能。在進 入調校后通過4個按鍵分別對小時和分鐘進行加減,并將秒單位及前一級單位置0, 較準確的完成實時鐘的調校功能。KTE:JNB 24H.0,L2MOV A,65HCJNE A,#10H,L3MOV A,64HCJNE A,#04H,L3下面程序為線反轉法掃描鍵號 ,若發現有按鍵按下 ,則新鍵號會存到 64H 中,以此 實現對應的功能。65H存的10H為初始狀態,即無000F鍵按下。8. 工作模式子模塊功能簡述該模塊的功能主要為用戶提供模式選擇 ,正常的模式選擇有豆漿機和果汁 ,由于 本程序只設計豆漿機 ,但仍然提供了果汁的模式選擇 ,

30、較好了模擬了正常產品的功能 選擇。程序設計思路及方案當用戶按下功能選擇按鍵時 會將28H.0置0,驅動L0亮起,模擬豆漿模式,而后 再按下功能選擇鍵 ,則模式會在果汁和豆漿中切換。原理說明及部分代碼 :原理我們可以分析部分程序來進行 ,以下面部分程序為例 :GZMS: MOV A,23HCJNE A,#00H,GZ0 ;剛開始選擇功能鍵才有效JNB 2FH.1,GZ0JB 2EH.1,GZ0 ;判斷 PB1 功能選擇鍵是否按下以上的程序是通過判斷在待機狀態時的功能選擇鍵是否按下,通過按鍵的按下 再實行以下程序;INC 50H楊總工彳陽I、支Fujian Uni ver s ity of Te

31、c h nol ogyMOV 28H,50HMOV A,50HCJNE A,#0FEH,GZ0MOV 50H,#0FCH通過對50H單元加1,而50H內容有初值0FDH,加1后變為FE即驅動L0亮起, 即選擇豆漿模式,而后L0與L1交替切換亮滅,即模擬豆漿和果汁模式切換。9. 水位告警子模塊功能簡述該模塊主要功能為在啟動時檢測是否水位是否正常程序設計思路及方案為了模擬高低水位,我們設置為SW0模擬高水位,SW1模擬低水位,設立閃爍標 志位,借此分辨不同水位不同的閃爍告警方式。原理說明及部分代碼水位告警模塊是為了讓用戶能再一個安全的水位狀態下進行煮漿,即保證了煮 出豆漿的優良度,亦能夠較好的保護

32、使用者的安全與豆漿機的使用壽命。通過SW1模擬高水位,當SWO為“0時,則為高水位,反之則未超水位。SW1為“C時為低水位,反之水位正常。而通過加入閃爍標志位和高低水位告警標志位26H.4,在調用告警閃閃閃模塊中,可區分高低水位的告警,即高水位告警為閃爍3次, 同步蜂鳴器響;低水位告警為閃爍一次,同步蜂鳴器。縊衿玄工;Rr支Fujian Uni ver s ity of Te c h nol ogy10. 模擬水溫子模塊功能簡述該模塊主要功能為在通過 AN1控制A/D轉換數據拆送到數碼管最右邊兩位模 擬水溫。.程序設計思路與方案為了更好的模擬水溫拆送,在此模塊中獨立進行拆字程序,而非在拆字模塊

33、中進 行拆送,通過對A/D數據的BCD轉換,將0256轉換為099拆送顯示溫度,而AN1 可調整模擬水溫。原理說明及部分代碼通過設定AN1調整,由以下程序完成:MOV DPTR,#0FBF9H ;A/D 子程序。MOVX A,DPTR ;讀取A/D轉換結果的8位二進制數字值即可以通過AN1調整模擬水溫。而A/D轉換結果存為緩沖單元,而后進行 BCD轉換,將其二進制數轉換為099的BCD碼拆送溫度顯示。超過99則送“ EE' 到溫度顯示顯緩單元中。11. 無效啟動子模塊功能簡述該模塊主要功能為防止用戶在未選擇模式就按啟動進入。程序設計思路及方案通過對功能模式燈的亮滅進行判斷是否選擇完模式

34、,是則正常啟動,若無選擇模 式進入,則告警并且退出。原理說明及部分代碼首先檢測功能模式燈是否亮起,若未亮起時檢測到啟動鍵按下,則會有告警程序, 并且退出運行。告警程序如下:WX2: JNB 2FH.0,WX0JB 2EH.0,WX0 ;啟動鍵是否按下CLR 26H.2 ;響1s標志位0,持續響CLR 26H.3 ;響WX3: DJNZ 5CH,WX0MOV 5CH,#100 ;響 1sSETB 26H.3 ;停響SETB 26H.2 ;響1s標志位1,不再響Fujian University of Technology在無選擇模式下,啟動鍵按下后,則會開啟響標志位告警,并有1S主流程循環,告

35、警完才關閉蜂鳴器12. 實時鐘子模塊功能簡述該模塊主要功能為精確實時鐘計時。程序設計思路及方案利用定時方式 1 產生中斷進行精確實時鐘計時。原理說明及部分代碼當定時器1滿足中斷條件(即定時器計滿256TM,發生中斷,找到中斷路口地址 001BH,跳轉到子程序IT1P。子程序的開頭和結尾分別對累加器 A和PSW進行入 棧和出棧,保證完成中斷回到主循環后,能保存累加器和PSW的數據。進入IT1P子 程序表示完成200us計時,此時先對38H單元加1,用以做200us計時單元。同時判 斷38H是否為36次,即是否計滿36*256TM=10ms?當時間未到10ms則跳出子程序, 繼續等待中斷發生,再過

36、256TM再進入程序,為38H單元加1。當計滿10ms對 200us單元38H清零,并對百分秒單元39H加1,判斷計滿100次即1s的時間,將百分 秒單元清零,對秒單元3A單元加1,之后按照時間規律,每60s對秒單元清零、分鐘 單元加1;每60min對分鐘單元清零、小時單元加1但處理秒、分和時的加1需 要十進制加 1(BCD 碼加 1,使用 ADD 累加并用 DA 進行十進制調整 ,可以完成此功 能。13. 顯示更新子模塊功能簡述該模塊主要功能為將顯示緩存單元 30H-37H 的數據通過查表法找到相應的段 碼表將要顯示的內容顯示到數碼管上。程序設計思路及方案通過單元指針逐個將顯示緩存單元 30

37、H-37H的數據,查表法找到相應的段碼表 將要顯示的內容顯示到數碼管上,再通過循環和判斷執行相應程序。原理說明及部分代碼置顯緩首位,位碼首位,查詢相關的字段碼,輸出字段碼,保存顯示1ms消除串顯, 指向下一個單元,在30H-37H單元循環。Fujian Uni ver s ity of Te c h nol ogy14. 啟動子模塊功能簡述該模塊為豆漿機運行的主要模塊,模塊中實現豆漿機的預加熱,預打漿,3次加熱 打漿以此來完成豆漿打磨加熱的主要過程。程序設計思路及方案通過判斷豆漿模式選擇完后正常啟動進入,利用進程碼實行整個過程。利用進 程碼來完成預加熱-預打漿-加熱-打漿-加熱-打漿-加熱-打

38、漿。利用L2燈模擬加熱是 否開啟丄3模擬電機。原理說明及部分代碼正常啟動后即賦進程為10H進程時,進行預加熱,而后通過判斷溫度是否達到35 度,達到后關閉加熱(即滅L2,開啟電機(即亮L3,進程碼送11H,進行倒計時25秒的預 打漿,通過滿1秒標志位的設立,準確的進行倒計時。25秒倒計時結束后重新開啟加 熱,關閉電機,待溫度達到50度后,關閉加熱,開啟電機進行打漿,接下去重復加熱打漿 兩次,待最后一次打漿完成后即完成整個打磨部分,直接送煮漿程序進程碼。下面示 例程序為對進程碼的判斷:Q1: CJNE R1,#10H,Q2CLR 28H.2 ;加熱即在不同的進程中完成不同的功能。15. 煮漿子模

39、塊功能簡述該模塊是在豆漿機打漿完成后進行的最后一步煮漿程序,為240秒的加熱過程, 并且有水位溢出判斷功能程序設計思路及方案通過對滿一秒標志位的判斷進行較為準確的240秒加熱倒計時,并且判斷在加熱過程中是否有超溢位,有則停止加熱,待水位恢復正常持續5秒后才重新開啟加 熱。原理說明及部分代碼通過對進程碼的判斷,當進程為20H進程時,進行煮漿。開啟加熱。加熱過程中 通過判斷水位情況,若出現高水位則會停止加熱,待恢復水位持續5秒后才重新開啟 加熱,以下列程序為例:LK1: DJNZ 5CH,LK2 ;5S內無益處才重新加熱MOV 5CH,#100工彳翳漫Fujian Uni ver s ity of

40、 Te c h nol ogyINC 4FHMOV A,4FHCJNE A,#06H,LK2 ;5秒后無超水位CLR 28H.2 ;開加熱即為判斷恢復水位 5 秒后才重新開啟加熱。若是為低水位狀態下 ,即出現 “干燒”則,煮漿模式停止 ,并退出運行。恢復到待機 狀態。240 秒煮漿完成后 ,即進入保溫模塊。16. 保溫子模塊功能簡述該功能模塊是對煮完的豆漿訊響 1分鐘后,以 20%的功率進行加熱保溫。程序設計思路及方案設定響標志位來開啟蜂鳴器訊響通知。而后進入保溫 ,通過設定加熱 4 秒,停熱 16 秒,來實現 20%的功率加熱保溫。原理說明及部分代碼如下列程序 :BW1: SETB 28H.

41、2 ; 停加熱DJNZ 5BH,BW0MOV 5BH,#16DJNZ 5CH,BW0 ; 延時 16sMOV 5CH,#100CLR 28H.2 ;開加熱CLR 26H.5BW2: DJNZ 5DH,BW0MOV 5DH,#4DJNZ 5EH,BW0 ;延時 4sMOV 5EH,#100SETB 26H.5SJMP BW1通過調用主流程循環,以此來實現4秒的加熱以及16秒的停熱來進行加熱保Fujian Uni vers ity of Te c h nol ogy第六章系統功能與操作說明系統功能全自動豆漿機能夠自主的在啟動后進行整個豆漿的打磨煮漿過程,全程自動化,無需使用者額外操作。而本全自動豆

42、漿機還包括有水位情況的報警,實時鐘的模塊,很好的滿足用戶的 需求,以及保護使用者。用戶在使用時候,可以輕松操作,無需任何學習,只需要在選擇模式后按下啟動后 即可,豆漿機將全程自動化完成,用戶只需輕輕一點,稍等段時間即可以享受一杯美味 的豆漿。工部號用戶若有誤啟動,在啟動的一分鐘內可再按此啟動鍵取消啟動。用戶界面及操作說明針對用戶需求進行說明常規顯示界面及其說明常規顯示狀態下,8位數碼管是顯示 時鐘-分鐘-秒鐘”當用戶按下進入啟動后 最左邊兩位顯示當前所進行的工步的工步號。左邊第三位到第六位則顯示豆漿過程 中打漿倒計時,煮漿倒計時。最右邊兩位數碼管則顯示當前豆漿溫度。Fujian Univers

43、ity of TechnoJog-數碼管顯示界面,從左到右分別為第一位至第八位Fujian University of Technoh常規顯示狀態,即顯示當前時間1.進入運行界面如下衿花工程和淺Fujian University of Technology倒計時溫度2、L0為豆漿模式指示燈L1為果汁模式指示燈L7為保溫燈丄3加熱燈丄4為電機燈,PBO為功能選擇鍵,PB1為啟動/取消鍵,如 下圖豆漿模式果汁模式加熱電機保溫啟動鍵功能選擇鍵以上為各個功能模式燈與按 鍵,用戶可通過對比參照使用與觀察。時間調整模式當用戶按下調時功能鍵后,則會進入調時,然后用戶根據所需要調整的時間進行 按鍵加減操作,K

44、0和K1為分別對小時單位進行加減1操作,而K2和K3則為對分鐘 單位進行加減1操作。用戶可以簡單輕松的對實時鐘進行調校,在調校完成后,用戶 只需按下確定調時鍵K5,即可退出調時LO L1 L3 L4 L7PBO PB101 240 55矗衿花工球承曖Fujian University of Technology調時各個按鍵功能如下圖:進入調時鍵 確定調時退出鍵小時+1小時-1分鐘+1分鐘-1水位警告模式當用戶開啟時,若發現功能燈閃爍三次并同步伴有蜂鳴器響,則為高水位。若功 能燈閃爍一次,同步伴有蜂鳴器響,則為低水位。用戶通過報警的不同自行改變水量 重新進行煮豆漿。保溫模式當煮漿完成時,會有一分

45、鐘提示音提示用戶已完成,用戶聽到提示音就可提取美 味豆漿。再按次啟動鍵即可退出保溫。K1 KO K3K2 K4 K8 K12 K5 K9 K6 K7K15K14 K10 K13 K11衿花工帶孑I淺Fujian Uni ver s ity of Te c h nol pgy第七章存在問題與改進程序說明在整個程序的設計中 ,仍然有著一些程序存在問題 ,這是在設計的時候沒有考慮 周全導致的 ,在經過了與老師的探討和同學間的互相討論下 ,對程序進行了完善。以 下為幾個存在問題的程序以及其改進后的程序。1.模擬水溫模塊在水溫模擬模塊中 ,設計時由于考慮不周全 ,單純的認為只需要拆送 099到顯緩 中就

46、可以 ,于是設計出了錯誤的程序 ,如下 :CJNE A,#9AH,LA1LA1:JNC LA2 ;超過 99顯示 EECLR CDA AMOV 58H,AMOV B,A ;A/D 轉換結果拆送最右兩位顯示緩沖單元ANL A,#0FHMOV 30H,AMOV A,BANL A,#0F0HSWAP AMOV 31H,A這個程序模塊 ,是個虛假數據 ,拆送了一個虛假的 099到顯緩 ,并沒有經過 BCD 轉換 ,在溫度送顯緩調整過程中會有跳步現象 ,無法完整的模擬出溫度變化 ,是我當初設計時候沒有考慮周全造成的。而后在老師的指導與同學的探討下,有了水溫拆送 的正確拆送方法,自己加以改進程序。改進程序如下:MOV A,58HMOV B,#10HDIV ABMOV 31H,AMOV 30H,B即可以完整的模擬099的水溫變化,而非虛假的數據轉換。通過 BCD轉換拆 送到顯緩。較為Fujian University of Technology完整的模擬出了水溫2.水位告警模塊在最初始的水位告警模塊中,初始判斷只判斷了預加熱狀態下的水位告警,而沒 有考慮到接下去的預打漿模塊,使整個豆漿機在模擬過程中,跳過了在預打漿進程下 的水位檢測告警。經老師指正修改后,添加了判斷進程,使整個過程中都有著水位檢 測的功能,改進后的程序如下:SWGJ: JNB 2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論