Re: [问题] 诡异的 timer 中断

楼主: WolfLord (呆呆小狼￾ ￾ N￾ ￾ )   2013-12-29 20:45:19
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 小小的心意 感激不尽 !!
作者: asdfghjklasd (好累的大一生活)   2012-01-01 21:19:00
你可以夹起来喔!
作者: cory8249 (Cory)   0000-00-00 00:00:00
非常感谢大大的帮忙 但是 还是不会闪 QQ结果 Port 1 0,2,4,6 高电位 1,3,5,7 低电位感觉像是没有跳进去 T0ISR而且看课本的范例程式 都没有对 TF0 / TR0 做改变所以当初就没有加这几行 不晓得有没有差 ?
楼主: WolfLord (呆呆小狼￾ ￾ N￾ ￾ )   0000-00-00 00:00:00
你不清TF0他就会一直发生INTERRUPT,结果应该是闪太快看不出有没有闪,如果是进不去INTERRUPT 你要看看是不是MON51在做怪(确认版本跟中断对照)我都用真的ICE,关于MON51就要看看其他有使用mon51的人有没有其他经验了或者,你BYPASS MON51接烧进去看看(位址改成0基准)这么小的城市应该没什么好用MON51的,你用软件模拟就能看了对了,我听说T0经常被一些监督软件占用,你要不要用T2看看?(有用UART/232T1也会被占用)
作者: cory8249 (Cory)   0000-00-00 00:00:00
原来真的是 MON51 作怪... T0ISR 放在 8006 不是 800B问老师得到这个结果 看到都快吐血了 @@"真的非常感谢您愿意帮我解这个蠢问题 m(_ _)m可惜身为电机小鲁蛇 没正妹可以介绍 真是不好意思了

Links booklink

Contact Us: admin [ a t ] ucptt.com