找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3826|回复: 4
收起左侧

小弟想用51检测方波的频率,这个程序运行起来没错误,可是检测不出来

[复制链接]
ID:64712 发表于 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];

/*******************************************************************************
* 函 数 名         : main
* 函数功能     : 主函数
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/
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;  //设置初始值,定时50MS
    TL0 = 0xB0;
    EA = 1;    //打开总中断
    ET0 = 1;   //打开定时器0中断
    TR0 = 1;   //启动定时器0
}
void Timer0() interrupt 1
{
   TH0 = 0x3C;  //设置初始值
    TL0 = 0xB0;
  Time++;
  
}
void IntConfiguration()
{
    EX0 = 1;                                       /* 开外部中断0 */
    IT0 = 1;                                        /* 脉冲触发 */
    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);  
}
回复

使用道具 举报

ID:51090 发表于 2014-8-4 16:36 来自手机 | 显示全部楼层
开发版的光盘里面有现成的程序。而且有两个,一个是用中断测量的,一个是用计数器来测的
回复

使用道具 举报

ID:64712 发表于 2014-8-5 18:35 | 显示全部楼层
xiaojuan 发表于 2014-8-4 16:36
开发版的光盘里面有现成的程序。而且有两个,一个是用中断测量的,一个是用计数器来测的

找到了。。。。谢谢!
回复

使用道具 举报

ID:51090 发表于 2014-8-5 20:18 来自手机 | 显示全部楼层
是数码管显示的
回复

使用道具 举报

ID:44262 发表于 2014-8-21 22:32 来自手机 | 显示全部楼层
用中断和定时器测量频率的话 ,应该不能测量很高的吧!,不过这个方法很简单 还是不错的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表