单片机课程设计报告-4X4键盘两位数码管显示行与列_第1页
单片机课程设计报告-4X4键盘两位数码管显示行与列_第2页
单片机课程设计报告-4X4键盘两位数码管显示行与列_第3页
单片机课程设计报告-4X4键盘两位数码管显示行与列_第4页
单片机课程设计报告-4X4键盘两位数码管显示行与列_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机及DSP课程设计报告专 业: 班 级: 姓 名: 学 号: 指导教师: 时 间:2012-06-1124通信与电子工程学院 一、单片机课程设计目的及内容通过本次课程设计进一步加强对所学单片机理论知识的运用,在设计过程中也对数字电路、模拟电路等课程的理论知识进行了复习。此次课程设计可以使我们初步了解单片机系统设计的基本流程,即分析需求、设计原理图、选用元器件、布线、编程,最后进行调试。另外在设计过程中通过对keil及PROTEUS等软件的使用,巩固了使用C语言进行编程的能力,以及对程序与单片机硬件系统的整合能力,使程序能够发挥其应有的控制作用。总之,本次课程设计为我们提供了一次动手实践能力,使我们对系统开发有了大体了解,为将来工作增添了经验。在本次课程设计中我选择了设计并实现4x4键盘接口,并在两位数码管上显示键盘所在行与列的题目。使用4X4键盘与单片机I/O口进行连接,通过键盘扫描程序,识别是哪个键按下,并将其编码送入单片机,最终通过数码管进行显示。二、硬件电路方案设计1、4X4键盘设计4x4键盘工作原理:每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。键盘的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么?还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地;另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。2、数码管显示电路设计 数码管显示原理:动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 3、系统总电路图三、程序设计1、程序流程图(1)键盘扫描P1=0xfe按键确认延时2ms再次确认按键编码返回键值P1=0xfd按键确认延时2ms再次确认按键编码返回键值P1=0xfb按键确认延时2ms再次确认按键编码返回键值P1=0xf7按键确认延时2ms再次确认按键编码返回键值 第一行扫描 第二行扫描 第三行扫描 第四行扫描 图1(2)数码管动态显示 P2=0xfe数码管1亮P0=table;显示数字延时5msP2=0xfd数码管2P0=table延时5ms显示数字2、源程序(见附页)四、系统仿真仿真过程:1、在keil中运行程序,并生成hex文件保存。2、 proteus元件库中选择系统中所需的各元件,按设计的电路原理图进行连接。3、 连接好电路后鼠标双击AT89C52芯片,在“File”菜单中打开生成hex文件,下载完成后,点击运行按钮。注意:1、 在原理图的绘制过程中对数码管的选择要注意考虑所写程序,无法点亮时应考虑共阳极数码管或共阴极数码管的选择。 2、 P0口接数码管时应接上拉电阻,否则无法点亮五、课程设计总结通过本次课程设计,我对单片机有了更为深刻的了解,并且将从课本上学到的理论知识运用到了实际的动手操作当中去,体会到了实践的重要。在整个课程设计过程中,从选题到绘制电路原理图,然后是编程实现电路功能,我都是自己独立完成。我选的题目较为简单,我本来的打算是,在完成题目要求后,在此基础上进一步扩展,但到后来遇到了一些问题(向工程中添加自定义头文件没有成功),最终使系统的功能没有得到扩展。虽然扩展系统功能没有成功,但此次课程设计为我们提供了一次非常好的动手实践的机会,使我们在课堂上学到的理论知识得到了运用,特别是这次课设要求我们独立完成,更是对个人能力提出了一定要求,每位同学在本次课程设计过程中都是自己独立完成电路设计、程序编程、仿真调试等各项任务的,个人编程能力、电路设计能力、仿真调试能力都得到了一定程度的提高。在本次课程设计过程中通过对Keil和Proteus软件使用,更进一步熟悉了51单片机的编程环境以及电路图的绘制、仿真方法,为以后的学习工作打下了基础。在这次课设中,我体会最深的就是编程环节,通过C语言编程去控制单片机各管脚并最终使单片机能够控制各外围电路实现其各自的功能,使我对单片机产生了极大的兴趣,坚定了我努力学习单片机的信心。另外,通过本次课设也使我认识到了自己的不足之处,C语言基础知识掌握不牢固,编程能力有待提高,数电、模电理论知识欠缺。我会在以后的学习生活中加强这几方面知识的学习,并与实践相结合,增强对理论知识的运用能力。总之,本次实习使我受益匪浅,个人的动手实践能力得到了很大提高,为以后的学习和工作提供了宝贵的经验。参考文献 1、单片微型计算机原理与接口技术 高锋 科学出版社;2、模拟电子技术基础 童诗白 华成英 高等教育出版社;3、数字电子技术基础 阎石 高等教育出版社;4、基于PROTEUS的51系列单片机设计与仿真 侯玉宝 电子工业出版社; 5、89c51单片机及其应用系统设计 刘复华 清华大学出版社;附页(源程序)#include#define uint unsigned int#define uchar unsigned charuchar num,temp;uchar keyscan();void delay(uint z);void display(uchar aa);uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/*主函数*/void main()while(1) keyscan(); display(num);/*延时函数*/void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=100;y0;y-);/*键盘扫描*/uchar keyscan()P1=0xfe;temp=P1;temp=temp&0xf0;while(temp!=0xf0)delay(2);temp=P1;temp=temp&0xf0;while(temp!=0xf0) temp=P1;switch(temp)case 0xee:num=11;break;case 0xde:num=12;break;case 0xbe:num=13;break;case 0x7e:num=14;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;P1=0xfd;temp=P1;temp=temp&0xf0;while(temp!=0xf0)delay(2);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case 0xed:num=21;break;case 0xdd:num=22;break;case 0xbd:num=23;break;case 0x7d:num=24;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;P1=0xfb;temp=P1;temp=temp&0xf0;while(temp!=0xf0)delay(2);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case 0xeb:num=31;break;case 0xdb:num=32;break;case 0xbb:num=33;break;case 0x7b:num=34;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;P1=0xf7;temp=P1;temp=temp&0xf0;while(temp!=0xf0)delay(2);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case 0xe7:num=41;break;case 0xd7:num=42;break;case 0xb7:num=43;break;case 0x77:num=44;break;while(te

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论