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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

整理单片机应用之摩斯密码电子锁.docx

1、整理单片机应用之摩斯密码电子锁单片机应用之摩斯密码电子锁设计者:吴志光 地址:广东省顺德摩斯密码相信学习无线电和电子的都非常熟耳,可能这东西已经过时的缘故吧,可能大家不太了解这东西。本着多学一点知识的原则,而且这东西熟悉以后可能再紧要关头可以救命的东东啊!本人就对这东西解释一下:电报最早是由美国的摩尔斯在1844年发明的,故也被叫做摩尔斯电码。它由两种基本信号和不同的间隔时间组成:短促的点信号 ,读 嘀 (Di);保持一定时间的长信号,读嗒 (Da)。间隔时间:嘀1t;嗒3t;滴嗒间1t;字母间3t;字间5t。摩斯密码表 A . _ M _ _ Y _ . _ _ B _ . . . N _

2、. Z _ _ . . C _ . _ . O _ _ _ 1 . _ _ _ _ D _ . . P . _ _ . 2 . . _ _ _ E . Q _ _ . _ 3 . . . _ _ F . . _ . R . _ . 4 . . . . _ G _ _ . S . . . 5 . . . . . H . . . . T _ 6 _ . . . . I . . U . . _ 7 _ _ . . . J . _ _ _ V . . . _ 8 _ _ _ . . K _ . _ W . _ _ 9 _ _ _ _ . L . _ . . X _ . . _ 0 _ _ _ _ _

3、基本上摩斯电码就是由一个短音的“嘀”,和长音的“嗒”构成,如果换成数字电路就是0和1。而且由单个键控制其接奏长短通过其组合来待表不同的字母和数字。本人设计的密码锁就是基于这种概念来设计的。电路图(如图一)电路特色:本电路只有两个按键,一个为复位键(修改密码键),一个为密码键,密码键根据其按下的长短来实现“滴”“嗒”。1t为滴,3t为嗒(t约为500ms)。若按键s1小于1t,或大于1t小于3t ,或大于5t则被认为无效按法,则重新输入。本电路只取09数字摩斯值为有效值。其余的英文字母和其它的按值均被认作无效值。(有兴趣的可把英文码都写进去增强其密码广泛性)。由于设置有后备电源,所以无须增加存储

4、器降低编程难度。八段数码管显示你的摩斯按键是否正确对应你要输入的数字密码。由于采取上电设置密码的编程方法复位键即密码修改键设置在门后,要打开门才能修改密码。设置密码后若输入密码不对的前两次5秒报警,最后一次10分钟报警,摩斯按发错误除外(但有两秒报警,并且须全部密码重新输入)。本电路设置四位密码,由于每位数字键均由五位摩斯码构成则要输入20次摩斯码键!p0.0(绿色)“滴”显示,p0.2(黄色)“嗒”音显示,p0.4(红色)摩斯码按法错误或密码错误,p0.6(蓝色)表示该电路已设置了密码,等待输入密码进行比较。Ls1为报警器。本电路优点:电路简单可靠,保密性强。就算密码泄露但不懂摩斯密码输入法

5、则则是徒劳。本电路缺点:用户须一段时间掌握摩斯输入技巧。经本人使用一段时间掌握了一些技巧现拿来分享,摩斯输入技巧:按键之后灯亮则松,灯灭则按。以下是电路实物图:(由于特殊原因,不能提供实样板实物图,只能提供实验板实物图区别在于实验板的用led代替了继电器,用USB代替电源方便调试。但电路均能正常工作,程序一样,不便之处敬请原谅)本实物图状态为等待输入密码进行比较开锁对本电路有任何疑问请与本人联系!程序如下:hc0 equ 4ah ;延时缓存区hc1 equ 4bhhc2 equ 4chhc3 equ 4dhhc4 equ 4ehxs_0 equ 50h ;显示缓存区xs_1 equ 51hxs

