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