基于51单片机风速仪风速测量台风预警数码管显示

2024-03-05 21:04

本文主要是介绍基于51单片机风速仪风速测量台风预警数码管显示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于51单片机风速仪风速测量报警数码管显示

  • 1. 主要功能:
  • 2. 讲解视频:
  • 3. 仿真
  • 4. 程序代码
  • 5. 设计报告
  • 6. 设计资料内容清单&&下载链接
      • 资料下载链接:

基于51单片机风速仪风速测量报警数码管显示( proteus仿真+程序+设计报告+讲解视频)

仿真图proteus7.8及以上

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:S0070

1. 主要功能:

基于51单片机的风速测量仪proteus仿真设计

1.数码管显示检测到的风速等级和风速等级报警值;

2.可以通过按键调整风速等级报警值;

3.风速等级低于报警值工作指示灯绿灯亮。

风速等级高于阈值蜂鸣器报警,工作指示灯红灯亮;

4.可以实时调整风速等级并显示。

img

需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。

2. 讲解视频:

讲解视频包含仿真运行讲解和代码讲解

3. 仿真

本设计中使用ADC0832+风扇传感器做ADC转换检测风速。

风速传感器采用小型直流有刷电机与三杯式旋转风杯组装而成,其工作原理为,当环境有水平流动风时,旋转风杯能够产生旋转,并带动小型电机产生电压,其电压与旋转速度基本成正比。利用此信号电压,可以对环境风速进行测量。这款风速传感器采用海洋军用的高精度测量风速传感器,与传统产品先别,具有更高精度:是建筑机械(起重机、履带吊、门吊、塔吊)、铁路、港口、码头、风力发电、光伏发电、电厂、气象、索道、环境、温室、养殖等领域不可缺少的风速检测装置。用它可以实现设备风速指示数字化及自动化,是相关设备不可缺少的风速检测设备。

img

在单片机系统中,ADC0832可以将外部模拟信号转换为数字信号,便于单片机进行处理和控制。以风速测量为例,ADC0832可以将风速传感器的电压输出转换为数字信号,单片机通过读取ADC0832的输出值即可获取当前的风速级别。Proteus仿真软件没有对应的风速传感器,使用滑动变阻器替代。

img

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后数码管显示当前测量的风速级别是8级风,风速级数报警值8级,工作指示灯绿灯亮。

img

通过点击滑动变阻器的阻值调整,风速高于上限值后,蜂鸣器报警,工作指示灯红灯亮。

img

可以通过按键调整报警值

img

4. 程序代码

使用keil4或者keil5编译,代码有注释,可以结合报告理解代码含义。

img

程序设计包含以下几点关键程序

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;elselimit=0;
}
void jian() interrupt 2//按键 外部中断1处理函数
{if(limit>0)limit=limit-1;elselimit=20;
}

5. 设计报告

5667字设计报告,内容包括硬件设计、软件设计、软硬件框图、调试、结论等

img

在气象监测领域,风速测量仪作为一种重要的工具,其精确度和智能化程度对气象预报和环境监测具有深远的影响。传统的风速测量仪往往存在着测量精度不高、智能化程度低等问题,无法满足现代气象预报和环境监测的需求。因此,本研究致力于设计一款基于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

img

资料下载链接:

https://docs.qq.com/doc/DS0p5SkdwTmV4aUNr

这篇关于基于51单片机风速仪风速测量台风预警数码管显示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/777800

相关文章

如何设置vim永久显示行号

《如何设置vim永久显示行号》在Linux环境下,vim默认不显示行号,这在程序编译出错时定位错误语句非常不便,通过修改vim配置文件vimrc,可以在每次打开vim时永久显示行号... 目录设置vim永久显示行号1.临时显示行号2.永www.chinasem.cn久显示行号总结设置vim永久显示行号在li

电脑显示hdmi无信号怎么办? 电脑显示器无信号的终极解决指南

《电脑显示hdmi无信号怎么办?电脑显示器无信号的终极解决指南》HDMI无信号的问题却让人头疼不已,遇到这种情况该怎么办?针对这种情况,我们可以采取一系列步骤来逐一排查并解决问题,以下是详细的方法... 无论你是试图为笔记本电脑设置多个显示器还是使用外部显示器,都可能会弹出“无HDMI信号”错误。此消息可能

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始,按照书籍的划分,第10章开始就进入保护模式(Protected Mode)部分了,感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。 我自己理解中断的一些作用: 为了更好的利用处理器的性能。协同快速和慢速设备一起工作

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

day-51 合并零之间的节点

思路 直接遍历链表即可,遇到val=0跳过,val非零则加在一起,最后返回即可 解题过程 返回链表可以有头结点,方便插入,返回head.next Code /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}*

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

单片机毕业设计基于单片机的智能门禁系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍程序代码部分参考 设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订

C# dateTimePicker 显示年月日,时分秒

dateTimePicker默认只显示日期,如果需要显示年月日,时分秒,只需要以下两步: 1.dateTimePicker1.Format = DateTimePickerFormat.Time 2.dateTimePicker1.CustomFormat = yyyy-MM-dd HH:mm:ss Tips:  a. dateTimePicker1.ShowUpDown = t