最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

51单片机测频率(C语言)

来源:动视网 责编:小OO 时间:2025-09-29 04:07:15
文档

51单片机测频率(C语言)

基于51单片机测方波频率用单片机的定时器和外部中断资源,将定时器设置为一秒定时,信号接到INT0,设置为下降沿触发。在一秒内计算外部中断的次数即为方波的频率。源程序:#include#defineuintunsignedint#defineucharunsignedcharsbitq=P2^3;sbitb=P2^2;sbits=P2^1;sbitg=P2^0;sbitflog=P2^4;intnum=0;intt=0;intcount=0;ucharcodetable0[]={0xc0,0xf
推荐度:
导读基于51单片机测方波频率用单片机的定时器和外部中断资源,将定时器设置为一秒定时,信号接到INT0,设置为下降沿触发。在一秒内计算外部中断的次数即为方波的频率。源程序:#include#defineuintunsignedint#defineucharunsignedcharsbitq=P2^3;sbitb=P2^2;sbits=P2^1;sbitg=P2^0;sbitflog=P2^4;intnum=0;intt=0;intcount=0;ucharcodetable0[]={0xc0,0xf
基于51单片机测方波频率

用单片机的定时器和外部中断资源,将定时器设置为一秒定时,信号接到INT0,设置为下降沿触发。在一秒内计算外部中断的次数即为方波的频率。

源程序:

#include

#define    uint unsigned int

#define uchar unsigned char

sbit q=P2^3;

sbit b=P2^2;

sbit s=P2^1;

sbit g=P2^0;

sbit flog=P2^4;

int num=0;int t=0;int count=0;

uchar code table0[]={

0xc0,0xf9,0xa4,0xb0,

0x99,0x92,0x82,0xf8,

0x80,0x90};

void delay(int k)

{

    int i,j;

for(i=0;i for(j=0;j<100;j++);

}

void init()

{

    TMOD=0x01;            //定义T0定时方式1

    TH0=(65536-50000)/256;

    TL0=(65536-50000)%256;

    IT0=1;

    EX0=1;

    TR0=1;

    ET0=1;

    EA=1;

}

void inter0() interrupt    0

{

    count++;

}

void timer0() interrupt 1

{

    t++;

    if(t==20)

    {

       t=0;

       num=count;

       count=0;

    }

    TH0=(65536-50000)/256;

    TL0=(65536-50000)%256;

}

void display(int n)

{

    int ge,shi,bai,qian;

if(n>=1000)

    {

       flog=0;

       qian=(n/1000)/1000;

       bai=((n/1000)/100)-10*qian;

       shi=((n/1000)%100)/10;

       ge=(n/1000)%10; 

    }

    else

    {

       flog=1;

       qian=n/1000;

       bai=(n/100)-10*qian;

       shi=(n%100)/10;

       ge=n%10;

    }

    q=b=s=g=1;

    q=0;b=s=g=1;

    P0=table0[qian];

    delay(4);

    q=b=s=g=1;

    b=0;q=s=g=1;

    P0=table0[bai];

    delay(4);

    q=b=s=g=1;

    s=0;q=b=g=1;

    P0=table0[shi];

    delay(4);

    q=b=s=g=1;

    g=0;q=b=s=1;

    P0=table0[ge];

    delay(4);

}

void main()

{

    init();

    while(1)

      display(num); 

}

文档

51单片机测频率(C语言)

基于51单片机测方波频率用单片机的定时器和外部中断资源,将定时器设置为一秒定时,信号接到INT0,设置为下降沿触发。在一秒内计算外部中断的次数即为方波的频率。源程序:#include#defineuintunsignedint#defineucharunsignedcharsbitq=P2^3;sbitb=P2^2;sbits=P2^1;sbitg=P2^0;sbitflog=P2^4;intnum=0;intt=0;intcount=0;ucharcodetable0[]={0xc0,0xf
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top