找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 4452|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

小弟想用51檢測方波的頻率,這個程序運行起來沒錯誤,可是檢測不出來

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:64712 發(fā)表于 2014-8-4 09:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
//用51單片機檢測方波的頻率
#include<reg51.h>
#include"lcd.h"
void TimerConfiguration();
void LcdDisplay();
void IntConfiguration();
unsigned char Time;
unsigned  char  count;
unsigned char shu[4];

/*******************************************************************************
* 函 數(shù) 名         : main
* 函數(shù)功能     : 主函數(shù)
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/
void main(void)
{        

LcdInit();
TimerConfiguration();
count=0;
IntConfiguration();
   
  while(1)
{  
  
    if(Time==20)
{
    LcdDisplay();
   count=0;
   Time=0;
}
   }   
}
void TimerConfiguration()
{
    TMOD = 0x01; //選擇工作方式1
    TH0 = 0x3C;  //設(shè)置初始值,定時50MS
    TL0 = 0xB0;
    EA = 1;    //打開總中斷
    ET0 = 1;   //打開定時器0中斷
    TR0 = 1;   //啟動定時器0
}
void Timer0() interrupt 1
{
   TH0 = 0x3C;  //設(shè)置初始值
    TL0 = 0xB0;
  Time++;
  
}
void IntConfiguration()
{
    EX0 = 1;                                       /* 開外部中斷0 */
    IT0 = 1;                                        /* 脈沖觸發(fā) */
    EA  = 1;                                      /* 開總中斷 */
}
void Int0() interrupt 0
{
    count++;                                 
}
void LcdDisplay()
{  
  unsigned char a,b,c;
shu[0]=count/1000;
a=count%1000;
shu[1]=a/100;
b=a%100;
shu[2]=b/10;
c=b%10;
shu[3]=c;
LcdWriteCom(0x80);
LcdWriteData('0'+shu[0]&0x0f);
LcdWriteData('0'+shu[1]&0x0f);   
LcdWriteData('0'+shu[2]&0x0f);
LcdWriteData('0'+shu[3]&0x0f);  
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:51090 發(fā)表于 2014-8-4 16:36 來自觸屏版 | 只看該作者
開發(fā)版的光盤里面有現(xiàn)成的程序。而且有兩個,一個是用中斷測量的,一個是用計數(shù)器來測的
回復(fù)

使用道具 舉報

板凳
ID:64712 發(fā)表于 2014-8-5 18:35 | 只看該作者
xiaojuan 發(fā)表于 2014-8-4 16:36
開發(fā)版的光盤里面有現(xiàn)成的程序。而且有兩個,一個是用中斷測量的,一個是用計數(shù)器來測的

找到了。。。。謝謝!
回復(fù)

使用道具 舉報

地板
ID:51090 發(fā)表于 2014-8-5 20:18 來自觸屏版 | 只看該作者
是數(shù)碼管顯示的
回復(fù)

使用道具 舉報

5#
ID:44262 發(fā)表于 2014-8-21 22:32 來自觸屏版 | 只看該作者
用中斷和定時器測量頻率的話 ,應(yīng)該不能測量很高的吧!,不過這個方法很簡單 還是不錯的
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表