freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機(jī)作息時(shí)間控制器課程設(shè)計(jì)-文庫(kù)吧

2025-06-11 12:57 本頁(yè)面


【正文】 00HF0H報(bào)時(shí)開(kāi)始標(biāo)志位F0H0F1H放音開(kāi)始標(biāo)志位F1H0F3H分鐘值變更標(biāo)志位F3H0F4H鍵處理標(biāo)志位F4H025H擴(kuò)音機(jī)預(yù)熱時(shí)間25H00H26H播放報(bào)時(shí)音樂(lè)時(shí)間26H00H(2)軟件流程。根據(jù)上述工作流程,軟件設(shè)計(jì)可分為以下幾個(gè)功能模塊:1) 主程序:初始化與鍵盤(pán)監(jiān)控。開(kāi)始I/O端口初始化設(shè)置棧指針軟件陷阱處理RAM區(qū)清零定時(shí)器、中斷初始化報(bào)時(shí)處理子程序調(diào)用鍵掃描子程序鍵掃描處理子程序調(diào)用顯示子程序如有鍵則進(jìn)行鍵處理判斷是否有F3標(biāo)志返回主程序入口2) 計(jì)時(shí):為定時(shí)器0中斷服務(wù)子程序,完成刷新計(jì)時(shí)緩沖區(qū)的功能。3) 時(shí)間設(shè)置與報(bào)時(shí)設(shè)置:由鍵盤(pán)輸入設(shè)置當(dāng)前時(shí)間與定時(shí)啟閉時(shí)間。4) 顯示:完成5位LED動(dòng)態(tài)顯示。5) 鍵盤(pán)掃描:判斷是否有鍵按下,并求取鍵號(hào)。6) 定時(shí)比較:判斷報(bào)時(shí)時(shí)間到否,如時(shí)間到,則啟動(dòng)報(bào)時(shí)處理程序。7) 其他輔助功能程序,如鍵盤(pán)設(shè)置、拆字、合字、冬季或夏季時(shí)間表選擇及假日停止報(bào)時(shí)等。第4章 程序模塊設(shè)計(jì)程序的模塊設(shè)計(jì)非常重要,有很多功能的程序,列表如表2表2 :主程序程序的主體,調(diào)用其他子程序定時(shí)中斷服務(wù)程序進(jìn)行秒,分,時(shí)的累計(jì)計(jì)數(shù),到時(shí)間到時(shí),驅(qū)動(dòng)蜂鳴器及繼電器顯示模塊P0口作為段碼,P2口作為位碼輸出,控制數(shù)碼管。鍵掃描子程序檢測(cè)P1口,判斷是否有鍵按下,如有鍵按下,進(jìn)進(jìn)行延時(shí)去抖動(dòng)并讀取鍵值,存入A中鍵值處理子程序判斷A中的值,根據(jù)A來(lái)選擇調(diào)用哪個(gè)子程序 主程序模塊(MAIN)在主程序模塊中,先對(duì)各端口進(jìn)行初始化,對(duì)內(nèi)部RAM區(qū)清零,設(shè)置堆棧和定時(shí)器初值,關(guān)閉顯示器,啟動(dòng)定時(shí)及其中斷。然后檢測(cè)時(shí)鐘分值變更標(biāo)志位F3是否建立,如果已建立,則進(jìn)行報(bào)時(shí)處理,否則再檢測(cè)有無(wú)按鍵按下,若有則進(jìn)行按鍵處理,無(wú)則返回循環(huán)點(diǎn)。 ORG 0000H START: AJMP MAIN 。跳轉(zhuǎn)入主程序0030H ORG 000BH AJMP CTCINT 。跳轉(zhuǎn)到定時(shí)器T0的中斷服務(wù)程序入口 ORG 0030HMAIN: NOP 。主程序入口地址:0030H NOP NOP MOV A,OFFH 。關(guān)閉各輸出口MOV P0,A 。P0口為字形口,低電平有效MOV P1,A 。P1口作為6個(gè)鍵輸入口MOV P2,A 。P2口是字位口,低電平有效MOV P3,A 。P3口報(bào)時(shí)方式控制和驅(qū)動(dòng)輸出口SETB T0 。關(guān)閉報(bào)時(shí)音樂(lè)輸出(T0=1)SETB T1 。關(guān)閉報(bào)時(shí)擴(kuò)音機(jī)電源(T1=1)CJNE SP,07H,NOT1 MOV R0,7FHMOV R1,7DH 。否則RAM清零初始化CLR ALOOP0: MOV @R0,A DEC R0DJNZ R1, LOOP0 。從內(nèi)部RAM區(qū)03H到7FH均清零NOT1: MOV SP,60H 。設(shè)置棧指針MOV IP,02H 。設(shè)置定時(shí)器T0為最高中斷優(yōu)先級(jí)MOV IE,82H。定時(shí)器T0開(kāi)中斷MOV TMOD,01H。設(shè)置定時(shí)器T0為方式1MOV TL0,0B0H。設(shè)置定時(shí)器T0初值MOV TH0,3CHSETB TR0。啟動(dòng)定時(shí)NOPNEXTT: NOP MOV SP,60H 。重置堆棧底位置LCALL DISP ;調(diào)用顯示子程序NOP 。檢測(cè)標(biāo)志是否出現(xiàn),F3為定時(shí)分鐘值變化的標(biāo)志位JNB 0F3H,NEXT1 。F3=0,則轉(zhuǎn)鍵掃描,判斷有無(wú)鍵按下NOP 。F3=1,調(diào)用報(bào)時(shí)處理子程序SETB INT0JNB INT0 , USERS。如INTO=0,則調(diào)用用戶自設(shè)定報(bào)時(shí)點(diǎn)LCALL TIMERA。INTO=1,調(diào)用TIMERA,按作息時(shí)間表報(bào)時(shí)USERS: NOPLCALL TIMERB。TIMERB為用戶自設(shè)定報(bào)時(shí)點(diǎn)報(bào)時(shí)NOPNEXT1:LCALL CHECKEY。調(diào)用按鍵掃描子程序,判斷有無(wú)鍵按下JZ NEXTT。無(wú)鍵按下,返回重新掃描NOPLCALL KEYACC。有鍵按下,調(diào)用按鍵處理子程序NOPSJMP NEXTTNOPNOP:①對(duì)100毫秒(20H)、秒(21H)、分(22H)、小時(shí)(23H)進(jìn)行累計(jì)計(jì)數(shù),如果分值有計(jì)數(shù)變化并且無(wú)鍵按下,則將小時(shí)和分鐘送顯示緩沖區(qū)更新顯示目錄;②如有報(bào)是處理標(biāo)志,則對(duì)報(bào)時(shí)擴(kuò)音機(jī)電源和報(bào)時(shí)音樂(lè)輸出分別進(jìn)行定時(shí)控制。CTCINT:NOP。T0的中斷服務(wù)子程序MOV TL0,0B4H。設(shè)置定時(shí)器T0初值MOV TH0,3CHPUSH ACC。保護(hù)主程序現(xiàn)場(chǎng)數(shù)據(jù)PUSH PSWNOPSETB RS0。選擇新的工作寄存器區(qū)(1區(qū))CLR RS1。SELECT 1 AREAINC 20H。MOV A,20HJB OF4H,LCA。(F4H)為鍵處理標(biāo)志位,在鍵處理過(guò)程中不顯示秒點(diǎn)CJNE A,05H,CTNUCCTNUC: JC LC2。,CLR 6CHSJMP LCALC2: SETB 6CHLCA: CJNE A,0EH,RTNH。未計(jì)滿1S則退出中斷MOV 20H,00H。毫秒計(jì)數(shù)單元清零JNB 0F0H,NEXTE。F0H=1為報(bào)時(shí)擴(kuò)音機(jī)預(yù)熱延時(shí)標(biāo)志位MOV A,25H。(25H)中存放報(bào)時(shí)擴(kuò)音機(jī)預(yù)熱延時(shí)時(shí)間值JNZ NEXTFCLR OFOHCLR OFOHSETB OF1HMOV 26H,1OH 。(26H)中存放報(bào)時(shí)放音的延時(shí)時(shí)間值CLR TONEXTE: JNB OF1H,NEXTF 。(F1H=1)為報(bào)時(shí)放音的延時(shí)標(biāo)志位MOV A,26HDEC AMOV 26H,AJNZ NEXTF 。判斷報(bào)時(shí)放音延時(shí)是否結(jié)束CLR OF1H 。延時(shí)時(shí)間到,清除報(bào)時(shí)放音標(biāo)志位,關(guān)閉報(bào)時(shí)電源SETB T1SETB T2SETB TOSETB TONOPNEXTF: NOPMOV A,21H 。對(duì)秒計(jì)數(shù)單元(21H)進(jìn)行累計(jì)計(jì)數(shù)ADD A,01HDA AMOV 21H,ACJNE A,06H,RTNH 。判斷分計(jì)數(shù)是否計(jì)滿CLR AMOV 21H,ASETB 0F3H 。(F3H)為分值有變更標(biāo)志位NEXT: MOV A,22H 。對(duì)分(22H)進(jìn)行累計(jì)計(jì)數(shù)ADD A,01H;DA AMOV 22H,ACJNE A,60H,RTDNMOV 22H,00HMOV A,23HADD A,01H 。時(shí)單元加1DA AMOV 23H,A 。對(duì)時(shí)(23H)進(jìn)行累計(jì)計(jì)數(shù)CJNE A,24H,TRNDMOV 23H,00HMOV A,24HADD A,01H 。星期計(jì)數(shù)單元(24H)加1DA AMOV 24H,ACJNE A,07H,RTDNMOV 24H,00HRTDN: NOPJNB OF3H,RTDH 。確認(rèn)(F3=0)分值無(wú)變更,則返回JB OF4H,RTNH 。確認(rèn)(F4=0)正在鍵處理,則返回LDDA: NOP 。將當(dāng)前的時(shí)間值顯示緩沖區(qū)NOPMOV R0,24H 。(24H、23H、22H、)送(2FH~2BH)MOV R1,2FHMOV R2,02H MOV A,@R0 ANL A,0FHMOV @R1,ADEC R0DEC R1LD1: MOV A,@R0 。將1字節(jié)壓縮的BCD碼拆成兩個(gè)字節(jié),數(shù)數(shù)值存放在低字節(jié)內(nèi)ANL A,OF0HSWAP AMOV @R1,ADEC R1MOV A,@R0ANL A,0FHMOV @R1,ADEC R0DEC R1DJNZ R2,LD1NOPRTNH:NOP 。中斷返回,并恢復(fù)現(xiàn)場(chǎng)數(shù)據(jù)NOPPOP PSWPOP ACCRETI 該模塊為5位LED掃描顯示模塊。P0口為字形碼輸出口,低電平有效;P2口為字位碼輸出口,高電平有。顯示緩沖區(qū)為2FH~2BH等5個(gè)字節(jié),2FH存放顯示的星期數(shù),2EH、2DH存放顯示的小時(shí)數(shù),2CH、2BH存放顯示的分鐘數(shù),其數(shù)值范圍在00H~0FH內(nèi)時(shí)不顯示該位的小數(shù)點(diǎn),在10H~1FH時(shí)則顯示小數(shù)點(diǎn)。DISP:NOP 。DISP為顯示子程序NOP MOV A,00H 。關(guān)閉顯示MOV P2,A 。P2口為字位碼輸出口 MOV A,0FFH MOV P0,A 。P0口為字形碼輸出口NOPNOPMOV R0,2FH 。顯示子程序NOP MOV R1,10H 。位控制字LOOP1: MOV A,R1
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1