基于51单片机风速仪风速测量报警数码管显示
- 1. 主要功能:
- 2. 讲解视频:
- 3. 仿真
- 4. 程序代码
- 5. 设计报告
- 6. 设计资料内容清单&&下载链接
- 资料下载链接:
基于51单片机风速仪风速测量报警数码管显示( proteus仿真+程序+设计报告+讲解视频)
仿真图proteus7.8及以上
程序编译器:keil 4/keil 5
编程语言:C语言
设计编号:S0070
1. 主要功能:
基于51单片机的风速测量仪proteus仿真设计
1.数码管显示检测到的风速等级和风速等级报警值;
2.可以通过按键调整风速等级报警值;
3.风速等级低于报警值工作指示灯绿灯亮。
风速等级高于阈值蜂鸣器报警,工作指示灯红灯亮;
4.可以实时调整风速等级并显示。
需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。
2. 讲解视频:
讲解视频包含仿真运行讲解和代码讲解
3. 仿真
本设计中使用ADC0832+风扇传感器做ADC转换检测风速。
风速传感器采用小型直流有刷电机与三杯式旋转风杯组装而成,其工作原理为,当环境有水平流动风时,旋转风杯能够产生旋转,并带动小型电机产生电压,其电压与旋转速度基本成正比。利用此信号电压,可以对环境风速进行测量。这款风速传感器采用海洋军用的高精度测量风速传感器,与传统产品先别,具有更高精度:是建筑机械(起重机、履带吊、门吊、塔吊)、铁路、港口、码头、风力发电、光伏发电、电厂、气象、索道、环境、温室、养殖等领域不可缺少的风速检测装置。用它可以实现设备风速指示数字化及自动化,是相关设备不可缺少的风速检测设备。
在单片机系统中,ADC0832可以将外部模拟信号转换为数字信号,便于单片机进行处理和控制。以风速测量为例,ADC0832可以将风速传感器的电压输出转换为数字信号,单片机通过读取ADC0832的输出值即可获取当前的风速级别。Proteus仿真软件没有对应的风速传感器,使用滑动变阻器替代。
打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后数码管显示当前测量的风速级别是8级风,风速级数报警值8级,工作指示灯绿灯亮。
通过点击滑动变阻器的阻值调整,风速高于上限值后,蜂鸣器报警,工作指示灯红灯亮。
可以通过按键调整报警值
4. 程序代码
使用keil4或者keil5编译,代码有注释,可以结合报告理解代码含义。
程序设计包含以下几点关键程序
a. 编写单片机程序,读取风速传感器的数据,并通过数码管显示屏显示当前风速浓度。
void main()
{
TMOD|=0X01;
TH0=0X3C;
TL0=0XB0;
ET0=1;//打开定时器0中断允许
EA=1;//打开总中断
TR0=1;//打开定时器
beepflag = 0;
{
P0=smgduan[num/1000];//显示风速度
P2=0xfe;
delay(100);
P2=0xff;
P0=smgduan[num%1000/100];//显示风速度
P2=0xfd;
delay(100);
P2=0xff;
P0=smgduan[num%100/10];//显示风速度
// P0 =P0|0x80; //加小数点
P2=0xfb;
delay(100);
P2=0xff;
P0=smgduan[num%10];//显示风速度
P2=0xf7;
delay(100);
P2=0xff;
P0=smgduan[limit/1000];//显示风速度阀值
P2=0xef;
delay(100);
P2=0xff;
P0=smgduan[limit%1000/100];//显示风速度阀值
P2=0xdf;
delay(100);
P2=0xff;
P0=smgduan[limit%100/10];//显示风速度阀值
P2=0xbf;
delay(100);
P2=0xff;
P0=smgduan[limit%10];//显示风速度阀值
P2=0x7f;
delay(100);
P2=0xff;
}
void Timer0() interrupt 1//定时器中断
{
TH0=0X3C; //50ms中断
TL0=0XB0;
if(cnt==20){//1秒一次
cnt = 0;
if(num>limit*10){//报警
if(beepflag<10)beepflag++;//10秒计数
}else{
beep=1;
beepflag = 0;
}
if(beepflag<10&&num>limit*10){//响10秒
beep=0;
}else{
beep=1;
}
}
num=ADC();
num=num*2;//(10.1/128)*128;
cnt++;
}
void Timer0() interrupt 1//定时器中断
{
TH0=0X3C; //50ms中断
TL0=0XB0;
if(cnt==20){//1秒一次
cnt = 0;
if(num>limit){//报警
beep=0;
LED_RED=0; //红色报警灯 亮
LED_GREEN=1; //绿色报警灯 灭
}else{
beep=1;
LED_RED=1; //红色报警灯 灭
LED_GREEN=0; //绿色报警灯 亮
}
}
num=ADC()*2; //有分压电路
// num=num*20;//(10.1/128)*128;
num=num*5.0*100*2/255; //AD值转换为相应电压值
num=num*0.027;
cnt++;
}
在外部中断设置风速浓度上下限值。
void jia() interrupt 0//按键 外部中断0处理函数
{
if(limit<20)
limit=limit+1;
else
limit=0;
}
void jian() interrupt 2//按键 外部中断1处理函数
{
if(limit>0)
limit=limit-1;
else
limit=20;
}
5. 设计报告
5667字设计报告,内容包括硬件设计、软件设计、软硬件框图、调试、结论等
在气象监测领域,风速测量仪作为一种重要的工具,其精确度和智能化程度对气象预报和环境监测具有深远的影响。传统的风速测量仪往往存在着测量精度不高、智能化程度低等问题,无法满足现代气象预报和环境监测的需求。因此,本研究致力于设计一款基于51单片机的风速测量仪,以解决这些问题。
本研究的核心目标是利用51单片机的高度集成性和可编程性,设计一款精确度高、智能化程度高的风速测量仪。我们将利用Proteus软件进行仿真设计,以验证设计的可行性和正确性。通过Proteus软件,我们可以模拟实际的工作环境,对风速测量仪进行全面的测试和优化。
除了基本的测量功能外,这款风速测量仪还将具备实时测量与显示功能。用户可以通过显示屏随时查看当前的风速等级,了解气象状况。此外,风速测量仪还将具备风速等级报警功能。当风速超过预设的安全阈值时,仪器将自动发出警报,提醒用户采取相应的措施。
6. 设计资料内容清单&&下载链接
资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。
0、常见使用问题及解决方法–必读!!!!
1、程序
2、proteus仿真
3、功能要求
4、软硬件流程图
5、开题报告
6、设计报告
7、讲解视频
Altium Designer 安装破解
KEIL+proteus 单片机仿真设计教程
KEIL安装破解
MQ-2烟雾传感器.pdf
Proteus元器件查找
Proteus安装
Proteus简易使用教程
单片机学习资料
相关数据手册
答辩技巧
设计报告常用描述
鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url
资料下载链接:
https://docs.qq.com/doc/DS0p5SkdwTmV4aUNr