新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 数字频率计中C语言编程的研究

数字频率计中C语言编程的研究

作者:时间:2012-07-04来源:网络收藏
1 引言

  为了实现智能化的电子计数测频,实现一个宽领域、高精度的频率计,一种有效的方法是运用单片机测量频率。采用单片机、接口芯片以及分频电路实现频率的自动分频。根据计数值、分频系数,求出周期T,得到待测频率。

2 C51语言使用中几个关键问题

  在中,没有采用常用的汇编语言,全部软件用。8051单片机的C语言编译器简称C51。C51程序有且仅有一个名为main的主程序。

  (l)用#include在C语言源程序中包含库文件。例如:#include〈reg51.h〉
  (2)为了能直接访问特殊功能SFR,C51提供了一种自主形式的定义方法,这是标准C语言中所没有的,仅适于单片机编程。例如:sfr TMOD=OX89;
  (3)对于片外的I/O扩展,用“#define',语句进行定义。如:#define PORT A XBYTE[0xffc0];
  (4)实时中断程序的编程方法。中断函数的声明方法如下:
    void函数名>(void)interrupt【中断向量代号][using[内部组代号]

3 主程序设计

  在主程序中声明库文件,定义8155的口地址和所有全局变量。显示函数说明以及定时器和8155的初始化。点亮启动标志灯。设置外部中断为边沿触发。设置分频系数初值并测周期。进行分频系数的判断,读周期值并将其转换成频率。调用显示程序,完成显示频率的功能。

   #include
   #include
   #include
   #define uchar unsigned char
   #define uint unsigned int
   #define COM8155XBYTE[0x2000]
   #define PA8155XBYTE[0x2001]
   #define PB8155XBYTE【0x2002]
   #define PC8155XBYTE[0x2003]
  float fre; float mid,total,v,c,g
  uint j=0,par=0x01,fen2=0x80,fenl=0x00.p;
  bit rflag1,rflag2;

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