基于AT89S51的密码柜控制器设计1

上传人:s9****2 文档编号:495199598 上传时间:2023-01-01 格式:DOC 页数:31 大小:13.14MB
返回 下载 相关 举报
基于AT89S51的密码柜控制器设计1_第1页
第1页 / 共31页
基于AT89S51的密码柜控制器设计1_第2页
第2页 / 共31页
基于AT89S51的密码柜控制器设计1_第3页
第3页 / 共31页
基于AT89S51的密码柜控制器设计1_第4页
第4页 / 共31页
基于AT89S51的密码柜控制器设计1_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《基于AT89S51的密码柜控制器设计1》由会员分享,可在线阅读,更多相关《基于AT89S51的密码柜控制器设计1(31页珍藏版)》请在金锄头文库上搜索。

1、毕业设计 基于AT89S51的密码柜控制器设计 摘要:随着社会物质财富的日益增长和科技文明的高速发展,安全防盗已成为一个备受关注的社会问题。而互开率极高的机械锁泛滥成灾,有诸多安全隐患。本文使用单片机设计了一个密码柜控制器。设计中,使用单片机AT89S51作为主控芯片,E2PROM AT24C02作为数据存储器,并结合外围电路进行设计。该控制器具有密码输入、密码比对、密码修改、错误报警和状态显示等功能。论文详细描述了控制器的设计方案,给出了各功能模块的程序流程图和代码清单。经测试表明,该控制器的软件运行正常,可以实现设计目标。关键词:密码柜;单片机;LED显示;AT89S51;AT24C024

2、Design of Code Cabinet Controller Based on AT89S51AbstractWith the growing material wealth of the society and the rapid development of science and technology, security has become a social problem which should be paid more attention. The mechanical locks can be opened mutually which has become a safe

3、ty hazard. In this paper, a design of the code cabinet controller based on MCU is proposed. The design is accomplished by using AT89S51 and AT24C02 as the main controller chip and the data memory. In addition, external circuit is also adopted to finished the design. The controller has many functions

4、 such as password inputting, password comparing, password modifying, error warning and state displaying etc. In this thesis, the design method of the controller is described in detail, and the program flow chart and code list of function blocks are presented respectively. The debugging indicated tha

5、t the software works well and can achieve the design goal. Key words: code cabinet; MCU; LED display; AT89S51; AT24c02 目 录摘要11 引言42 密码柜控制器的功能与设计方案42.1 密码柜控制器的功能42.2 密码柜控制器的设计方案43 芯片介绍53.1 单片机AT89S5153.2 存储器芯片AT24C02463.3 译码器74LS13873.4 集成稳压模块MC780574 密码柜控制器硬件设计74.1 电源电路设计74.2 输入键盘电路设计84.3 复位电路设计94.4

6、 时钟电路设计94.5 信息存储电路设计104.6 数码管显示电路设计104.7 报警电路设计114.8 开锁电路设计115 密码柜控制器软件设计125.1 软件工作流程125.2 键盘输入子程序125.3 密码比对子程序125.4 密码修改子程序135.5 密码错误报警子程序135.6 开锁子程序135.7 程序存储器读写子程序135.8 状态显示子程序146 软件编译与调试156.1 Keil C51 编译156.2 开发板调试157 结束语16参考文献16附录117附录218 1 引言 锁自古以来就是把守门户不可或缺的法宝,古代能工巧匠对于机械锁的研究至今仍让世人叹为观止。但是,由于高保

7、密性能的机械锁工艺复杂、成本较高,一直未能推广使用,大多使用的还是传统的简单机械锁。同时,假冒伪劣的机械锁也已泛滥成灾,互开率非常高,极不安全。现在,在大型超市、娱乐场所等,员工个人物品的存放和顾客随身物品的寄存都需要储物柜。而一些工厂、企事业单位保密文件的安全存放,更需要保密设施完备的文件柜。传统的箱柜多采用机械锁,而传统机械锁有诸多不安全因素。随着电子产品的普及和自动化时代的到来,机械产品由于其高繁复性和高废材性,已不能适应人们的需求,慢慢退出市场。而电子产品则以其轻便、快捷、高性价比的特点迅速占领市场。采用电子电路设计的密码锁应运而生,并逐渐引领潮流。本设计采用单片机AT89S51设计了

8、一个密码柜控制器,该控制器可用一个电路控制多个密码柜,通过输入密码对密码柜进行开启和锁闭,操作简便,防盗性强。2 密码柜控制器的功能与设计方案2.1 密码柜控制器的功能本次设计的,密码柜控制器的功能如下:系统初始化后,进入等待密码输入阶段,当有6位密码输入时(前2位为箱号,后4位为密码),则进行密码比对。密码正确,则显示“P-”,此时,若按下“开锁”按钮,对应的柜门打开;若按下“修改密码”按钮,则进入密码修改状态。完成相应操作后,系统会进行初始化,可重新输入密码。密码错误,则进入密码错误环节,提示重新输入。当密码输入错误三次时,就不再读取按键,并进行报警,同时屏幕显示“ERROR”。2.2 密

