MCS-51系列单片机定时/计数器的定时功能和计数功能分别应用于什么场合?
定时器和计数器本质上讲都是计数器,定时器使用机器时钟做计数源,因为机器时钟是稳定性好,时钟数就是时间,所以叫定时器。当计数器用时,使用的是外部输入的脉冲,当需要统计外部的计数源时使用。
51单片机用C语言或者汇编程序如何实现定时1秒?如何设定初始值?如何计算?如何输出方波?如何对外部?
使用定时器实现1秒定时; 初始值要看单片机配置的晶振频率了,若12M晶振,初始值为TH0=0x3c;TL0=0xb0; 这才是50ms,还要一个单元做计数器,计数20次才是1秒 方波?在定时中断里求反一次。
对外输出?就对端口(比如P1.0)求反 如何计算?常用的,记熟了,你自己看书51单片机,用定时器中断,在P1口实现1S移动一次的流水灯,用汇编语言编写的程序?
CNT EQU 30HORG 0000HSJMP STAORG 000BHLJMP T0ISRORG 0050HSTA: MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H ;50ms MOV P1,#0FEH MOV CNT,#20 SETB ET0 SETB TR0 SETB EA SJMP $T0ISR: CLR TR0 MOV TH0,#3CH MOV TL0,#0B0H ;50ms SETB TR0 DEC CNT MOV A,CNT JNZ T0ISRE MOV CNT,#20 MOV A,P1 RL A MOV P1,AT0ISRE: RETI END