51外部中断问题,求大神之解啊!
,INT1(P3^3)口子的电平由高变到低的过程中,是在计数。极限值就溢出啊,之后怎么样是看你设的Tmode是什么模式,16位要重新装载,8位的话自动重装,想计数准确的话就拿多个定时器开定时模式对P3^3口输出脉冲即可。
51的INT1是外部中断1。和计数器无关。当然你外部中断不够用的话可以用计数器初值max-1的形式用T0或者T1扩充成一个中断用。
中断就是CPU正在跑指令的过程中,外部事件触发后产生,目的是让单片机及时处理更重要的事情。
首先,计数器和外部中断是两个分开的东东,之间没有硬性联系
其次,你可以在T0口输入方波,把单片机T0设置为计数器模式,这样,TMOD = 0x05;
TL0 = 0x00;
TH0 = 0x00;
这样,每输入一个方波,TL0,TH0就会计数
如果整外部中断的话,就在中断函数里写个i++吧
我也是新手,欢迎交流
首先搞清,外部中断和定时器不是一个东西,想计时间就用定时器,外部中断也有高电平触发和下降沿触发,高电平触发计数没有什么意义
多看看书的讲解吧
呵呵,新手学中断,可以先看些简单的中断程序,再配合书上状态字的功能来学习
定时器和外部中断不同,引脚也不同了,外部中断有两种溢出方式:跳沿、电平。也可以把定时器作为外部中断,初值均为0xff
定时器和外部中断主要是触发方式不一样,中断标志位不同。所用的方面不同
看来新手是容易搞混,因为计数器也可以作中断用的,但是tine0、1与int0、1是有区别的。
有个字母打错了:看来新手是容易搞混,因为计数器也可以作中断用的,但是time0、1与int0、1是有区别的。
谢谢大家了 我总算搞懂了
