历史上的今天
返回首页

历史上的今天

今天是:2025年02月17日(星期一)

正在发生

2020年02月17日 | 51单片机12864显示的电子密码锁源码

2020-02-17 来源:51hei

1.当要想从标志位中退出来就一定要知道程序当前在哪个标志位中读取,然后就是在这个里面设定退出方可,否则是不能使用的,相当于是没有一样。


单片机源程序如下:

/*************************************************************************************

密码锁,可以改个人密码和管理员密码的一个基于单片机的锁。

按键值码:1  2  3  set        

输入密码只能按0~9,10位确定键,11位取消键(输入密码小                  

                                                4  5  6  ↑                于8时取消输入的密码),12是时钟功能键,13是时钟“+”,

                                                7  8  9  ↓                14是时钟“-”,15改密码的时候的确定键

                                                ok 0  c  fun

**************************************************************************************/

/******************************头文件****************************************/

#include

#include

#include

#include"lcd.h"

#include"ds1302.h"

#include"keyboard.h"

#include"delay.h"

#include"deal.h"

#include "i2c.h"

#include "uart.h"

/*************************宏定义*************************************/

#define uchar unsigned char

#define uint unsigned int


//========================IO口定义==================================//

sbit s = P2^2;                           //控制背光

sbit k2 = P3^2;              //

sbit JDQ_key = P3^7;   //继电器控制


unsigned char flag4,flag5=0,flag8=1,flag1=0,flag_time=0,

                                flag_time2=0;flag3=0;

unsigned char wrongtimes=0,k,p=1,miao=59,t=0,snum=0,

                                c=0,up=0,down=0,a=0;

//===========================密码的初始值==========================//

unsigned char MIMAword[8]={1,2,3,4,5,6,7,8};                //密码的初始值

unsigned char G_MIMA[8]={8,8,8,8,8,8,8,8};                         //管理员密码,可以更改


void MIMA_input();     //EEPROM写

void MIMA_output();    //EEPROM读


//===========================配置定时器============================//

void init_conf()

{

        TH0=(65536-50000)/256;                                          //

        TL0=(65536-50000)%256;


        EA=1;

        ET0=1;

        IT0=1;                                                                                                    //跳变沿出发方式(下降沿)

        EX0=1;                                                                                                    //打开INT0的中断允许。


        TR1 = 1;

        ET1 = 1;

}

//===============================主函数===========================//

void main()

