一、单片机定时器有65535计数值,66535是什么单位,微秒还是毫秒?怎么计算定时1秒led闪烁一次?
65535是16进制的FFFF,是51单片机定时器最大值,就是最大65535us,=65.535ms
,计数器初值设置50ms,65536-50000=15536=3CB0H,,使用一个计数器计数20(10个=500ms取反,常用1s闪烁使用)个50ms=1s。。
二、单片机的计数器,每计数一次是多少时间?
定时器/计数器本质上都是计数器,只不过数的东西不一样.
定时器/计数器做为定时器来用的时候,是数的单片机时钟的脉冲个数,也就是说,单片机的时钟做为定时器/计数器的时钟源,因为单片机的时钟一般比较固定,因此,我们就知道一个脉冲占多长时间,因为根据脉冲的个数,就能推算出时间,就能做定时器用.
比如:12MHz的传统51单片机,一个脉冲周期是1us,如果定时器数了10个脉冲周期就中断了,说明10us时间到了.
而作为计数器的时候,数的是来自引脚上的脉冲,也就是说,是引脚上的脉冲做为定时器/计数器的时钟源,如果这个脉冲是规律的,周期是固定的,那么,也可以实现定时,比如,如果引脚的脉冲是10KHz的,那么,一个脉冲周期是100us,如果定时器/计数器数了10个脉冲周期就中断,说明1ms时间到了.
但是,如果引脚上的脉冲频率不固定,时高时低,那么,就没办法根据脉冲个数算出时间来,此时,就只是单纯的计数功能.
总而言之,定时器/计数器本质都是对脉冲计数,只是作为定时器,数的是内部的脉冲,做为计数器,数的是外部的脉冲,如果脉冲固定,外部脉冲也可以用来定时.赞同0|评论
三、单片机控制LED灯1秒钟闪烁一次程序(采用中断方式)?
你是想中断服务里读按键吧,硬件上提几点建议。
1,按键加个104的去抖电容。
2,中断口加上拉电阻。
3,不用外部中断,采用定时器中断,在定时器中断服务程序中扫描按键。
4,如果一定要用外部中断,一个就够了。用二极管隔离。
5,另外,你晶振那里应该是30pF吧。
四、第一次使用STM32的单片机,但下载完程序后没有反应,比如,点亮LED闪烁,请教高手指点,问题出在哪里?
1)仿真时是否正确?
2)如果仿真正确,请从开发板上完全拔掉JLINK,否则JLINK会占用一些引脚导致程序无法运行。(只拔掉连电脑端的USB是错的)
- 相关评论
- 我要评论
-