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

【51单片机】【protues仿真】 基于51单片机储物箱系统

目录

一、主要功能

二、使用步骤

三、硬件资源

四、软件设计

五、实验现象

一、主要功能

1、LCD12864液晶显示存储状态
2、矩阵按键输入进行存取​
3、管理员可以进行直接取物和修改管理员密码
4、指示灯和蜂鸣器进行显示
5、掉电存储功能

二、使用步骤

基于51单片机的储物箱系统设计通常包含密码锁控制、状态显示、柜门开关指示灯等核心功能。

三、硬件资源

1、51单片机核心模块
2、按键模块
3、24c02芯片
4、蜂鸣器模块
5、继电器模块
6、LCD12864显示模块

四、软件设计

#include <STC89C5xRC.H>

#include <intrins.h>
#include "LCD12864_No_font_library.h"
#include "zi_ku.h"
#include "24C02.h"

uchar system_time=0;

bit s0=0;

uchar beep_time=0;                   //蜂鸣器端口定义
sbit beep=P0^5;                       //蜂鸣器端口定义
uchar key_back=16;                   //按键返回值变量

uchar ms=0;                   //按键返回值变量
bit key_flag=0;
uchar Box_number=0;
                
uchar xdata password[6]     ={0,0,0,0,0,0};  //存储密码的数组
uchar xdata password_flsh[6]={0,0,0,0,0,0};  //存储密码的数组
uchar password_count=0;                   //存储密码的数组计数变量
uchar xdata Password_flsh2[6];               //这个存储的是,要修的密码密码的时候,再次输入的密码
bit Modify=0;                           //这个标志位是修改密码用的

uchar Box_state[8];
uchar Surplus=0;

uchar admin[6];


uchar state=0;
uchar state_clear=0;
bit clear_flag=1;

sbit led0=P3^0;
sbit led1=P3^1;
sbit led2=P3^2;
sbit led3=P3^3;
sbit led4=P3^4;
sbit led5=P3^5;
sbit led6=P3^6;
sbit led7=P3^7;

uchar led0_time=0;
uchar led1_time=0;
uchar led2_time=0;
uchar led3_time=0;
uchar led4_time=0;
uchar led5_time=0;
uchar led6_time=0;
uchar led7_time=0;

void Uart1Data(uchar dat)        //串口数据发送
{
    SBUF=dat;
    while(!TI);
    TI=0;    
}
void delay(unsigned int T)
 {
   while(T--);
 }

              
void memory_Pass(uchar dat1,dat2,dat3,dat4,dat5,dat6,Num)      //保存密码
 {
   unsigned char tab[6];
   tab[0]=dat1;
   tab[1]=dat2;
   tab[2]=dat3;
   tab[3]=dat4;
   tab[4]=dat5;
   tab[5]=dat6;
   Write_dat_24C02(tab,Num*6,6);
 }
void read_Pass(Num)                                          //读取密码
 {
   Read_dat_24C02(password_flsh,Num*6,6);
 }


void memory_Box()                                            //保存箱子状态
 {
   Write_dat_24C02(Box_state,100,8);
 }

void read_memory_Box()                                       //读箱子状态
 {              
   Read_dat_24C02(Box_state,100,8);
    
 }

void memory_admin()                                            //保存箱子状态
 {
   Write_dat_24C02(admin,120,6);
 }

void read_memory_admin()                                       //读箱子状态
 {              
   Read_dat_24C02(admin,120,6);
  }


 

void main()
 {
    Time0_int();
//    Uart_int();
    EA=1;
    LCD_initialize();
    LCD_clear();   
    read_memory_Box();
    read_memory_admin();
   while(1) 
    {      

      key_back_dispose();
      dispaly();
      key_dispose();
    }
 }
void time0() interrupt 1
 {
   TH0=0x3C;
   TL0=0xb0;
   ms++;  
   led_dispose();
   if(beep_time!=0) 
    {
      if(beep_time!=0) 
       {
            beep_time--;
         beep=~beep;
       }
    }else  beep=1;

   if(ms%10==0) s0=~s0;

   if(ms>=20) 
    {
      ms=0;      

         if(system_time!=0) system_time--;
          else 
           {
             if(state==15||state==14)  
              {
                system_time=10;      state=8;
              }
             else     state=0;
           }      
    }
 }

//void uart() interrupt 4 
// {
//   if(RI) 
//    {
//      RI=0;
//    }
// }

五、实验现象

演示视频:

http://www.xdnf.cn/news/1354573.html

相关文章:

  • 双指针:三数之和
  • Sentinel相关记录
  • OSI参考模型TCP/IP模型 二三事
  • docker的基础配置
  • redis----hash类型详解
  • Python的标准库之时间库(小白五分钟从入门到精通)
  • 终端复用工具 tmux 的使用方式与推荐配置
  • Autosar CAN开发06(CAN通讯开发需求-CAN矩阵)
  • AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年8月23日第168弹
  • 【机器学习深度学习】模态与多模态的概念
  • 使用 AD 帐户从 ASP.NET 8 容器登录 SQL Server 的 Kerberos Sidecar
  • uniapp对接一键登录
  • FL Studio Win版.exe安装教程(直接安装版/详细步骤/附安装包下载)
  • 全面解析主流AI模型:功能对比与应用推荐
  • 离线优先与冲突解决:ABP vNext + PWA 的边缘同步
  • AI实现超级客户端打印 支持APP 网页 小程序 调用本地客户端打印
  • 可视化-模块1-HTML-02
  • week4-[循环结构]生日悖论-new
  • Dubbo vs Feign
  • Python 学习(十六) 下一代 Python 包管理工具:UV
  • More Effective C++ 条款04:非必要不提供默认构造函数
  • Day58 Java面向对象13 instanceof 和 类型转换
  • OCR、文档解析工具合集(下)
  • Text2API与Text2SQL深度对比:自然语言驱动的数据交互革命
  • 【51单片机】【protues仿真】基于51单片机冰箱系统
  • 嘉立创EDA快捷键汇总
  • 每日一题8.23
  • Windows应急响应一般思路(三)
  • 从词源和输出生成等角度详细解析PHP中常用文件操作类函数
  • BEVDet/BEVDet4D