点亮一个LED,这是单片机的一个最简单的入门实验。能让你初步了解到单片机的作用。(因为简单就只在仿真软件上给大家看一下)
先给大家看一下仿真软件的电路(软件为Proteus)

左侧为时钟电路和复位电路,右侧便是我们的实验电路。
实验电路:一个LED灯+100电阻
(因为LED电压电流很小,所以必须加一个电阻限流一下,在现实试验中我们也得加个电阻,不要太大也不能太小,不然起不到作用)
右击晶振点击属性改12KHz,LED段的电阻同样点开属性改为100,其余的话数值可以不用改动。
单片机下载程序,只要右击单片机进入属性找到程序文件夹中的后缀名为.hex,确定就好。

上图是在仿真软件中需要用到的元件,点击元件模式——再点P标志——搜索(框中的元件名),
AT89C51RC2:单片机
BUTTON:按键
CAP:电容
CRYSTAL:晶振
LED-GERRN:LED灯(绿色)
RES:电阻

上图是电源的选择,点击终端模式——框中的POWER和GROUND分别为VCC和GND,也就是5V电源和地线。
接下来是程序部分(软件为keil)
#include"reg51.h" //定义头文件
sbit led=P2^0; //定义引脚
void delay(unsigned char i) //延时函数 i=1时 延时10us
{
while(i--);
}
void main() //main代表主函数,程序执行的部分
{
led=0;
while(1) //代表这循环
{
led=~led; //~表示之前的值取反,即0变1 1变0
delay(100); //延时,使得led灯闪烁
}
}
首先定义一下引脚,在仿真软件中我们LED连接着单片机的P2^0,且LED的负极连接着单片机,因此引脚必须输出低电平,才能点亮LED 。在主函数中,先使led=0,此时灯亮,进入while循环,led取反,led=1,灯不亮,delay延时1ms,再对led取反,由此反复,我们就看到了led闪烁的情况。
(PS:软件在编写完成后必须在设置中设置震荡为12KHz,在.hex那个打上勾后才能输出我们要的文件格式)

这篇博客介绍了如何使用51单片机进行LED闪烁实验。通过在Proteus仿真软件搭建电路,包括时钟、复位和LED+电阻电路,并详细说明了元件属性设置。在keil软件中编写程序,定义引脚并实现LED的周期性闪烁。实验强调了单片机的作用和实际操作中的注意事项。
2711

被折叠的 条评论
为什么被折叠?



