77-基于51单片机智能路灯控制系统(程序+原理图+元件清单全套资料)

资料编号:077

功能介绍:采用51单片机作为控制CPU,可以通过设置开灯和关灯时间开自动控制路灯的打开和关闭,也可以通过光照强度来控制路灯的开关,采用LCD1602显示屏来显示相关内容,独立按键进行功能调节,相关功能调节如下:

模式1设置时间的时

模式2设置时间的分

模式3设置时间的秒

模式4设置光敏值要求光照达到一定程度才会亮灯

晚上时间无论设置多少的值都是常亮

现在时间设置为19点自动亮到凌晨6点自动关闭如设置光敏值低于白天亮度时可以亮路灯等,程序中文注释,新手容易看懂,全套实物资料齐全:

下面是实物演示视频和相关实物图片

63d0b91e47a6d5a929dc463118e7d597.jpeg

edbcb23a63f6942f929a795ea781ac05.png

下面是程序部分展示(程序有中文注释,新手容易看懂)

程序部分展示:
//IIC起始函数
void iic_start()
{
  SCL = 1;
  SDA = 1;
  nops4();
  SDA = 0;
  nops4();
  SCL = 0;
}


//IIC停止函数
void iic_stop()
{
  SCL = 0;
  SDA = 0;
  nops4();
  SCL = 1;
  nops4();
  SDA = 1;
  nops4();
}


/*
 * 函数: void iic_sendACK(bit ack_back) 
功能: 主机读完数据后是否向从机发送应答信号
 *ck为1时发送应答信号ACK, SDA拉低,继续通信 
*ck为0时不发送ACK,SDA置1,结束通信*/


void iic_sendACK(bit ack_back)            
{
  if(ack_back) 
    SDA = 0;  //应答,SDA拉低,继续通信
  else 
    SDA = 1;  //非应答,SDA置1,结束通信
  nops4();
  SCL = 1;
  nops4();
  SCL = 0;
  nops4();
  SDA = 1;
}
/*主机写字节后检测读取从机发送的应答(写应答)*/
bit iic_recACK()
{
  uchar i=0;
  SDA = 1;       //先拉高SDA,等待检测
  nops4();
  SCL = 1;
  nops4();
  while((1==SDA)&&(i<255)) i++;  //SDA为1时,循环检测255次
  if(SDA)        //非应答,拉低SCL,停止,返回1
  {
    SCL = 0;
    iic_stop();
    return 1;  
  }  
  else        //应答,拉低SCL,返回1
  {
    SCL = 0;
    return 0;
  }
}


/*主机发送1字节数据给从机*/
/*从最高位开始发送*/
void iic_sendbyte(uchar byt)
{
  uchar i;
  for(i=0;i<8;i++)
  {       
    if(byt&0x80)    //判断最高位,并赋予SDA
      SDA = 1;
    else 
      SDA = 0;
    nops4();
    SCL = 1;        //SCL高电平,SDA数据稳定,发送
    nops4();
    byt<<=1;          //发送完成,字节左移
    SCL = 0;
  }  
}


/*主机读取1字节数据*/
/*从高位接收,存放在低位*/
uchar iic_recbyte()
{
  uchar i,byt;
  for(i=0;i<8;i++)
  {
    SCL = 1;             //SCL高电平,SDA数据稳定
    nops4();
    byt<<=1;       //接收数据左移
    if(SDA)         //判断接收数据,并赋给byt,1则+1,0则保持0;
      byt = byt|0x01;
    SCL = 0;       //拉低SCL,准备接收下一位数据
    nops4();
  }
  return byt;         //读取字节完毕,返回读取值
}

程序打开方法:采用keil5打开,公众号有软件安装包

3be605e256e3074876a45b6d949f2af5.png

原理图采用【AD】altium designer打开,公众号有安装包

7a26fb53d17f12f0565a3464b863da73.png

803a97a8a37fa7ed4572aab5f64cca61.png

下面是资料包里面包含的相关文件展示

f94da6c3246bdc22a3ca817fdf182ddf.png

资料源链接:设计资料合集

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值