当前位置: 首页 > 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.dtcms.com/a/347853.html

相关文章:

  • 企业智脑智能体开发全解析
  • docker的基础配置
  • SEO优化工具学习——Ahrefs进行关键词调研(包含实战)
  • 元宇宙的未来展望:机遇、风险与人类社会的新形态
  • FLOPs、TFLOPs 与 TOPS:计算能力单位
  • pig框架导入总结
  • Claude Code 新手使用入门教程
  • 第2题 - 登山鞋(C++实现)
  • 计算机组成原理(12) 第二章 - 主存储器的基本组成
  • 遥感机器学习入门实战教程|Sklearn案例⑨:数据预处理(Processing)
  • 基于STM32的智能温室控制系统设计
  • 【yocto】Yocto Project 配置层(.conf)文件语法详解
  • Service详解
  • 鸿蒙异步处理从入门到实战:Promise、async/await、并发池、超时重试全套攻略
  • 【C++】全局变量/静态变量的初始化时机
  • 基于电力电子变压器的高压脉冲电源方案复现
  • 最小覆盖子串+滑动窗口
  • 【JVM内存结构系列】二、线程私有区域详解:程序计数器、虚拟机栈、本地方法栈——搞懂栈溢出与线程隔离
  • mysql为什么使用b+树不使用红黑树
  • tcpdump命令打印抓包信息
  • 用vscode使用git工具
  • 深度优先搜索(DFS)和广度优先搜索(BFS)
  • 【内网渗透】Relay2LDAP之NTLMKerberos两种利用
  • windows中bat脚本的一些操作(三)
  • 如和在不同目录之间引用模块-python
  • 微调系列:LoRA原理
  • MVC模式在个人博客系统中的应用
  • 【通俗易懂】TypeScript 增加了 JavaScript 的可选链 (?.) 和空值合并运算符 (??)理解
  • 【集合和映射】USACO Bronze 2019 December - 我在哪Where Am I?
  • 机器学习案例——预测矿物类型(模型训练)