当前位置: 首页 > news >正文

优秀网站特点广告制作安装工

优秀网站特点,广告制作安装工,管理咨询公司是做什么,优秀网络专题内容策划分享目录 一、主要功能 二、使用步骤 三、硬件资源 四、软件设计 五、实验现象 一、主要功能1、数码管显示 2、按键设置阈值​ 3、温度高于上限或低于下限声光警报 二、使用步骤 51单片机数码管温度报警器系统是一种基于8051架构微控制器的环境监测装置,通过温…

目录

一、主要功能

二、使用步骤

三、硬件资源

四、软件设计

五、实验现象

一、主要功能1、数码管显示

2、按键设置阈值​
3、温度高于上限或低于下限声光警报

二、使用步骤

51单片机数码管温度报警器系统是一种基于8051架构微控制器的环境监测装置,通过温度传感器采集数据并在数码管上实时显示,通过通过独立按键(通常3个)调整上下限阈值,支持掉电保存功。当温度超限时,蜂鸣器鸣响且LED闪烁,部分设计联动风扇或加热器进行温度控制。

三、硬件资源

1、51单片机核心模块
2、按键模块
3、温度传感器
4、蜂鸣器模块
5、指示灯模块
6、数码管显示模块

四、软件设计

#include <reg52.h>             //调用单片机头文件
#define uchar unsigned char  //无符号字符型 宏定义    变量范围0~255
#define uint  unsigned int     //无符号整型 宏定义    变量范围0~65535
#include "eeprom52.h"

//数码管段选定义      0     1    2    3    4    5    6     7      8       9    
uchar code smg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
                       0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};     //断码
//数码管位选定义
uchar code smg_we[]={0xef,0xdf,0xbf,0x7f};
uchar dis_smg[8] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};    
uchar smg_i = 3;    //显示数码管的个位数
sbit dq   = P2^4;    //18b20 IO口的定义
sbit beep = P2^3;   //蜂鸣器IO口定义

bit flag_lj_en;         //按键连加使能
bit flag_lj_3_en;     //按键连3次连加后使能  加的数就越大了 
uchar key_time,flag_value;      //用做连加的中间变量
bit key_500ms  ;


uint temperature ;  //
bit flag_300ms ;
uchar menu_1;       //菜单设计的变量
uint t_high = 300,t_low = 100;       //温度上下限报警值 

/***********************1ms延时函数*****************************/
void delay_1ms(uint q)
{
    uint i,j;
    for(i=0;i<q;i++)
        for(j=0;j<120;j++);
}

/***********************小延时函数*****************************/
void delay_uint(uint q)
{
    while(q--);
}


/***********************数码显示函数*****************************/
void display()
{
    static uchar i;   
    i++;
    if(i >= smg_i)
        i = 0;    
    P1 = 0xff;             //消隐 
    P3 = smg_we[i];              //位选
    P1 = dis_smg[i];         //段选            

}

/******************把数据保存到单片机内部eepom中******************/
void write_eeprom()
{
    SectorErase(0x2000);
    byte_write(0x2000, t_high % 256);
    byte_write(0x2001, t_high / 256);
    byte_write(0x2002, t_low % 256);
    byte_write(0x2003, t_low / 256);
    byte_write(0x2055, a_a);    
}

/******************把数据从单片机内部eepom中读出来*****************/
void read_eeprom()
{
    t_high  = byte_read(0x2001);
    t_high <<= 8;
    t_high  |= byte_read(0x2000);
    t_low   = byte_read(0x2003);
    t_low <<= 8;
    t_low   |= byte_read(0x2002);
    a_a      = byte_read(0x2055);
}

/**************开机初始化保存的数据*****************/
void init_eeprom()
{
    read_eeprom();        //先读
    if(a_a != 1)        //新的单片机初始单片机内问eeprom
    {
        t_high = 300;
        t_low  = 100;
        a_a = 1;
        write_eeprom();       //保存数据
    }    
}

/****************主函数***************/
void main()
{
    beep = 0;                        //开机叫一声   
    delay_1ms(150);
    P0 = P1 = P2 = P3 = 0xff;
    temperature = read_temp();        //先读出温度的值    
    init_eeprom();  //开始初始化保存的数据
    delay_1ms(650);                
    temperature = read_temp();                 //先读出温度的值
    dis_smg[0] = smg_du[temperature % 10];     //取温度的小数显示
    dis_smg[1] = smg_du[temperature / 10 % 10] & 0x7f; //取温度的个位显示
    dis_smg[2] = smg_du[temperature / 100 % 10] ;       //取温度的十位显示
    time_init();                    //初始化定时器 
    while(1)
    {        
        key();                    //按键程序
        if(key_can < 10)
        {
            key_with();            //设置报警温度    
        }
        if(flag_300ms == 1)        //300ms 处理一次温度程序
        {       
            flag_300ms = 0;    
            temperature = read_temp();    //先读出温度的值
            clock_h_l();        //报警函数
            if(menu_1 == 0)
            {    
                smg_i = 3;
                dis_smg[0] = smg_du[temperature % 10];     //取温度的小数显示
                dis_smg[1] = smg_du[temperature / 10 % 10] & 0x7f; //取温度的个位显示
                dis_smg[2] = smg_du[temperature / 100 % 10] ;       //取温度的十位显示
            }
        }
    }
}

五、实验现象

演示视频:

http://www.dtcms.com/a/443102.html

相关文章:

  • 威海做网站的哪家好玉树电子商务网站建设
  • 网站建设 引导帮企业建设网站销售
  • 网站建设必备条件dw制作网页步骤
  • 网络协议分层与Socket编程详解
  • 【Svelte 5】当改变$state中的属性值,但是该属性并未在页面中使用,会导致页面重写渲染吗?
  • 基于SpringBoot+Vue的万佳连锁使利店库存管理系统(Echarts图形化分析)
  • 第二章:BI的原理与技术架构
  • 上海万网网站建设湖北住房和城乡建设厅网站
  • 学习Java第三十天——黑马点评37~42
  • 北京网站建设价钱公众号文章制作
  • 长沙机械网站建设昆明最新消息今天
  • 深度解析 Python 报错:TypeError: ‘NoneType‘ object is not subscriptable
  • 泉州市城乡和住房建设网站大连装修公司
  • 哈巴河网站制作今天的最新消息新闻
  • 做网站猫腻大吗电商网站建设功能
  • 站长论坛网站模板建站教程
  • 淮南网站建设服务免费wordpress中文主题下载
  • 印刷报价网站源码下载小笨鸟跨境电商平台
  • Product Hunt 每日热榜 | 2025-10-04
  • 电商购物网站模板下载来年做哪个网站致富
  • 什么是近场?什么是远场?
  • 【typora激活使用】mac操作方式
  • 免费网站seo优化接单网官网
  • 旅游商城网站订单处理网站空间 云端
  • 串扰12-串扰对信号的影响
  • 申报湖南创新型省份建设专项网站wordpress用户管理插件
  • 网站开发常用工具网站建设表格的属性
  • 网站开发兼职网站陈铭生杨昭
  • 网站中英文域名做电商网站的上海公司
  • seo网站外包做平台还是自己做网站