看板 ASM 關於我們 聯絡資訊
ORG 8000H LJMP MAIN ORG 800BH LJMP T0ISR ORG 8030H MAIN: MOV P1, #55H MOV TMOD, #01H MOV TH0, #00H MOV TL0, #00H MOV IE, #82H SETB TR0 SJMP $ T0ISR: XRL P1, #0FFH CLR TR0 MOV TH0, #00H MOV TL0, #00H CLR TF0 SETB TR0 RETI END ※ 引述《cory8249 (Cory)》之銘言: : 大家好: : 我目前卡在一個看起來非常簡單的問題 : 已經 debug 好幾天 依然未解 快瘋了 Orz : 硬體環境是 AT89S51 + 32KB SRAM + RS232 : 89S51 已燒錄 MON51 V12 監控程式 從 SRAM 去跑程式 : 程式 ORG 8000H Timer 0 中斷點應為 800BH : Timer 0 mode 1 控制 LED 閃爍 : 1. 非中斷方式 確認OK : http://pastie.org/8582692 : 2. ISR 中斷方式 有渺茫機率會成功 : http://pastie.org/8582991 : HEX 檔: http://pastie.org/8582993 : 以參考眾多網站範例與書本講義 : 換了很多種打法 : 但是就是不會 Work : 某幾次成功 但再過幾分鐘再燒一次 就又失敗了 : 而且伴隨另一顆 8255 的 LED 閃爍 : 很懷疑是電路接錯 : 但是... 我燒過其他非中斷的程式都很正常 : 請各位高手們幫忙看看 : 願意提供 5000P 小小的心意 感激不盡 !! -- 劍兮,劍兮,食無魚,行無車,無以家養,不如歸去不如歸去~~ ▁▁ -= A23203 =- ▕武羅▏ BM4GRM Harlock WolfLord ▕夫得▏  ̄ ̄ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.230.75.94
cory8249:非常感謝大大的幫忙 但是 還是不會閃 QQ 12/30 02:12
cory8249:結果 Port 1 0,2,4,6 高電位 1,3,5,7 低電位 12/30 02:14
cory8249:感覺像是沒有跳進去 T0ISR 12/30 02:14
cory8249:而且看課本的範例程式 都沒有對 TF0 / TR0 做改變 12/30 02:15
cory8249:所以當初就沒有加這幾行 不曉得有沒有差 ? 12/30 02:15
WolfLord:你不清TF0他就會一直發生INTERRUPT,結果應該是閃太快 12/30 05:04
WolfLord:看不出有沒有閃,如果是進不去INTERRUPT 你要看看是不是 12/30 05:05
WolfLord:MON51在做怪(確認版本跟中斷對照)我都用真的ICE,關於 12/30 05:06
WolfLord:MON51就要看看其他有使用mon51的人有沒有其他經驗了 12/30 05:06
WolfLord:或者,你BYPASS MON51接燒進去看看(位址改成0基準) 12/30 05:07
WolfLord:這麼小的城市應該沒什麼好用MON51的,你用軟體模擬就能看 12/30 05:08
WolfLord:了 12/30 05:08
WolfLord:對了,我聽說T0經常被一些監督軟體佔用,你要不要用T2看 12/30 05:10
WolfLord:看?(有用UART/232T1也會被佔用) 12/30 05:10
cory8249:原來真的是 MON51 作怪... T0ISR 放在 8006 不是 800B 12/30 23:17
cory8249:問老師得到這個結果 看到都快吐血了 @@" 12/30 23:17
cory8249:真的非常感謝您願意幫我解這個蠢問題 m(_ _)m 12/30 23:19
cory8249:可惜身為電機小魯蛇 沒正妹可以介紹 真是不好意思了 12/30 23:20
asdfghjklasd:你可以夾起來喔! 01/01 21:19