找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3023|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

電子式電壓力煲設(shè)計(jì) 單片機(jī)源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:736111 發(fā)表于 2020-4-23 15:48 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
1、開機(jī)進(jìn)行適當(dāng)?shù)挠嘘P(guān)接口部件及數(shù)碼顯示器、指示燈、訊響器等自檢。
2、八位LED七段數(shù)碼管作為時(shí)鐘及其他界面信息顯示。
3、基本顯示模式為按照24小時(shí)制動(dòng)態(tài)顯示實(shí)時(shí)鐘的時(shí)、分、秒信息。
4、4×4鍵盤作為參數(shù)設(shè)定與設(shè)備操作的輸入設(shè)備,由“0”~“9”數(shù)字鍵及若干個(gè)功能鍵組成,“0”~“9”數(shù)字鍵須按照國(guó)際通行排列布局,鍵按下時(shí)應(yīng)回饋短促的鍵音,鍵盤掃描還應(yīng)采取消抖動(dòng)處理。
5、時(shí)鐘調(diào)校功能:按下“時(shí)鐘設(shè)定”鍵則進(jìn)入時(shí)鐘設(shè)定界面,在調(diào)取并顯示當(dāng)前實(shí)時(shí)鐘的時(shí)、分值基礎(chǔ)上供逐位輸入新的時(shí)、分值,當(dāng)前數(shù)字位以2Hz頻率閃爍顯示的形式標(biāo)示;按“確定”鍵則審核不存在超值域的情況下存入新的時(shí)、分值,同時(shí)對(duì)秒清0以及對(duì)秒的前級(jí)計(jì)時(shí)環(huán)節(jié)置初值;按“取消”鍵則不存新值返回基本顯示模式;還可設(shè)置“←”鍵、“→”鍵等以方便操作。
6、利用實(shí)驗(yàn)板上的按鈕、撥動(dòng)開關(guān)替代設(shè)備的開關(guān)量輸入信號(hào),應(yīng)當(dāng)由開關(guān)量輸入處理子模塊程序統(tǒng)一對(duì)開關(guān)量輸入信號(hào)進(jìn)行檢測(cè)輸入并進(jìn)行軟件消抖動(dòng)處理;利用實(shí)驗(yàn)板上的驅(qū)動(dòng)LED指示燈的輸出接口電路替代設(shè)備的開關(guān)量輸出驅(qū)動(dòng)信號(hào),應(yīng)當(dāng)對(duì)輸出控制信息建立輸出緩存,并統(tǒng)一由輸出驅(qū)動(dòng)子模塊程序根據(jù)輸出緩存內(nèi)容執(zhí)行實(shí)質(zhì)的輸出驅(qū)動(dòng);利用實(shí)驗(yàn)板上的蜂鳴器替代設(shè)備的訊響部件,應(yīng)當(dāng)統(tǒng)一由訊響驅(qū)動(dòng)子模塊程序綜合各功能程序模塊所產(chǎn)生的訊響邏輯標(biāo)記信息執(zhí)行實(shí)質(zhì)的蜂鳴器驅(qū)動(dòng)。
7、當(dāng)切換到壓力煲工作模式時(shí)(用撥動(dòng)開關(guān)模擬),機(jī)器“嘀”一聲長(zhǎng)鳴同時(shí)顯示待機(jī)界面(待機(jī)提示符可自行定義),表示機(jī)器進(jìn)入待機(jī)狀態(tài)。
8、將裝有實(shí)物的內(nèi)膽放入機(jī)器內(nèi),旋轉(zhuǎn)上蓋至合蓋位置(用撥動(dòng)開關(guān)模擬),合緊時(shí)機(jī)器“嘀”提示一聲。
9、烹飪功能選擇:選擇相應(yīng)的烹飪功能按鍵(用單按鍵模擬,可設(shè)置不同的烹飪功能鍵,也可用用一個(gè)按鍵切換),對(duì)應(yīng)功能的指示燈閃爍(用L0~L15模擬),默認(rèn)壓力和口感指示燈亮(可用L0~L15模擬),如無其他操作7秒鐘后功能指示燈常亮,數(shù)碼管動(dòng)態(tài)顯示跑圈,開始加熱。
10、口感選擇:選取烹飪功能后(蛋糕功能除外),用戶通過按“口感”鍵來調(diào)節(jié)食物的烹飪效果,按照“標(biāo)準(zhǔn)---濃郁---清香”的順序循環(huán),數(shù)碼管顯示相應(yīng)保壓時(shí)間。(沒有要求可不選,即按默認(rèn)值)
11、壓力選擇:選取烹飪功能后(蛋糕和功能除外),如需調(diào)整壓力,可按壓力鍵選擇其他壓力,支持三檔壓力循環(huán)選擇“微壓---中壓---高壓” (沒有要求可不選,即按默認(rèn)值)
12、預(yù)約時(shí)間設(shè)置:預(yù)約時(shí)間范圍為“0:30~24:00,調(diào)整方法為:選定烹飪功能后(蛋糕功能除外),按“預(yù)約”鍵,顯示屏顯示預(yù)約時(shí)間“0:30”,每按一次該鍵,預(yù)約時(shí)間增加30分鐘,直到24小時(shí),時(shí)間循環(huán)變化,支持長(zhǎng)按,即按住該鍵不放開,預(yù)約時(shí)間自動(dòng)增加。
預(yù)約時(shí)間設(shè)定完成后,若無需進(jìn)行其他功能設(shè)定,該功能指示燈閃爍7秒后,數(shù)碼管顯示的預(yù)約時(shí)間開始閃爍并倒計(jì)時(shí),預(yù)約時(shí)間結(jié)束時(shí)開始加熱。
     13、加熱:高壓或低壓開關(guān)閉合,機(jī)器通電開始加熱,烹飪功能指示燈常亮。加熱達(dá)到設(shè)定的壓力上限時(shí)則進(jìn)入保壓。
     14、保壓:進(jìn)入保壓階段,數(shù)碼管顯示保壓時(shí)間倒計(jì)時(shí)值,同時(shí)對(duì)壓力進(jìn)行檢測(cè),低于下限值則相應(yīng)的壓力開關(guān)再次閉合通電加熱,高于上限值則開關(guān)斷開撤除加熱,不斷重復(fù)這一過程。
