LED灯控制器单片机LED程序

首先你要知道既然是控制一个LED灯嘚话那么就只需要一个IO口控制就可以了。那么在程序中你只需要改变一个IO口的状态

你这个程序首先是,P10是什么东西如果是一个IO口的話,为什么后面会是0X00和0XFF,这是什么意思 这是八位的表示方式,一位需要用这么多的数据来表示么你只需要置1,和清零就可以了就昰说 P10 = 0;P10 = 1,这种方式的就可以了而且你还需要在程序的最开始定义P10是什么东西的。单片机LED是不知道P10 是什么的

如果是一个八位端口的话,這样定义是没有错的但是控制的就是8个IO口了。

因为P1^0是P1的第零位只能赋值0或者1;而P1是一个8位寄存器

昨天看到一篇关于今日头条CEO张一鳴的访谈其中谈到他的大学专业,张总最开始也是学电子的但由于不能广泛的接触电子产品,更不能进行开创性实验因而最终转学軟件。喜欢电子小伙伴的确实面临着一个这样的困境不能很好的把自己想法以实物的方式展现出来。除了购买电子元器件之外不知道伱们都是怎么解决这个问题的?

笔者认为对于没有条件的小伙伴最好的办法是用电子仿真软件来模拟实验。需要软件的小伙伴可以私信筆者“Proteus”来获取里面不仅有官方正版的软件、安装教程、汉化补丁、还有关于此软件的详细使用教程,如下图所示至于Proteus到底是一个可鉯干什么的软件,现在不做解释请往下看实验现象。

笔者所选的是一个最基础、简单的单片机LED例子需要的电子元器件自然不多,总共6種清单如下

单片机LED89C51一个电容3个电阻两个12M晶振一个黄色LED灯一个

电路原理图如下,除了LED灯之外其余的组成了单片机LED的最小系统,分别为晶振电路和复位电路这个不需要我们去深究,因为它是单片机LED官方提前设计好的LED灯的阳极接电源,当我们单片机LEDP1.0输出高电平的时候因為LED之间没有压差,所以此时LED灯是熄灭的;只有当P1.0输出低电平的时候LED灯才可以被点亮。

程序是用Keil编写的完成之后需要生成hex格式的文件,嘫后打开Proteus双击单片机LED,之后出现如下界面然后点击Program File后面的文件夹,选择我们刚才生成的hex文件至此大功告成。

实验现象如下视频所示LED灯以3.3Hz的频率闪烁。

为了让小伙伴们更好的学到电子知识关于此次实验的电路图仿真源文件和程序源文件,笔者已经给大家打包需要嘚私信“LED”便可获取。

我要回帖

更多关于 单片机LED 的文章

 

随机推荐