/*
* @Description:
* @Version: 2.0
* @Autor: JinChao
* @Date: 2023-11-25 21:26:52
* @LastEditors: JinChao
* @LastEditTime: 2023-12-03 11:17:46
*/
#include "reg52.h"
#include "seg.h"
typedef unsigned int uint16;
typedef unsigned char uint8;
sfr AUXR = 0x8e;
uint16 count = 0;
void Timer0_Init(void) //计数器0初始化
{
TMOD &= 0xF0; //设置定时器模式
TMOD |= 0x05; //设置定时器模式
TL0 = 0x00; //设置计数初始值
TH0 = 0x00; //设置计数初始值
TF0 = 0; //清除TF0标志
TR0 = 1; //允许计数器计数
ET0 = 0; //禁止计数器中断
}
void Timer1_Init(void) //2毫秒@12.000MHz
{
AUXR |= 0x40; //定时器时钟1T模式
TMOD &= 0x0F; //设置定时器模式
TL1 = 0x40; //设置定时初始值
TH1 = 0xA2; //设置定时初始值
TF1 = 0; //清除TF1标志
TR1 = 1; //定时器1开始计时
ET1 = 1;
}
uint16 get_count()
{
uint16 count_tmp = TH0 << 8 | TL0;
TL0 = 0x00; // 设置定时初始值
TH0 = 0x00; // 设置定时初始值
if (TF0)
return 0xffff;
else
return count_tmp;
}
void main()
{
Timer0_Init();
Timer1_Init();
EA = 1;
while(1)
{
int i;
}
}
uint16 timer1_2ms = 0;
void Timer1_Isr(void) interrupt 3
{
seg_server();
timer1_2ms = (timer1_2ms + 1) % 500;
if(timer1_2ms == 0)
{
count = get_count();
seg_buff[0] = seg_value[count/10000%10];
seg_buff[1] = seg_value[count/1000%10];
seg_buff[2] = seg_value[count/100%10];
seg_buff[3] = seg_value[count/10%10];
seg_buff[4] = seg_value[count%10];
}
}
蓝桥杯单片机ne555频率代码
需积分: 0 165 浏览量
更新于2023-12-10
1
收藏 25KB ZIP 举报
"蓝桥杯单片机ne555频率代码"涉及到的是单片机编程领域的一个经典应用,即利用NE555定时器芯片进行频率测量。在电子工程和嵌入式系统设计中,NE555定时器是一个常用的集成电路,它能够执行多种功能,包括振荡器、定时器和脉冲发生器。在蓝桥杯竞赛中,参赛者可能需要利用NE555来设计和实现频率测量方案,以解决实际问题或完成特定任务。
"ne555频率测定的简单代码"指的是用编程语言编写的程序,用于读取NE555定时器产生的信号,然后计算并显示其频率。这个过程通常包括以下步骤:
1. **硬件连接**:单片机需要通过合适的接口(如GPIO引脚)连接到NE555的输出端,以便捕获其产生的时钟脉冲。
2. **中断机制**:为了精确地测量频率,程序通常会利用单片机的中断机制。当NE555的输出脉冲到来时,中断服务程序会被调用,记录下时间戳。
3. **计数与计算**:在中断服务程序中,单片机会增加一个计数器,表示接收到的脉冲数量。一段时间后(例如1秒),停止计数,计算这段时间内接收到的脉冲数,然后通过公式`频率 = 计数 / 时间`来确定频率。
4. **显示与通信**:测量结果通常需要在LCD屏幕或通过串口通信传输到计算机上显示。这需要单片机有相应的显示或通信驱动程序。
"单片机 蓝桥杯"表明这是针对蓝桥杯竞赛的单片机项目。蓝桥杯是面向全国高校学生的一项专业IT技能竞赛,涵盖了软件和硬件等多个方向。在单片机赛道,参赛者需要掌握C语言编程、硬件接口设计以及实际电路应用等多方面知识。
在实际编写这样的频率测量代码时,可能会使用如C或汇编语言,并且需要了解所用单片机的指令集和开发环境。例如,对于常见的8051单片机,可能使用Keil μVision作为IDE,编写代码时需要考虑单片机的内存限制、中断处理流程和时钟系统等。同时,还需要对NE555的工作原理有深入理解,包括其内部结构、工作模式(定时器、振荡器或比较器)以及如何设置阈值电压以产生所需频率的脉冲。
"蓝桥杯单片机ne555频率代码"这一主题涵盖了单片机编程、中断处理、定时器应用、信号测量以及电路设计等多个知识点,对于参与蓝桥杯竞赛的学生而言,是提升技能和解决问题的重要实践。
墨璃超
- 粉丝: 16
- 资源: 1
最新资源
- 【创新无忧】基于海鸥优化算法SOA优化相关向量机RVM实现数据多输入单输出回归预测附matlab代码.rar
- 【创新无忧】基于海鸥优化算法SOA优化相关向量机RVM实现北半球光伏数据预测附matlab代码.rar
- 【创新无忧】基于海洋捕食者优化算法MPA优化广义神经网络GRNN实现数据回归预测附matlab代码.rar
- 【创新无忧】基于海洋捕食者优化算法MPA优化极限学习机ELM实现乳腺肿瘤诊断附matlab代码.rar
- 【创新无忧】基于海洋捕食者优化算法MPA优化广义神经网络GRNN实现光伏预测附matlab代码.rar
- 【创新无忧】基于海洋捕食者优化算法MPA优化相关向量机RVM实现数据多输入单输出回归预测附matlab代码.rar
- 【创新无忧】基于海洋捕食者优化算法MPA优化极限学习机KELM实现故障诊断附matlab代码.rar
- 【创新无忧】基于海洋捕食者优化算法MPA优化相关向量机RVM实现北半球光伏数据预测附matlab代码.rar
- wqeqdqdswqdqa
- Python项目资源1
- Lecture 4-August 10.pptx
- BT201 Quiz 1 2021.pdf
- Lecture 5-August 11.pptx
- Lecture 6-August 23 (Tutorial).pptx
- Lecture 7-August 24.pptx
- 基于 nodejs 的电影天堂爬虫高分项目+详细文档+全部资料.zip