6、_2 equ 52hxs_3 equ 53hxs_4 equ 54hxs_5 equ 55hxs_6 equ 56hxs_7 equ 57hxs_8 equ 58hxs_9 equ 59hps1 equ 5ah ;设置密码缓存区ps2 equ 5bhps3 equ 5chps4 equ 5dhmmbz equ 5fh ;密码输入次数at1 equ 60h ;输入密码缓存区at2 equ 61hat3 equ 62hat4 equ 63h;初始化org 00hajmp main1org 30hmain1:mov ps1 ,#00hmov ps2 ,#00hmov ps3 ,#00hmov ps4

7、 ,#00hmov at1 ,#00hmov at2 ,#00hmov at3 ,#00hmov at4 ,#00hmain:mov xs_0 ,#1fh ;显示0的摩斯值mov xs_1 ,#0fh ;显示1的摩斯值mov xs_2 ,#07h ;显示2的摩斯值mov xs_3 ,#03h ;显示3的摩斯值mov xs_4 ,#01h ;显示4的摩斯值mov xs_5 ,#00h ;显示5的摩斯值mov xs_6 ,#10h ;显示6的摩斯值mov xs_7 ,#18h ;显示7的摩斯值mov xs_8 ,#1ch ;显示8的摩斯值mov xs_9 ,#1eh ;显示9的摩斯值clr p3.

8、0mov a ,#00h ;密码缓存mov r2 ,#04h ;四位密码mov r1 ,#00hmov r0 ,#ps1mov r7 ,#05h ;摩斯次数,由于数字为5次clr p2.7start:mov p0 ,#0ffhmov p1 ,#0ffhsetb p2.4 ;按键位jb p2.4 ,startlcall delay500msjb p2.4 ,startok: ;嘀的音clr p0.0lcall delay500msjnb p2.4 ,daa ;是否去嗒音cun: ;setb p0.2setb p0.0rl aadd a ,r1 ;存入一位摩斯码djnz r7 ,yanshi ;是

9、否够五位摩斯码ajmp xianshiyanshi: ;输入一位摩斯码停顿1tlcall delay500msjb p2.4 ,mainajmp okdaa: ;嗒的音lcall delay500msjb p2.4 ,stopsetb p0.0clr p0.2lcall delay500mssetb p0.2jnb p2.4 ,stopmov r1 ,#01hajmp cunstop: ;摩斯输入错误 clr p0.4lcall delay2ssetb p0.4ajmp maincunchu:mov r0 ,ainc r0mov a ,#00hmov r1 ,#00hmov r7 ,#05hd

10、jnz r2 ,yanshiclr p0.6lcall delay2ssetb p0.6ajmp shuruxianshi:cjne a ,xs_0 ,next1 ;够五位摩斯码显示0mov p1 ,#0c0hclr p3.2 ;报警器lcall delay1ssetb p3.2 ;报警器mov p1 ,#0ffhajmp cunchunext1:cjne a ,xs_1 ,next2 ;够五位摩斯码显示1mov p1 ,#0f9hclr p3.2lcall delay1ssetb p3.2mov p0 ,#0ffhajmp cunchunext2:cjne a ,xs_2 ,next3 ;够

11、五位摩斯码显示2mov p1 ,#0a4hclr p3.2lcall delay1ssetb p3.2mov p1 ,#0ffhajmp cunchunext3:cjne a ,xs_3 ,next4 ;够五位摩斯码显示3mov p1 ,#0b0hclr p3.2lcall delay1ssetb p3.2mov p1 ,#0ffhajmp cunchunext4:cjne a ,xs_4 ,next5 ;够五位摩斯码显示4mov p1 ,#99hclr p3.2lcall delay1ssetb p3.2mov p1 ,#0ffhajmp cunchunext5:cjne a ,xs_5 ,

