基于PIC单片机的电子密码锁设计外文文献翻译.docx
- 文档编号:10088894
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:5
- 大小:19.26KB
基于PIC单片机的电子密码锁设计外文文献翻译.docx
《基于PIC单片机的电子密码锁设计外文文献翻译.docx》由会员分享,可在线阅读,更多相关《基于PIC单片机的电子密码锁设计外文文献翻译.docx(5页珍藏版)》请在冰点文库上搜索。
基于PIC单片机的电子密码锁设计外文文献翻译
基于PIC单片机的电子密码锁设计外文文献翻译
基于PIC16F628A的安全电子锁微控制器 基于PIC16F628A的安全电子锁微控制器 KerbalaIraq大学计算机系讲师MuhanadHayderMohammed@ 摘要:
论文:
提出的系统实现了电子嵌入式锁比传统锁拥有的一个很好的优势,它只使用一个手动键。
如果传统的情况下,钥匙丢失或被盗之后任何人都可以打开锁使用钥匙。
另一方面,丢失一个比较长而且复杂的密码或把它偷来的难度比传统的钥匙要难的多。
此外,两者的结合,手动键和电脑密码使系统更安全。
更长的密码将减少密码丢失和锁被破坏的可能性。
这个系统键盘和HD4478020x2和PIC16f628a单片机。
固件控制系统与键盘交互非常容易和顺利。
液晶为用户提供消息和通知有关当前系统的状态。
用户可以执行一些操作,如打开和关闭锁,在单片机EEPROM中改变当前的密码,当输入密码错误时清除单个数字。
论文提出系统的固件开发使用汇编语言和MPLAB开发环境。
只在实际硬件级别测试,实现与系统的正常运行,这是完全错误的 关键词:
电子锁、嵌入式系统、PIC单片机。
Ⅰ介绍 今天,在我们生活的周围充满嵌入式系统设备,如汽车、洗衣机微波炉、医疗设备等。
嵌入式系统是一个计算机系统,为特定的控制功能而设计,通常受实时计算约束。
嵌入式系统作为一个完整的设备通常包括硬件和机械零件。
相比之下,一台通用计算机,例如个人电脑(PC),设计灵活能满足各种终端用户的需要。
今天,嵌入式系统被用来控制许多常用的设备[1]。
嵌入式系统的一个突出的例子是微控制器,它是一个小型和微型计算机,指定执行一些特定的任务。
单片机程序(固件),决定什么功能单片机提供给所需求的用户。
一个程序,可以在单片机上运行,而不需要一个被称为固件的操作系统。
这意味着,一个固件直接访问硬件的特权。
试图详细解释电子锁固件。
单片机的基本思想是在一个简单的电路中收集所有的输入和输出,外围设备,代表了只需要单片机而不是大型和复杂的计算机微处理器和大量的外设[1]。
单片机固件直接处理外围设备和输入/输出端口以实现其完整功能。
1 基于PIC16F628A的安全电子锁微控制器 Ⅱ微处理器和微控制器微处理器与微控制器在许多方面不同。
第一和最重要的方面是它的架构。
为了一个微处理器功能的正常运行,其他组件,如内存、外设和输入输出端口必须连接到它。
简而言之,我们可以说,一个微处理器是计算机的核心,它的工作原理与其他外围设备/部件的计算机系统。
另一方面,一个微控制器被设计成作为一个单元可以独立执行。
不需要其他外部组件的应用程序,因为所有必要的外围设备和端口已经内置。
最终,它节省了所需的时间和空间构造设备[2]。
Ⅲ系统实现该系统是使用汇编语言实现。
使用这种语言的目的是为了实现更好地功能,对PIC体系结构的理解。
使用汇编语言的另一个积极的方面是,它给了非常广泛和灵活的方式与微控制器进行交互,尽管它的实现比BASIC或C语言困难,其也用作语言编程微控制器。
系统实现的主要有两部分:
A.键盘实现系统使用的PORTB键盘通过4针为列,其余4针行保留实现。
因此,系统使用这些8针构成16键矩阵,PIC16F628A中提供一个有效的使用有限的端口。
下面是表格
(1)PORTB针作业键盘。
表1:
PORTB针作业键盘RB0(行0)RB1(行1)RB2(行2)RB3(行3)RB4(列0)147*RB5(列1)2580RB6(列2)369#RB7(列3)A=空格B=锁定C=修改D=输入实现键盘功能时有一个必须采取的重要的预防措施,因为键盘处理依赖于一个机械过程(按下和释放键)。
这一现象生成一个火花,影响销的电气性能,同时按下和释放键,导致销状态不稳定,不能正确识别是否为0或1。
所以,为了克服这个问题,必须提供足够的时间延迟销的状态是稳定的,才可以正确读取,这一时间可能是20ms或更多。
1.键盘的扫描2 基于PIC16F628A的安全电子锁微控制器 键盘的设计是受电现象,即,如果我们短路两针,一个零,另一个高电压,那么销电压将下降到零。
这个事实可以用于设计键盘。
如前所述,PORTB被预留给键盘和最重要的4位用于列索引,它们设置为输入端口(输入端口,我们必须设置TRISB寄存器高[3])来检查 他们是否有电压降至0时按下键后附有选中的行。
另一方面,最重要的4位PORTB将输出,和用于行索引。
因为他们是输出端口,可以设置为高
(1)或低(0)的固件。
通过设置为每个键扫描每一行到零,系统可以检查每一列,以查看是否有任何其中一个设置为0。
如果是这样的话,这就意味着,一个关键的排压。
这个过程是对所有行重复检查所有的钥匙。
负责扫描的功能键是row_scan和col_scan。
行扫描 这个函数设置为零,每一行调用col_scan函数来检查任何列针电压降为零。
然后增量的关键变量作业是索引每一行。
列扫描 这个函数扫描每一列销,检查如果任何其中一个设置为零,那么调用find_key函数,发现键值把指数构造使用变量键和硬编码的值从工作寄存器w调出col_scan函数。
图
(1)显示键盘连接到结构PIC16f628a单片机和液晶。
图1单片机与键盘连接 B.LCD的实现 3 基于PIC16F628A的安全电子锁微控制器 另一个系统实现的主要部分是液晶实现。
LCD配置有4位接口模式,因为PIC16F628A端口限制。
发送命令0x20,然后0x28将配置液晶在4位两行接口工作模式[4],这意味着20x2液晶使用的系统最大可以显示40个字符。
send_word函数功能的实现是在4位液晶接口模式发送一个词。
执行以下步骤send_word函数发送一个词的4位接口模式[4]:
1设置E线低。
2为发送数据,设置RS行高,或为发送一个命令设置为低。
3设置E线高。
4设置最重要的四个比特为DB4到DB7。
5设置E线低。
6设置E线高。
7设置四个最低有效位为DB4到DB7。
8设置E线低,E线应该是比较低的,直到时钟在另一个字节。
Ⅳ操作系统 当系统启动时,它直接进入到主循环。
在其整个操作时间中,只有两个部分之间的互换。
第一部分不断扫描输入键,其他部分PORTB处于睡眠状态,因为PORTB配置将使系统在节电模式。
这节省了电池和提高了系统的操作性能,于单片机不需要执行连续不断的的指令,即使没有人与系统交互。
系统从睡眠醒来的状态,按任何键,改变PORTB的状态。
PIC16f628a用了PORTB产权所有PROTB针[3]。
当系统处于锁定状态,用户试图打开锁,用户必须输入十个数字,必须符合存储在eepm十位数。
下图提示用户输入密码:
4 基于PIC16F628A的安全电子锁微控制器 图2消息提示用户输入密码 然后用户输入限制在10位数的密码,可以结合特殊字符?
*?
和?
#?
使密码更复杂。
下面是图显示用户输入的密码系统(液晶数字显示为?
*?
但是在这里向读者清晰显示)。
图3用户输入密码打开锁 输入密码后,用户需要按Enter按钮。
然后verify_password会调用这个函数以验证如果输入密码是类似于一个存储在eepm。
如果两个密码是相同的,那么锁将打开和消息在LCD上显示“验证成功”。
下面的步骤verify_password函数,将比较两个数组,如果他们有相同的值。
直接访问内存用于比较[2]。
1初始化计算值10。
2使FSR指向第一个数组的起始地址。
3存储位置,FSR的值指向的变量名data1(第一个数组)。
4增量FSR并在save1变量中保存它的值。
5测试如果函数在循环的第一步。
6如果是FSR上指向第二个数组的起始地址,转到步骤8。
7如果没有,将变量save2的值赋予FSR。
8存储位置,FSR的值指向的变量名data2(第二个数组)。
9增量FSR并在save2中保存它的值。
10把save1的值放在FSR。
11如果data1等于data2然后:
递减计数。
计数等于零转到步骤13。
5
基于PIC16F628A的安全电子锁微控制器 否则将转到步骤3。
12其他去的循环和分配是错误的。
13返回并分配标记。
下一个功能是ReadEEPROM,用于从数组eepm文件读取存储的密码,进一步重置用户输入的密码。
以下是ReadEEPROM执行的步骤:
1初始化计算值10。
2eepm的开始地址分配给特定的指针。
3使FSR指向数组的起始地址,它将包含eepm的值。
4增量FSR。
5从eepm阅读值的一个位置,把它写在数组中。
6增量的指针指向eepm。
7递减计数。
如果等于零,这意味着eepm密码已经完全阅读然后返回。
否则,转到步骤4。
另一个重要功能是WriteEEPROM函数,当用户想要改变密码,它将新密码写入eepm。
写eepm是至关重要的操作,不应出现意外[3],因为结果将是永久性的,除非我们重写eepm的同一位置。
出于这个原因,两个值AAh和55h必须写入EECON2注册,一个接一个地确保程序给eepm写入。
以下是WriteEEPROM函数执行的步骤1初始化计算值10。
2eepm的开始地址分配给特定的指针。
3使FRS指向数组的起始地址,必须存储在eepm中4增量FRS。
5读值数组来取得临时变量的一个位置。
6向EECON2写0。
7向EECON2写0x55。
8写eepm的临时变量。
9增量的指针指向eepm。
6 基于PIC16F628A的安全电子锁微控制器 10减量计算如果等于零,这意味着所有密码完成写eepm和返回的位置,否则转到步骤4 系统有蜂鸣器代表一个警报,当用户输入一个密码错误三次,蜂鸣器会发出声响。
当出现安全漏洞,这个针可以配置依赖切换高功率报警。
论文提出系统非常简单,很少涉及到的组件,因为所有的固件中实现的功能是安装在PIC单片机。
图4中,我们展示了完整的系统硬件组件。
图4中,完成系统的硬件组件 从图中可以很明显看出,只有少数电子元件参与该系统的工作。
这确实是一个伟大的事情,使用嵌入式系统,使硬件架构非常简单,但是复杂性在于最终要根据软件和硬件的相互配合。
Ⅴ结论 编程4位液晶界面模式非常有效,发送一个字节的延迟两个步骤并不明显,另一个问题是使用PORTB往上拉,这证明是有利于系统的,因为它将在无限循环系统在睡眠模式下在等待按键。
所以当没有与系统的交互时,它节省了电池功率和提高系统的功能。
因此没有浪费CPU周期。
7 基于PIC16F628A的安全电子锁微控制器 系统使用真实的硬件组件的实现后,有一个我所遇到的技术困难,想强调是键盘的实现。
通过尽可能多的研究,列设置为读取输入,检查他们的状态就知道哪个键被按下,行输出,可以通过固件设置为1或0(5、6)。
这种方法并没有在这里实现,因为如果4针同时设置为输入,这部分将会受到影响,当其中之一是改变扫描读取,按键导致不准确的关键。
找到的解决方案是每个端口列设置为输入,然后每次输出我们检查列状态。
在这种情况下,只有一个针将设置为输入一次和其他输出而不会受到改变。
这给了我们一个精确和光滑的键盘操作。
系统是完整的、合理的,并且进行了一些改进和操作测试,可以被认为是一个成功的产品,可以运往市场。
Ⅵ引用 [1]Verle米兰“PIC微控制器”,mikroElektronika;第1版,2008年.[2]Nebojsa,Matic,“PIC微控制器在线”,MikroElektronika,2000年.[3]芯片,芯片“PIC16F628x数据表”.[4]日立”液晶HD44780数据表”,日立. [5]Peter,JAKAB”基于PIC电子密码锁(在线)“:
http:
///electronic/combination_[6] DAT,“简单组合锁键盘和 LCD 项目(在线)”:
http:
/// 8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PIC 单片机 电子 密码锁 设计 外文 文献 翻译