成为订阅者(免费)

加入29,000名其他订阅者以获得用户销售折扣和 其他免费资源。
:
:
大学教师'担心 - 您的邮件地址完全是 安全的。我保证使用它 只要 to send you MicroZine.

pic频率计数器可达大约50 MHz。


频率计数器是一个有用的补充 engineer'S Toolbox,您可以在此页面上创建设计 自由。所有你需要的是PIC微控制器(或任何具有的微控制器 高速定时器输入模块)和2线LCD显示屏(标准HD44780 一个是在这里使用的一个)。

该PIC频率计数器项目使用LCD显示频率和 PIC定时器1测量输入信号和TIMER0以测量定时 period.

它使用16位计数器模式中的定时器1来计算输入信号边缘和 计数器的溢出累积以提供倍数的总数 65536。结束柜台的当前价值给予总额 count.

选择晶体振荡器为4MHz(FOSC),使处理器 内部时钟为1MHz(FOSC / 4)。您所做的只是数量1E6处理器时钟 (timer0)给出1second计数期。

由于测量时间为1秒,最终计数实际上是 输入信号的频率i.E.输入的输入周期数1秒 是Hz的频率。

pic频率计数器框图

 

使用 1秒测量时间 还提供了频率分辨率 1 Hz.

规格:LCD频率计数器电路

闽频 1Hz
最大频率 ~50MHz (限制输入引脚特性)。

(使用TTL振荡器在20MHz上进行测试)。

输入信号电平 TTL.

注意:精确的最大工作频率由 PIC输入引脚特性。

编译器 mikroelectronika mikroc编译器 自由!
目标 16F877A(重新替换为具有TMR1的其他照片)
软件级别 先进的。
软件说明 中断驱动计数和时间测量。
硬件级别 简单。
硬件笔记 没有任何
项目版本 1.03
项目文件 输入您的详细信息以获得 下载 Link
并获得微控制器通讯:


(注意:您的电子邮件安全它永远不会 be sold or rented).
你会 get 一切C源代码和十六进制文件。

注意:检查您的电子邮件以获取项目代码下载 link.

对于该电路和笔记的一般操作理论 在频率计数上 pic 频率计数器点击此处。

使用LCD和TMR0的PIC频率计数器原理图and TMR1.
(单击图表以打开PDF)


使用LCD和TMR0的PIC频率计数器原理图& TMR1.

pic频率计数器硬件

硬件简单,主块显示在 diagram below.

pic频率计数器

LCD用于4位模式界面,因此您只需要4个数据线 三个控制线,然后配合到一个8位端口。

晶体振荡器只是晶体和两个电容器 连接到OSC1和OSC2的PIC振荡器端口。电容器都可以 除非您想要使用频率调整它,否则固定在相同的值 参考。如果你不'T有准确的参考然后使用固定 capacitors.

pic Micro可以是具有计时器0和计时器1的任何类型 硬件模块和具有足够的内存来保持程序〜1.6k字。

LED被切换以指示处理器还活着 - 所以 如果没有输入信号,您可以告诉软件正在运行。也是如果 没有输入信号LCD显示闪烁零。

您可以通过电路中的PIC编程 ICSP. 电路连接器。

描述

时间使用1秒计时Timer0。由于主时钟正在运行 4MHz然后处理器时钟(FOSC / 4)是1MHz,这是TIMER0的速率 设置为使用即内部时钟。因此,我们需要获得1秒钟 使用该计时器计数。由于计时器只有8位,你可以使用 事实上,当它溢出时会产生中断 - 然后你可以计算 这些溢出到靠近1E6的计数。

由于每次计数器通过256时,都会发生溢出 计数1E6 / 256溢出

1E6 / 256 = 3906.25

我们只能计算整数溢出所以必须操纵最后一次计数 确切的时间。所以我们需要1E6和256的模量:

1E6%256为64(0.25 * 256为64)。

通过计数3906,中断例程在归零后开始关闭 溢出,然后控制指示的标志变量(do_tmr0_end_count) 这是Timer0值设置为溢出后的最后一个溢出 64 Fosc/4 cycles:

TMR0 = 256-64 + 2; // 2循环写入时丢失 TMR0 so add 2.

在最后一个溢出结束时,捕获Timer1的值:

st_tmr1l.

st_tmr1h.

st_tmr1_ovfl.

LCD更新请求将从中断例程发送到主程序 通过设置标志(update_lcd)和主例程,然后使用ltoa计算 并输出频率测量,然后在LCD上显示。

pic频率计数器软件

