51单片机流水灯原理
在实验之前必须的准备工作有:
1.单片机 STC90C51
2.编译软件keil
3.烧写软件
4.面包板
5.发光二极管
实验说明:通过单片机芯片,定时在引脚P00,P01,P02,P03循坏输出高电平,制作流水灯效果
重要端口:

原理说明:(红色部分为该实验电路图)

电流顺序:VCC正极进入 》 芯片P0.0触发一个高电平 》 LED0二极管 》 EA 》 GND负极流出
C语言编程烧写代码:
/**************************************************************************************
* LED闪烁实验 *
实现现象:下载程序后指示灯闪烁
注意事项:无
***************************************************************************************/
#include “reg52.h” //此文件中定义了单片机的一些特殊功能寄存器
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
***it led0=P0^0; //将单片机的P0.0端口定义为led
***it led1=P0^1;
***it led2=P0^2;
***it led3=P0^3;
/*******************************************************************************
* 函 数 名 : delay
* 函数功能 : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{
while(i--);
}
/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void main()
{
while(1)
{
led0=0;
delay(50000); //大约延时450ms
led0=1;
delay(50000); //大约延时450ms
led1=0;
delay(50000); //大约延时450ms
led1=1;
delay(50000); //大约延时450ms
led2=0;
delay(50000); //大约延时450ms
led2=1;
delay(50000); //大约延时450ms
led3=0;
delay(50000); //大约延时450ms
led3=1;
delay(50000); //大约延时450ms
}
}
51单片机流水灯原理
在实验之前必须的准备工作有:
1.单片机 STC90C51
2.编译软件keil
3.烧写软件
4.面包板
5.发光二极管
实验说明:通过单片机芯片,定时在引脚P00,P01,P02,P03循坏输出高电平,制作流水灯效果
重要端口:

原理说明:(红色部分为该实验电路图)

电流顺序:VCC正极进入 》 芯片P0.0触发一个高电平 》 LED0二极管 》 EA 》 GND负极流出
C语言编程烧写代码:
/**************************************************************************************
* LED闪烁实验 *
实现现象:下载程序后指示灯闪烁
注意事项:无
***************************************************************************************/
#include “reg52.h” //此文件中定义了单片机的一些特殊功能寄存器
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
***it led0=P0^0; //将单片机的P0.0端口定义为led
***it led1=P0^1;
***it led2=P0^2;
***it led3=P0^3;
/*******************************************************************************
* 函 数 名 : delay
* 函数功能 : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{
while(i--);
}
/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void main()
{
while(1)
{
led0=0;
delay(50000); //大约延时450ms
led0=1;
delay(50000); //大约延时450ms
led1=0;
delay(50000); //大约延时450ms
led1=1;
delay(50000); //大约延时450ms
led2=0;
delay(50000); //大约延时450ms
led2=1;
delay(50000); //大约延时450ms
led3=0;
delay(50000); //大约延时450ms
led3=1;
delay(50000); //大约延时450ms
}
}
举报