实例 54-2:测量负脉冲宽度#includereg51.h 包含 51 单片机寄存器定义的头文件sbit u=P3^2; 将 u 位定义为 P3.2函数功能:主函数void main(void) { TMOD=0x02; TMOD=0000 0010B,使用定时器 T0 的模式 2 EA=1; 开放总中断 EX0=1; 允许使用外中断 IT0=1; 选择负跳变来触发外中断ET0=1; 允许定时器 T0 中断TH0=0; 定时器 T0 赋初值 0TL0=0; 定时器 T0 赋初值 0TR0=0; 先关闭 T0while(1) ; 无限循环, 不停检测输入负脉冲宽度 }函数功能:外中断 0 的中断服务程序void int0(void) interrupt 0 using 0 外中断 0 的中断编号为 0{ TR0=1; 外中断一到来,即启动 T0 计时TL0=0; 从 0 开始计时while(u==0) 低电平时,等待 T0 计时 ;P1=TL0; 将结果送 P1 口显示TR0=0; 关闭 T0 }
发表评论取消回复