|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
大家?guī)涂聪逻@個(gè)時(shí)鐘顯示程序問題出在哪里 |
| 作者:反孔精英 欄目:單片機(jī) |
最近看到網(wǎng)上一個(gè)電子鐘的電路,自己做了一下,發(fā)現(xiàn)一個(gè)問題。顯示部分如下ORG 0000H AJMP MAIN ORG 000BH AJMP TIME ORG 0300H MAIN:mov 20h,#00h MOV 21H,#00H MOV 22H,#00H MOV 23H,#00H MOV IP,#02H ;IP,IE初始化 MOV IE,#82H MOV TMOD,#01H ;設(shè)定定時(shí)器工作方式? MOV TL0,#0B0H MOV TH0,#3CH SETB TR0 ;啟動定時(shí)? MOV SP,#40H ;重設(shè)堆棧指針 NEXT: LCALL DISP ;調(diào)用顯示子程序? SJMP NEXT ;重新循環(huán) NOP NOP NOP ;定時(shí)中斷處理程序: TIME: PUSH ACC ;保護(hù)現(xiàn)場 PUSH PSW MOV TL0,#0B4H ;賦定時(shí)初值 MOV TH0,#3CH INC 20H ; MOV A,20H CJNE A,#20,RETI1 MOV 20H,#00H ;一秒鐘時(shí)間到 MOV A,21H ADD A,#01H DA A MOV 21H,A CJNE A,#60H,RETI1 MOV 21H,#00H ;一分鐘時(shí)間到 MOV A,22H ADD A,#01H DA A MOV 22H,A CJNE A,#60H,RETI1 MOV 22H,#00H ;一小時(shí)時(shí)間到 MOV A,23H ADD A,#01H DA A MOV 23H,A CJNE A,#24H,RETI1 MOV 23H,#00H ;到時(shí)間達(dá)到24小時(shí),清零. RETI1: POP PSW ;恢復(fù)現(xiàn)場 POP ACC RETI ;中斷返回? NOP NOP ;顯示子程序 DISP: ANL 2FH,#10H ;處理小數(shù)點(diǎn) MOV A,21H ;處理秒21H-->2EH,2FH ANL A,#0FH ORL A,2FH MOV 2FH,A MOV A,21H ANL A,#0F0H SWAP A MOV 2EH,A ANL 2DH,#10H MOV A,22H ;處理分鐘22H-->2CH,2DH ANL A,#0FH ORL A,2DH MOV 2DH,A MOV A,22H ANL A,#0F0H SWAP A MOV 2CH,A ANL 2BH,#10H MOV A,23H ;處理小時(shí)23H-->2AH,2BH ANL A,#0FH ORL A,2BH MOV 2BH,A MOV A,23H ANL A,#0F0H SWAP A MOV 2AH,A MOV R0,#2FH ;顯示偏移量 MOV R3,#06H MOV DPTR,#TABLE MOV A,#0feH LOOP1: MOV B,A ; MOV P2,a MOV A,@R0 MOVC A,@A+DPTR MOV P0,a ;送顯示 MOV R2,#80H ;延時(shí) DJNZ R2,$ DEC R0 MOV A,B RL A DJNZ R3,LOOP1 ;循環(huán)顯示 RET TABLE: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h ;不帶小數(shù)點(diǎn) DB 0f8h,80h,90h,00,00,00,00,00,00 DB 40H,79H,24H,30H,19H,12H,02H,78H ;帶小數(shù)點(diǎn) DB 00H,10H,00,00,00,00,00,00 NOP NOP END |
| 2樓: | >>參與討論 |
| 作者: 反孔精英 于 2006/5/4 20:40:00 發(fā)布:
問題如下 但是根據(jù)disp子程序,應(yīng)該在秒,分,小時(shí)那里不會顯示小數(shù)點(diǎn)才對(顯示分為秒,十秒,分,十分,小時(shí),十小時(shí))但實(shí)際上在小時(shí),分那里小數(shù)點(diǎn)亮,秒的小數(shù)點(diǎn)不亮,請問下原因,還有就是已經(jīng)確定不是電路問題或數(shù)碼管的問題。原程序在這里 http://www.51c51.com/test/test/clockok.htm 還有一個(gè)就是在開機(jī)的時(shí)候ram的低128字節(jié)的內(nèi)容是0還是1? |
|
| 3樓: | >>參與討論 |
| 作者: 反孔精英 于 2006/5/6 8:16:00 發(fā)布:
頂一下,沒人幫忙? |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |