【TB作品】51单片机 Proteus仿真 00002仿真-智能台灯色调倒计时光强

在这里插入图片描述

实验报告:基于51单片机的智能台灯控制系统

背景

本实验旨在设计一个基于51单片机的智能台灯控制系统,该系统可以通过按键进行手动控制,并能根据环境光强度自动调节台灯亮度。此外,系统还具备倒计时关灯功能。

器件连接

  1. 51单片机(STC89C52RC)
  2. LCD显示屏
    • RS:P2^5
    • RW:P2^6
    • EN:P2^7
    • 数据端口:P0
  3. ADC0832模数转换器
    • CS:P1^0
    • CLK:P1^1
    • DIO:P1^2
  4. LED灯
    • LED1:P1^7
    • LED2:P1^6
  5. 按键
    • key_01:P3^0
    • key_02:P3^1
    • key_03:P3^2

硬件介绍

  1. 51单片机

    • STC89C52RC是一款高性能、低功耗的8位微控制器,具有丰富的I/O接口和强大的处理能力。
  2. LCD显示屏

    • 使用LCD1602显示屏,通过4位或8位并行接口与单片机连接,用于显示当前状态和设置项。
  3. ADC0832

    • 一款8位分辨率的模数转换器,用于将模拟信号(如光强传感器的输出)转换为数字信号,供单片机处理。
  4. LED灯

    • 作为控制对象,通过PWM(脉宽调制)信号调节其亮度。
  5. 按键

    • 用户接口,用于设置和控制台灯模式及参数。

设计原理

电路原理

  1. LCD显示屏连接

    • RS、RW、EN分别连接到P2的5、6、7脚,数据端口连接到P0口。
    • 通过设定RS、RW和EN信号,控制LCD显示指令和数据。
  2. ADC0832连接

    • 通过P1口的0、1、2脚与单片机连接,分别为CS、CLK和DIO信号。
    • 通过控制CS、CLK和DIO,实现模拟信号到数字信号的转换。
  3. LED灯连接

    • LED1和LED2分别连接到P1的7、6脚,通过PWM信号控制其亮度。
  4. 按键连接

    • key_01、key_02、key_03分别连接到P3的0、1、2脚,通过检测按键状态实现功能选择和参数调整。

程序原理

  1. LCD显示初始化

    • 设置显示模式、光标移动模式和显示开关,通过函数LCD_init实现。
  2. 按键扫描

    • 通过函数KeySscan扫描按键状态,并通过防抖处理确保按键检测的准确性。
  3. ADC0832数据获取

    • 通过函数Get_AD_Result从指定通道读取模拟信号,并转换为数字信号。
  4. LED亮度控制

    • 通过PWM信号控制LED亮度,根据环境光强度或用户设置调整PWM占空比。
  5. 倒计时功能

    • 通过定时器中断实现秒级倒计时功能,并在倒计时结束时关闭LED灯。

核心代码说明

void LCD_write_com(unsigned char com) {RS_CLR;RW_CLR;EN_SET;DataPort = com;   // 命令写入端口delay_lcd_ms(5);EN_CLR;
}void LCD_write_data(unsigned char dataa) {RS_SET;RW_CLR;EN_SET;DataPort = dataa;  // 数据写入端口delay_lcd_ms(5);EN_CLR;
}void init_timer1(void) {TMOD |= 0x10;  // 定时器1为工作方式1  16bitTH1 = (65536 - 500) / 256;TL1 = (65536 - 500) % 256;ET1 = 1;  // 开定时器1中断TR1 = 1;  // 开定时器EA = 1;  // 开总开关
}

主要功能

  1. 显示功能

    • 初始化显示屏并在不同模式下显示相应信息,如手动模式、自动模式和倒计时功能。
  2. 按键功能

    • 实现模式切换和参数调整,通过按键选择不同功能并调整相应参数。
  3. 自动亮度调节

    • 根据环境光强度自动调整LED亮度,使得台灯在不同光照条件下保持适宜的亮度。
  4. 倒计时关灯

    • 通过定时器中断实现倒计时功能,在设定时间结束后自动关闭台灯。

实验结果

通过上述设计,实现了一个功能齐全的智能台灯控制系统,具备手动和自动模式调节亮度、显示屏显示当前状态和倒计时关灯功能。通过调试和验证,系统工作稳定,功能实现效果良好。

总结

本实验通过硬件电路设计和软件编程,成功实现了智能台灯控制系统的设计。通过实验验证,系统能够根据用户设置和环境光强度自动调节亮度,具备较高的实用性和智能化水平。未来可进一步优化系统性能,增加更多智能功能,如远程控制和语音识别等。

资源代码

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1474305.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Xilinx FPGA:vivado关于真双端口的串口传输数据的实验

一、实验内容 用一个真双端RAM,端口A和端口B同时向RAM里写入数据0-99,A端口读出单数并存入单端口RAM1中,B端口读出双数并存入但端口RAM2中,当检测到按键1到来时将RAM1中的单数读出显示到PC端,当检测到按键2到来时&…

强化学习的数学原理:时序差分算法

概述 之前第五次课时学习的 蒙特卡洛 的方法是全课程当中第一次介绍的第一种 model-free 的方法,而本次课的 Temporal-Difference Learning 简称 TD learning (时序差分算法)就是第二种 model-free 的方法。而对于 蒙特卡洛方法其是一种 non…

QWidget窗口抗锯齿圆角的一个实现方案(支持子控件)2

QWidget窗口抗锯齿圆角的一个实现方案(支持子控件)2 本方案使用了QGraphicsEffect,由于QGraphicsEffect对一些控件会有渲染问题,比如列表、表格等,所以暂时仅作为研究,优先其他方案 在之前的文章中&#…

