ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:73.01KB ,
资源ID:1857871      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1857871.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Proteus环境的电子密码锁设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于Proteus环境的电子密码锁设计.docx

1、基于Proteus环境的电子密码锁设计基于Proteus环境的电子密码锁设计一、实验目的1. 掌握嵌入式系统开发的基本流程;2. 熟悉嵌入式系统开发仿真软件使用方法;3. 基于89C52单片机来设计电子密码锁。二、实验要求1、用4*3组成0-9数字键及确认键、删除键;2、用8位数码管组成显示电路提示信息,当输入密码时,只显示“”,当密码位数输入完毕按下“确定”键时,对输入的密码与设定的密码进行比较,若密码正确,则开锁,此处用LED发光二极管亮1s作为提示;若密码不正确,禁止按键输入3s,同时发出“嘀、嘀”报警声。三、实现原理1、按键消抖图3-1由图3-l可见,在按键闭合和断开时产生了多个边沿,

2、而在实际中每按一次键,我们只需要一组稳定的上升或下降边沿,所以对于电路中的按键信号,如果我们不滤除抖动的话,还是简单的读取信号的边沿,会引起一次按键被误读多次,这样就会引起电路的误动作。为了保证按一次键电路只有一次正确的响应,即在键闭合稳定时读取键的状态,就要求电路中必须采取滤除抖动的措施。本设计按键较多,故采用软件方法去抖,即检测出键闭合后执行一个延时程,产生5ms10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms10ms的延时,待后沿抖动消失后才能转入该键的处理程序。2、矩阵扫描电路由于本设计所用到的按键数量较

3、多而不适合用独立按键式键盘。采用的是矩阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多I/O口。本设计中使用的这个3*4键盘不但能完成密码的输入还能作特别功能键使用,比如清空显示功能等。键盘的每个按键功能在程序设计中设置 。其大体功能(看键盘按键上的标记)及与单片机引脚接法如图3-2所示:图3-23、复位电路单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC0000H,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复

4、位。在复位期间(即RST为高电平期间),P0口为高组态,P1P3口输出高电平;外部程序存储器读选通信号PSEN无效。地址锁存信号ALE也为高电平。根据实际情况选择如图3-3所示的复位电路。该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容C1上的电压很小,复位下拉电阻上的电压接近电源电压,即RST为高电平,在电容充电的过程中RST端电压逐渐下降,当RST端的电压小于某一数值后,CPU脱离复位状态,由于电容C1足够大,可以保证RST高电平有效时间大于24个振荡周期,CPU能够可靠复位。增加手动复位按键是为了避免死机时无法可靠复位。当复位按键按下后电容C1通过R5放电。当电容C1放

5、电结束后,RST端的电位由R11与R15分压比决定。由于R11R15 因此RST为高电平,CPU处于复位状态,松手后,电容C1充电,RST端电位下降,CPU脱离复位状态。R11的作用在于限制按键按下瞬间电容C1的放电电流,避免产生火花,以保护按键触电。 图3-3 复位电路原理图4、晶振电路AT89C51引脚XTAL1和XTAL2与晶体振荡器及电容C2、C1按图3.4所示方式连接。晶振、电容C2C3及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容C1、C2的容量有关,但主要由晶振频率决定,范围在033MHz之间,电容C2、C3取值范围在530pF之间。根据实

6、际情况,本设计中采用12MHZ做系统的外部晶振。电容取值为33pF。图3-4 晶振电路原理图5、报警电路报警部分由陶瓷压电发声装置及外围电路组成,加电后不发声,当有键按下时,“叮”声,每按一下,发声一次,密码正确时,不发声直接开锁,当密码输入错误时,单片机的P3.1引脚为低电平,三极管T3导喇叭发出噪鸣声报警。如图3-5所示:图3-5 报警电路原理图四、实验步骤1 熟悉Proteus软件环境;2 熟悉89C52硬件环境;3 编写相应处理器程序代码;4 基于Proteus环境进行仿真测试。五、程序代码#include#define uchar unsigned char#define uint

7、unsigned intuchar smg16; /数码管段显示;uchar code password=1,9,8,8,0,8,1,4;char num,k,x;void display();void key_scan();/void correct();/密码正确数码管显示“open”/void error(); /密码错误数码管显示“error”int Flag; /与密码初值比较,正确则置1sbit fmq=P31; /蜂鸣器输入端sbit led=P30;/ 密码正确,灯亮 /主函数void main() k=0; led=0; fmq=1; x=0; while(1) key_scan(); display(); /延时函数void delay(uint i) /延时函数 uint j; while(i-) for(j=0;j120;j+); void beep()/蜂鸣器函数; uint i; for(i=0;i=8) P2=0X00; k=8; if(password7=num) Flag=1&Flag; else Flag=0

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1