12、next6 ;够五位摩斯码显示5mov p1 ,#92hclr p3.2lcall delay1ssetb p3.2mov p1 ,#0ffhajmp cunchunext6:cjne a ,xs_6 ,next7 ;够五位摩斯码显示6mov p1 ,#7dhclr p3.2lcall delay1ssetb p3.2mov p1 ,#0ffhajmp cunchunext7:cjne a ,xs_7 ,next8 ;够五位摩斯码显示7mov p1 ,#0f8hclr p3.2lcall delay1ssetb p3.2mov p1 ,#0ffhajmp cunchunext8:cjne a

13、,xs_8 ,next9 ;够五位摩斯码显示8mov p1 ,#080hclr p3.2lcall delay1ssetb p3.2mov p1 ,#0ffhajmp cunchunext9:cjne a ,xs_9 ,cw ;够五位摩斯码显示9mov p1 ,#90hclr p3.2lcall delay1ssetb p3.2mov p1 ,#0ffhajmp cunchucw:clr p3.2clr p0.4lcall delay5sclr p0.4setb p3.2ajmp main1shuru: ;开门复位mov mmbz ,#03 ;错误密码次数mov at1 ,#00h mov a

14、t2 ,#00hmov at3 ,#00hmov at4 ,#00hshuru2:clr p0.6mov a ,#00h ;密码缓存mov r2 ,#04h ;四位密码mov r1 ,#00hmov r0 ,#at1mov r7 ,#05hstart1:jb p2.4 ,start1lcall delay500msjb p2.4 ,start1ok1: ;滴音setb p3.0 ;开门后再按键1t以上关门setb p0.6clr p0.0lcall delay500msjnb p2.4 ,daaacun1:setb p0.2setb p0.0rl aadd a ,r1djnz r7 ,yans

15、hi1ajmp xianshi1yanshi1: ;每个摩斯码之间延时1tlcall delay500msjb p2.4 ,stop1ajmp ok1daaa: ;嗒音lcall delay500msjb p2.4 ,stop1setb p0.0clr p0.2lcall delay500mssetb p0.2jnb p2.4 ,stop1mov r1 ,#01hajmp cun1stop1: ;摩斯码错误处理clr p0.4lcall delay2ssetb p0.4ajmp shuru2cunchu2:mov r0 ,ainc r0mov a ,#00hmov r1 ,#00hmov r7

16、 ,#05hdjnz r2 ,yanshi1ajmp bijiaoxianshi1: ;显示处理cjne a ,xs_0 ,next1_1mov p1 ,#0c0hclr p3.2lcall delay1ssetb p3.2mov p1 ,#0ffhajmp cunchu2next1_1:cjne a ,xs_1 ,next2_2mov p1 ,#0f9hclr p3.2lcall delay1ssetb p3.2mov p1 ,#0ffhajmp cunchu2next2_2:cjne a ,xs_2 ,next3_3mov p1 ,#0a4hclr p3.2lcall delay1sset

17、b p3.2mov p1 ,#0ffhajmp cunchu2next3_3:cjne a ,xs_3 ,next4_4mov p1 ,#0b0hclr p3.2lcall delay1ssetb p3.2mov p1 ,#0ffhajmp cunchu2next4_4:cjne a ,xs_4 ,next5_5mov p1 ,#99hclr p3.2lcall delay1ssetb p3.2mov p1 ,#0ffhajmp cunchu2next5_5:cjne a ,xs_5 ,next6_6mov p1 ,#92hclr p3.2lcall delay1ssetb p3.2mov p

18、1 ,#0ffhajmp cunchu2next6_6:cjne a ,xs_6 ,next7_7mov p1 ,#82hclr p3.2lcall delay1ssetb p3.2mov p1 ,#0ffhajmp cunchu2next7_7:cjne a ,xs_7 ,next8_8mov p1 ,#0f8hclr p3.2lcall delay1ssetb p3.2mov p1 ,#0ffhajmp cunchu2next8_8:cjne a ,xs_8 ,next9_9mov p1 ,#80hclr p3.2lcall delay1ssetb p3.2mov p1 ,#0ffhajm

