实验开发板为CT107D蓝桥官方板,编译环境为MDK5

蓝桥的板子仅仅将它当作方波发生器,只需要测频率就行。

操作:

  1. 将P3^4和signal脚用跳线帽短接
  2. 打开定时器0设定为计数器模式
  3. 打开定时器0中断,创建计数变量于中断服务函数中自加
  4. 打开定时器1,设定1s时间标志位,在一秒内测得数值便是频率(数值一秒采集一次)

具体操作见代码

main.c:

/*******************************************************************************
* 文件名:NE555
* 描  述:将P3^4和signal短接,改变RB3改变频率
* 作  者:DE_P
* 日  期: 2019.5.7
* 备  注:CT107单片机综合实训平台 IAP15F2K61S2单片机@11.0592MHZ
*******************************************************************************
*/
#include "config.h"
#include "SMG.h"bit flag1s = 0;  //一秒采集标志位
u32 cnt = 0;       //频率采集计数量void Initsystem();
void Timer1Init();
void Counter0Init();void main()
{Initsystem();Timer1Init();Counter0Init();while(1){if(flag1s){flag1s = 0;Data_Get();cnt = 0;}}
}void Initsystem()
{P2  = (P2 & 0x1F) | 0x80;P0  = 0xFF;P2 &= 0x1F;P2  = (P2 & 0x1F) | 0xA0;P0  = 0x00;P2 &= 0x1F;
}void Timer1Init(void)      //1毫秒@11.0592MHz
{AUXR |= 0x40;     //定时器时钟1T模式TMOD &= 0x0F;       //设置定时器模式TL1 = 0xCD;       //设置定时初值TH1 = 0xD4;        //设置定时初值TF1 = 0;       //清除TF1标志TR1 = 1;      //定时器1开始计时ET1 = 1;EA   = 1;
}
void Service_Timer1() interrupt 3
{static count = 0;TL1 = 0xCD;     //设置定时初值TH1 = 0xD4;        //设置定时初值count ++;if(count >= 1000){flag1s = 1;count  = 0;}SMG_Display();
}void Service_Counter0() interrupt 1
{cnt ++;
}void Counter0Init()
{TMOD &= 0xF0;TMOD |= 0x04;TH0 = 0xFF;TL0 = 0xFF;ET0 = 1;TR0 = 1;
}

config.h:

#ifndef CONFIG_H_
#define CONFIG_H_#include <STC15F2K60S2.h>
#include <intrins.h>typedef unsigned char u8;
typedef unsigned int  u16;
typedef unsigned long u32;#endif

SMG.c:

#include "SMG.h"u8 SMG_Buff[8] = {0xFF ,0xFF ,0xFF ,0xFF ,0xFF ,0xFF ,0xFF ,0xFF ,
};u8 code SMG_Data[] = {0xC0,  //"0"0xF9,  //"1"0xA4,  //"2"0xB0,  //"3"0x99,  //"4"0x92,  //"5"0x82,  //"6"0xF8,  //"7"0x80,  //"8"0x90,  //"9"0x88,  //"A"0x83,  //"B"0xC6,  //"C"0xA1,  //"D"0x86,  //"E"0x8E,  //"F"0x89,  //"H"0xC7,  //"L"0xC8,  //"n"0xC1,  //"u"0x8C,  //"P"0xA3,  //"o"0xBF,  //"-"0xFF,  //熄灭0xFF  //自定义
};void SMG_Display()
{   static u8 index = 0;P2  = (P2 & 0x1F) | 0xE0;P0  = 0xFF;P2 &= 0x1F;P2  = (P2 & 0x1F) | 0xC0;P0  = 0x80 >> index;P2 &= 0x1F;P2  = (P2 & 0x1F) | 0xE0;P0  = SMG_Buff[index];P2 &= 0x1F;index ++;index &= 0x07;
}void Data_Get()
{SMG_Buff[4] = SMG_Data[cnt / 10000];SMG_Buff[3] = SMG_Data[(cnt / 1000) % 10];SMG_Buff[2] = SMG_Data[(cnt / 100) % 10];SMG_Buff[1] = SMG_Data[(cnt / 10) % 10];SMG_Buff[0] = SMG_Data[cnt % 10];
}

SMG.h:

#ifndef SMG_H_
#define SMG_H_#include "config.h"extern u8 code SMG_Data[];
extern u8 SMG_Buff[8];
extern u32 cnt;extern void SMG_Display();
extern void Data_Get();#endif

