单片机课程设计个按键控制个自动设定控制流水灯

上传人:m**** 文档编号:500005787 上传时间:2023-01-02 格式:DOCX 页数:20 大小:43.66KB
返回 下载 相关 举报
单片机课程设计个按键控制个自动设定控制流水灯_第1页
第1页 / 共20页
单片机课程设计个按键控制个自动设定控制流水灯_第2页
第2页 / 共20页
单片机课程设计个按键控制个自动设定控制流水灯_第3页
第3页 / 共20页
单片机课程设计个按键控制个自动设定控制流水灯_第4页
第4页 / 共20页
单片机课程设计个按键控制个自动设定控制流水灯_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《单片机课程设计个按键控制个自动设定控制流水灯》由会员分享,可在线阅读,更多相关《单片机课程设计个按键控制个自动设定控制流水灯(20页珍藏版)》请在金锄头文库上搜索。

1、东北石油大学实习总结报告实习类型生产实习实习单位东北石油大学实习基地实习起止时间2018年7月7日至2018年7月里日指导教师刘东明、孙鉴所在院(系) 电子科学学院班 级学生姓名学 号15090124022018年 7月 16日目录2.3按键工作原理 32.4 整体电路图 5附录 12第1章 按键控制流水灯设计1.1 实习目的本次实习以STC89C52单片机为控制核心。通过它实现对八盏LED灯的亮灭 进行设定,并在设定完成之后能够按照之前的设定实现流水灯效果。外部电路为 按键控制流水灯。P0 口控制八盏灯,P1 口控制矩阵键盘,P2 口控制独立按键,程 序利用单片机内部计时器中断实现流水效果。

2、要求流水灯能够自行设定、暂停、 复位,工作稳定,可靠性高。生产实习的主要目的是培养理论联系实际的能力,提高实际动手操作能力。 本专业的生产实习旨在广泛了解实际单片机电子产品工作的全过程,熟悉电子产 品的主要技术管理模式,并在实习的操作过程中学习掌握电子产品的焊接安装调 试的实际操作技能。巩固和加深理解所学的理论,开阔眼界,提高潜力,为培养 高素质大学本科人才打下必要的基础。透过学习,是理论与实际相结合,能够使 学生加深对所学知识的理解,并为后续专业课的学习带给必要的感性知识,同时 直接了解本业的生产过程和生产资料,为将来走上工作岗位带给必要的实际生产 知识。1.2 实习要求1.深入学习单片机开

3、发软件Keil的使用,熟悉单片机电路设计,根据实际应 用电路对程序进行调试。2熟悉单片机硬件开发平台的应用,掌握单片机编程器、仿真器的使用,能 检查和分析软硬件故障。3体会单片机内部资源的功能使用,以单片机开发板现有资源进行应用性设 计。掌握单片机常用外围器件的使用。4对去年生产实习焊接的 51 开发板的程序有更深入的了解。第2章 电路工作原理2.1 STC89C52 单片机工作原理单片机(Microcontrollers)是一种,是采用技术把具有数据处理能力的CPU、 RAM、多种I/O 口和、/计数器等功能(可能还包括显示驱动电路、电路、模拟多 路、等电路)集成到一块硅片上构成的一个小而完

4、善的。例如STC89C52单片机是通过32个输入输出口的高低电平变化来实现对外部 电路的控制,痛过相应的程序实现对32个输入输出口的控制,这就是单片机工作 的最基本原理。如图2-1所示为STC89C52单片机工作的最小系统电路图。图2-1 STC89C52最小工作系统整个电路使用 5V 直流电源供电,其中复位电路能够使单片机复位;晶振电路 相当于单片机的心脏,为单片机提供 12MHz 的高频脉冲使单片机正常工作; MAX232是将单片机输出的TTL电平转换成PC机能接收的232电平或将PC机输 出的232电平转换成单片机能接收的TTL电平,实现单片机与PC机之间的通信, 以便于下载程序。2.2

