当前位置:文档之家› 单片机课程设计—8个按键控制8个LED自动设定控制流水灯

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

电子课程设计东北石油大学实习总结报告实习类型生产实习实习单位东北石油大学实习基地实习起止时间 2018 年 7 月 7 日至 2018 年 7 月 16 日指导教师刘东明、孙鉴所在院(系) 电子科学学院班 级 电子科学与技术 15-2学生姓名学号15090124022018 年 7 月 16 日I 页脚内容电子课程设计目录第 1 章 按键控制流水灯设计 ....................................... 1 1.1 实习目的 .............................................. 1 1.2 实习要求 .............................................. 1第 2 章 电路工作原理............................................. 2 2.1 STC89C52 单片机工作原理 ............................... 2 2.2 LED 工作原理 .......................................... 3 2.3 按键工作原理 .......................................... 3 2.4 整体电路图 ............................................ 5 2.5 本章小结 .............................................. 6第 3 章 C 程序设计 ............................................... 7 3.1 程序设计流程图 ........................................ 7 3.2 实验结果 .............................................. 8 3.3 本章小结 .............................................. 9总结及体会..................................................... 10 参考文献 ...................................................... 11 附录: ........................................................ 12I 页脚内容电子课程设计第1章 按键控制流水灯设计1.1 实习目的本次实习以 STC89C52 单片机为控制核心。

通过它实现对八盏 LED 灯的亮灭进 行设定,并在设定完成之后能够按照之前的设定实现流水灯效果。

外部电路为按 键控制流水灯。

P0 口控制八盏灯,P1 口控制矩阵键盘,P2 口控制独立按键,程序 利用单片机内部计时器中断实现流水效果。

要求流水灯能够自行设定、暂停、复 位,工作稳定,可靠性高。

生产实习的主要目的是培养理论联系实际的能力,提高实际动手操作能力。

本专业的生产实习旨在广泛了解实际单片机电子产品工作的全过程,熟悉电子产 品的主要技术管理模式,并在实习的操作过程中学习掌握电子产品的焊接安装调 试的实际操作技能。

巩固和加深理解所学的理论,开阔眼界,提高潜力,为培养 高素质大学本科人才打下必要的基础。

透过学习,是理论与实际相结合,能够使 学生加深对所学知识的理解,并为后续专业课的学习带给必要的感性知识,同时 直接了解本业的生产过程和生产资料,为将来走上工作岗位带给必要的实际生产 知识。

1.2 实习要求1.深入学习单片机开发软件 Keil 的使用,熟悉单片机电路设计,根据实际 应用电路对程序进行调试。

2.熟悉单片机硬件开发平台的应用,掌握单片机编程器、仿真器的使用,能 检查和分析软硬件故障。

3.体会单片机内部资源的功能使用,以单片机开发板现有资源进行应用性设 计。

掌握单片机常用外围器件的使用。

4.对去年生产实习焊接的 51 开发板的程序有更深入的了解。

1 页脚内容电子课程设计第2章 电路工作原理2.1 STC89C52 单片机工作原理单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电 路技术把具有数据处理能力的中央处理器 CPU、随机存储器 RAM、只读存储器 ROM、 多种 I/O 口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽 调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小 而完善的微型计算机系统。

例如 STC89C52 单片机是通过 32 个输入输出口的高低电平变化来实现对外部 电路的控制,痛过相应的程序实现对 32 个输入输出口的控制,这就是单片机工作 的最基本原理。

如图 2-1 所示为 STC89C52 单片机工作的最小系统电路图。

图 2-1 STC89C52 最小工作系统整个电路使用 5V 直流电源供电,其中复位电路能够使单片机复位;晶振电路 相当于单片机的心脏,为单片机提供 12MHz 的高频脉冲使单片机正常工作;MAX232 是将单片机输出的 TTL 电平转换成 PC 机能接收的 232 电平或将 PC 机输出的 232 电平转换成单片机能接收的 TTL 电平,实现单片机与 PC 机之间的通信,以便于下 载程序。

2 页脚内容电子课程设计2.2 LED 工作原理LED(light-emitting diode),即发光二极管,俗称 LED 小灯,51 开发板使 用的是普通贴片发光二极管。

这种二极管通常的正向导通电压是 1.8~2.2V 之间, 工作电流一般在 1~20mA 之间。

其中当电流在 1~5mA 之间变化时,随着通过 LED 的 电流越来越大,肉眼会感觉到这个灯越来越亮,而当电流从 5~20mA 变化时,看到 的发光二极管的亮度变化不明显了。

当电流超过 20mA 时,LED 就有烧坏的危险。

