莆仙生活网
当前位置: 莆仙生活网 > 知识库 >

tf1

时间:2024-03-03 19:17:55 编辑:莆仙君

51单片机中"TCON--定时器控制寄存器的位描述"!

TCON的作用是控制定时器的启、停,标志定时器溢出和中断情况。
TCON的格式如下图所示。其中,TF1,TR1,TF0和TR0位用于定时器/计数器;IE1,IT1,IE0和IT0位用于中断系统。
各位定义如下:
TF1:定时器1溢出标志位。当定时器1计满溢出时,由硬件使TF1置“1”,并且申请中断。进入中断服务程序后,由硬件自动清“0”,在查询方式下用软件清“0”。
TR1:定时器1运行控制位。由软件清“0”关闭定时器1。当GATE=1,且/INT1为高电平时,TR1置“1”启动定时器1;当GATE=0,TR1置“1”启动定时器1。
TF0:定时器0溢出标志。其功能及操作情况同TF1。
TR0:定时器0运行控制位。其功能及操作情况同TR1。
IE1:外部中断1请求标志位,当外部中断1被触发时置1。
IT1:外部中断1触发方式选择位。当IT1=0,为低电平触发方式;当IT1=1,为下降沿触发方式。
IE0:外部中断0请求标志位,当外部中断0被触发时置1。
IT0:外部中断0触发方式选择位。 当IT0=0,为低电平触发方式;当IT0=1,为下降沿触发方式。


单片机超声波c语言求解!

sbit Trig = P1^0; //产生脉冲引脚sbit Echo = P3^2; //回波引脚 while(1) { //程序循环 EA=0; Trig=1; delay_20us(); Trig=0; //产生一个20us的脉冲,在Trig引脚 while(Echo==0); //等待Echo回波引脚变高电平!当Echo的值为0的时候,程序停在这里,不再向下执行。(这里改成while(!Echo);可以吗?while(Echo==0);和while(!Echo);有什么区别?)--可以。--两者,没有区别。 succeed_flag=0; //清测量成功标志 EX0=1; //打开外部中断 (这里进入开外部中断不是马上把定时器1的数值取出了吗?定时器还没有打开数值不是零吗?)--是有些早。--不过,也不要紧。因为,EA,还没有打开。TH1=0; //定时器1清零 TL1=0; //定时器1清零 TF1=0; //计数溢出标志 (这里为什么要清零,每次循环定时器1不是清零了吗?)--是的,这句,多余了。……


  • 上一篇:马塞纳
  • 下一篇:没有了