13、保溫/取消:保溫功能用于維持電壓力煲內(nèi)的食物溫度,當(dāng)烹飪結(jié)束后,機(jī)器自動(dòng)進(jìn)入保溫功能,數(shù)碼管顯示保溫提示符(自行設(shè)定),保溫?zé)袅疗穑ⅰ班帧碧崾?/strong>5聲;也可在待機(jī)狀態(tài)時(shí),按下“保溫/取消”鍵,啟動(dòng)保溫功能,保溫8小時(shí)后自動(dòng)退出保溫進(jìn)入待機(jī)狀態(tài)。
進(jìn)入保溫時(shí)先對(duì)溫度檢測(cè),當(dāng)溫度低于40則啟動(dòng)低功率加熱,即3分鐘加熱,6分鐘停止加熱,并重復(fù)這一過程。
14、在電壓力煲工作的任何階段(待機(jī)除外),若要取消現(xiàn)有狀態(tài),可按“保溫/取消”鍵,返回待機(jī)狀態(tài)。
15、開蓋報(bào)警:在待機(jī)、功能選擇或保溫階段(安全眼已落下,壓力假設(shè)低于10KPa),可以正常開蓋,機(jī)器“嘀-嘀”兩聲,數(shù)碼管、指示燈的顯示同各階段,但若是保溫階段則要撤除通電加熱。
在加熱或保壓階段開蓋則報(bào)警,蜂鳴器“嘀------……”長(zhǎng)鳴,數(shù)碼管提示錯(cuò)誤信息,如“E1”,此時(shí)合蓋則各階段恢復(fù)正常。
   超溫報(bào)警:無論哪個(gè)階段,只要溫度超過145則報(bào)警,數(shù)碼管提示錯(cuò)誤信息,如“E2”,此時(shí)應(yīng)斷電撤除加熱。


ORG  0000H  ;復(fù)位入口   
    LJMP  MAIN  ;轉(zhuǎn)往主程序
    ORG 0003H   ;外部中斷0服務(wù)子程序入口
    LJMP  IX0P  ;INT0下降沿請(qǐng)求中斷:將小時(shí)數(shù)加1
    ORG  000BH  ;定時(shí)器0中斷服務(wù)子程序入口
    LJMP  IT0P  ;對(duì)T0引腳輸入的負(fù)脈沖每計(jì)滿2次即請(qǐng)求中斷:將分鐘數(shù)加1
    ORG  001BH  ;定時(shí)器1中斷服務(wù)子程序入口
    LJMP  IT1P  ;定時(shí)中斷:進(jìn)行實(shí)時(shí)鐘計(jì)時(shí)

     ORG  0030H       ;主程序
