4-4矩阵键盘控制16个LED灯.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

4-4矩阵键盘控制16个LED灯

电子设计应用软件训练总结报告

PAGE

PAGE1

运行该软件后,新建一个设计文件,设置图纸大小。选择界面如图2所示。

图2选择图纸大小界面

2.接下来开始查找任务中所用到的元器件,查找界面如图3所示。

图3元器件查找界面

3.将查找的元器件放置到界面中,并进行相应的引脚连线,本次是采用标注的方式进行引脚连接,标注符号相同的表示引脚相连接,具体操作是先将引脚引出一小段导线,右击导线选择放置网络标号,标注标号界面如图4所示。

图4标注标号界面

4.按照题目设计要求连接好各元件,完成后的原理图如附录Ⅰ所示。

流程图绘制

扫描

扫描

开始

是否有键按下

识别哪一个键按下

在P2或P3口显示

返回

Y

N

原理图仿真步骤及过程结果说明

1.在完成原理图的连接之后,要进行仿真,AT89C51还需要导入编写的程序文件,这次任务我是用用C语言编写的程序,用的是KEIL编程软件,用它产生HEX文件,将此文件导入到AT89C51中,然后就可以进行仿真了。导入HEX文件如图5所示。

图5HEX文件导入界面

2.4*4矩阵键盘输入控制系统,P1.0--P1.3口控制行,P1.4—P1.7口控制列,电路如图6所示。

图64*4矩阵键盘

3.按钮按下后16个发光二级管中对应的二级接通,如图7所示。

图7发光二级管接通

4.振荡及复位电路如图8所示。

图8振荡及复位电路

总结

本次课设虽然只有短暂的一周,但是在这一周内学到了很多用的东西,以前学到的知识也得到了一定的巩固。此次课设又学了一种新软件——Proteus,通过网上查阅相关资料,查看相关教学视频,对Proteus有了一定的了解,虽然用的不是熟练,但是其基本功能还是能掌握,包括元器件的查找、元器件引脚的连接、以及完成之后的仿真,还对一些芯片的使用也有所熟悉,例如AT89C51等。

通过这次的课程设计,我充分认识到理论与实际相结合的重要性,理论知识再丰富,没有实际的操作经验再多的理论知识也没用,理论知识最终还是要用在实践上,只有这样才能锻炼我们的实际动手操作能力和独立思考能力。本次课设还得感谢老师同学们的细心帮助和指导,让我学会了很多新知识。

近年来,随着电子技术飞速的发展,出现了各式各样,各种型号的单片机,但是51单片机是所有单片机的基础,只有学好51系列单片机才能更好的学习更高端的单片机。

由于知识和经验方面的不足,本设计还存在不足的地方,本人还要不断学习相关知识和查阅资料,使系统结构和功能上不断完善。

参考文献

1.张毅刚.单片机原理及应用.[M]哈尔滨:哈尔滨工业大学出版社,2004.

2.彭伟.单片机C语言程序设计实训100例.[M]北京:电子工业出版社,2011.

3.周坚.单片机C语言轻松入门.第2版,[M]北京:北京航空航天大学出版社,2011.

4.杨打生,宋伟.单片机C51技术应用.[M]北京:北京理工大学出版社,2011

5.张义和,王敏男.例说51单片机.第3版,[M]北京:人民邮电出版社社,2010.

6.郭天祥.51单片机C语言教程.[M]北京:电子工业出版社,2009.

附录Ⅰ仿真电路图

附录Ⅱ程序清单

#includereg52.h

#defineuintunsignedint

#defineucharunsignedchar

ucharcodetable[4]={0xFE,0xFD,0xFB,0xF7};

ucharscan()

{

ucharTemp=0;

ucharnum=0,i=0;

for(i=0;i4;i++)

{

P1=table[i];

Temp=P10xF0;

if(Temp!=0xF0)

{

switch(Temp)

{Temp=P1;

case0xE0:num=0;break;

case0xD0:num=1;break;

case0xB0:num=2;break;

case0x70:num=3;break;

default:num=50;break;

}

break;

}

}

returnnum+4*i+1;

}

voiddisplay(ucharnum1)

{

switch(num1)

{

case1:P2=0xfe;P3=0xff;break;//1

case2:P2=0xfd;P3=0xff;break;//2

case3:P2=0xfb;P3=0x

文档评论(0)

185****9651 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档