论文辅助笔记:ST-LLM

1 时间嵌入 2 PFA(Partial Frozen Architecture) 3 ST_LLM 3.1 初始化 3.2 forward

Idea新增Module报错:sdk ‘1.8‘ type ‘JavaSDK‘ is not registered in ProjectJdkTable

文章目录 一,创建Module报错二,原因分析三,解决方案1,点击上图的加号,把JDK8添加进来即可2,点击左侧[Project],直接设置SDK为JDK8 四,配置检查与验证 一,创建Module报错 …

【Linux】:进程创建与终止

朋友们、伙计们,我们又见面了,本期来给大家解读一下有关Linux程序地址空间的相关知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从…

dell Vostro 3690安装win11 23h2 方法

下载rufus-4.5.exe刻U盘去除限制 https://www.dell.com/support/home/zh-cn/product-support/product/vostro-3690-desktop/drivers dell官网下载驱动解压到U盘 https://dl.dell.com/FOLDER09572293M/2/Intel-Rapid-Storage-Technology-Driver_88DM9_WIN64_18.7.6.1010_A00_01…

【鸿蒙学习笔记】创建自定义组件

官方文档:创建自定义组件 目录标题 [Q&A] 如何自定义组件?1・struct 自定义组件名 {...}2・build()函数:3・@Component4・Entry5・Reusable 自定义组件的参数 buil…

GD32 MCU ADC采样率如何计算?

大家在使用ADC采样的时候是否计算过ADC的采样率,这个问题非常关键! 以下为GD32F303系列MCU中有关ADC的参数,其中ADC时钟最大值为40MHz,12位分辨率下最大采样率为2.86MSPS.如果ADC时钟超频的话,可能会造成ADC采样异常&…

SAP_MM模块-采购信息记录变更文档的三种查询方式

最近有用户在问采购信息记录变更的信息怎么去查找,想要看看是谁更改了价格,于是就给她查了一下,顺便做个记录,SAP中的业务数据或者主数据的变更信息查询方法,都是比较类似的,学会了这三个方法,其…

商家店铺电商小程序模板源码

橙色通用的商家入驻,商户商家,商家店铺,购物商城,商家购物平台app小程序网页模板。包含:商家主页、优先商家、商品详情、购物车、结算订单、个人中心、优惠券、会员卡、地址管理等功能页面。 商家店铺电商小程序模板源…

SSM高校教师教学质量评估系统-计算机毕业设计源码03344

摘要 在高等教育中,教学质量是培养优秀人才的关键。为了提高教学质量,高校需要建立一套科学、有效的教师教学质量评估系统。本研究采用 SSM技术框架,旨在开发一款高校教师教学质量评估系统。 SSM框架作为一种成熟的Java开发框架,具…

Centos新手问题——yum无法下载软件

起因:最近在学习centos7,在VM上成功安装后,用Secure进行远程登陆。然后准备下载一个C编译器,看网络上的教程,都是用yum来下载,于是我也输入了命令: yum -y install gcc* 本以为会自动下载&…

DevEco Studio无法识别本地模拟器设备的解决方法

目录 场景 解决办法 方式1 方式2 场景 有很多小伙伴遇到过安装了手机模拟器, 但是开发工具设备栏不识别手机设备的问题, 如下图,明明模拟器都安装了,并启动, 但为什么设备栏不显示呢? 解决后的截图,应该是这样(其实跟 android 类似 )

阶段三:项目开发---搭建项目前后端系统基础架构:任务11:搭建项目后台系统基础架构

任务描述 1、了解搭建民航后端框架 2、使用IDEA创建基于SpringBoot、MyBatis、MySQL、Redis的Java项目 3、以原项目为参照搭建项目所涉及到的各个业务和底层服务 4、以原项目为例,具体介绍各个目录情况并参照创建相关文件夹 任务指导 1、讲框架的选择和原理 …

数据库系统原理练习 | 作业1-第1章绪论(附答案)

整理自博主本科《数据库系统原理》专业课完成的课后作业,以便各位学习数据库系统概论的小伙伴们参考、学习。 *文中若存在书写不合理的地方,欢迎各位斧正。 专业课本: 目录 一、选择题 二:简答题 三:综合题 一、选择…

『古籍自有答案』古风H5案例赏析

「古籍自有答案」,一部由新京报与字节跳动公益联合打造的古风H5,以诗意盎然的开篇引领用户穿梭于千年文脉。 part1. 创意定位 "人生有惑问先贤,先贤答案存古籍",在这里,每一个灵魂的探问,都能在…

【电商系统开发实用接口指南】包含国内国外多电商平台商品数据对接(附文档)

关于电商数据接口 开发电商系统的朋友对于电商平台API肯定不陌生,API接口即应用程序编程接口,电商平台开放部分API接口,供商家和服务商调用,以满足电商业务管理需求。随着电商市场需求的日益增长以及技术手段的不断成熟&#xf…

推荐3款【王炸级别】的效率软件,免费无广告,你一定要收藏

Temp Cleaner Temp Cleaner 是一款专为 Windows 操作系统设计的临时文件清理工具。它的主要功能是安全且快速地清理磁盘上的临时文件和系统缓存,从而释放磁盘空间。该软件体积小巧(仅有826KB),并且是无广告的绿色软件,…

77. UE5 RPG 创建角色的技能栏

在前面的文章里,我们实现了角色属性技能和场景。接下来,我们要优化角色显示UI,在屏幕底部显示角色血量,蓝量,技能和经验值。 创建新的用户控件 选择创建新的控件蓝图 父类为我们自定义的RPGUserWidget,这…