单片机点亮一个灯程序_玩转51单片机(1):点亮led灯

01

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

964d8533aafd68c50a7093c1b3be3778.png

选定工程的保存路径,并给工程命名,保存类型默认.uvproj,点击保存

38c75d0a1105b70ee67ec8f38b853ee8.png

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

06d0f3469ce4d99094b36e131f00ae3b.png

选择STC89C52RC,点击OK

5b88583228f563fac992e913a58c07c3.png

选择否

69d2c71bb41c980bca14d33cfaab391b.png

点击New,生成一个Text1文件

d9cb93fbf2bf70542efb0edcfe460921.png

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

395aff563689d1ff0ce858ae43a9a282.png

点击Target 1前面的加号,在Source Group 1上右击,选择Add Files to Group'Source Group 1'

b6f4739266d9de2081c60bcf716e2cd7.png

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

42ed852f21ddd70c53cfd99184a53126.png

点击Source Group 1前面的加号,会发现下面多了刚刚添加的.c文件

d92780b2b08f993baaf664ccea693c28.png

在右侧文本框中写入程序

68bf3b780a6f9813582175d77553a2a0.png

点击Target Options按钮

50fe456e0a762c16a43f8657752ed2d8.png

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

f8c5ec344bb4625b46fdfdcbb2d527f8.png

点击Rebuild按钮,可以看到最下方Build Output对话框出现已经生成hex文件的信息,以及0个错误,0个警告的信息

a5bc40e3e40cad77cf7da85c6e556ac9.png

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

6ee864cdf4cbd89ca40697ab6d5b5fde.png

点击打开程序文件,选择工程的存储路径,可以看到工程文件夹下有一个hex文件,打开它

fcb74d8b42988003f723f90950286caf.png

点击下载/编程按钮

7a4cfc3987677c14736e851deab7da2a.png

打开单片机开发板的开关,可以看到操作成功提示,LED小灯被成功点亮

4cc695dcea96b12612df363e494fb0f8.png
6a7426dc809dee7036d2f7c113f3e3cb.png

以下是点亮LED小灯的程序

0cd32320dfbea26d16107f406f757911.png

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

4e32cf42e9823282f6b9399e9f850d30.png

02

让LED小灯闪烁起来

新建一个工程,写入如下程序,整个新建工程的过程如上

79e95780e7c68c092ccd47c883296ea5.png

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

03

LED流水灯

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

d7f72061a077fa9f488a87249ca206c1.png

其中<

04

LED跑马灯

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

0bc6b42ce472d9fa1db4971babbf9b2b.png

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

  • 8
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值