19、p cunchu2next9_9:cjne a ,xs_9 ,cw2mov p1 ,#90hclr p3.2lcall delay1ssetb p3.2mov p1 ,#0ffhajmp cunchu2bijiao: ;比较密码mov r6 ,#04mov r1 ,#ps1mov r0 ,#at1bj2:clr cmov a ,r0subb a ,r1cjne a ,#00h ,cw2inc r1inc r0djnz r6 ,bj2clr p3.2 ;密码正确clr p3.0lcall delay5ssetb p3.2ajmp shurucw2: ;密码错误处理djnz mmbz ,bjdmo

20、v p0 ,#00hclr p3.2lcall delay5minsetb p3.2mov p0 ,#0ffhajmp shuru2bjd:mov p0 ,#00hclr p3.2lcall delay5ssetb p3.2mov p0 ,#0ffhajmp shuru2delay500ms:mov hc0 ,#05ff1:mov hc1 ,#200fff1:mov hc2,#250djnz hc2 ,$djnz hc1 ,fff1djnz hc0 ,ff1retdelay1s:mov hc0 ,#10ff2:mov hc1 ,#200ff3:mov hc2 ,#250djnz hc2 ,$d

21、jnz hc1 ,ff3djnz hc0 ,ff2retdelay2s:mov hc0 ,#20ff4:mov hc1 ,#200ff5:mov hc2 ,#250djnz hc2 ,$djnz hc1 ,ff5djnz hc0 ,ff4retdelay5s:mov hc0 ,#50ff6:mov hc1 ,#200ff7:mov hc2 ,#250djnz hc2 ,$djnz hc1 ,ff7djnz hc0 ,ff6retdelay5min:mov hc0 ,#12qq1:mov hc1 ,#200qq2:mov hc2 ,#250qq3:mov hc3 ,#250djnz hc3 ,$

22、djnz hc2,qq3djnz hc1 ,qq2djnz hc0 ,qq1retend电路特色:本电路只有两个按键,一个为复位键(修改密码键),一个为密码键,密码键根据其按下的长短来实现“滴”“嗒”。1t为滴,3t为嗒(t约为500ms)。若按键s1小于1t,或大于1t小于3t ,或大于5t则被认为无效按法,则重新输入。本电路只取09数字摩斯值为有效值。其余的英文字母和其它的按值均被认作无效值。(有兴趣的可把英文码都写进去增强其密码广泛性)。由于设置有后备电源,所以无须增加存储器降低编程难度。八段数码管显示你的摩斯按键是否正确对应你要输入的数字密码。由于采取上电设置密码的编程方法复位键即密码

23、修改键设置在门后,要打开门才能修改密码。设置密码后若输入密码不对的前两次5秒报警,最后一次10分钟报警,摩斯按发错误除外(但有两秒报警,并且须全部密码重新输入)。本电路设置四位密码,由于每位数字键均由五位摩斯码构成则要输入20次摩斯码键!p0.0(绿色)“滴”显示,p0.2(黄色)“嗒”音显示,p0.4(红色)摩斯码按法错误或密码错误,p0.6(蓝色)表示该电路已设置了密码,等待输入密码进行比较。Ls1为报警器。本电路优点:电路简单可靠,保密性强。就算密码泄露但不懂摩斯密码输入法则则是徒劳。本电路缺点:用户须一段时间掌握摩斯输入技巧。经本人使用一段时间掌握了一些技巧现拿来分享,摩斯输入技巧:按