5、 LED 工作原理LED(light-emitting diode),即发光二极管,俗称LED小灯,51开发板使用 的是普通贴片发光二极管。这种二极管通常的正向导通电压是 1.82.2V 之间,工 作电流一般在 120mA 之间。其中当电流在 15mA 之间变化时,随着通过 LED 的电流越来越大,肉眼会感觉到这个灯越来越亮,而当电流从 520mA 变化时, 看到的发光二极管的亮度变化不明显了。当电流超过 20mA 时, LED 就有烧坏的 危险。所以在 51 开发板的使用中需要根据相应的电流参数设计一个与 LED 串联 的限流电阻。如图2-2所示为单片机I/O 口控制LED的电路原理图。图2

6、-2单片机控制LED电路图图中PR2为排阻,在电路中起到限流作用,防止LED被烧毁。因为单片机是 可以编程控制的,即P00P07的高低电平也是能够控制的,所以对应的8个LED 的亮灭状态也是能够控制的,这就达到了单片机控制LED的目的。2.3 按键工作原理2.3.1 独立按键工作原理独立式按键比较简单,它们各自与独立的输入线相连接,如图 2-3所示。图 2-3 独立式按键原理图4 条输人线接到单片机的 I/O 口上,当按健 K1 按下时, +5V 通过电阻然后再 通过按键K1最终进人GND形成一条通路,这条线路的全部电压都加到这个电阻 上,P20这个引脚就是个低电平。当松开按健后,线路断开,就

7、不会有电值通过, P20和+5V就应该是等电位,是个高电平。我们就可以通过P20这个10 口的高低 电平来判断是否有按键按下。2.3.2 矩阵按键工作原理在某一个系统设计中,如果需要使用很多按键时,做成独立按键会占用大量 I/O 口,因此引用了矩阵键盘的设计。如图2-4所示为51开发板上的矩阵按键电路 原理图,使用8个I/O 口来实现16个按键。图 2-4 矩阵按键原理图在程序设计中分别用四个I/O 口扫描4行,另外4个扫描4列,确定了按键在 哪行哪列也就确定了按键的具体位置。2.4 整体电路图如图2-5所示为键盘控制LED流水灯整体电路图。图 2-5 总电路原理图2.5 本章小结本章主要介绍

8、了单片机最小系统、LED工作原理、按键工作原理。并从硬件 电路的设计出发,简单分析单片机控制LED的工作过程。理论分析基本完成,接 下来就是具体的程序设计与调试,通过具体的程序来实现相应的功能,这也是单 片机开发中最具技术含量的环节之一。第3章 C 程序设计3.1 程序设计流程图如图 3-1 所示为主程序流程图。K1是否按下否是是K3是否按下否K2是否按下否是计时器中断程序选择 数据实现LED流水灯扫描矩阵键盘选择需要点亮的LED开计时器中断保存选择的数据图 3-1 程序设计框图主程序由3个独立按键控制,KI, K2和K3。开始从主函数执行程序语句, 不断循环扫描按键,当 K1 按下时,进入选

9、择状态,程序会不断地扫描矩阵键盘, 通过矩阵键盘选择需要点亮的LED;选择结束后按下K2,程序会将选定后的数据 送入中断程序,中断程序根据接收的数据选泽对应的LED实现流水灯效果;当按下 K3 后程序又会进入矩阵键盘扫描重新选择 LED。3.2 实验结果如图 3-2 所示,当按下 K1 后进入选择定状态。图 3-2 选择 LED如图 3-2,控制矩阵键盘分别选择了第 1,6,8 盏灯。再按下K2键,让选择的第1, 6, 8盏灯实现流水灯效果。如图3-3所示。图 3-3 流水灯如图3-3,按下K2之后,LED由之前第1,6,8盏灯亮变为第1,2,7盏灯 亮,实现了流水灯右移的效果。当按下 K3