9、码柜控制器的设计方案密码柜控制器设计方案如图1所示,电路分为九个部分:电源电路、LED数码管显示、复位电路、时钟电路、键盘输入、密码储存、报警电路、LED指示、开锁控制电路。本设计以单片机AT89S51为核心设计密码柜的控制器。单片机具有编程方式灵活、I/O端口丰富、控制性能准确等优点。设计中,使用AT24C02作为程序存储器,与单片机P1.0P1.2相连;输入键盘作为密码输入终端,与单片机P3口相连;数码管电路作为状态显示终端,与单片P0口及P2.0P2.2口相连;开锁电路用来控制开锁动作,与单片机P2.3P2.7相连。图1 密码柜控制器设计方案3 芯片介绍3.1 单片机AT89S51 AT

10、89S51是美国 ATMEL 公司生产的低功耗、高性能的8位单片机,采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 8051 指令系统及引脚。片内含有4K字节的可编程Flash程序存储器,既可在线编程(ISP),也可用传统方法进行编程。 AT89S51的封装形式如图2所示, 提供以下标准功能:4K字节 Flash存储器,128 字节内部 RAM,4个I/O 口,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式:空闲方式和掉电

11、方式。空闲方式停止CPU的工作,但允许RAM、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作,并禁止其它所有部件,直到下一个硬件复位1。图2 AT89S51封装图3.2 存储器芯片AT24C024AT24C02是支持I2C总线数据传送协议的CMOS E2PROM,其容量为256字节,擦写次数可达10万次以上,写入数据的有效保存时间可达100年2。其封装形式如图3所示。图3 AT24C02封装图SCL:串行时钟,AT24C02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。 SDA:串行数据/地址,AT24C02 双向串行数据/地

12、址管脚用于器件所有数据的发送或接收,SDA 是一个开路输出管脚,可与其它开路输出或集电极开路输出进行线或(wire-OR)。 A0、A1、A2:地址输入端,这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0。当使用AT24C02 时最大可级联8个器件。如果只有一个AT24C02被总线寻址,这三个地址输入脚(A0、A1、A2 )可悬空或连接到Vss,如果只有一个AT24C02被总线寻址这三个地址输入脚(A0、A1、A2 )必须连接到Vss。 WP:写保护,如果WP管脚连接到Vcc,所有的内容都被写保护只能读。当WP管脚连接到Vss 或悬空时,允许器件进行正常的读/写操作3,4。3

13、.3 译码器74LS138 74LS138 为3 线8 线译码器,其封装形式如图4所示。该译码器有3位二进制输入A1、A2、A3,共有8种状态组合,可编译出8个输出信号。此外,还设置了3个使能输入端和和5。3.4 集成稳压模块MC7805设计中,需要一个能提供精确+5V电压的稳压电源,这里使用Motorola公司的电压芯片MC7805,它能将12V左右的电压转变为精确+5V的电压输出6,7。其封装形式如图5所示。 图4 74LS138 封装图 图5 MC7805封装图4 密码柜控制器硬件设计4.1 电源电路设计在单片机系统中,电源电路入侵是干扰入侵的主要途径,为增加系统的稳定性,采用抗干扰稳压

14、电源。电源电路由变压器、整流桥、三端集成稳压电路和滤波电路组成。电源通过低通滤波器和隔离变压器接入电网,如图6所示。在市电与变压器间并联两个0.01F电容构成低通滤波器,用以吸收市电中的“毛刺”。经变压后得到8V-12V的交流电,并通过桥式整流得到直流电压。然后,由并联100F的电解电容和0.33F的瓷片电容构成的滤波器进行滤波,最后使用MC7805将12V左右的电压转变为精确+5V输出。为了进一步降低干扰,在单片系统的VCC处并联电容滤波网络1,7。图6 电源电路图4.2 输入键盘电路设计本设计采用44矩阵式键盘,与独立式键盘相比,这种键盘可节省很多I/O口线。矩阵式键盘由行线和列线组成,按

15、键位于行列的交点上。矩阵式键盘的按键识别方式有两种:一是行扫描法,二是线反转法。行扫描法中,首先由行线发出低电平信号,此时,若有按键按下,则相应列线为“0”;无按键按下,则相应列线为“1”。逐行扫描完毕后,若只有一个键按下,则读入键值;若多键按下则按键无效。线反转法中,首先由单片机向列线输出全“0”,读入行线值后,若某行有键按下,则该行线值为“0”。然后再将读取的行线值经行线输出,同时将所有列线置“1”。随后,读取列线值,有键按下的列线值为“0”。这样通过行列交叉定位,可识别出按键的位置。因此线反转法的识别速度比行扫描快很多,本设计采用线反转识别方法。键盘电路如图7所示,按键设置在行列线交点上,行、列线分别接到按键开关两端。其中,行、列线通过上拉电阻接到+5V上,并连接到单片机的P3口1,8。图7 输入键盘电路图4.3 复位电路设计单片机的复位电路如图8所示。在通电瞬间,RC电路充电,RESET端出现正脉冲,从而使单片机复位。在系统的运行过程中,只要按下开关,RESET就能得到高电位,复位有效1,9,10。复位脉冲要持续10ms以上,才能保证有效复位。4.4 时钟

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号