微机原理课题设计实验报告之矩阵式键盘数字密码锁摘要.docVIP

微机原理课题设计实验报告之矩阵式键盘数字密码锁摘要.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机系统与应用课程设计报告 课程设计题目 成 绩 矩阵式键盘数字密码锁设计 评 语: 教 师: 年 月 日 班 级: 031013 学 号: 姓 名: 林佳福 实验地点: E楼Ⅱ区312 实验时间: 2013.3.12-3.17 矩阵式键盘数字密码锁设计 一 . 实验目的 掌握与各芯片管脚连接方法,提高接口扩展硬件电路的连接能力根据设定好的密码,采用实现密码的输入功能当密码输入正确之后,锁就打开,如果输入三次密码不正确,就锁定按键秒钟,发报警后,按键锁定”Modify Secret”键,系统提示输入旧密码,输入旧密码+“#”键后,如果正确,系统提示输入新密码,输入新密码+“#”后,新密码起效,重新进入初始状态;如果旧密码错,不能修改密码,密码锁直接进入初始状态。 三. 实验基本任务 1)具有开锁、修改密码基本的密码锁功能。超锁定,显示采用 “*” 号表示。”键后,系统提示输入管理员密码,输入管理员密码+“#”键后,如果正确,系统自动恢复用户初始密码为“123456”;如果错误,程序停止运行,系统退出。 2)增加了输入清除功能(*),在输入密码过程中,如果中途按下“*”键,则清除前面的输入,开始重新输入密码。 四 . 实验设计方案 实验用到8255作为并行接口设备,用以ISA总线与外设的连接,本次用的是8255的A口作为输出口,C口的高4位与B口是输入,C口低4位是输出口,所以控制住设置为ox8a,8253作为时钟器,作为控制提示灯的时间闪烁,8255的A口接键盘的rom,B口接col,地址线都连接在总线下面的芯片上接口,其他的读写控制线都接入ISA总线上。 如下图的接线设置 实验器材 8086CPU,可编程并行接口8255,可编程定时器8253,LCD显示屏,LED灯,4x4矩阵键盘。 实验原理图 程序代码 #include StdAfx.h #include PCI9052DLL.h #include stdio.h #include math.h #include string.h #include stdlib.h #include iostream.h #include windows.h unsigned char value[4][4]={{1,2,3,M},{4,5,6,O},{7,8,9,A},{0,#,*,S}};//键盘标示 unsigned char little[4][4]={{a,b,c,\0},{d,e,f,\0},{g,h,i,\0},{j,\0,\0,S}};//shift键的字母表示 char Mimachar[6]={1,2,3,4,5,6}; char Guanlikey[8]={1,2,3,4,5,6,7,8}; int Mimasum=0; int Guanlisum=0; char Wodemima[6]; char Guanlichar[8]; bool Modify=false; bool Newmima=false; int Errorcount=0; bool Equal(char a[],char b[])//比较字符串是否相等 { int i; for(i=0;i6;i++) { if(Mimachar[i]!=Wodemima[i]) return false; } return true; } bool isnum(char tmp)//判断是否为数字 { return tmp=9tmp=0; } bool isoper(char tmp)//判断是否为操作符 { return tmp==#||tmp==*||tmp==S||tmp==A||tmp==O||tmp==M ? true : false; } bool ischar(char tmp)//判断是否为小写字母 { return tmp=atmp=j; } void init8255()//初始化8255 { OpenDevice(); OutByte(0xde03, 0x82); } void end8255()//结束8255 { CloseDevice(); } void InitLCD()//初始化LCD { unsigned char data[4]={0x01,0x06,0x0f,0x38}; unsigned char ch[6]=Open!; int i; for (i=0;i4;

文档评论(0)

风凰传奇 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档