pic频率计数器的项目文件

编译器项目文件
频率_counter_4mhz_lcd_tmr1.mcppi.

这是主要项目文件。

自Mikroc Version 6.0.4似乎需要以来还有其他文件 超过v5!只需将它们保留在项目文件夹中。

C源文件。
频率_counter_4mhz_lcd_tmr1.c.
ltoa.c.

标题文件。
比特
ltoa.h.

输出文件
频率_counter_4mhz_lcd_tmr1.hex.

有关编译这些文件的教程 点击 here.

如果,您只需重新编译PIC频率计数器文件 您希望更改源代码或检查代码如何使用的方式使用 自六角文件以编程芯片的六角文件内置的模拟器内置 download.

简要描述;简介

  • 频率_count ... c:包含代码开始点(在例程中'main') 和中断例程。
  • ltoa.c.包含一个用于显示的ASCII转换器 frequency count.
  • Bit.h:包含BIT操作的宏。

所有其他头文件都包含原型。

pic频率计数器代码操作。

该代码使用内置的LCD驱动程序例程 编译器自动包含。注意自动包括是不寻常的,但 它似乎在mikroc工作得很好。

中断仅使用可能轮询的标志 (定时器溢出)被激活。

频率_counter_4mhz_lcd_tmr1.c.

此文件包含端口初始化,中断和主要 routine.

初始化后,代码进入无限循环 连续执行测量和显示操作。经过准确的1 第二次延迟将计数器结果进行处理并显示在LCD上。

此代码的主要操作在中断例程中 计算输入边缘并通过计算边缘来获得准确的1s时间 内部振荡器时钟(FOSC / 4)。

中断

这个计数器中最重要的部分是中断()例程。这是 所有行动和决策都是在哪里。

Timer1的中断代码非常简单,只需递增a 用于计数多个输入事件的长变量。

对于计时器0,更棘手的中断代码,如上所述计数时间。 它计入3906溢出,后跟单个64个循环计数达到时间 1秒之后,它捕获了事件计数,然后触发更新 LCD计算和显示频率。更新触发了操作 in main().

比特

这包含应为的位操作的宏 编译器独立。

新的! Comments

让你说到你刚刚阅读的东西!留下下面的框中的评论。


跳跃 pic频率计数器 page to
最佳微控制器项目主页。






隐私政策 | 接触 | 关于我

网站地图 | 使用条款



ezoic.报告此广告

访问我们的Facebook页面:

   点击这里



最近的文章

  1. 如何使用ADS1115

    使用ADS1115精度16位ADC进行教程进行低功耗。

    阅读更多

  2. arduino.模拟输出...易模拟输出生成

    arduino.模拟输出:如何创建最精确的PWM模拟输出以及如何创建模拟PWM正弦波。

    阅读更多

  3. 数号和等效的快速宏。加快代码!

    了解DigitalWrite()的工作原理......现在使用17倍宏宏!

    阅读更多

  4. TCS230颜色传感芯片:如何运作以及如何使用它。

    如何使用TCS230(/ TCS3200)彩色检测器芯片并轻松将其添加到您的任何项目中。

    阅读更多

  5. 如何使用ADXL345进行运动感测等。

    使用ADXL345 Acellerometer,您可以检测到16G!您还可以了解如何使用它来点击检测等。

    阅读更多

  6. HMC5883L 3轴数字MAGENTOMTER如何运作

    HMC5883L - 如何制作数字罗盘,了解HMC5883L和QMC5883L之间的差异以及它们是否兼容。

    阅读更多



读者 Comments

"I wanted to thank
你这么好
对于所有信息
你已经提供了
你的网站's

高超极好的."

- 逃亡Potthath.

"This site really is
最好的和我最喜欢的。
我发现这里有很多很有用
项目和提示。"

- 米兰

Bursach.<at>gmail.com<

"Awesome site,
非常,非常容易和好
导航!"


-
镭_tr.<at>
wolf359.cjb.net.


学习微控制器

"Interested in
微控制器?"

注册
免费7天指南:

自由 GUIDE : CLICK HERE


"I am a newbie to PIC
我想说
 how great your
网站一直在为我。"


- 戴夫

de_scott.<at>bellsouth.net

"Your site is a great
和完美的工作。
恭喜。"


- SURESH.

IntegratedInfosys.<at>
Yahoo.com.

"I couldn't find the correct
要定义的词语
你的网页。

非常有用,揭开,
诚实明确。

非常感谢
你的时间和作品。
问候。"


- Anon.

回到顶部