基于51单片机的智能路灯控制器设计

发布者:WanderlustGlow最新更新时间:2023-03-28 来源: elecfans关键字:51单片机  AT89C51 手机看文章 扫描二维码
随时随地手机看文章

一.系统概述

系统使用的模块有AT89C51单片机+LCD1602显示屏+ADC0832+按键+小灯。


本次设计的智能路灯控制系统以AT89C51单片机为控制核心,使用LCD1602显示屏显示ADC采集回来的光照强度的数字电压信号,系统程序内设置光照强度阈值,在默认状态下为自动模式,此时调节电位器就能实现光照强度的调节,按下自动按键就会切换到手动模式,此时按下手动开和手动关按键就能控制小灯的亮灭


二.仿真概述

1.使用LCD1602显示光照强度电压信号值。

97110606-3f09-11ed-9e49-dac502259ad0.jpg

2.按键切换手动和自动模式,按下手动开和手动关按键就能直接控制小灯的亮灭。

97468bd2-3f09-11ed-9e49-dac502259ad0.jpg

3.调节电位器来模拟光照强度的变化。

982d3e74-3f09-11ed-9e49-dac502259ad0.jpg

三.程序设计

使用Keil 51进行程序设计,打开Proteus时程序是默认烧录的状态,如果没有烧录点击AT89C51单片机并将程序导入就能运行系统(程序文件是后缀为hex的文件)。

987f2ff4-3f09-11ed-9e49-dac502259ad0.jpg


关键字:51单片机  AT89C51 引用地址:基于51单片机的智能路灯控制器设计

上一篇:基于51单片机的电梯控制系统设计
下一篇:基于51单片机的简易电子琴设计

推荐阅读最新更新时间:2024-10-31 11:11

51单片机与MXA2500GL的振动信号分布式检测
C8051F020单片机性能特点 CYGNAL的C8051F020是集成模拟、数字信号的混合信号系统级SOC(System On Chip)单片机,与目前常用的51系列单片机指令集完全兼容。采用100脚TQFP封装,体积小,运算速度快。它采用CYGNAL公司的专利CIP- 5l微处理器内核。CIP-5l在提升805l速度上采取了新的途径,即设法在保持CISC结构及指令系统不变的情况下,对指令运行实行流水作业。在这种模式中,废除了机器周期的概念,指令以时钟周期为运行单位。平均每个时钟可以执行完l条单周期指令,从而大大提高了指令运行速度。 与805l相比,C8051F020在相同时钟下单周期指令运行速度为原来的12倍,整个指令
[单片机]
<font color='red'>51单片机</font>与MXA2500GL的振动信号分布式检测
51单片机程序——按键控制LED灯
#include reg52.h void Delay(unsigned int t); sbit key=P3^2; //对应单片机开发板上s19按键 void main (void) { while (1) //函数开始后,一直在检测按键是否被按下 { if(key==0) { unsigned char i; //定义一个无符号字符型局部变量 i 取值范围 0~255 P0=0x7f; //赋初始值,右边第一个灯亮起来 for(i=0;i 8;i++) //加入 for循环,表明for循环大括号中的程序循环执行8次 { Delay
[单片机]
ADC0832模数转换51单片机程序与电路图
#include AT89x51.h #include intrins.h #define uint unsigned int #define uchar unsigned char //******************adc0832****************************// sbit CS=P2^3; //使能。 sbit CLK=P2^2;// 时钟 sbit DO=P2^1; // 数据输出 sbit DI=P2^0;//数据输入 char CC = 11001001 ; uchar tab ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
[单片机]
ADC0832模数转换<font color='red'>51单片机</font>程序与电路图
51单片机-代码对比
1.延时函数退出舞台 有了上一讲的理论讲解,代码的实现就比较简单了,实验现象就是高6位的6盏灯不停流水,我们用K4按键控制LED2的亮灭,并且途中并没有影响到6盏流水灯的运行。 我们知道以前流水灯是需要延时才能看得到流水现象的,那么现在再用延时函数的话,按键就没有意义了。比如流水灯的跳变需要间隔50ms才看得出是一个灯一个灯的亮,如果在死循环里使用“delay_ms(50);”,那么不支持连按代码里的times要加1都需要过了50ms才行,这样显然行不通,我们只能从流水灯的代码去思考了。 其实一次死循环里不一定就要求灯实现跳变,可以等到过了很多次死循环再去执行灯的跳变的,所以我们在死循环里让变量x每次加1,死循环了300
[单片机]
MCU--51单片机CPU和存储器
单片机 8051的CPU由运算器和控制器组成。 一、运算器 运算器以完成 二进制 的算术/逻辑运算部件ALU为核心,再加上暂存器TMP、累加器A CC 、寄存器B、程序状态标志寄存器PSW及布尔处理器。累加器ACC是一个八位寄存器,它是CPU中工作最频繁的寄存器。在进行算术、逻辑运算时,累加器ACC往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。寄存器B主要用于乘法和除法操作。标志寄存器PSW也是一个八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。其每位的具体含意如下所示。PSW CY AC FO RS1 RS0 OV - P对用户来讲,最关心的是以下四位。 1?进位标志CY(
[单片机]
基于8051单片机的外部设备交换信息的三种数据传输方式解析
单片机CPU与外部设备交换信息通常有如下几种方式:无条件传送方式,查询传送方式和中断传送方式。我们以单片机与微型打印机接口为例讲述这三种方式。假定用户要打印三个数据,这三个数据保存在单片机的内部数据存储器10H,11H,和12H中,8051用并口P2与微型打印机的并行数据口DB进行数据交换。 (1)无条件传送方式 这种数据传送方式中没有联络信号,即CPU总是认为打印机在如何时候都是处于“准备好”的状态。这种传送方式中只需要在程序中加入数据送往P2的指令,数据传送便可以实现。但这种数据传送方式有一个致命弱点,数据易丢失,这是因为CPU的速度相当快,而打印机的速度相对来说较慢,其结果是在打印机打印一个数据的时间内,CPU已送来了多
[单片机]
基于80<font color='red'>51单片机</font>的外部设备交换信息的三种数据传输方式解析
51单片机多机通信电路图及C语言程序
多机通信电路图 此处,U1作为主机,U2为从机1,U3为从机2。 多机通信C语言程序 (1)主机程序 #include #include #define _SUCC_ 0x0f//数据传送成功 #define _ERR_ 0xf0//数据传送失败 unsigned charTable ={0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39}; unsigned char Buff ; //数据缓冲区 unsigned char temp=0xff; sbit KEY1=P1^6; sbit KEY2=P1^7; //unsigned char addr; //延时1ms函数 void de
[单片机]
<font color='red'>51单片机</font>多机通信电路图及C语言程序
51单片机STC89C54波特率以及双时钟探讨
最近公司老大让我尝试STC89C54单片机的最高波特率,经过一下午的尝试,基本可以搞清楚了。 在11.0592M的晶振下,若单片机工作在12T模式下(即一个机器周期为12个时钟周期),波特率最高可为57600.而若工作在6T模式下(即一个机器周期为6个时钟周期),则波特率最高可为115200. /*/ 在这里再简单介绍一下,如何实现12T和6T的转换,目前我只知道利用STC的下载软件可以修改,程序里的寄存器就不清楚了,估计改不了。设置过程见下图: 若想设置为双时钟6T模式,则可以选择6T,打开你选中的文件即可下载。 // 但要特别注意的是,6T和12T在交叉下载时,应烧写2次,即以前你的单片机是12T
[单片机]
<font color='red'>51单片机</font>STC89C54波特率以及双时钟探讨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved