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

2019-07-16 03:11发布

关于51单片机内置计数器的,开中断,我想问下在计数器计满,TF0位溢出以后进入中断处理程序的时候计时器的TL0和TH0两个寄存器值还有变化么? 溢出之后怎么处理的呢? 我在书上看到个例子,把 T0 T1都打开了,都开中断,T0在中断处理程序里边加上了TL0TH0重新设定语句,T1没加,结果T1的计数结果不准确了,请问这是为啥呢~~
还有小弟用的win7 64位,各位大大能不能给推荐个能用的仿真软件啊,我用的keil v3自带仿真,可是能查询的寄存器好少... 只有那么几个,中断还有计时器的寄存器根本看不了啊...
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
fox0815
1楼-- · 2019-07-16 08:31
再加一句,谢谢各位解答啦~~~
滴血雄鹰
2楼-- · 2019-07-16 11:44
好像是进入中断不再计数吧!我做时钟时做过11.0592MHZ的晶振用计算出设置初值为65536-46536的但是,时间不对有一定差距,后将46536改小就好多了,所以个人认为进入中断时不计数的!
fox0815
3楼-- · 2019-07-16 14:48
那就是还保持在那个溢出的状态喽? ~~
非法菜鸟
4楼-- · 2019-07-16 17:33
本帖最后由 非法菜鸟 于 2012-12-20 13:06 编辑

寄存器在中断中不重新赋值的话 中断服务程序结束后继续计时寄存器后会从0开始计数直到再次溢出
fox0815
5楼-- · 2019-07-16 19:24
 精彩回答 2  元偷偷看……
非法菜鸟
6楼-- · 2019-07-16 22:20
fox0815 发表于 2012-12-18 22:57
嘿嘿,谢谢啦,了解了~~ 还有啊,像汇编存表命令,MOV DPTR TABLE, 这个名为TABLE的代码表被单片机放在哪 ...

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

一周热门 更多>