{        

        unsigned char num,i = 0,j;                  

        unsigned char temp[8];

        

        unsigned char Ztemp[8]={'1','2','3','4','5','6','7','8'};

        unsigned char Zresponsuccess[4]={0x55,0x11,0x01,0x00};

        unsigned char Zresponfail[]="your command is wrong";

        unsigned char ch[8]={0},z1=0,        Znum[8]={0};

        bit Flag;

/***********************以下是断电后重启的读出EEPROM的数据*******************************/

//第一次上电先隐去 88888888修改管理员密码 然后取隐用修改后的管理员进入修改个人密码

        G_MIMA[0] =  EEPROMread_add(11,19);

        delay(20);

        G_MIMA[1] =  EEPROMread_add(12,20);

        delay(20);

        G_MIMA[2] =  EEPROMread_add(13,21);

        delay(20);

        G_MIMA[3] =  EEPROMread_add(14,22);

        delay(20);

        G_MIMA[4] =  EEPROMread_add(15,23);

        delay(20);

        G_MIMA[5] =  EEPROMread_add(16,24);

        delay(20);

        G_MIMA[6] =  EEPROMread_add(17,25);

        delay(20);

        G_MIMA[7] =  EEPROMread_add(18,26);

        delay(20);

/***********************以上是断电重启后读出EEPROM里面的数据*********************************/

        s=0;                                                                                                                                        //背光控制,上电时低电平将三极管导通

        JDQ_key=1;                                                                                                                                  //继电器驱动装置,低电平(三极管不导通,则继电器工作,则锁关

                                                                                                                                                                                //换为J3Y后更改电平

        init_conf();                                                                                                                  //配置定时器

        LCD12864_Init();                                                                                                        //12864初始化

        Ds1302Init();                                                                                                                        //1302初始化

        UartInit();                                                                                                                                //串口初始化     


        LCD12864_SetWindow(0,2,"欢迎光临");                           //第一行显示信息

        LCD12864_SetWindow(1,1,"华北科技学院");                 //第二行显示信息

        LCD12864_SetWindow(2,1,"单片机实验室");                 //第三行显示信息

        LCD12864_SetWindow(3,1,"输入八位密码");                //第四行显示信息

        Delay3000ms();

        LCD12864_SetWindow(0,0,"                ");

推荐阅读

史海拾趣

Anatech Electronics Inc公司的发展小趣事

Anatech Electronics Inc是一家专注于射频(RF)和微波滤波器的设计、制造和销售的公司。以下是关于该公司发展的相关故事:

  1. 公司成立与初期阶段:Anatech Electronics Inc成立于1990年,总部位于美国新泽西州Garfield市。公司成立之初,专注于为通信、航空航天、国防等领域提供射频和微波滤波器解决方案。公司的创始人兼首席执行官Jiangsu Wang博士在微波滤波器领域拥有丰富的经验和专业知识。

  2. 技术创新与产品开发:Anatech Electronics Inc在其成立初期即开始致力于技术创新和产品开发。公司拥有一支技术精湛的研发团队,不断推出高性能、高可靠性的射频和微波滤波器产品。这些产品涵盖了各种类型的滤波器,包括带通滤波器、带阻滤波器、高通滤波器和低通滤波器等,广泛应用于无线通信、雷达系统、卫星通信等领域。

  3. 市场拓展与全球业务:随着公司业务的不断发展壮大,Anatech Electronics Inc开始加大对全球市场的拓展力度。公司与国际知名的电信运营商、设备制造商和系统集成商建立了稳固的合作关系,产品销售遍布北美、欧洲、亚洲等地区。公司在全球设立了销售办事处和代理商网络,为客户提供定制化的滤波器解决方案和技术支持服务。

  4. 质量管理与认证:Anatech Electronics Inc致力于确保产品质量和性能的稳定和可靠。公司采用先进的生产工艺和严格的质量管理体系,保证产品符合国际标准和客户要求。公司取得了ISO 9001质量管理体系认证,并不断进行产品认证和性能测试,确保产品在市场上的竞争优势和声誉。

  5. 持续发展与未来展望:作为一家在射频和微波滤波器领域具有影响力的公司,Anatech Electronics Inc将继续致力于技术创新和市场拓展。公司将继续加大研发投入,推出更多性能优越、功能丰富的滤波器产品,满足客户不断增长的需求。在未来,Anatech Electronics Inc将继续秉承“质量第一、客户至上”的经营理念,与客户共同发展,实现双赢。

ETI Systems公司的发展小趣事

ETI Systems公司自创立之初,就专注于研发具有创新性的电子产品和解决方案。在公司发展的早期,它推出了一款高性能的无线通信设备,该设备采用了当时最先进的信号处理技术,极大地提升了数据传输的效率和稳定性。这一创新产品不仅帮助ETI Systems在市场上获得了良好的口碑,也引领了整个行业的技术发展方向。

CSB公司的发展小趣事

在电子行业的初期,CSB公司以其独特的技术创新能力脱颖而出。公司研发团队在某一关键领域取得了重大突破,开发出了一款具有市场竞争力的新产品。这款产品不仅满足了消费者对性能和品质的高要求,还凭借其独特的设计和功能,吸引了大量忠实用户。随着产品的热销,CSB公司的知名度逐渐提升,市场份额也稳步增长。

Don Connex Electronics Co Ltd公司的发展小趣事

随着国内市场的逐渐饱和,Don Connex Electronics开始寻求海外市场的拓展。公司组建了一支专业的国际市场团队,积极参加国际电子展会,与国际客户建立联系。通过不断努力,公司成功打入欧洲和北美市场,并与多家国际知名企业建立了长期合作关系。这一举措不仅提升了公司的品牌影响力,也极大地促进了公司的销售业绩。

国炬(GOOGLL)公司的发展小趣事
为了防止电路中的元器件损坏导致负载回路短路,常常在负载回路中转入熔断丝作为保护措施。
Ecera Comtek Corp公司的发展小趣事

在竞争激烈的电子行业中,Ecera Comtek Corp公司意识到只有不断创新才能在市场中立足。于是,公司加大了研发投入,引进了一批高端技术人才。经过长时间的研发,Ecera Comtek Corp公司成功研发出了一种新型的信号处理技术,大大提高了无线通信设备的传输速度和稳定性。这一技术突破迅速引起了市场的关注,Ecera Comtek Corp公司的产品在市场上受到了热烈的欢迎,公司的销售额也实现了快速增长。

问答坊 | AI 解惑

怎么仿真MAX485的双路备份通讯系统?

大家好,我想仿真下MAX485多点通信,通讯网路上连接4个485芯片(编号为1、2、3、4),其中,1和2构成一路主从,3和4构成一路主从,当1和2通讯时,3和4不通讯;反之,3和4 通讯时,1和2 不通讯(此时1和2不加电,作为备份用)。但是有个问题,4个MAX ...…

查看全部问答>

[销售]进口瑞侃Raychem阻燃电线2.5平方

名称:瑞侃RAYCHEM阻燃电线 型号:FLDWC0311-2.50 规格:2.5平方 数量:10000米 单价:6元/米 邮费:买家自理 详细见图: …

查看全部问答>

LED使用寿命

LED在一般说明中,都是可以使用50,000小时以上,还有一些生产商宣称其LED可以运作100,000小时左右。这方面主要的问题是,LED并不是简单的不再运作而已,它的额定使用寿命不能用传统灯具的衡量方法来计算。实际上,在测试LED使用寿命时,不会有人一 ...…

查看全部问答>

LED不是梦,LED 投影钟价格才十元

起码创意是咱DIY可以学学的 …

查看全部问答>

核磁共振对人有危害吗?

谁能脱口而出得出答案? 来看看专业解释: 核磁共振成像是利用电子计算机对人体断面进行图像分析诊断的检查方法,它不用X线,而是磁场,其基本原理是人体所含氢原子在强磁场下给予特定的高波后会发生共振现象,产生一种高波数的电磁波。核磁共振 ...…

查看全部问答>

关于学电子的教材问题

想学好电子技术,希望各位介绍些好的教材.谢了!…

查看全部问答>

请教串口程序问题

#include #define uchar unsigned char #define uint unsigned int unsigned char flag,a,i; uchar code table[]=\"I get \"; void init() {         TMOD=0x20;     //确定T1的工作方式     & ...…

查看全部问答>

关于assert的错误

在有些时候,建好工程后调试会出现assert的错误,这个错误不知道是怎么回事,好象跟设置和程序都没关系.请问这个错误怎么处理的…

查看全部问答>

产生方波问题

怎样使用stm32中的定时器,产生50hz的方波,知道的只需将对应的参数告诉我即可!!谢谢啦,帮帮忙!!…

查看全部问答>