• 大小: 56KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: 其他
  • 标签: proteus  

资源简介

51单片机测量方波频率proteus仿真

资源截图

代码片段和文件信息

#include
#define uchar unsigned char
#define uint  unsigned int

uchar code table[11] = {0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f};

long uint pulse=0;//计数输入的方波的个数;

long uint freq=0;//频率

uchar temp=0; //临时变量

void delay_1ms(uint i) //延时函数,约1ms
{
uint xj;
for(j=0;j for(x=0;x<=148;x++);
}

void Time0_Init()//定时器和计数器的初始化函数
{
EA=1; //打开全局中断
TMOD = 0x15;//设定定时器1和计数器0的工作方式为方式1

TH0  = 0xff;//计数器0的初值
TL0  = 0xff;//计数器0的初值
ET0=1; //允许计数器0中断
TR0=1; //打开计数器0,开始计数

TH1  = 0x3c;//定时器1的初值
TL1  = 0xb0;//定时器1的初值
ET1=1; //允许定时器1中断
TR1 = 1;//打开定时器1,开始计数
}

void main()
{
Time0_Init(); //初始化定时器和计数器

while(1)
{
P2=0xfe;  //以下为数码管显示函数
P0=0;
P0=table[freq/100000];
delay_1ms(1);
P0=0;
P2=0xfd;
P0=table[freq/10000%10];
delay_1ms(1);
P0=0;
P2=0xfb;
P0=table[freq/1000%10];
delay_1ms(1);
P0=0;
P2=0xf7;
P0=table[freq/100%10];
delay_1ms(1);
P0=0;
P2=0xef;
P0=table[freq/10%10];
delay_1ms(1);
P0=0;
P2=0xdf;
P0=table[freq%10];
delay_1ms(1);
}
}

void ISQ_timer0(void) interrupt 1 //用来计数脉冲数,每一个方波脉冲,计数器进入中断,脉冲数加一
{
TR0 = 0;
pulse++;
TH0  = 0xff;
TL0  = 0xff;
TR0 = 1;
}
/****************************************************************
用来设定时间,定时器的周期为50ms,当经过20次后,
也即1s后,关断定时器和计数器,将一秒内计数的脉冲数赋给频率pulse
一秒内采集的脉冲数即为输入方波的频率
****************************************************************/
void ISQ_time1() interrupt 3  
{
TH1  = 0x3c;
TL1  = 0xb0;
temp++;
if(temp==20)
{
TR0 = 0;
TR1 = 0;
temp=0;
freq=pulse;
pulse=0;//将脉冲数清零,重新计数
TR0 = 1;//打开计数器0,进入下一个循环
TR1 = 1;//打开定时器1,进入下一个循环
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-05-07 23:18  51单片机测量方波频率资料\
     文件      114016  2014-05-07 23:18  51单片机测量方波频率资料\Last Loaded proteus仿真电路图.DBK
     文件      114016  2014-05-08 07:10  51单片机测量方波频率资料\proteus仿真电路图.DSN
     文件         792  2014-05-08 07:10  51单片机测量方波频率资料\proteus仿真电路图.PWI
     目录           0  2014-05-07 18:37  51单片机测量方波频率资料\程序\
     文件        5055  2014-05-08 07:09  51单片机测量方波频率资料\程序\cx
     文件        4864  2014-05-08 07:09  51单片机测量方波频率资料\程序\cx.LST
     文件        7459  2014-05-08 07:09  51单片机测量方波频率资料\程序\cx.M51
     文件        5567  2014-05-08 07:09  51单片机测量方波频率资料\程序\cx.OBJ
     文件         974  2014-05-08 07:09  51单片机测量方波频率资料\程序\cx.Opt
     文件        2129  2014-05-07 21:50  51单片机测量方波频率资料\程序\cx.Uv2
     文件        1961  2014-05-08 07:09  51单片机测量方波频率资料\程序\cx.c
     文件        2041  2014-05-08 07:09  51单片机测量方波频率资料\程序\cx.hex
     文件          36  2014-05-08 07:09  51单片机测量方波频率资料\程序\cx.lnp
     文件        1137  2014-05-08 07:09  51单片机测量方波频率资料\程序\cx.plg
     文件         973  2014-05-07 23:17  51单片机测量方波频率资料\程序\cx_Opt.Bak
     文件           0  2014-05-07 18:37  51单片机测量方波频率资料\程序\cx_Uv2.Bak

评论

共有 条评论