avr单片机智能频率计的设计

发布者:创新思维最新更新时间:2019-10-14 来源: eefocus关键字:avr  单片机  智能频率计 手机看文章 扫描二维码
随时随地手机看文章

智能频率计仿真原理图如下

单片机源程序如下:


#ifndef main_c   //test ok

#define main_c

#endif 


#include "main.h"

//************************全局变量


volatile uint t0_cont;


volatile uint t1_cont;

volatile uchar flg1; //

//-------------------------------------------------------------------------

//     测试函数 用来初始化

//-------------------------------------------------------------------------

void test()

{

  send_str( "pinlvji" ); //完成后把所有串口去掉

  showstr( "cymometer", 1, 1, 9 ); //液晶显示

//  showstr( "1KHz", 12, 1, 4 );

  showstr( "Hz", 14, 2, 2 );

}


//-------------------------------------------------------------------------

//mcu初始化 端口 定时器 中断 外中断 变量

//-------------------------------------------------------------------------

void mcu_init()

{

//******************端口

  data_direc = out; //输出

  DDRB = out; //输出

  DDRC = out; //输出

  PORTC = 0X00; //输出0


  DDRB=0XE0;   //输入口       

  PORTB=0XE9;

//********************定时器

  TIMSK |= 0x12; //定时中断允许位 只允许两个匹配

}


//-------------------------------------------------------------------------

//       主函数 

//-------------------------------------------------------------------------

int main()

{

  uchar f_t; //用测频还是测周

//******************

  mcu_init();                 //初始化

  usart_init( 57600 );        //初始化

  send_str( "com ok" ); //完成后把所有串口去掉

  yj_set( 0x38, 0x0f, 0x06 ); //初始化

  clearall(); //初始化

  mzd_on();   //开中断


  #if debug

    test();

  #endif 


  while ( 1 )

  {

    if ( !( PINB& ( 1 << 3 )))

    {

      refish();       //刷新所有的东西

      f_t = hz_try(); //估计范围 1k

      if ( f_t )

      {

        cl_f(); //频率法

      }

      else

      {

        cl_t(); //周期法

      }

    }

  }

  return 1;

}


关键字:avr  单片机  智能频率计 引用地址:avr单片机智能频率计的设计

上一篇:ATMEL系列MCU在线升级bootloader固件源码及操作过程
下一篇:nrf24l01无线芯片的开发板范例-AVR(已验证通过)

推荐阅读最新更新时间:2024-11-03 20:46