10、键,实验结果如图 3-4 所示。图 3-4 回到初始状态由图3-4可知,当按下K3键之后,程序又回到了设定LED的状态。3.3 本章小结由实验结果可以看出,本次单片机课程设计已达到预期要求,电路工作稳定 满足设计要求。在整个设计过程中,程序设计与调试最为复杂,出现过按键灯不 亮,没有出现滚动流水等现象等一系列程序问题。但最终在不断地检查、调试之 后,问题也逐渐得到解决。最终实现按键控制流水灯的效果。总结及体会本次设计通过对单片机进行编程控制,进而控制外部电路,成功地设计了八 个按键控制八盏灯亮灭实现流水灯的效果。深入了解到单片机开发软件 Keil 的使 用,熟悉单片机电路设计,根据实际应用电路

11、对程序进行调试。熟悉单片机硬件 开发平台的应用,掌握了单片机编程器、仿真器的使用,能检查和分析软硬件故 障。体会到单片机内部资源的功能使用,以单片机开发板现有资源进行应用性设 计。通过这次实习使我进一步弄懂所学到的课本知识,巩固和深化对单片机的结 构、指令系统、中断系统、键盘/显示系统、接口技术、系统扩展、定时/控制、程 序设计、应用开发、等基本理论知识的理解,提高单片机应用于技术的实践操作 技能,掌握单片机应用系统设计、研制的方法,培养利用单片机进行科技革新、 开发和创新的基本能力,为毕业后从事与单片机相关的工作打下一定的基础。参考文献1 童诗白,华成英模拟电子技术基础(第四版)M.北京:高

12、等教育出版社,2006.2 阎石数字电子技术基础(第五版)M.北京:高等教育出版社,2006.3 韩建,全星慧,周围.电子技术课程设计指导M.哈尔滨:哈尔滨工程大学出 版社, 2014.4 黎小桃.数字电子电路分析与应用M.北京:北京理工大学出版社,2014.高吉祥.电子技术基础实验与课程设计M.北京:电子工业出版社,2002.6 陈明义. 电子技术课程设计实用教程(第3版) M. 长沙:中南大学出版社, 2010.7 程春雨.模拟电子技术实验与课程设计M.北京:电子工业出版社,2016.8 宋雪松,李东明,崔长胜.手把手教你学51单片机(C语言版)M.北京: 清华大学出版社, 2014.附录

13、:#include #include #define KEY P1sbit k1=P2A0;sbit k2=P2Al;sbit k3=P2A2;sbit k4=P2A3;unsigned char LED=0x00,LEDl=0x00;unsigned char x=0;unsigned char KeyValue;unsigned char Al=0x00,A2=0x00,A3=0x00,A4=0x00,A5=0x00,A6=0x00,A7=0x00,A8=0x00;void Delayl0ms(unsigned int c);void KeyDown();/矩阵键盘检测void kongz

14、hil();void kongzhi2();void main(void) TMOD=0x0l; /定时器工作状态为 lTH0=(65536-50000)/256;TL0=(65536-50000)%6;EA=l;/开总中断ET0=l;/开定时器中断TR0=l;/开启定时器while(l) int n=0;if(kl=0)Delayl0ms(l); if(kl=0)n=l;if(k3=0)Delay10ms(1); if(k3=0) n=3;if(k4=0)Delay10ms(1); if(k4=0) n=4;switch(n)case 1:KeyDown();break;case 3:kon

15、gzhil();break;case 4:kongzhi2();break; default:break;void KeyDown(void) int k=1;while(k)char a=0;KEY=0x0f;if(KEY!=0x0f)Delay10ms(1);/延时消抖if(KEY!=0x0f)KEY=0X0F;switch(KEY) /扫描行case(0X07): KeyValue=0;break;case(0X0b): KeyValue=4;break;case(0X0d): KeyValue=8;break;case(0X0e): KeyValue=12;break;KEY=0XF0;switch(KEY) /扫描列case(0X70): KeyValue=KeyValue+3;break;case(0Xb

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号