点亮一颗LED相当于学习代码时写的"Hello World",是学习单片机的第一步。
首先我们知道LED是一颗放光二极管,点亮它只需要一端接VCC,一端接地,就有电势差,即可使LED有电流通过,从而点亮LED。
我们将LED的一端接VCC电源,另一端接单片机的IO口,当IO口不输出电压,即输出0时,即可使LED两端造成电势差,LED点亮。
接下来我们看一下普中A7的原理图
简化为以下图片
(简化版为普中A2的原理图,与A7区别是,A7需要用额外的线去连接;A2是PCB主板直接连接,不需要再接线)
我们可以看到led一端接VCC,另一端接单片机的P2端口组,我们可以利用程序控制P2的8个IO口输出0,即可点了这八个LED。
首先我们先创建一个工程
在上一篇文章中创建的文件夹按住shift+ctrl+n创建一个新的子文件夹,取名点亮LED
在这个子文件夹内创建名为project的工程
选择at89c51的单片机芯片
随便选
创建.c文件
将P2端口组的8个IO口全部设置成0
生成hex文件
烧录代码
如果使用的是普中A7开发板就直接选择图片上面的芯片库;如果使用的是普中A2开发板,就选择STC89C52RC/LE52RC芯片库。
将烧写程序后的单片机于LED负极连接后,可以看到单片机驱动LED点亮了。
---------------------另一种驱动方法-------------------------------------------------------
接下来我们可以使用位定义驱动单个LED灯点亮
总结一下:
以上就是驱动单片机点亮LED的两种方法了。
首先是直接针对端口组定义,如想要让第一个led点亮,二进制表示是1111 1110,它的16进制就是0xFE,这样就实现了只让P_0端口输出0。
或者可以直接对一个端口进行定义,如P_0 = 0,也可以让第一个端口输出0。