C51脉冲宽度检测程序
时间:12-01
来源:互联网
点击:
/**********************************************
315无线模块 PT2262 1.5M 270KHz 可以测出脉冲宽度
起始时间 5000us
高电平时间 490us
低电平时间 160us
HH=1
LL=0
LH=F
***********************************************/
#include
typedef unsigned int uint;
long plu;
void delay(uint);
main()
{
TMOD=0x09; //0x0000 1001b
ET0=1; //定时器0中断允许
// EX0 = 0; // 关闭INT0中
EA=1; //CPU开中断
while(1)
{
TH0=0x00; //计数器高8
TL0=0x00; //计数器低8
TF0=0; //计数器0溢出标志置0
while(INT0==1); //等待P3.2变低
TR0=1; //由INT0启动计数器
while(INT0==0); //等待P3.2变高
while(INT0==1); //等待P3.2再变低
TR0=0; //T0停止计数
plu=TH0*256+TL0; //计数值
if(plu>4000) //判断
P0=0x0c; //0x0000 1100b
else
P0=~0x0c;
P2=~P2;
delay(6635);
}
}
void delay(uint t)
{
while(t--);
}
315无线模块 PT2262 1.5M 270KHz 可以测出脉冲宽度
起始时间 5000us
高电平时间 490us
低电平时间 160us
HH=1
LL=0
LH=F
***********************************************/
#include
typedef unsigned int uint;
long plu;
void delay(uint);
main()
{
TMOD=0x09; //0x0000 1001b
ET0=1; //定时器0中断允许
// EX0 = 0; // 关闭INT0中
EA=1; //CPU开中断
while(1)
{
TH0=0x00; //计数器高8
TL0=0x00; //计数器低8
TF0=0; //计数器0溢出标志置0
while(INT0==1); //等待P3.2变低
TR0=1; //由INT0启动计数器
while(INT0==0); //等待P3.2变高
while(INT0==1); //等待P3.2再变低
TR0=0; //T0停止计数
plu=TH0*256+TL0; //计数值
if(plu>4000) //判断
P0=0x0c; //0x0000 1100b
else
P0=~0x0c;
P2=~P2;
delay(6635);
}
}
void delay(uint t)
{
while(t--);
}
C51脉冲宽度检测程 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)