99爱爱,专区,国产激情毛片,国产成人,中文无码A片久久同性,最近中文字幕高清字幕免费mv,国产精品黄页免费高清在线观看

問答

尋求帶串行時(shí)鐘芯片DS1302的學(xué)校自動(dòng)打鈴系統(tǒng)軟件程序

提問者:angelandlo2014-01-01 00:00

我的畢業(yè)設(shè)計(jì)題目,不懂編程,懇請(qǐng)幫忙

最佳答案

READ EQU 0 ;讀93C46 WRITE EQU 2 ;寫入93C46 EWEN EQU 4 ;93C46寫入使能 EWDS EQU 6 ;93C46寫入禁止 ADR46 EQU 21H ;93C46地址 顯示 顯示 啟動(dòng)定時(shí)器進(jìn)入工作狀態(tài) 時(shí)分值送顯示緩存區(qū) K1 有按鍵嗎? 清分單元 顯示 分值加1 置校分標(biāo)志 K3 有按鍵嗎? K1 有按鍵嗎? 是60 分嗎? THIGH EQU 0F8H TLOW EQU 5FH TIMENEQU 30 ;打鈴持續(xù)時(shí)間(30秒) CS BIT P3.7 ;93C46CS CLK BIT P3.6 ;93C46CLK DI BIT P3.5 ;93C46DI DO BIT P3.4 ;93C46DO ORG 0000H ;主程序起始地址 AJMP START ;跳至主程序 ORG 000BH ;TIMER0中斷起始地址 AJMP TIM0 ;跳至TIMER0中斷子程序 START:MOV SP,#60H ;設(shè)置堆棧在60H MOV 28H,#00 ;顯示寄存器初值為00 MOV R6,#12H ; “時(shí)”寄存器值為12H MOV R5,#00H ;;“分”寄存器值為00H MOV R4,#00H ;“秒”寄存器值為00H MOV TMOD,#01H ;設(shè)TIMER0為MODE1 MOV TH0,#THIGH ;計(jì)時(shí)中斷為4000微秒 MOV TL0,#TLOW MOV IE,#82 ;TIMER中斷使能 MOV R2,#250 ;中斷250次 SETB TR0 ;啟動(dòng)TIMER0 2.鍵值處理程序: LOOP: SETB P0.5 ;工作模式 CLR P0.6 CLR P0.7 JB P0.0,N1 ;K1(模式選擇鍵)按了?不是則跳至N1 ACALL DELAY ;消除抖動(dòng) JNB P0.0,$ ;K1(模式選擇鍵)放開了? ACALL DELAY ;消除抖動(dòng) AJMP SET ;轉(zhuǎn)到定時(shí)模式SET N1: MOV 2FH,R6 ;將時(shí)鐘數(shù)據(jù)載入2FH中 MOV 2EH,R5 ;將分鐘數(shù)據(jù)載入2EH中 MOV ADR46,#00 ;把93C46地址置0 SETB RS0 ;將工作寄存器組選擇1區(qū) LOOP1: MOV A,#READ ;讀93C46 ACALL TO93c46 MOV A,R3 ;取出定時(shí)器的狀態(tài) ANL A,#01H CJNE A,#01H,N2 ;定時(shí)器為關(guān)閉,則跳轉(zhuǎn)至N2 MOV A,R4 ;取出定時(shí)器分鐘數(shù)據(jù) CJNE A,2FH,N2 ;定時(shí)器分鐘數(shù)據(jù)與時(shí)鐘分鐘不同則轉(zhuǎn)至N2 MOV A,R5 ;取出定時(shí)器時(shí)鐘數(shù)據(jù) CJNE A,2EH,N2 ;定時(shí)器時(shí)鐘數(shù)據(jù)與時(shí)鐘時(shí)鐘不同則轉(zhuǎn)至N2 SETB P2.1 ;定時(shí)器時(shí)間到,打鈴 MOV A,ADR46 ;將93C46地址載入A中 N2: CJNE A,#1EH,N3 ;到定時(shí)器數(shù)據(jù)表表尾?沒到轉(zhuǎn)至N3 MOV ADR46,#00 ;到表尾,置93C46地址為表頭 AJMP LOOP1 ;轉(zhuǎn)至LOOP1 N3: INC ADR46 ;93C46地址加2 INC ADR46 AJMP LOOP1 ;轉(zhuǎn)至LOOP1 SET: CLR P0.5 ;校時(shí)模式 SETB p0.6 CLR P0.7 LOOPS: JB P0.0,N11 ;K1(模式選擇鍵)按了?不是則跳至N11 ACALL DELAY ;消除抖動(dòng) JNBP0.0,$ ;K1(模式選擇鍵)放開了? ACALL DELAY ;消除抖動(dòng) AJMP SETTIME ;轉(zhuǎn)至SETTIME N11: JB P0.1,N13 ;K2(時(shí)鐘加1鍵)按了?不是則跳至N13 ACALL DELAY ;消除抖動(dòng) MOV A,R6 ;將時(shí)寄存器的值載入A ADD A,#01H ;A內(nèi)容加1 DA A ;做十進(jìn)制調(diào)整 MOV R6,A ;將A的值存入時(shí)寄存器 CJNE A,#24H,N12 ;是否超過24時(shí)?不是則跳至N12 MOV R6,#00H ;是則清除時(shí)寄存器的值為00 N12: JNB P0.1,$ ;K2(時(shí)鐘加1鍵)放開了? ACALL DELAY ;消除抖動(dòng) N13: JB P0.2,N15 ;K3(分鐘加1鍵)按了?不是則跳至N15 ACALL DELAY ;消除抖動(dòng) MOV A,R5 ;將分寄存器的值載入A ADD A,#01 ;A內(nèi)容加1 DA A ;做十進(jìn)制調(diào)整 MOV R5,A ;將A的值存入分寄存器 CJNE A,#60H,N14 ;是否超過60分?不是則跳至N14 MOV R5,#00H ;是則清除分寄存器的值為00 N14: JNB P0.2,$ ;K3(分鐘加1鍵)放開了? ACALL DELAY ;消除抖動(dòng) N15: JB P0.3,N17 ;K4(秒鐘加1鍵)按了?不是則跳至N17 ACALL DELAY ;消除抖動(dòng) MOV A,R4 ;將秒寄存器的值載入A ADD A,#01 ;A內(nèi)容加1 DA A ;做十進(jìn)制調(diào)整 MOV R4,A ;將A的值存入秒寄存器 CJNE A,#60H,N16 ;是否超過60秒?不是則跳至N16 MOV R4,#00 ;是則清除分寄存器的值為00 N16: JNB P0.3,$ ;K4(秒鐘加1鍵)放開了? ACALL DELAY ;消除抖動(dòng) N17: AJMP LOOPS ;轉(zhuǎn)至LOOPS SETTIME:CLR P0.5 ;定時(shí)模式 CLR P0.6 SETB P0.7 MOV ADR46,#00H MOV A,#READ ;讀93C46地址為ADR46中的數(shù)據(jù) ACALL TO9346 LOOPB:ACALL DISP ;調(diào)用DISP JB P0.0,N21 ;K1(模式選擇鍵)按了?不是則跳至N21 ACALL DELAY ;消除抖動(dòng) JNB P0.0,$ ;K1(模式選擇鍵)放開了? ACALL DELAY ;消除抖動(dòng) AJMP LOOP ;轉(zhuǎn)至LOOP N21: JB P0.1,N22 ;K2(定時(shí)器組加1鍵)按了?不是則跳至N22 ACALL DELAY ;消除抖動(dòng) MOV A,ADR46 ;將地址載入A CLR C ;清除進(jìn)位位 RRC A ;A右移1位 ADD A,#01H ;地址加1 MOV R6,A ;將A存入R6 CLR C ;清除進(jìn)位位 RLC A ;A左移1位 MOV ADR46,A ;將A中地址存入ADR46 MOV A,#READ ;讀93C46地址為ADR46中的數(shù)據(jù) ACALL TO9346 JNB P0.1,$ ;K2(定時(shí)器組加1鍵)放開了? ACALLDELAY ;消除抖動(dòng) N22: JB P0.2,N24 ;K3(定時(shí)器分鐘加1鍵)按了?不是則跳至N24 ACALLDELAY ;消除抖動(dòng) MOV A,R4 ;將定時(shí)器分寄存器的值載入A ADD A,#01 ;A內(nèi)容加1 DA A ;做十進(jìn)制調(diào)整 MOV R4,A ;將A的值存入定時(shí)器分寄存器 CJNE A,#60H,N23 ;是否超過60分?不是則跳至N16 MOV R4,#00H ;是則清除分寄存器的值為00 N23: JNB P0.2,$ ;K3(定時(shí)器分鐘加1鍵)放開了? ACALL DELAY ;消除抖動(dòng) N24: JB P0.3,N26 ;K4(定時(shí)器時(shí)鐘加1鍵)按了?不是則跳至N26 ACALL DELAY ;消除抖動(dòng) MOV A,R5 ;將定時(shí)器時(shí)寄存器的值載入A ADD A,#01H ;A內(nèi)容加1 DA A ;MOV R5,A ;將A的值存入定時(shí)器時(shí)寄存器 CJNE A,#24H,N25 ;是否超過24時(shí)?不是則跳至N25 MOV R5,#00 ;是則清除分寄存器的值為00 N25:JNB P0.3,$ ;K4(定時(shí)器時(shí)鐘加1鍵)放開了? ACALL DELAY ;消除抖動(dòng) N26:JB P0.4,N27 ;K5(改變定時(shí)器狀態(tài)存儲(chǔ)鍵)按了?不是則跳至N27 ACALL DELAY ;消除抖動(dòng) INC R3 ;改變R3最低位的值(表示定時(shí)器的狀態(tài),1表示開,0 表示關(guān)) MOV A,#WRITE ;將A的值寫入93C46地址為ADR46中 ACALL TO9346 JNB P0.4,$ ;K5(改變定時(shí)器狀態(tài)存儲(chǔ)鍵)放開了? ACALL DELAY ;消除抖動(dòng) N27:AJMP LOOPB ;轉(zhuǎn)至LOOPB做十進(jìn)制調(diào)整 3.中斷程序: TIM0:MOV TH0,#THIGH ;重設(shè)計(jì)時(shí)4000微秒 MOV TL0,#TLOW PUSH ACC ;將A的值存入堆棧 PUSH PSW ;將PSW的值存入堆棧 CLR RS0 ;設(shè)置工作寄存器為0區(qū) DJNZ R2,X2 ;計(jì)時(shí)1秒 MOV R2,#250 ACALL CLOCK ;調(diào)用計(jì)時(shí)子程序CLOCK ACALL DISP ;調(diào)用顯示子程序 X2:ACALL SCAN ;調(diào)用掃描子程序 POP PSW POP ACC RETI 顯示器驅(qū)動(dòng)程序: SCAN:MOV R0,#28H ;(28H)為掃描指針 INC @R0 ;掃描指針加1 CJNE @R0,#6,X3 ;掃描完6個(gè)顯示器?不是跳至X3 MOV @R0,#00 ;是則掃描指針為0 X3:MOV A,@R0 ;掃描指針載入A ADD A,#20 ;A加常數(shù)20H(顯示寄存器地址)=各時(shí)間顯示區(qū)地址 ;存入R1=各時(shí)間顯示地址 MOV R1,A ;掃描指針存入A MOV A,@R0 ;將A高低4位交換(P1高4位為掃描值, SWAP A ;低4位為顯示數(shù)據(jù)值) ORL A,@R1 ;掃描值+顯示值 MOV R1,A ;輸出至P1 RET 計(jì)時(shí)程序: CLOCK:MOV A,R4 ;R4為秒寄存器 ADD A,#01 ;加1 DA A ;做十進(jìn)制調(diào)整 MOV R4,A ;存入秒寄存器 CJNE A,#TIMEN,X4 ;是否超過打零連續(xù)時(shí)間?不是則跳至X4 CLR P2.0 ;關(guān)鈴 X4:CJNE A,#60H,X5 ;是否超過60秒?不是則跳至X5 MOV R4,#00 ;是則清除為0 MOV A,R5 ;R5為分寄存器 ADD A,#01 ;加1 DA A ;做十進(jìn)制調(diào)整 MOV R5,A ;存入分寄存器 CJNE A,#60H,X5 ;是否超過60分?不是則跳至X5 MOV R5,#00 ;是則清除為0 MOV A,R6 ;R6為時(shí)寄存器 ADD A,#01 ;加1 DA A ;做十進(jìn)制調(diào)整 MOV R6,A ;存入時(shí)寄存器 CJNEA,#60H,X5 ;是否超過24時(shí)?不是則跳至X5 MOV R6,#00 ;是則清除為0 X5:RET 5.顯示程序: DISP:MOVR1,#20 ;(20H)為顯示寄存器,R1=20H MOV A,R6 ;將時(shí)寄存器的內(nèi)容存入A MOV B,#01H ;設(shè)B累加器的值為10H DIV AB ;A/B,商(十位數(shù))存入A,余數(shù)(個(gè)位數(shù))存入B MOV @R1,B ;將B的內(nèi)容存入(20H) INC R1 ;R1=21H MOV @R1,A ;將A的內(nèi)容存入(21H) INC R1 ;R1=22H MOV A,R5 ;將分寄存器的內(nèi)容存入A MOV B,#01H ;設(shè)B累加器的值為10H DIV AB ;A/B,商(十位數(shù))存入A,余數(shù)(個(gè)位數(shù))存入B MOV @R1,B ;將B的內(nèi)容存入(22H) INC R1 ;R1=23H MOV @R1,A ;將A的內(nèi)容存入(23H) INC R1 ;R1=24H MOV A,R4 ;將秒寄存器的內(nèi)容存入A MOV B,#01H ;設(shè)B累加器的值為10H DIV AB ;A/B,商(十位數(shù))存入A,余數(shù)(個(gè)位數(shù))存入B MOV @R1,B ;將B的內(nèi)容存入(24H) INC R1 ;R1=25H MOV @R1,A ;將A的內(nèi)容存入(25H) RET END

