1、这次任务中采用C语言编写程序,在编译过程中设置成自动产生HEX文件,将此文件导入AT89C51中,即可实现相应的功能。二、 原理图绘制说明电路原理图的设计与绘制是整个电路设计的基础,设计一个电路原理图的工作包括:设置电路图图纸的大小,规划电路图的总体布局,在图纸上放置元器件并对元器件进行调整,进行布线和整体布局,最后保存并打印输出等几个步骤。安装完Proteus后,运行ISIS 7 Professional,在原理图编辑窗口绘制电路图,在该界面下还有预览窗口和元件列表区,在左侧的工具箱中还有模型选择工具栏,方向工具栏及仿真按钮等工具。其具体的使用步骤如下:1. 运行该软件后,新建一个设计文件,
2、设置图纸大小。选择界面如图2所示。图2 选择图纸大小界面2.接下来开始查找任务中所用到的元器件,查找界面如图3所示。图3 元器件查找界面3.将查找的元器件放置到界面中,并进行相应的引脚连线,本次是采用标注的方式进行引脚连接,标注符号相同的表示引脚相连接,具体操作是先将引脚引出一小段导线,右击导线选择放置网络标号,标注标号界面如图4所示。图4 标注标号界面4.按照题目设计要求连接好各元件,完成后的原理图如附录所示。三、 流程图绘制四、 原理图仿真步骤及过程结果说明1.在完成原理图的连接之后,要进行仿真,AT89C51还需要导入编写的程序文件,这次任务我是用用C语言编写的程序,用的是KEIL编程软
3、件,用它产生HEX文件,将此文件导入到AT89C51中,然后就可以进行仿真了。导入HEX文件如图5所示。图5 HEX文件导入界面2.4*4矩阵键盘输入控制系统,P1.0-P1.3口控制行,P1.4P1.7口控制列,电路如图6所示。图6 4*4矩阵键盘3.按钮按下后16个发光二级管中对应的二级接通,如图7所示。图7 发光二级管接通4.振荡及复位电路如图8所示。图8 振荡及复位电路五、 总结本次课设虽然只有短暂的一周,但是在这一周内学到了很多用的东西,以前学到的知识也得到了一定的巩固。此次课设又学了一种新软件Proteus,通过网上查阅相关资料,查看相关教学视频,对Proteus有了一定的了解,虽
4、然用的不是熟练,但是其基本功能还是能掌握,包括元器件的查找、元器件引脚的连接、以及完成之后的仿真,还对一些芯片的使用也有所熟悉,例如AT89C51等。通过这次的课程设计,我充分认识到理论与实际相结合的重要性,理论知识再丰富,没有实际的操作经验再多的理论知识也没用,理论知识最终还是要用在实践上,只有这样才能锻炼我们的实际动手操作能力和独立思考能力。本次课设还得感谢老师同学们的细心帮助和指导,让我学会了很多新知识。近年来,随着电子技术飞速的发展,出现了各式各样,各种型号的单片机,但是51单片机是所有单片机的基础,只有学好51系列单片机才能更好的学习更高端的单片机。由于知识和经验方面的不足,本设计还
5、存在不足的地方,本人还要不断学习相关知识和查阅资料,使系统结构和功能上不断完善。六、 参考文献1.张毅刚.单片机原理及应用. M哈尔滨:哈尔滨工业大学出版社,2004. 2.彭伟.单片机C语言程序设计实训100例. M北京:电子工业出版社,2011.3.周坚.单片机C语言轻松入门.第2版,M北京:北京航空航天大学出版社,2011.4.杨打生,宋伟.单片机C51技术应用. M北京:北京理工大学出版社,20115.张义和,王敏男.例说51单片机.第3版,M北京:人民邮电出版社社,2010.6.郭天祥.51单片机C语言教程.M北京:电子工业出版社,2009.附录 仿真电路图附录 程序清单#inclu
6、de#define uint unsigned int#define uchar unsigned charuchar code table4=0xFE,0xFD,0xFB,0xF7;uchar scan() uchar Temp=0; uchar num=0,i=0; for(i=0;i4;i+) P1=tablei; Temp=P1 & 0xF0; if(Temp!=0xF0) switch(Temp) Temp=P1; case 0xE0: num=0;break; case 0xD0: num=1; case 0xB0: num=2; case 0x70: num=3; default
7、: num=50; break; return num+4*i+1;void display(uchar num1) switch(num1) case 1:P2=0xfe;P3=0xff; / 1 case 2:P2=0xfd; / 2 case 3:P2=0xfb; / 3 case 4:P2=0xf7; / 4 case 5:P2=0xef; / 5 case 6:P2=0xdf; / 6 case 7:P2=0xbf; / 7 case 8:P2=0x7f; / 8 case 9:P2=0xff;P3=0xfe; / 9 case 10:P3=0xfd; / 10 case 11:P3=0xfb; / 11 case 12:P3=0xf7; / 12 case 13:P3=0xef; / 13 case 14:P3=0xdf; / 14 case 15:P3=0xbf; / 15 case 16:P2=0xff,P3=0x7f; / 16 default: ;void main()char num1; while(1) num1=scan(); display(num1);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1