单片机led灯闪烁实验总结_玩转51单片机(1):点亮led灯

/p>

01

新建工程与点亮LED小灯,LED小灯即发光二极管,它具有单向导电性,对于发光二极管而言,需要根据它的压降与额定电流来选择合适的限流电阻,打开Keil4软件,选择Project,New uVision Project

bb845ca8b09115821376c14a27a1d93c.png

出现如下对话框,点击下拉按钮,选择STC MCU Database,点击OK

32a5443429d4bb9377be5a4d849b30cf.png

选择否

37107dc0fcbe7bcdaf65e23a264cf03a.png

点击 File, Save, 出现如下对话框,将文件命名为后缀为.c的文件,默认保存类型,点击保存

0874222f600ddd4f39ecbe3aec8931f9.png

选择刚刚保存的以.c为后缀的文件,点击Add,然后关闭窗口

79ec90f31acb9f45342fdf06e8c5585e.png

在右侧文本框中写入程序

e2ba172f51f481546d0b2687f127351d.png

在Output标签页勾选Create HEX File,点击OK

5a92a5f0e1eaa4f7b462531be172c475.png

打开STC-ISP软件,选择单片机型号为STC89C52,串口号就是安装了USB转串口驱动之后虚拟的COM口,可在计算机管理-设备管理器-端口中查看

66808f8973ab0ccb53dfcca9d67b16b7.png

点击下载/编程按钮

a9bb49607fe971230079ea7730ec59c6.png 8be4cebedd6b442e11b99cb2314a3442.png

下面是开发板原理图的LED显示电路,由于发光二极管的单向导电性,决定了LED小灯是低电平点亮,因此在main函数中给LED1低电平,就可以点亮小灯;然后利用while(1)进行无限循环,保持LED小灯一直是亮的;sbit是定义特殊功能寄存器的位变量,将P1^0另起名为LED1,以便进行位操作

6a96ab391af5fe82dec13f4c316afbb9.png

typedef用于为已有类型创建一个别名,便于后面使用;Delay为延时函数,利用循环结构不断地进行空跑,从而实现延时,这里的延时为粗计算,后文将介绍如何利用定时器进行精确延时;main函数中不断地循环着将8个LED灯全部点亮,延时保持,又将8个LED灯全部熄灭,延时保持的整个过程,以实现在人眼中的闪烁现象;0x00与0xff均为十六进制数,表示为二进制即00000000与11111111

03

LED流水灯

新建一个工程,写入如下程序

6a04e564dfb6b35a9992d5a69463c8ee.png

_crol_()函数包含于intrins.h头文件中,因此程序需要添加#include ,P1=_crol_(P1,1)表示每次将P1循环左移1位,P1由11111110,依次变为11111101,11111011,11110111,11101111,11011111,10111111,01111111,然后重复循环

相关资源:专业LED光动画制作软件(安装后直接用!)_setup安装包-Delphi工具…

来源:weixin_39911998

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月2日
下一篇 2020年10月2日

相关推荐