回答者:q8349230242016-01-01 00:00

DS 6相關(guān)問題

  • 求怪獸傳說ds攻略

    打開地圖,向所標(biāo)示的地點(diǎn)進(jìn)發(fā)即可。 boss攻略: No.1(雙頭龍) 第一個(gè)boss主角的攻擊對(duì)其是無效的,只有怪獸的攻擊對(duì)其有效首先關(guān)心boss的弱點(diǎn)頭部(會(huì)換位置)在哪里其次只要在角落,等待其攻擊瞬間跳躍至畫

    提問者:pqjmhydk2013-03-17

  • ds6高速剎車方向盤抖動(dòng)

    檢插剎車盤58車

    提問者:sophiachou232015-10-01

  • 單晶爐拉晶過程中 液面抖動(dòng)是什么原因 怎么解決

    我拉過2年的京儀爐子,等徑過程中液面晃主要還是熱場(chǎng)有問題,1。一般是石英鍋與導(dǎo)流筒有擦邊2.三瓣鍋使用時(shí)間長,與石英鍋接觸不好3.還有托干螺絲要上好,檢測(cè)是不是轉(zhuǎn)動(dòng)時(shí)在一個(gè)中心點(diǎn)。4.檢查爐內(nèi)水平5.還有每次裝熱場(chǎng)裝石英

    提問者:Miko____戇2013-09-07

  • 剛買半年的DS6在高速上行使時(shí)突然向前抖動(dòng),儀表盤顯示發(fā)動(dòng)機(jī)故障

    看來要大修,你這估計(jì)是個(gè)二手貨

    提問者:2015-10-06

  • DS1302 時(shí)間存儲(chǔ)問題

    是用51自身做計(jì)時(shí)嗎?? 用中斷計(jì)時(shí)會(huì)好一些吧 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;系統(tǒng)名稱: 數(shù)字鐘 ;創(chuàng)健人:濟(jì)南, 日期:2005.6.19

    提問者:dik4243702013-07-02

  • 求助單片機(jī)DS1302的問題啊!!!

    用手摸晶振,由于你的手帶靜電,肯定會(huì)影響的. 試試把兩個(gè)負(fù)載電容換為 6pF,可能會(huì)好點(diǎn). 把電源開關(guān)略微按一下, 就那么一下, 可能有 幾十個(gè) ms,當(dāng)然人類是感覺不到的了, 如果你的板上電容,電感等儲(chǔ)能器件不多

    提問者:nviljj2013-10-04

相關(guān)閱讀

DS 6頻道

報(bào)價(jià):19.39-30.19
級(jí)別:SUV
排量:1.6T 1.8T 
變速箱:-

車友關(guān)注

最新標(biāo)簽

按字母分類:
ABCDEFGHIJKLMNOPQRSTWXYZ0-9