24、键之后灯亮则松,灯灭则按。以下是电路实物图:(由于特殊原因,不能提供实样板实物图,只能提供实验板实物图区别在于实验板的用led代替了继电器,用USB代替电源方便调试。但电路均能正常工作,程序一样,不便之处敬请原谅)本实物图状态为等待输入密码进行比较开锁对本电路有任何疑问请与本人联系!程序如下:hc0 equ 4ah ;延时缓存区hc1 equ 4bhhc2 equ 4chhc3 equ 4dhhc4 equ 4ehxs_0 equ 50h ;显示缓存区xs_1 equ 51hxs_2 equ 52hxs_3 equ 53hxs_4 equ 54hxs_5 equ 55hxs_6 equ 56h

25、xs_7 equ 57hxs_8 equ 58hxs_9 equ 59hps1 equ 5ah ;设置密码缓存区ps2 equ 5bhps3 equ 5chps4 equ 5dhmmbz equ 5fh ;密码输入次数at1 equ 60h ;输入密码缓存区at2 equ 61hat3 equ 62hat4 equ 63h;初始化org 00hajmp main1org 30hmain1:mov ps1 ,#00hmov ps2 ,#00hmov ps3 ,#00hmov ps4 ,#00hmov at1 ,#00hmov at2 ,#00hmov at3 ,#00hmov at4 ,#00h

26、main:mov xs_0 ,#1fh ;显示0的摩斯值mov xs_1 ,#0fh ;显示1的摩斯值mov xs_2 ,#07h ;显示2的摩斯值mov xs_3 ,#03h ;显示3的摩斯值mov xs_4 ,#01h ;显示4的摩斯值mov xs_5 ,#00h ;显示5的摩斯值mov xs_6 ,#10h ;显示6的摩斯值mov xs_7 ,#18h ;显示7的摩斯值mov xs_8 ,#1ch ;显示8的摩斯值mov xs_9 ,#1eh ;显示9的摩斯值clr p3.0mov a ,#00h ;密码缓存mov r2 ,#04h ;四位密码mov r1 ,#00hmov r0 ,#p

27、s1mov r7 ,#05h ;摩斯次数,由于数字为5次clr p2.7start:mov p0 ,#0ffhmov p1 ,#0ffhsetb p2.4 ;按键位jb p2.4 ,startlcall delay500msjb p2.4 ,startok: ;嘀的音clr p0.0lcall delay500msjnb p2.4 ,daa ;是否去嗒音cun: ;setb p0.2setb p0.0rl aadd a ,r1 ;存入一位摩斯码djnz r7 ,yanshi ;是否够五位摩斯码ajmp xianshiyanshi: ;输入一位摩斯码停顿1tlcall delay500msjb

28、p2.4 ,mainajmp okdaa: ;嗒的音lcall delay500msjb p2.4 ,stopsetb p0.0clr p0.2lcall delay500mssetb p0.2jnb p2.4 ,stopmov r1 ,#01hajmp cunstop: ;摩斯输入错误 clr p0.4lcall delay2ssetb p0.4ajmp maincunchu:mov r0 ,ainc r0mov a ,#00hmov r1 ,#00hmov r7 ,#05hdjnz r2 ,yanshiclr p0.6lcall delay2ssetb p0.6ajmp shuruxian

29、shi:cjne a ,xs_0 ,next1 ;够五位摩斯码显示0mov p1 ,#0c0hclr p3.2 ;报警器lcall delay1ssetb p3.2 ;报警器mov p1 ,#0ffhajmp cunchunext1:cjne a ,xs_1 ,next2 ;够五位摩斯码显示1mov p1 ,#0f9hclr p3.2lcall delay1ssetb p3.2mov p0 ,#0ffhajmp cunchunext2:cjne a ,xs_2 ,next3 ;够五位摩斯码显示2mov p1 ,#0a4hclr p3.2lcall delay1ssetb p3.2mov p1 ,#0ffhajmp cunchunext3:cjne a ,xs_3 ,next4 ;够五位摩斯码显示3mov p1 ,#0b0hclr p3.2lcall delay1ssetb p3.2mov p1 ,#0

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2