×

28-脉宽测量资料

消耗积分:2 | 格式:rar | 大小:48KB | 2017-04-07

和你来电

分享资料个

电子技术的发展是不可想象的,

  /*-----------------------------------------------

  名称:脉冲宽度测量

  编写:93037897

  日期:2014.11.20

  修改:无

  内容:可以测量外部中断引脚INT0上高电平的时间,

  当GATE0=1,TR0=1时,只有INT0引脚为高电平,T0才开始计数

  ------------------------------------------------*/

  #include《REG52.H》

  #include《intrins.h》

  sbit INT0_PIN=P3^2;

  unsigned char count_high, count_low;

  unsigned int count;

  unsigned char code duanma[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

  // 显示段码值0123456789

  unsigned char code weima[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

  read_count();

  /*------------------------------------------------

  延时函数,含有输入参数 unsigned int t,无返回值

  unsigned int 是定义无符号整形变量,其值的范围是

  0~65535

  ------------------------------------------------*/

  void delay_nms(unsigned int i)

  {

  unsigned char a;

  while(i--)for(a=0;a《80;a++);

  }

  /*------------------------------------------------

  数码管显示函数,显示范围是0~65535

  ------------------------------------------------*/

  void display(unsigned int temp)

  {

  unsigned char j,a[5];

  a[4]=temp%10; //12345%10=5 个位

  a[3]=temp/10%10; //12345/10=1234,1234%10=4 十位

  a[2]=temp/100%10; //12345/100=123,123%10=3 百位

  a[1]=temp/1000%10;//12345/1000=12,12%10=2 千位

  a[0]=temp/10000; //12345/10000=1 万位

  for(j=0;j《5;j++)

  {

  P1=weima[j];

  P2=duanma[a[j]];//

  delay_nms(1);

  }

  }

  void main()

  {

  TMOD|=0x09; //定时器0工作于方式1,16位长度,

  TH0=0; //初值高8位,初值为0

  TL0=0; //初值低8位,初值为0

  TR0=0; //关闭定时器T0

  while(1) //重复测量

  {

  while(INT0_PIN==1); //等待高电平结束

  TR0=1; //打开定时器T0

  while(INT0_PIN==0); //等待低电平结束

  while(INT0_PIN==1); //等待高电平结束

  TR0=0; //关闭定时器T0

  read_count(); //调用读取数据

  display(count); //显示

  }

  }

  read_count() //读取T0计数结果

  {

  count_high=TH0; //读取高8位

  count_low=TL0; //读取低8位

  count=(count_high《《8)|count_low;//合成的16位数据

  TH0=0; //清零高8位寄存器

  TL0=0; //清零低8位寄存器

  return count; //返回合成的16位数据

  }

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !