单片机交流
直播中

李晨灵

7年用户 1410经验值
私信 关注
[问答]

如何去完成51单片机控制流水灯的实验呢

51单片机控制流水灯的原理是什么?
如何去完成51单片机控制流水灯的实验呢?

回帖(1)

尹丽

2021-11-8 09:21:20
  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
  }
  }
举报

更多回帖

发帖
×
20
完善资料,
赚取积分