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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2172|回復: 0
收起左側

簡易頻率計

[復制鏈接]
ID:315336 發表于 2018-4-24 14:46 | 顯示全部樓層 |閱讀模式
功能:
1.啟動測頻按鈕之前,顯示88888888;
2.啟動測頻按鈕后,測量 P1.0輸出方波的頻率。產生的頻率是1000;
3.測量時間10S,測量期間顯示66666666.方法可以是10S內計數,計數值除以10;

4.10S后顯示測頻值。
剛做出來不久,因為使用開發板做的但是仿真就不行了,求各位大佬指教。

#include<reg52.h>                       
#include<intrins.h>
#define uint unsigned int                                               
#define uchar unsigned char

sbit LS138A=P2^2;   
sbit LS138B=P2^3;
sbit LS138C=P2^4;
sbit Pulse=P1^0;
sbit key =P1^1;


uint state=0,times=0;
long int mn=0;                  
uint LedOut[8];
uchar code Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};   //′˱íÎa LED μÄ×ÖÄ£, 12òõêyÂë1ü 0-9  

void display(long int mn);     //êyÂë1üÏÔê¾oˉêy//
uchar Key_Scan();              //é¨Ãè¼üÅì//
void display_Delay1ms(uchar );            //ÏÔê¾oˉêy//

/*******************************************************************************
* oˉ êy Ãû         :uchar Key_Scan
* oˉêy1|Äü                   :é¨Ãè¼üÅì
* êä    èë         : ÎT
* êä    3ö         : ÎT
*******************************************************************************/
uchar Key_Scan()       
{
  uchar keyValue = 0 , m;  
        if (key!= 0xFF)               
        {
                display_Delay1ms(10);
                if (key!= 0xFF)       
                {
                        keyValue =key;
                        m = 0;
                        while ((m<50) && (key!= 0xFF))       
                        {
                                display_Delay1ms(10);
                                m++;
                        }
                }
        }
        return keyValue;   
}
          
/*******************************************************************************
* oˉ êy Ãû         : display(long int mn)
* oˉêy1|Äü                   : ÏÔê¾êyÂë1ü
* êä    èë         : ÎT
* êä    3ö         : ÎT
*******************************************************************************/
void display(long int mn)
{
        uchar i;
        for( i=0; i<8; i++)
        {         
                switch(i)                                          
            {            
                        case 0:LS138C=0; LS138B=0; LS138A=0; P0 = Disp_Tab[(mn / 10000000)]; break;         
                case 1:LS138C=0; LS138B=0; LS138A=1; P0 = Disp_Tab[(mn % 10000000) / 1000000]; break;                    
                case 2:LS138C=0; LS138B=1; LS138A=0; P0 = Disp_Tab[(mn % 1000000) / 100000]; break;
                case 3:LS138C=0; LS138B=1; LS138A=1; P0 = Disp_Tab[(mn % 100000) / 10000]; break;
                        case 4:LS138C=1; LS138B=0; LS138A=0; P0 = Disp_Tab[(mn % 10000) / 1000]; break;
                    case 5:LS138C=1; LS138B=0; LS138A=1; P0 = Disp_Tab[(mn % 1000) / 100]; break;
                    case 6:LS138C=1; LS138B=1; LS138A=0; P0 = Disp_Tab[(mn % 100) / 10]; break;
                         case 7:LS138C=1; LS138B=1; LS138A=1; P0 = Disp_Tab[mn % 10]; break;          
            }
                display_Delay1ms(1);
                P0 = 0x00;          // Ïûó°
        }
}



/*******************************************************************************
* oˉ êy Ãû         : display_Delay1ms
* oˉêy1|Äü                   : Ñóê±oˉêy
* êä    èë         : ÎT
* êä    3ö         : ÎT
*******************************************************************************/
void display_Delay1ms(uchar t)               

{
        uchar x;
        for(t;t > 0;t--)
        {
          for(x=120; x>0; x--);
        }

}


/*******************************************************************************
* oˉ êy Ãû         : timer1 () interrupt 3
* oˉêy1|Äü                   : T1ÖD¶Ïoˉêy
* êä    èë         : ÎT
* êä    3ö         : ÎT
*******************************************************************************/
void timer1 () interrupt 3
{
        TH1=0x3e; //50ms
        TL1=0x12;
        times++;
}

/*******************************************************************************
* oˉ êy Ãû         : inter0() interrupt 0
* oˉêy1|Äü                   : ía2¿ÖD¶Ïoˉêy
* êä    èë         : ÎT
* êä    3ö         : ÎT
*******************************************************************************/
void inter0() interrupt 0
{
        mn++;
}


/*******************************************************************************
* oˉ êy Ãû         : timer0 () interrupt 1
* oˉêy1|Äü                   : T0ÖD¶Ïoˉêy
* êä    èë         : ÎT
* êä    3ö         : ÎT
*******************************************************************************/
void timer0 () interrupt 1
{
        TH0=0xec;
        TL0=0xa2;
        Pulse=~Pulse;
}
/*******************************************************************************
* oˉ êy Ãû         : main
* oˉêy1|Äü                   : Ö÷oˉêy
*******************************************************************************/
void main()
{
        TMOD=0x11;          //Ñ¡óüÆêyÄ£ê½oí Ñ¡óÃÄ£ê½1
        TH0=0xec;           //¸ø¼ÆêyÆ÷×°3õÖμ
        TL0=0xa2;
        TH1=0x3e;
        TL1=0x12;      //50ms
        ET0=1;                   //ÔêDíT0ÖD¶Ï
    ET1=1;                   //ÔêDíT1ÖD¶Ï
        EA=1;                  //¿a·¢ËùóDÖD¶Ï
        EX0=1;                   //ÔêDíía2¿ÖD¶Ï0ÖD¶Ï
        IT0=1;                   //μçÆ½′¥·¢
        Pulse=1;
        state=0;
        while(1)
        {   
                if(key!=1)           
                {
                        times=0;
                        mn=0;
                        TR0=1;
                        TR1=1;
                    while(times<200)
                   {
                        display(66666666);       
               }
                        TR0=0;
                        TR1=0;
                        state=2;
                 }
                if(state==2)
                display(mn/10);       
                else
                display(88888888);                               
        }
}


回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91亚洲国产成人久久精品网站 | 久久久久免费精品国产小说色大师 | 精品影院| av电影一区二区 | 久免费视频 | 91精品91久久久 | 久久精品久久久 | 91久操视频 | 欧美精品在线一区二区三区 | 欧洲高清转码区一二区 | 精品国产一区二区久久 | 久久99精品久久久久久狂牛 | 国产成人精品免费视频大全最热 | 国产91精品网站 | 国产99精品| 亚洲va国产日韩欧美精品色婷婷 | a免费在线 | 久久亚洲一区 | 天天看片天天干 | 亚洲美女一区 | 日韩av手机在线观看 | 久久精品视频在线观看 | 天堂亚洲网 | 欧美一级二级三级 | 性色av网站| 人人人人干| 国产精品美女久久久久aⅴ国产馆 | 亚洲乱码国产乱码精品精的特点 | 精品一区av| 久久久在线视频 | 日韩成年人视频在线 | 日韩欧美专区 | 日韩在线精品视频 | 一区精品视频 | 亚洲精品久久久久中文字幕二区 | 亚洲视频免费在线观看 | 免费永久av | 美女午夜影院 | 日韩中出 | 91精品在线播放 | 日本不卡一区 |