課程設(shè)計寵物自動喂食機設(shè)計
《課程設(shè)計寵物自動喂食機設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《課程設(shè)計寵物自動喂食機設(shè)計(31頁珍藏版)》請在裝配圖網(wǎng)上搜索。
. . 摘 要 本次設(shè)計寵物自動喂食機的基本功能和設(shè)計思路,根據(jù)給定的規(guī)定動作順 序,綜合運用所學的基本理論、基本知識和相關(guān)的機械設(shè)計專業(yè)知識,完成寵 物自動喂食機理論方案的創(chuàng)新設(shè)計,并繪制必要的零部件圖,其中包括裝置的 原理方案構(gòu)思和擬定;原理方案的實現(xiàn)、傳動方案的設(shè)計,主要結(jié)構(gòu)的設(shè)計簡 圖;設(shè)計計算與說明。 寵物自動喂食機設(shè)計要求:定時投放飼料,具有開機自檢功能,可以設(shè)定 開啟關(guān)閉時間的長短,適應不同寵物食量的需要,使用電動機驅(qū)動,其電源應 為安全電源。 寵物自動喂食機設(shè)計的主要技術(shù)關(guān)鍵問題為:飼料的定時投放,料口的開 合角度的確定,定時長短的設(shè)計,時間設(shè)定模塊的組合。 關(guān)鍵字:單片機 設(shè)計計算 定時 機構(gòu) . . 摘 要 .......................................................................................................................I 1 主軸的設(shè)計 .........................................................................................................1 1.1 主軸材料的選擇: ..............................................................................................1 1.2 主軸加工方法的選擇: ......................................................................................1 2 主軸參數(shù)計算: ..................................................................................................2 2.1 主軸尺寸的確定: ............................................................................................2 2.1.1 估取主軸的長度和直徑 :...........................................................................2 2.1.2 根據(jù)軸向定位的要求確定軸的各段長度 .................................................2 2.2 軸上力的校合 ....................................................................................................3 2.3 精確校核軸的疲勞強度 ....................................................................................3 2.3.1 判斷危險截面 .............................................................................................3 2.3.2 截面 IV 右側(cè)的 ............................................................................................3 3 行程開關(guān)旋轉(zhuǎn)件的設(shè)計 .......................................................................................5 4 減速電動機的選擇: ...........................................................................................5 5 控制系統(tǒng)設(shè)計 ......................................................................................................6 5.1 系統(tǒng)方案設(shè)計構(gòu)成 ............................................................................................6 5.2 單片機的選用 ....................................................................................................6 5.2.1 I/O 口線 .....................................................................................................6 5.2.2 控制口線 ....................................................................................................7 5.2.3 電源和時鐘 ................................................................................................7 6 程序編寫 .............................................................................................................8 6.1 連線圖: ............................................................................................................8 6.2 程序設(shè)計: ........................................................................................................8 7 設(shè)計心得 ...........................................................................................................28 參考文獻 ..............................................................................................................29 . . 1 主軸的設(shè)計 在寵物自動喂食機上采用直接由電機帶動主軸旋轉(zhuǎn),控制料口的開啟和關(guān) 閉,由于電機選用的是具有自鎖功能的直流減速電機,中間不采用減速裝置, 簡化結(jié)構(gòu)設(shè)計,使系統(tǒng)的結(jié)構(gòu)盡量的緊湊。所以直接用電機驅(qū)動主軸,省去中 間的減速環(huán)節(jié)。 1.1 主軸材料的選擇: 主軸的選用 45 鋼,45 鋼的加工性能較為理想,材料的價格比較低廉,但 是這是一種中碳鋼,淬火性能并不好, 45 號鋼可以淬硬至 HRC42~46。所以如 果需要表面硬度,又希望發(fā)揮 45 鋼優(yōu)越的機械性能,常將 45 鋼表面滲碳淬火, 這樣就能得到需要的表面硬度。調(diào)質(zhì)處理后零件具有良好的綜合機械性能,廣 泛應用于各種重要的結(jié)構(gòu)零件,特別是那些在交變負荷下工作的連桿、螺栓、 齒輪及軸類等。 1.2 主軸加工方法的選擇: 由于主軸是間歇回轉(zhuǎn)類零件,不需要長時間的連續(xù)運轉(zhuǎn),所以加工的精度 不需要很高,在普通的車床上既可以加工。又因為主軸的外形相對簡單,不需 要經(jīng)常的換刀,所以加工的時間教短。在加工主軸時,需要注意的是徑向尺寸 的控制,不過通過合理的安排加工工藝可以解決。最后的端部的鉆孔是需要控 制空之間的距離,所以在單件試制的時候可以不用專用的夾具,在大量生產(chǎn)的 時候需要安排專用的夾具,提高生產(chǎn)效率。尤其需要注意的是孔中心的確定, 因為是后續(xù)安裝旋轉(zhuǎn)件的,所以要控制中心的偏差。 . . 2 主軸參數(shù)計算: 2.1 主軸尺寸的確定: 由設(shè)計題目中要求可知:下料口的孔直徑為 5mm.由《機械設(shè)計手冊》表 6.2-3 取主軸的直徑為 5mm; 2.1.1 估取主軸的長度和直徑: 圖 2-1 軸的長度和直徑 1) 1-2 段軸用于安裝聯(lián)軸器,故取直徑為 5mm。 2) 2-3 段安裝活動擋片,直徑 5mm。 3) 3-4 段分隔段,直徑為 5mm。 4) 4-5 段為過度段,直徑為 16mm。 5) 5-6 段安裝旋轉(zhuǎn)件,直徑為 40mm。 2.1.2 根據(jù)軸向定位的要求確定軸的各段長度 1) 1-2 段為安裝聯(lián)軸器為 30mm 2) 2-3 段為安裝活動擋片長度為 60mm。 3) 3-4 段為為分隔長度為 10mm 4) 4-5 段用于安裝旋轉(zhuǎn)件長度為 6mm。 5) 5-6 段安裝旋轉(zhuǎn)件長度為 10 . . 2.2 軸上力的校合 66 207.5 63.5 圖 2-2 軸上力的校合 2.3 精確校核軸的疲勞強度 2.3.1 判斷危險截面 由于截面 IV 處受的載荷較大,直徑較小,所以判斷為危險截面 2.3.2 截面 IV 右側(cè)的 MPaWmb5.17?? 截面上的轉(zhuǎn)切應力為 aT64.72??PTmb 9.8.152?? 由于軸選用 40cr,調(diào)質(zhì)處理,所以 , , 。MPaB73?a361??Ma2601??? ([2]P355 表 15-1) 綜合系數(shù)的計算 由 , 經(jīng)直線插入,知道因軸肩而形成的045.2?dr.dD . . 理論應力集中為 , ,23.???81.? ([2]P38 附表 3-2 經(jīng)直線插入) 軸的材料敏感系數(shù)為 , ,5.0?q7.?? ([2]P37 附圖 3-1) 故有效應力集中系數(shù)為 .2)1(???????qk70?? 查得尺寸系數(shù)為 ,扭轉(zhuǎn)尺寸系數(shù)為 ,.?? 76.0??? ([2]P37 附圖 3-2) ([2]P39 附圖 3-3) 軸采用磨削加工,表面質(zhì)量系數(shù)為 ,92.??? ([2]P40 附圖 3-4) 軸表面未經(jīng)強化處理,即 ,則綜合系數(shù)值為1?q?93.21???????kK.?? a) 碳鋼系數(shù)的確定 碳鋼的特性系數(shù)取為 ,1.0???5.? b) 安全系數(shù)的計算 軸的疲勞安全系數(shù)為 92.61???maKS??.41??a??? SSc ???5.6.2?? 故軸的選用安全。 . . 3 行程開關(guān)旋轉(zhuǎn)件的設(shè)計 圖 3-1 行程開關(guān)旋轉(zhuǎn)件 由示意圖可知,兩旋轉(zhuǎn)件在旋轉(zhuǎn)時有一個 90 度角的角度差,通過行程開關(guān) 輸出的信號的不同來分辨料口的開合處于什么樣的狀態(tài),然后通過單片機系統(tǒng) 的處理,輸出相應的信號,帶動電機的旋轉(zhuǎn),來控制料口的開合。料口的狀態(tài) 有完全關(guān)閉和完全打開兩種狀態(tài), (1)兩行程開關(guān)都輸出信號時,料口處于關(guān) 閉狀態(tài), (2)兩行程開關(guān)有一個閉合輸出信號時,料口處于完全打開狀態(tài)。 4 減速電動機的選擇: 直流齒輪減速電動機由于其結(jié)構(gòu)簡單,性能可靠,故選擇直流齒輪減速電 動機。 ZGA25R-310 式直流齒輪減速電動機產(chǎn)品數(shù)據(jù): ZGA25R-310 使用電壓:DC-6V 轉(zhuǎn)速: 20rpm 外徑:25mm 總長:51mm 伸出軸長:10mm 扭力:1-3KG . . 5 控制系統(tǒng)設(shè)計 5.1 系統(tǒng)方案設(shè)計構(gòu)成 本系統(tǒng)包括機械部分和伺服電機控制兩部分。根據(jù)所給的要求,擬用開環(huán)控制 結(jié)構(gòu)設(shè)計方案,其開環(huán)系統(tǒng)結(jié)構(gòu)原理如下: 圖 5-1 開環(huán)系統(tǒng)結(jié)構(gòu)原理圖 具體原理:編寫單片機指令,通過掃描鍵盤輸入的數(shù)字記錄需要轉(zhuǎn)動的角度, 然后計算需要輸出的脈沖,用軟件的方法實現(xiàn)脈沖的輸出,然后由光電耦合電 路減小外部的干擾,由功率放大電路實現(xiàn)功率的放大,然后接減速電動機,通 過聯(lián)軸器把力矩傳到主軸。帶動料口的開關(guān)。 5.2 單片機的選用 本設(shè)計選用 ATS9S51 芯片,片內(nèi)無 ROM 或者 EPROM,使用時必須配置外部 的程序存儲器 EPROM。本設(shè)計選用了 2764 擴展其空間,8031 的引腳分 3 大功能: 5.2.1 I/O 口線 P0,P1,P2,P3 共 4 個八位口。 . . 5.2.2 控制口線 PSEN(片外取指控制)、ALE(地址鎖存控制)、EA(片外存儲器選擇)、 RESET(復位控制)。 5.2.3 電源和時鐘 ATS9S51 最小應用系統(tǒng)。ATS9S51 內(nèi)部不帶 ROM,需要外接 EPROM 作為外部 程序存儲器。又因為 8031 在外接程序存儲器或數(shù)據(jù)存儲器時地址的低 8 位信息 和數(shù)據(jù)信息分時送出,故還需要采用一片 74LS373 來鎖存低 8 為地址信息。這 樣,一片 2764EPROM 和一片 74LS373 組成了一個最小的計算機應用系統(tǒng)。如圖 MCS-51 的程序存儲器空間與數(shù)據(jù)存儲器空間是相互獨立的。用戶可最多擴 展到 64kb 的程序存儲器幾 64kb 的數(shù)據(jù)存儲器,編址為 0000H~FFFFH。片內(nèi) 8kb 單元地址要求地址線 13 根(A0~A12)。 它由 P0 和 P2.0~P2.4 組成。地址鎖存器的鎖存信號為 ALE。程序存儲器的 取地址消耗為 PSEN。由于程序存儲器芯片只有一片,所以其片選端(31)直接 接地。 8031 芯片本身的連接 31 必須接地來表明選擇外部存儲器外,還必須有復 位和時鐘電路。在此系統(tǒng)中有 P1、P3 口作為用戶 I/O 口使用;74LS373 為地址 鎖存器,他是一片三態(tài)輸出 8D 觸發(fā)器,當 OE=1 時三態(tài)門導通,輸出線上為 8 為鎖存器的狀態(tài)。當 OE=1 時輸出為高住抗轉(zhuǎn)臺。G 為鎖存信號輸入線,G=1 時 鎖存器輸出等于 D 端輸入,G 輸入短跳變將輸入信息鎖存到 8 為鎖存器中。 當 8031 在訪問外部程序存儲器時,P2 口輸入高 8 為地址:P6 口分時傳送 底 8 為地址和指令字節(jié)。在 ALE 為高電平時,P0 口輸出的地址有效,并由 ALE 的下降沿鎖存到地址鎖存器中,此時外部程序存儲器宣統(tǒng)信號線 PSEN 出現(xiàn)低電 平,選通相應的外部。EPROM 存儲器;相應的指令字節(jié)出現(xiàn)在 EPROM 的數(shù)據(jù)線 (O0~O7)上,輸入到 P0 口,CPU 將指令字節(jié)讀入指令寄存器。 . . 6 程序編寫 6.1 連線圖: 圖 6-1 連線圖 6.2 程序設(shè)計: 單片機:AT89S51,F=6MHz,影響第 0 組的 R1,R2,R3,R4,R5,R6,R7, 20H,21H,30H,31H,32H,35H,36H,37H,38H,39H,3AH,3BH,3CH,3DH,3EH。 ORG 00H ;程序從這里開始 SJMP MAIN ;主程序 ORG 0BH ;定時器 0 中斷入口 LJMP GOTO ORG 40H ;初始化 MAIN:MOV SP,#5FH ;設(shè)堆棧 MOV 30H,#12H ;存放小時,設(shè)初值 MOV 31H,#00H ;存放分鐘,設(shè)初值 MOV 32H,#00H ;存放秒,設(shè)初值 MOV 35H,#06H ;第一個鬧鐘的小時位,設(shè)初值 MOV 36H,#30H ;第一個鬧鐘的分鐘位,設(shè)初值 MOV 37H,#09H ;第二個鬧鐘的小時位,設(shè)初值 MOV 38H,#00H ;第二個鬧鐘的分鐘位,設(shè)初值 MOV 39H,#06H ;存放年 MOV 3AH,#11H ;存放月 MOV 3BH,#05H ;存放日 . . MOV 3CH,#00H ;顯示緩存,第 1,2 位 MOV 3DH,#00H ;顯示緩存,第 3,4 位 MOV 3EH,#00H ;顯示緩存,第 5,6 位 CLR 00H ;秒閃爍暫存 20H.0 SETB 01H ;鬧鐘 1 輸出位 20H.1 SETB 02H ;鬧鐘 2 輸出位 20H.2 CLR 03H ;按鍵 2 是否有效標致位 20H.3 CLR 04H ;按鍵 3 是否有效標致位 20H.4 CLR 05H ;按鍵 2 是否有效標致位 20H.5 CLR 06H ;鬧鐘開關(guān)標致 20H.6 "0"為開"1"為關(guān) SETB 07H ;顯示緩存,小數(shù)點 1 SETB 08H ;顯示緩存,小數(shù)點 2 SETB 09H ;時鐘加減標致位 "0"為小時,"1"為分鐘 SETB 0AH ;鬧鐘 1 加減標致位"0"為小時,"1"為分鐘 SETB 0BH ;鬧鐘 2 加減標致位"0"為小時,"1"為分鐘 MOV R2,#2 ;設(shè)定時次數(shù) MOV R3,#50 MOV R4,#25 MOV TMOD,#02H ;設(shè)定時器 0 工作方式為方式 2 MOV TH0,#56 ;設(shè)初始值 MOV TL0,#56 SETB TR0 ;啟動定時器和中斷 SETB ET0 SETB EA 主程序 MMAIN:JNB P2.0,MMAIN ;時鐘主程序 MMAIN2:LCALL XIAN ;顯示 LCALL CS ;按鍵秒清零 LCALL DAT ;是否顯示年月日 LCALL DSQ ;定時器 LCALL T1T2 ;鬧鐘開關(guān) CLR P2.6 ;按鍵有效 JNB P2.0,MENU1 . . SJMP MMAIN2 MENU1:JNB P2.0,$ ;時鐘調(diào)整 SETB P1.0 MOV 3CH,30H ;將暫存的數(shù)轉(zhuǎn)成字形 顯示 30H MOV 3DH,31H ;將暫存的數(shù)轉(zhuǎn)成字形 顯示 31H MOV 3EH,#0ABH ;將暫存的數(shù)轉(zhuǎn)成字形 顯示" t" CLR 07H ;顯示小數(shù)點 1 SETB 08H ;不顯示小數(shù)點 2 LCALL MXIAN ;顯示菜單 1 LCALL ADDM1 ;按鍵加一分鐘 LCALL ADDH1 ;按鍵加一小時 LCALL DECMH ;減一分鐘/一小時 CLR P2.6 JNB P2.0,MENU2 SJMP MENU1 MENU2:JNB P2.0,$ ;日期調(diào)整 SETB P1.0 MOV 3CH,39H ;將暫存的數(shù)轉(zhuǎn)成字形 顯示 39H MOV 3DH,3AH ;將暫存的數(shù)轉(zhuǎn)成字形 顯示 3AH MOV 3EH,3BH ;將暫存的數(shù)轉(zhuǎn)成字形 顯示 3BH CLR 07H ;顯示小數(shù)點 1 CLR 08H ;顯示小數(shù)點 2 LCALL MXIAN ;顯示菜單 2 LCALL DATEN ;年份+1 LCALL DATEM ;月份+1 LCALL DATED ;+1 日 CLR P2.6 JNB P2.0,MENU3 SJMP MENU2 MENU3:JNB P2.0,$ ;鬧鐘 1 SETB P1.0 MOV 3CH,35H ;將暫存的數(shù)轉(zhuǎn)成字形 顯示 35H . . MOV 3DH,36H ;將暫存的數(shù)轉(zhuǎn)成字形 顯示 36H MOV 3EH,#0A1H ;將暫存的數(shù)轉(zhuǎn)成字形 顯示" 1" CLR 07H ;顯示小數(shù)點 1 SETB 08H ;不顯示小數(shù)點 2 LCALL MXIAN ;顯示菜單 3 LCALL T1M1 ;鬧鐘 1 分鐘+1 LCALL T1H1 ;鬧鐘 1 小時+1 LCALL DECT1 ;鬧鐘 1 減 1 小時/1 分鐘 CLR P2.6 JNB P2.0,MENU4 SJMP MENU3 MENU4:JNB P2.0,$ ;鬧鐘 2 SETB P1.0 MOV 3CH,37H ;將暫存的數(shù)轉(zhuǎn)成字形 顯示 37H MOV 3DH,38H ;將暫存的數(shù)轉(zhuǎn)成字形 顯示 38H MOV 3EH,#0A2H ;將暫存的數(shù)轉(zhuǎn)成字形 顯示" 2" CLR 07H ;顯示小數(shù)點 1 SETB 08H ;不顯示小數(shù)點 2 LCALL MXIAN ;顯示菜單 4 LCALL T2M1 ;鬧鐘 2 分鐘+1 LCALL T2H1 ;鬧鐘 2 小時+1 LCALL DECT2 ;鬧鐘減 2 小時/1 分鐘 CLR P2.6 JNB P2.0,MENU5 SJMP MENU4 MENU5:LJMP MMAIN 中斷處理 GOTO:PUSH A ;保護現(xiàn)場 DJNZ R3,GOTO1 MOV R3,#50 DJNZ R4,GOTO1 MOV R4,#25 CPL 00H ;20H.0 用于秒閃爍 . . DJNZ R2,GOTO1 MOV R2,#02H ;配合定時器定時一秒 MOV A,32H ;秒位是否為 59 秒,是:秒清零,分鐘+1,判 斷分鐘 CJNE A,#59H,M1 ;否:跳轉(zhuǎn)到秒+1 MOV 32H,#00H MOV A,31H ;分鐘位同上 CJNE A,#59H,M2 MOV 31H,#00H MOV A,30H ; 小時位同上 CJNE A,#23H,M3 MOV 30H,#00H LCALL ADDD SJMP GOTO1 M1:ADD A,#01 ;秒+1 DA A MOV 32H,A SJMP GOTO1 M2:ADD A,#01 ;分鐘+1 DA A MOV 31H,A SJMP GOTO1 M3:ADD A,#01 ; 小時+1 DA A MOV 30H,A SJMP GOTO1 GOTO1:POP A ;恢復現(xiàn)場 RETI 時鐘顯示專用子程序 XIAN:MOV A,32H ;將暫存的數(shù)轉(zhuǎn)成字形 SWAP A MOV B,#10H DIV AB LCALL ZH MOV P0,A ;LED 顯示秒位 . . MOV P2,#0FEH LCALL DELAY MOV A,B LCALL ZH MOV P0,A MOV P2,#0FDH LCALL DELAY MOV A,31H ;將暫存的數(shù)轉(zhuǎn)成字形 SWAP A MOV B,#10H DIV AB LCALL ZH MOV P0,A ;LED 顯示分鐘位 MOV C,00H MOV P0.7,C ;秒閃爍 MOV P2,#0FBH LCALL DELAY SETB P0.7 ; 取消顯示小數(shù)點 MOV A,B LCALL ZH MOV P0,A MOV P2,#0F7H LCALL DELAY MOV A,30H ;將暫存的數(shù)轉(zhuǎn)成字形 SWAP A MOV B,#10H DIV AB LCALL ZH MOV P0,A ;LED 顯示小時位 CLR P0.7 ;顯示小數(shù)點 MOV P2,#0EFH LCALL DELAY SETB P0.7 ;取消顯示小數(shù)點 MOV A,B LCALL ZH . . MOV P0,A MOV P2,#0DFH LCALL DELAY RET DELAY:MOV R5,#0AH ;延時 1mS(6MHz) L1:MOV R6,#19H L2:DJNZ R6,L2 DJNZ R5,L1 RET ZH:MOV DPTR,#TAB ;字形轉(zhuǎn)換 MOVC A,@A+DPTR MOV P2,#0FFH ;消影 RET TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;字形 0~9 DB 0FFH,87H,0C8H,0A1H,86H,8EH ;字形 A=" ",B="t",C="n",F="F",-hsz TAB2:DB 30H,31H,28H,31H,30H,31H,30H,31H,31H,30H,31H,30H,31H ; 每個月的天數(shù),平年 TAB3:DB 30H,31H,29H,31H,30H,31H,30H,31H,31H,30H,31H,30H,31H ; 每個月的天數(shù),閏年 顯示子程序結(jié)束 菜單顯示子程序 MXIAN:MOV A,3EH ;將暫存的數(shù)轉(zhuǎn)成字形 SWAP A MOV B,#10H DIV AB LCALL ZH MOV P0,A ;LED 顯示 5,6 位 MOV P2,#0FEH LCALL DELAY MOV A,B LCALL ZH MOV P0,A . . MOV P2,#0FDH LCALL DELAY MOV A,3DH ;將暫存的數(shù)轉(zhuǎn)成字形 SWAP A MOV B,#10H DIV AB LCALL ZH MOV P0,A ;LED 顯示 3,4 位 MOV C,08H MOV P0.7,C ;是否顯示小數(shù)點 2 MOV P2,#0FBH LCALL DELAY SETB P0.7 ; 取消顯示小數(shù)點 MOV A,B LCALL ZH MOV P0,A MOV P2,#0F7H LCALL DELAY MOV A,3CH ;將暫存的數(shù)轉(zhuǎn)成字形 SWAP A MOV B,#10H DIV AB LCALL ZH MOV P0,A ;LED 顯示 1,2 位 MOV C,07H MOV P0.7,C ;是否顯示小數(shù)點 1 MOV P2,#0EFH LCALL DELAY SETB P0.7 ; 取消顯示小數(shù)點 MOV A,B LCALL ZH MOV P0,A MOV P2,#0DFH LCALL DELAY RET . . 按鍵子程序開始 CS:MOV P0,#0FFH ;秒清零 MOV P2,#10111111B JB P2.1,CS1 MOV 32H,#00H CS1:SETB P2.6 RET ------------------------------------------------------------------- ADDM1:MOV P0,#0FFH ;加一分鐘 MOV P2,#10111111B JNB P2.2,ADDM11 CLR 03H ;按鍵 2 是否有效 ADDM11:JB 03H,ADDM12 JB P2.2,ADDM12 LCALL MXIAN ;這四個為去抖動 MOV P0,#0FFH MOV P2,#10111111B JB P2.2,ADDM12 SETB 03H ;按鍵 2 是否有效 SETB 09H ;時鐘加減標致位 MOV A,31H ;分鐘 +1 CJNE A,#59H,M21 MOV 31H,#00H SJMP ADDM12 M21:ADD A,#01 DA A MOV 31H,A SJMP ADDM12 ADDM12:SETB P2.6 RET ------------------------------------------------------------------- ADDH1:MOV P0,#0FFH ;加一小時 MOV P2,#10111111B JNB P2.3,ADDH11 . . CLR 04H ;按鍵 3 是否有效 ADDH11:JB 04H,ADDH12 JB P2.3,ADDH12 LCALL MXIAN ;這四個為去抖動 MOV P0,#0FFH MOV P2,#10111111B JB P2.3,ADDH12 SETB 04H ;按鍵 3 是否有效 CLR 09H ;時鐘加減標致位 MOV A,30H ; 小時 +1 CJNE A,#23H,H31 MOV 30H,#00H SJMP ADDH12 H31:ADD A,#01 DA A MOV 30H,A ADDH12:SETB P2.6 RET ------------------------------------------------------------------- DECMH:MOV P0,#0FFH ;減一分鐘/一小時 MOV P2,#10111111B JNB P2.1,DECM11 CLR 05H ;按鍵 1 是否有效 DECM11:JB 05H,DECM12 JB P2.1,DECM12 LCALL MXIAN ;這四個為去抖動 MOV P0,#0FFH MOV P2,#10111111B JB P2.1,DECM12 SETB 05H ;按鍵 1 是否有效 JNB 09H,DECMH3 MOV A,31H ;分鐘 -1 CJNE A,#00H,DECMH4 MOV 31H,#59H SJMP DECM12 . . DECMH4:LCALL DECA MOV 31H,A SJMP DECM12 DECMH3:MOV A,30H ;小時 -1 CJNE A,#00H,DECMH5 MOV 30H,#23H SJMP DECM12 DECMH5:LCALL DECA MOV 30H,A DECM12:SETB P2.6 RET 十進制減法子程序 DECA:CJNE A,#10H,DECA1 ;運算范圍為 1~50 MOV A,#09H RET DECA1:CJNE A,#20H,DECA2 MOV A,#19H RET DECA2:CJNE A,#30H,DECA3 MOV A,#29H RET DECA3:CJNE A,#40H,DECA4 MOV A,#39H RET DECA4:CJNE A,#50H,DECA5 MOV A,#49H RET DECA5:DEC A RET 鬧鐘按鍵子程序 T1M1:MOV P0,#0FFH ;鬧鐘 1 加一分鐘 . . MOV P2,#10111111B JNB P2.2,T1M11 CLR 03H ;按鍵 2 是否有效 T1M11:JB 03H,T1M12 JB P2.2,T1M12 LCALL MXIAN ;這四個為去抖動 MOV P0,#0FFH MOV P2,#10111111B JB P2.2,T1M12 SETB 03H ;按鍵 2 是否有效 SETB 0AH ;時鐘加減標致位 MOV A,36H ;分鐘 +1 CJNE A,#59H,T1M13 MOV 36H,#00H SJMP T1M12 T1M13:ADD A,#01 DA A MOV 36H,A T1M12:SETB P2.6 RET --------------------------------------------------------- T1H1:MOV P0,#0FFH ;鬧鐘 1 加一小時 MOV P2,#10111111B JNB P2.3,T1H11 CLR 04H ;按鍵 3 是否有效 T1H11:JB 04H,T1H12 JB P2.3,T1H12 LCALL MXIAN ;這四個為去抖動 MOV P0,#0FFH MOV P2,#10111111B JB P2.3,T1H12 SETB 04H ;按鍵 3 是否有效 CLR 0AH ;時鐘加減標致位 MOV A,35H ;小時 +1 CJNE A,#23H,T1H13 . . MOV 35H,#00H SJMP T1H12 T1H13:ADD A,#01 DA A MOV 35H,A T1H12:SETB P2.6 RET --------------------------------------------------------- T2M1:MOV P0,#0FFH ;鬧鐘 2 加一分鐘 MOV P2,#10111111B JNB P2.2,T2M11 CLR 03H ;按鍵 2 是否有效 T2M11:JB 03H,T2M12 JB P2.2,T2M12 LCALL MXIAN ;這四個為去抖動 MOV P0,#0FFH MOV P2,#10111111B JB P2.2,T2M12 SETB 03H ;按鍵 2 是否有效 SETB 0BH ;時鐘加減標致位 MOV A,38H ;分鐘 +1 CJNE A,#59H,T2M13 MOV 38H,#00H SJMP T2M12 T2M13:ADD A,#01 DA A MOV 38H,A T2M12:SETB P2.6 RET --------------------------------------------------------- T2H1:MOV P0,#0FFH ;鬧鐘 2 加一小時 MOV P2,#10111111B JNB P2.3,T2H11 CLR 04H ;按鍵 3 是否有效 T2H11:JB 04H,T2H12 . . JB P2.3,T2H12 LCALL MXIAN ;這四個為去抖動 MOV P0,#0FFH MOV P2,#10111111B JB P2.3,T2H12 SETB 04H ;按鍵 3 是否有效 CLR 0BH ;時鐘加減標致位 MOV A,37H ;小時 +1 CJNE A,#23H,T2H13 MOV 37H,#00H SJMP T2H12 T2H13:ADD A,#01 DA A MOV 37H,A T2H12:SETB P2.6 RET ------------------------------鬧鐘 1------------------------------ DECT1:MOV P0,#0FFH ;減一分鐘/一小時 MOV P2,#10111111B JNB P2.1,DECT11 CLR 05H ;按鍵 1 是否有效 DECT11:JB 05H,DECT12 JB P2.1,DECT12 LCALL MXIAN ;這四個為去抖動 MOV P0,#0FFH MOV P2,#10111111B JB P2.1,DECT12 SETB 05H ;按鍵 1 是否有效 JNB 0AH,DECT13 MOV A,36H ;分鐘 -1 CJNE A,#00H,DECT14 MOV 36H,#59H SJMP DECT12 DECT14:LCALL DECA MOV 36H,A . . SJMP DECT12 DECT13:MOV A,35H ;小時 -1 CJNE A,#00H,DECT15 MOV 35H,#23H SJMP DECT12 DECT15:LCALL DECA MOV 35H,A DECT12:SETB P2.6 RET ---------------------------- 鬧鐘 2--------------------------------- DECT2:MOV P0,#0FFH ;減一分鐘/一小時 MOV P2,#10111111B JNB P2.1,DECT21 CLR 05H ;按鍵 1 是否有效 DECT21:JB 05H,DECT22 JB P2.1,DECT22 LCALL MXIAN ;這四個為去抖動 MOV P0,#0FFH MOV P2,#10111111B JB P2.1,DECT22 SETB 05H ;按鍵 1 是否有效 JNB 0BH,DECT23 MOV A,38H ;分鐘 -1 CJNE A,#00H,DECT24 MOV 38H,#59H SJMP DECT22 DECT24:LCALL DECA MOV 38H,A SJMP DECT22 DECT23:MOV A,37H ;小時 -1 CJNE A,#00H,DECT25 MOV 37H,#23H . . SJMP DECT22 DECT25:LCALL DECA MOV 37H,A DECT22:SETB P2.6 RET ------------------------鬧鐘開關(guān)------------------------- T1T2:MOV P0,#0FFH ;鬧鐘開關(guān) MOV P2,#10111111B JNB P2.2,T1T21 CLR 05H ;按鍵 2 是否有效 T1T21:JB 05H,T1T22 JB P2.2,T1T22 SETB 05H ;按鍵 2 是否有效 CPL 06H ;鬧鐘開關(guān) JB 06H,T1T23 MOV R1,#2 MOV 3CH,#0CH ;將暫存的數(shù)轉(zhuǎn)成字形 顯示"0N" MOV 3DH,#0AAH ;將暫存的數(shù)轉(zhuǎn)成字形 顯示" " MOV 3EH,#0AAH ;將暫存的數(shù)轉(zhuǎn)成字形 顯示" " SETB 07H ;不顯示小數(shù)點 1 SETB 08H ;不顯示小數(shù)點 2 T1DAT3:MOV R7,#100 T1DAT2:LCALL MXIAN DJNZ R7,T1DAT2 DJNZ R1,T1DAT3 SJMP T1T22 T1T23:MOV R1,#2 MOV 3CH,#0FH ;將暫存的數(shù)轉(zhuǎn)成字形 顯示"OF" MOV 3DH,#0FAH ;將暫存的數(shù)轉(zhuǎn)成字形 顯示"F " MOV 3EH,#0AAH ;將暫存的數(shù)轉(zhuǎn)成字形 顯示" " SETB 07H ;不顯示小數(shù)點 1 SETB 08H ;不顯示小數(shù)點 2 T2DAT3:MOV R7,#100 T2DAT2:LCALL MXIAN DJNZ R7,T2DAT2 . . DJNZ R1,T2DAT3 T1T22:SETB P2.6 RET 顯示年月日按鍵子程序 DAT:MOV P0,#0FFH MOV P2,#10111111B JB P2.3,DAT1 MOV R1,#5 MOV 3CH,39H ;將暫存的數(shù)轉(zhuǎn)成字形 顯示 39H MOV 3DH,3AH ;將暫存的數(shù)轉(zhuǎn)成字形 顯示 3AH MOV 3EH,3BH ;將暫存的數(shù)轉(zhuǎn)成字形 顯示 3BH CLR 07H ;顯示小數(shù)點 1 CLR 08H ;顯示小數(shù)點 2 DAT3:MOV R7,#100 DAT2:LCALL MXIAN DJNZ R7,DAT2 DJNZ R1,DAT3 DAT1:SETB P2.6 RET --------------------------------------------------------- DATEN:MOV P0,#0FFH ;年份加 1 MOV P2,#10111111B JNB P2.3,DATEN1 CLR 04H ;按鍵 3 是否有效 DATEN1:JB 04H,DATEN2 JB P2.3,DATEN2 LCALL MXIAN ;這四個為去抖動 MOV P0,#0FFH MOV P2,#10111111B JB P2.3,DATEN2 SETB 04H ;按鍵 3 是否有效 ADDN:MOV A,39H ;年份 +1 CJNE A,#50H,DATEN3 MOV 39H,#01H . . SJMP DATEN2 DATEN3:ADD A,#01 DA A MOV 39H,A DATEN2:SETB P2.6 RET --------------------------------------------------------- DATEM:MOV P0,#0FFH ;月份加 1 MOV P2,#10111111B JNB P2.2,DATEM1 CLR 03H ;按鍵 2 是否有效 DATEM1:JB 03H,DATEM2 JB P2.2,DATEM2 LCALL MXIAN ;這四個為去抖動 MOV P0,#0FFH MOV P2,#10111111B JB P2.2,DATEM2 SETB 03H ;按鍵 3 是否有效 ADDM:MOV A,3AH ;月份 +1 CJNE A,#12H,DATEM3 MOV 3AH,#01H LCALL ADDN ;年份+1 SJMP DATEM2 DATEM3:ADD A,#01 DA A MOV 3AH,A DATEM2:SETB P2.6 RET ------------------------ 1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
25 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 課程設(shè)計 寵物 自動 喂食 設(shè)計
鏈接地址:http://appdesigncorp.com/p-12939077.html