单片机/MCUwilliam hill官网
直播中

475662

12年用户 141经验值
擅长:可编程逻辑 接口/总线/驱动 控制/MCU
私信 关注
[问答]

小白问题,关于单片机计数器的,各位大大帮下忙啦~~

关于51单片机内置计数器的,开中断,我想问下在计数器计满,TF0位溢出以后进入中断处理程序的时候计时器的TL0和TH0两个寄存器值还有变化么? 溢出之后怎么处理的呢? 我在书上看到个例子,把 T0 T1都打开了,都开中断,T0在中断处理程序里边加上了TL0TH0重新设定语句,T1没加,结果T1的计数结果不准确了,请问这是为啥呢~~
还有小弟用的win7 64位,各位大大能不能给推荐个能用的仿真软件啊,我用的keil v3自带仿真,可是能查询的寄存器好少... 只有那么几个,中断还有计时器的寄存器根本看不了啊...

回帖(9)

475662

2012-12-14 11:30:55
再加一句,谢谢各位解答啦~~~
举报

罗文斌

2012-12-14 11:37:27
好像是进入中断不再计数吧!我做时钟时做过11.0592MHZ的晶振用计算出设置初值为65536-46536的但是,时间不对有一定差距,后将46536改小就好多了,所以个人认为进入中断时不计数的!
举报

475662

2012-12-14 11:40:37
那就是还保持在那个溢出的状态喽? ~~
举报

陈真

2012-12-17 13:48:46
本帖最后由 非法菜鸟 于 2012-12-20 13:06 编辑

寄存器在中断中不重新赋值的话 中断服务程序结束后继续计时寄存器后会从0开始计数直到再次溢出
举报

475662

2012-12-18 22:57:30
嘿嘿,谢谢啦,了解了~~ 还有啊,像汇编存表命令,MOV DPTR TABLE, 这个名为TABLE的代码表被单片机放在哪里了呢? 是程序储存区后边,TABLE  DB DB... 那里呢,还是别的什么地方?  如果是在程序后边的话,是紧跟着上边那条指令继续往下写吗? 那如果是这样的话,那上边那条存表指令,存入的就是TABLE第一个代码的地址吗? ~ 有点长,嘿嘿,再次感谢~~~~
举报

陈真

2012-12-19 15:10:06
引用: fox0815 发表于 2012-12-18 22:57
嘿嘿,谢谢啦,了解了~~ 还有啊,像汇编存表命令,MOV DPTR TABLE, 这个名为TABLE的代码表被单片机放在哪 ...

关于table代码表存入单片机具体的位置这个还真没想过,你知道了告诉我一下 让我也学习学习。dptr中存入的的确是table表的第一个代码的内存地址
举报

475662

2012-12-19 22:04:47
嗯嗯,木有问题,不过得过段时间了,这几周忙着复习,也没什么时间弄了,就晚上上坛子发发贴,等放假吧
举报

mhqgzs

2012-12-19 23:26:04
定时器进入中后应该不会继续计数吧
举报

693950

2013-3-19 15:25:36
举报

更多回帖

发帖
×
20
完善资料,
赚取积分