【蓝桥杯单片机】NE555在CT107D上的使用相关推荐

  1. 蓝桥杯单片机----NE555频率测量

    NE555 (Timer IC)为8脚时基集成电路,NE555是属于555系列的计时IC的其中的一种型号,555系列IC的接脚功能及运用都是相容的,只是型号不同的因其价格不同其稳定度.省电.可产生的振 ...

  2. 蓝桥杯单片机NE555编程

    蓝桥杯单片机中的NE555模块的编程,其实是很简单.简单来说就是计算一秒钟之内有多少个频率响应.中间所谓的频率响应也就是计算定时器作为计数器时候溢出的个数而已.能够考察的点就是这样子了,也要稍微了解, ...

  3. 蓝桥杯单片机组(CT107D 开发板)总结

    目录 添加芯片头文件 两种程序开头写法 使用 reg52.h 开头的程序 使用 stc15f2k60s2.h 开头的程序 上电初始化 软件延时(ms) 数码管显示 定时器初始化 T0 T1 T2 外部 ...

  4. 蓝桥杯单片机-NE555模块

    一.简介 1.NE555在开发板中用于输出频率可变,占空比不变的方波. 2.NE555是纯硬件的设计,通过电位器RB3可改变其信号输出频率.不需要编程实现其功能. 考点:使用定时器的计数模式测量NE5 ...

  5. 蓝桥杯单片机-ADC-A/D转换-测量PCF8591中AIN3通道(滑动变阻器Rb2)的电压

    文章目录 前言 实例程序: 题目 main.c iic.c iic.h 前言 蓝桥杯单片机开发板CT107D中的板载A/D转换芯片PCF8591可进行ADC和DAC的转换,该芯片有4个输入通道; 在该 ...

  6. 蓝桥杯单片机串口通信学习提升笔记

    今日得以继续蓝桥杯国赛备赛之旅: 有道是 "不知何事萦怀抱,醒也无聊,醉也无聊,梦也何曾到谢桥." 那我们该如何 让这位诗人纳兰 "再听乐府曲 ,畅解相思苦"呢 ...

  7. 蓝桥杯单片机 赛后资料整理——NE555芯片模块与第十届省赛的总结

    蓝桥杯单片机 赛后资料整理--NE555芯片模块 电路原理 模块特性 驱动方法 代码模板 个人总结 本文适用于 CT107D竞赛板+ IAP15转接板 电路原理 模块特性 NE555是一种时钟芯片,输 ...

  8. 蓝桥杯单片机学习13——NE555方波发生器频率测量

    NE555 简介 引脚图 原理图 真值表 工作原理 频率测量原理 定时器测量频率方法 代码实现 总结(一堆废话) 简介 NE555是一种高度稳定的控制器,内部用三个阻值为5KΩ的电阻分压,因此叫做55 ...

  9. 蓝桥杯单片机之NE555频率发生计的使用(IO模式)

    蓝桥杯单片机之NE555频率发生计的使用 NE555原理图及基本原理分析 基本控制 设计思路 代码 NE555原理图及基本原理分析 NE555时基芯片的频率输出引脚为NET_SIG,连接着外部排针J3 ...

  10. 蓝桥杯单片机(七)NE555

    上一章讲了蓝桥杯单片机如何输出PWM波 蓝桥杯单片机(六)PWM 这一章讲解蓝桥杯单片机开发板上的NE555方波发射器的频率测量,这也是近几年的考点. 首先看原理图: 由数电的知识: NE555的周期 ...

最新文章

  1. python能做表格吗-python可以用来做excel吗
  2. 海思芯片硬件java加速_海思Hi3719C V100芯片简介
  3. 8. Dropout and Strides For Larger Models
  4. Docker 安装MongoDB 以及 相关配置文件、数据文件映射
  5. 51Nod-1003 阶乘后面0的数量【分析思维】
  6. java计算机毕业设计易医就医购药交互平台源码+系统+mysql数据库+lw文档
  7. 嵌入式-----产品手册----塔吊黑匣子电气安装培训
  8. [6.15] 心态 信念
  9. x程序 Linux,使用XCB编写X Window程序(01):快速起步
  10. 准大二生的暑期自学安排
  11. landesk桌面管理服务器安装篇
  12. 弘辽科技:淘宝客户流失率高怎么办?
  13. 华为云:别在我面前提云栖大会!
  14. html标签的默认样式及去除
  15. mysql 数据截断,注意Mysql数据截断
  16. 这些潮汕美食你真的不来尝一尝?
  17. 我是如何做到自律的?
  18. Nginx使用及可能遇到问题
  19. 阿里巴巴Java开发手册快速学习
  20. Labview中数据类型转换

热门文章

  1. elasticsearch 条件去重_Elasticsearch学习之查询去重
  2. ak和sk怎么认证 海康威视_公有云API的认证方式:AK/SK 简介
  3. Java 蓝桥杯 阶乘计算
  4. hssfworkbook 单元格合并后宽度不生效_一起来学习Excel批量合并单元格的操作技巧...
  5. cdn dashjs_CSS以及JS各种库的在线CDN引用地址
  6. python使用sqlalchemy执行sql查询语句
  7. 配置阿里云docker加速与云镜像配置
  8. i9100美化android.policy.jar,摆脱越狱束缚 三星I9100安装应用更轻松
  9. java的vector是什么类_java中vector类
  10. 小酌一下:Pycharm 2019.1.3 64位版本破解