所以在 51 开发板的使用中需要根据相应的电流参数设计一个与 LED 串联的限流电 阻。

如图 2-2 所示为单片机 I/O 口控制 LED 的电路原理图。

图 2-2 单片机控制 LED 电路图图中 PR2 为排阻,在电路中起到限流作用,防止 LED 被烧毁。

因为单片机是 可以编程控制的,即 P00~P07 的高低电平也是能够控制的,所以对应的 8 个 LED 的亮灭状态也是能够控制的,这就达到了单片机控制 LED 的目的。

2.3 按键工作原理 2.3.1 独立按键工作原理独立式按键比较简单,它们各自与独立的输入线相连接,如图 2-3 所示。

3 页脚内容电子课程设计图 2-3 独立式按键原理图4 条输人线接到单片机的 I/O 口上,当按健 K1 按下时,+5V 通过电阻然后再 通过按键 K1 最终进人 GND 形成一条通路,这条线路的全部电压都加到这个电阻上, P20 这个引脚就是个低电平。

当松开按健后,线路断开,就不会有电值通过,P20 和+5V 就应该是等电位,是个高电平。

我们就可以通过 P20 这个 10 口的高低电平 来判断是否有按键按下。

2.3.2 矩阵按键工作原理在某一个系统设计中,如果需要使用很多按键时,做成独立按键会占用大量 I/O 口,因此引用了矩阵键盘的设计。

如图 2-4 所示为 51 开发板上的矩阵按键电 路原理图,使用 8 个 I/O 口来实现 16 个按键。

4 页脚内容电子课程设计图 2-4 矩阵按键原理图在程序设计中分别用四个 I/O 口扫描 4 行,另外 4 个扫描 4 列,确定了按键 在哪行哪列也就确定了按键的具体位置。

2.4 整体电路图如图 2-5 所示为键盘控制 LED 流水灯整体电路图。

图 2-5 总电路原理图5 页脚内容电子课程设计2.5 本章小结本章主要介绍了单片机最小系统、LED 工作原理、按键工作原理。

并从硬件电 路的设计出发,简单分析单片机控制 LED 的工作过程。

理论分析基本完成,接下 来就是具体的程序设计与调试,通过具体的程序来实现相应的功能,这也是单片 机开发中最具技术含量的环节之一。

6 页脚内容电子课程设计第3章 C 程序设计3.1 程序设计流程图如图 3-1 所示为主程序流程图。

开 始 开计时器中断K1 是否按下否是扫描矩阵键盘选 择需要点亮的 LED是K2 是否否按下K3 是否按下否是保存选择的数据 择需要点亮的 LED计时器中断程序选择 数据实现 LED 流水灯图 3-1 程序设计框图主程序由 3 个独立按键控制,K1,K2 和 K3。

开始从主函数执行程序语句,不 断循环扫描按键,当 K1 按下时,进入选择状态,程序会不断地扫描矩阵键盘,通 过矩阵键盘选择需要点亮的 LED;选择结束后按下 K2,程序会将选定后的数据送 入中断程序,中断程序根据接收的数据选泽对应的 LED 实现流水灯效果;当按下7 页脚内容电子课程设计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 键,实验结果如图 3-4 所示。

8 页脚内容图3-4 回到初始状态由图3-4可知,当按下K3键之后,程序又回到了设定LED的状态。

3.3本章小结由实验结果可以看出,本次单片机课程设计已达到预期要求,电路工作稳定,满足设计要求。

在整个设计过程中,程序设计与调试最为复杂,出现过按键灯不亮,没有出现滚动流水等现象等一系列程序问题。

但最终在不断地检查、调试之后,问题也逐渐得到解决。

最终实现按键控制流水灯的效果。

总结及体会本次设计通过对单片机进行编程控制,进而控制外部电路,成功地设计了八个按键控制八盏灯亮灭实现流水灯的效果。

深入了解到单片机开发软件Keil的使用,熟悉单片机电路设计,根据实际应用电路对程序进行调试。

熟悉单片机硬件开发平台的应用,掌握了单片机编程器、仿真器的使用,能检查和分析软硬件故障。

体会到单片机内部资源的功能使用,以单片机开发板现有资源进行应用性设计。

通过这次实习使我进一步弄懂所学到的课本知识,巩固和深化对单片机的结构、指令系统、中断系统、键盘/显示系统、接口技术、系统扩展、定时/控制、程序设计、应用开发、等基本理论知识的理解,提高单片机应用于技术的实践操作技能,掌握单片机应用系统设计、研制的方法,培养利用单片机进行科技革新、开发和创新的基本能力,为毕业后从事与单片机相关的工作打下一定的基础。

相关主题