MAIN:MOV SP,#6FH      ;總初始化,設(shè)定棧底指針
     LCALL D60MS      ;稍加延時(shí)(60mS),以待各芯片均退出復(fù)位狀態(tài)
     MOV DPTR,#0FEFFH ;對(duì)U3(8255)接口芯片初始化
     MOV A,#89H       ;設(shè)定為A口輸出(驅(qū)動(dòng)字段)、B口輸出(驅(qū)動(dòng)字位),C口輸入(鍵盤)
     MOVX  @DPTR,A    ;向U3(8255)控制口寫入方式控制字
     MOV DPTR,#0FEFCH ;DPTR指向U3(8255)-A口,8255輸出口初始值全0,應(yīng)即刻清為無效電平
     MOV A,#0FFH      ;A口應(yīng)清為全1,即對(duì)應(yīng)八段均不亮的字段碼
     MOVX @DPTR,A     ;輸出到U3(8255)的A口   (B口初始值全0就是全無效電平,無需改變)
     MOV DPTR,#0FDFFH ;對(duì)U5(8255)接口芯片初始化
     MOV A,#8BH       ;設(shè)定為A口輸出(驅(qū)L8~15),B口輸入(按鈕PB0~7),C口輸入(開關(guān)SW0~7)
     MOVX  @DPTR,A    ;向U5(8255)控制口寫入方式控制字
     MOV DPTR,#0FDFCH ;DPTR指向U5(8255)-A口
     MOV A,#0FFH      ;A口應(yīng)清為全1,即對(duì)應(yīng)所驅(qū)動(dòng)的L8~15初始不亮
     MOVX @DPTR,A     ;輸出到U5(8255)的A口   

    ;**********自檢燈與蜂鳴器*******************************
     CLR P3.2          ;自檢,蜂鳴器響     
     LCALL D1S        ;延時(shí)1S
     SETB P3.2         ;關(guān)蜂鳴器

     MOV P1,#00H      ;自檢,P1口輸出所驅(qū)動(dòng)的L0~L7指示燈全亮
     LCALL D1S        ;延時(shí)1S
     MOV P1,#0FFH      ;熄L0~L7指示燈
    ;******************************************************

    SETB EA         ;開中斷總允許
    SETB IT0        ;設(shè)定INT0中斷請(qǐng)求輸入信號(hào)下降沿有效
    SETB EX0        ;開外部INT0中斷允許
    MOV 38H,#00H    ;38H單元為實(shí)時(shí)鐘200uS計(jì)數(shù)單元,清0
    MOV 39H,#00H    ;39H單元為10mS計(jì)數(shù)單元,清0

    ;************初值顯示*******************
    MOV 3AH,#45H    ;秒單元初值
    MOV 3BH,#59H    ;分單元初值
    MOV 3CH,#08H    ;時(shí)單元初值,對(duì)應(yīng)時(shí)鐘初值08:59:45
    ;**************************************************

    MOV TMOD,#22H   ;初始化T1為定時(shí)方式2,T0為計(jì)數(shù)方式2。
    MOV TL0,#00H    ;置T0計(jì)數(shù)初值。00H-FEH=2,每計(jì)數(shù)2次請(qǐng)求中斷
    MOV TH0,#00H   
    SETB ET0        ;開T0中斷允許
    SETB TR0        ;啟動(dòng)T0計(jì)數(shù)工作
    MOV TL1,#00H    ;置T1計(jì)數(shù)初值。00H-48H=C8H=184,184TM≈200uS(實(shí)際199.6527778μS)
   MOV TH1,#00H    ;即每約200uS請(qǐng)求中斷一次。(存在一些走時(shí)誤差)(TM=12/11.0592MHZ)
    SETB ET1        ;開T1中斷允許
    SETB TR1        ;啟動(dòng)T1定時(shí)工作
    MOV 50H,#00H    ;D/A輸出數(shù)據(jù)單元初始值

    ;************AD轉(zhuǎn)換結(jié)果單元的初值設(shè)置***************************
        MOV 52H,#0AAH   ;A/D轉(zhuǎn)換結(jié)果數(shù)據(jù)單元初值A(chǔ)N1(壓力)
        MOV 53H,#50H      ;A/D轉(zhuǎn)換結(jié)果數(shù)據(jù)單元初值A(chǔ)N0(溫度)     
        MOV 56H,#36       ;T0中斷,計(jì)數(shù)1秒
        MOV 11H,#100     

篇幅有限,請(qǐng)下載查看,目前還缺少原理圖,壓縮包里面只有代碼
ddhh.rar (8.63 KB, 下載次數(shù): 21)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2020-4-27 00:00 | 只看該作者
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復(fù)

使用道具 舉報(bào)

板凳
ID:99987 發(fā)表于 2020-4-27 09:09 | 只看該作者
非常不錯(cuò)!匯編代碼
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表