问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

51单片机制作简易数字频率计程序

发布网友 发布时间:2022-04-29 05:40

我来回答

2个回答

热心网友 时间:2022-06-19 22:12

这里有一个四位数码管的频率计,供参考

#include <reg52.h>
#define uchar unsigned char
#define uint  unsigned  int
uchar an[10]={0xc0,0Xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //所需的段的位码
//uchar wei[4]={0XEf,0XDf,0XBf,0X7f};                                 //位的控制端(开发板)
uchar wei[4]={0X80,0X40,0X20,0X10};                                 //位的控制端(仿真)
uint z,x,c,v, date;//定义数据类型
uint dispcount=0;
uint lck=0;
uint disp=0;
/******************************************************************

延时函数

******************************************************************/
void delay(uchar t)
{
  uchar i,j;
   for(i=0;i<t;i++)
   {
    for(j=13;j>0;j--);
 { ;
 }
   }
}

/**********************************************************************
                数码管动态扫描
*********************************************************************/
void xianshi()
 { 
 /*****************数据转换*****************************/ 
  z=date/1000; //求千位
  x=date%1000/100; //求百位
  c=date%100/10; //求十位
  v=date%10; //求个位

      P2=wei[0];
  P0=an[z];
  delay(50);  
    P2=wei[1];
      P0=an[x];
  delay(50);  
     P2=wei[2];
      P0=an[c];
  delay(50);  
      P2=wei[3];
      P0=an[v];
  delay(50);  
                

       }

/*************************************************************************
                                定时器初值1ms
**************************************************************************/
void initTimer(void)
{
 TMOD=0x0;
 TH0=0xe3;
 TL0=0xc;
}

/*************************************************************************
                                定时器函数
**************************************************************************/
void timer0(void) interrupt 1
{
 TH0=0xe3;
 TL0=0xc;
 lck++;
 if(lck==1000)
       {
        disp=dispcount;
     lck=0;
dispcount=0;
       }

}

/*************************************************************************
                                中断函数
**************************************************************************/
void int0(void) interrupt 0
{

dispcount++; //每一次中断,计数加一

}

/*************************************************************************
                                主函数
**************************************************************************/
void main(void)
{

IT0=1;     //INT0下降沿中断
EX0=1;     //允许INT1中断
initTimer(); //装入初值
TR0=1;
ET0=1;
EA=1;
while(1)

{
date=disp;
xianshi();
}
}

热心网友 时间:2022-06-19 22:12

1MHz,这个频率要求的高了一些。
先看看:
http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/b20572ca80ebe3f053664f7b.html/cmtid/7f5d2259d585a88f810a184e#7f5d2259d585a88f810a184e
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 做简易数字频率计时用CD4511接数码管就不亮,用7448就亮,求问怎么才能用CD4511也能亮? 5.04乘28的竖式计算怎么列式 28×28的竖式怎么列? 28除以2=笔算除法竖式 56x28列竖式计算? 28道列竖式计算带答案 3.5X28列竖式计算怎么列 28x72的竖式怎么做? 0.84除以28列竖式计算,在用除法验算 4.26×28的竖式计算和验算 28乘以25怎么列竖式计算? 28×105竖式计算怎么算要数式的 28x165列竖式怎样计算? 28×80的竖式计算怎么写? 28-8.7等于多少用列竖式计算? 28×98列竖式计算? 63×28列竖式? 28x4.05竖式,怎么列式? 列竖式计算28除以2=多少 毛衣平针怎么收针 怎么用一台数字频率计设计一个交流电压信号的数字式测量电路,需要原理框图,最好能有介绍,希望各位大神 简易数字频率计,闸门时间为一秒,最高可测频率为100MHZ.频率由8位数码管显示输出 急急急 设计一个简易数字频率计 十分感谢 急求用555做的数字频率计原理图@@@ 51单片机的数字频率计 简易数字频率计设计 photoshop cc 2017破解补丁怎么用 三大纪律,八项主意是什么? 三大纪律八项注意的内容是什么? 三大纪律八项注意的内容是什么 毛泽东三大纪律八大注意的内容 三大纪律,八项注意分别指的是什么? 三大纪律八项注意是哪些项? 三大纪律,八项注意的内容 三大纪律八项注意分别是什么? 三大纪律八项注意是指 三大纪律八项注意都有哪些? 概括《三大纪律八项注意》的主要内容 三大纪律八项注意具体内容 三大纪律,八项注意中的“三大纪律”指什么? 三大纪律包括那些内容?