欢迎您光临五金加工厂,如有问题请及时联系我们。

单片机编程:LED发光二极管的初始状态为亮。按一下按键,LED灯灭。再按一下,亮。此规律亮灭交替?画出一个仿真图,让p2口接8个发光二极管,并书写一道程序,让灯做亮灭闪烁每一秒

作者:五金加工
文章来源:本站

  单片机编程:LED发光二极管的初始状态为亮。按一下按键,LED灯灭。再按一下,LED亮。此规律LED亮灭交替?

  今天做回好人,闲着给你写一个做参考。 按键按一次LED灯灭,在按一次按键LED灯亮。 程序如下:

   /************************************************************************************************************* #include "REG52.H" sbit LED1_01 = P1^1; //LED灯 sbit KEY0_01 = P1^2; //按键 void Delay_1ms(unsigned int Time) { unsigned int x, y; for(x = Time; x > 0; x--) for(y = 120; y > 0; y--); } int main(void) { LED1_01 = 1; //打开LED灯点亮 while(1) { if(KEY0_01 == 0) //检测按键是否按下 { Delay_1ms(10)

  ; //延时去抖动 if(KEY0_01 == 0) //确定按键按下 { LED1_01 = ~ LED1_01; //取反LED灯 [ 亮 . 灭 ] } while(KEY0_01 == 0)

  ; //检测松手 } } } *****************************************************************************************************************/

  画出一个仿真图,让p2口接8个LED发光二极管,并书写一道程序,让LED灯做亮灭闪烁每一秒闪烁一次?

  首先搞清LED管是高电平导通还是低电平导通。

  如果是低电平导通,P2赋0x00时,发光管全亮,0xff时,全灭。

  具体程序:

  #define uint unsigned int

  #define uchar unsigned char

  void delay(uint time_out)

  {

  uint i,j;

  for(i=0;i<time_out;i++)

  {

  for(j=0;j<110;j++)

  {;}

  }

  }

  void main(){

  while(1)

  {

  P2=0xfe; //第1个管亮

  delay(500);

  P2=0xfd; //第2个管亮

  delay(500);

  P2=0xfb; //依次类推

  delay(500);

  P2=0xf7;

  delay(500);

  P2=0xef;

  delay(500);

  P2=0xdf;

  delay(500);

  P2=0xbf;

  delay(500);

  P2=0x7f;

  delay(500);

  }

  }

  程序大致如此,delay函数负责延迟500ms.有问题自己再调试调试

  

单片机编程:LED发光二极管的初始状态为亮。按一下按键,LED灯灭。再按一下,亮。此规律亮灭交替?画出一个仿真图,让p2口接8个发光二极管,并书写一道程序,让灯做亮灭闪烁每一秒

  

单片机编程:LED发光二极管的初始状态为亮。按一下按键,LED灯灭。再按一下,亮。此规律亮灭交替?画出一个仿真图,让p2口接8个发光二极管,并书写一道程序,让灯做亮灭闪烁每一秒

  

单片机编程:LED发光二极管的初始状态为亮。按一下按键,LED灯灭。再按一下,亮。此规律亮灭交替?画出一个仿真图,让p2口接8个发光二极管,并书写一道程序,让灯做亮灭闪烁每一秒

来源:文章来源于网络,如有侵权请联系我们删除。本文由五金加工编辑,欢迎分享本文,转载请保留出处和链接!