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

1 引言

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

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

在数字频率计中,没有采用常用的汇编语言,全部软件用C语言编程。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[0x20

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值