久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2302|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

發(fā)一個(gè)基于STC12C5A60S2單片機(jī)的頻率計(jì)的代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1020821 發(fā)表于 2022-4-22 22:48 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include "STC12C5A60S2.h"
//#include <reg52.h>
#define Segment P0
#define sl P2
sbit clear=P1^3;
sbit fp2=P1^2;    //定義數(shù)據(jù)端口地址,0時(shí)分頻處理,1時(shí)不分頻
unsigned char count;      //定時(shí) 1s 計(jì)數(shù)
unsigned char d[4];       //對(duì)應(yīng)數(shù)碼管的各位
unsigned char dangwei;    //檔位
unsigned int timeN;       //不同檔位計(jì)時(shí)值
unsigned int fCount;      //脈沖下降沿次數(shù)
unsigned int regCount;    //脈沖次數(shù)暫存
unsigned int pCount;      //頻率顯示
unsigned char Num[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
//七段數(shù)碼管代碼共陽極
void Delay(unsigned int DelayTime)
  {
   while(DelayTime--);
  }
void dispbuf()
{
{
  if(dangwei==0)     //檔位
    {
     d[3]=0;
     d[2]=(pCount/100)%10;
     d[1]=(pCount/10)%10;
     d[0]=pCount%10;

     sl=0x01;Delay(1);Segment=Num[d[3]];Delay(200);   
     sl=0x02;Delay(1);Segment=Num[d[2]];Delay(200);
     sl=0x04;Delay(1);Segment=Num[d[1]];Delay(200);
     sl=0x08;Delay(1);Segment=Num[d[0]];Delay(200);
    }
   else if(dangwei==1)
    {
       d[3]=pCount/1000;
       d[2]=(pCount/100)%10;
       d[1]=(pCount/10)%10;
       d[0]=pCount%1;
       sl=0x01;Delay(1);Segment=Num[d[3]];Delay(200);      
       sl=0x02;Delay(1);Segment=Num[d[2]];Delay(200);  
       sl=0x04;Delay(1);Segment=Num[d[1]]&0x7f;Delay(200); //帶小數(shù)點(diǎn)
       sl=0x08;Delay(1);Segment=Num[d[0]];Delay(200);
    }  
else
  {
    d[3]=0;
    d[2]=0;
    d[1]=0;
    d[0]=0;
  }
}
}
void intial()
  {
   clear=1;           //分頻器初始化
   fp2=1;
   timeN=20;          //檔位初始化為 Hz 檔
   dangwei=0;
   TMOD=0x61;       //定時(shí)器0,工作方式1,計(jì)數(shù)器1,工作方式1
   TH0= (65536-50000)/256;
   TL0= (65536-50000)%256;
                                                    //計(jì)數(shù)器1計(jì)數(shù)初值
   TH1=0xff;         // 256-1;      
   TL1=0xff;         // 256-1;
   TR0=1;           //開定時(shí)器0中斷
   ET0=1;           //定時(shí)器0允許
   TR1=1;           //開計(jì)數(shù)器1中斷
   ET1=1;           //允許計(jì)數(shù)器1中斷
   EA=1;            //總中斷允許
  }
void main()
  {
        intial();
    while(1)
       {
          dispbuf();
       }
  }
void timer0() interrupt 1
  {
   count++;
   if(count==timeN)
    {
     ET1=0;      //計(jì)時(shí)1s,暫停外部計(jì)數(shù)1
     TR1=0;
     count=0;
    regCount=fCount;        //更新顯示
     fCount=0;               //頻率計(jì)數(shù)清零
     clear=0;                //硬件分頻器清零
     clear=1;
    }  
  if(dangwei==0)          //檔位切換
  {
    pCount=regCount;
   if(regCount>999)
    {
      pCount=0;              //顯示清零
      dangwei=1;
      timeN=1;               //定時(shí) 50ms
      fp2=0;                 //硬件分頻處理
      TH1=0xfb;              //50分頻 256-5
      TL1=0xfb;              //256-5
      pCount=regCount*10;    //換算成相應(yīng)的顯示:f=regCount*100
    }
  }
  else if(dangwei==1)
   {
    if(regCount<1)
     {
      dangwei=0;
      timeN=20;             //定時(shí) 1s
      fp2=1;                //不分頻
      TH1=0xff;             //256-1
      TL1=0xff;             //256-1
     }
    else if(regCount<1000)       //KHz 檔
     {
      dangwei=1;
      timeN=1;               //定時(shí) 50ms
      fp2=0;                 //硬件分頻處理
      TH1=0xfb;              //50分頻 256-5
      TL1=0xfb;              //256-5
      pCount=regCount*10;    //換算成相應(yīng)的顯示:f=regCount*100
     }
    else
       {   
        dangwei=3;        //超出范圍
       }
  }
  ET1=1;               //恢復(fù)外部計(jì)數(shù) 1
  TR1=1;  
   TH0=(65536-50000)/256;
   TL0=(65536-50000)%256;
  }
void enterFre() interrupt 3       //外部頻率輸入
{
fCount++;         
}

評(píng)分

參與人數(shù) 1黑幣 +30 收起 理由
admin + 30 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 二区久久 | 欧美日韩久久久久 | 91视频在线观看免费 | 精品一区久久 | 久久久久久91| 羞羞视频网站免费观看 | 成人精品一区亚洲午夜久久久 | 亚洲国产成人av好男人在线观看 | 欧美电影在线观看网站 | 综合久久色 | 欧美另类视频在线 | 91精品国产高清一区二区三区 | 国产乱码一区 | 国产欧美一区二区三区久久 | 亚洲午夜av| 毛片免费看的 | 性天堂网 | 欧美精品成人一区二区三区四区 | 盗摄精品av一区二区三区 | 精品国产乱码久久久久久闺蜜 | 一级欧美| 精品国产综合 | 欧美综合一区二区 | 91国在线视频 | 亚洲人成人一区二区在线观看 | 7777在线视频| 成人午夜在线观看 | 久久久精品一区二区 | 国产分类视频 | 久久综合九九 | 精品一区二区三 | 成人国产一区二区三区精品麻豆 | 日韩一级免费大片 | 精品一区二区三区视频在线观看 | 国产成人精品一区二区三区 | 色综合久久天天综合网 | 操操日 | 国产精久久久 | 一区二区在线不卡 | 国产一区二区三区视频免费观看 | 日韩久草 |