51单片机 按键控制LED流水灯模式
1.将之前文件中Delay.c.h复制过来,进行添加 2.模块化编程 3.main.c #include REGX52.H #include Timer0.h #include Key.h #include INTRINS.H unsigned char KeyNum,LEDMode; void main() { P2=0xFE; Timer0Init(); while(1) { KeyNum=Key(); if(KeyNum==1) { LEDMode++; if(LEDMode =2)LEDMode=0; } } } void Timer
[单片机]
51<font color='red'>单片机</font> 按键控制LED流水灯模式
单片机AT89C51 00——99带倒计时计数器
1. 设计任务 (1. 上电时显示“00”,第一次按下SP1后就开始计数。 (2. 第二次按SP1后,计数停止。 (3. 第三次按SP1后,计数清零。 (4. 第四次按下倒计时 。 2. 电路的原理图 3. 系统板上硬件连线 (1.把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。 (2.把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P2.0/A8对应着a,P2.1/
[单片机]
<font color='red'>单片机</font>AT89C51 00——99带倒计时计数器
IAR For AVR -- LCD1602
LCD1602的端口大多一样,这里不多说,可以找找 长沙太阳人的datasheet。 下面是程序,定义在程序里很明显,要注意的是背光是用三极管控制的,但是效果不是很好,反而不如直接接。 源代码包括三个文件:LCD1602.C , main.c ,delay.h /+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/ LCD1602.C /+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/ #include iom16.h #includ
[单片机]
51单片机的4x4矩阵键盘扫描例程(C51)
//4x4矩阵键盘扫描例程(C51) //使用P0口上的LED灯显示4x4键盘扫描得到的键值 // //广西民大物电学院 李映超 2010.4.19 #include reg52.h //52系列单片机头文件 #define uchar unsigned char #define uint unsigned int #define key_4x4_port P3 //定义4x4键盘使用的单片机端口 uchar key; //4x4键盘扫描所得的键值保存到这里 void delayms(uint xms); //声明延时子函数 void key_4x4_s
[单片机]
一种迷你数控雕刻机系统的设计方案
0 引言 随着艺术模型、机械加工、工装模具等产业的飞速发展,对加工设备提出的要求越来越高,雕刻机作为上述产业的重要组成部分也发生了快速的发展。 目前,传统雕刻机体积大、操作复杂、售价高。不仅需要专门的计算机搭载专门的软件,还需要专业操作人员进行控制,而且传统雕刻机主要用于批量生产,对于一些雕刻机爱好者和模具设计师想利用雕刻机雕刻单件自己设计的作品,传统雕刻机专业性强,费用高,不切实际。此外,一些传统的雕刻机使用之前需要人工通过转动三轴方向的手轮对雕刻头进行初步定位,精度、效率低。还有一些高端雕刻机采用软件对雕刻头初步定位,但是设备昂贵。 鉴于此,精心设计了一种迷你数控雕刻机系统。该系统不仅操作简单、方便,而且雕刻头初步定位精
[单片机]
一种迷你数控雕刻机系统的设计方案
单片机结构化编程
模块划分的 划 是规划的意思,意指怎样合理的将一个很大的软件划分为一系列功能独立的部分合作完成系统的需求。C语言作为一种结构化的程序设计语言,在模块的划分上主要依据功能(依功能进行划分在面向对象设计中成为一个错误,牛顿定律遇到了 相对论), C语言模块化程序设计需理解如下概念: (1) 模块即是一个.c文件和一个.h文件的结合,头文件(.h)中是对于该模块接口的声明; (2) 某模块提供给其它模块调用的外部函数及数据需在.h中文件中冠以extern关键字声明; (3) 模块内的函数和全局变量需在.c文件开头冠以static关键字声明; (4) 永远不要在.h文件中定义变量!定义变量和声明变量的区别在于定义会产生内存分配的操作,是汇
[单片机]
TI推出新MCU打造更小型更智能便携式医疗设备
日前,德州仪器 (TI) 宣布推出全新 MSP430FG47x 超低功耗微处理器 (MCU) 产品系列,以充分满足工程师对可提供低功耗、高性能以及有针对性外设集成等特性的 MCU的需求,帮助他们迅速高效地开发具有可靠性、便捷性以及低成本等优势的医疗设备。FG47x MCU 实现了完整信号链的片上集成,不但可降低设计复杂性,而且还可显著节省空间与成本。这些器件将帮助开发人员改进医疗服务质量与产品易用性,满足血糖计、数字体温表、脉搏血氧计以及血压/心率监测器等多种产品的需求。 MSP430FG47x 的主要特性与优势 • 片上集成了完整的信号链,包括两个可配置的运算放大器、12 位数模转换器 (DAC)、比较器以及
[单片机]
TI推出新<font color='red'>MCU</font>打造更小型更<font color='red'>智能</font>便携式医疗设备
贸泽开售Microchip WBZ350射频就绪多协议MCU模块 简化无线应用开发并加快上市速度
2024年10月18日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售Microchip Technology的WBZ350射频就绪多协议MCU模块。 WBZ350模块是PIC32CX-BZ系列的一款安全型32位MCU,内置了蓝牙和Zigbee®无线功能。此射频就绪模块专为需要可靠无线连接的应用而设计,包括用于智能工厂和过程自动化的物联网(IoT)设备、家庭自动化和智能照明系统、具有无线数据控制功能的健康和健身可穿戴设备以及楼宇自动化系统。 Microchip Technology WBZ350射频就绪多协议MCU模块配备64MHz Arm
[半导体设计/制造]
贸泽开售Microchip WBZ350射频就绪多协议<font color='red'>MCU</font>模块   简化无线应用开发并加快上市速度
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved