单片机
返回首页

51单片机C语言程序(一)发光二极管

2015-10-27 来源:eefocus

程序(一)点亮第一个发光二极管

#include
void main()
{
 P1=0xfe;
 while(1);
}

程序(二)让第一个发光二极管闪烁

#include
sbit led1=P1^0;
void main()
{
 unsigned int i;
 while(1)
 {
  i=50000;
  led1=0;
  while(i--);
  i=50000;
  led1=1;
  while(i--);
 }
}

程序(三)

//第一个发光二极管以间隔2000ms闪烁
#include
#define uint unsigned int
#define uchar unsigned char
sbit led1=P1^0;
void delay(uint z)   //延时函数
{
 uint x,y;
 for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
void main()
{
 while(1)
 {
  led1=0;
  delay(2000);
  led1=1;
  delay(2000);
 }
}

程序(四)

//8个发光管由上至下间隔1s流动
//每个管亮500ms,灭500ms,亮时蜂鸣器响
//灭时关掉蜂鸣器,一直重复下去
#include
#include
#define uint unsigned int
#define uchar unsigned char
sbit beep=P2^3;
void delay(uint z)
{
 uint x,y;
 for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
void main()
{
 uchar a;
 a=0xfe;
 while(1)
 {
  P1=a;
  beep=0;
  delay(500);
  P1=0xff;
  beep=1;
  delay(500);
  a=_crol_(a,1);
 }
}
程序(五)

//8个发光管来回流动
//每个管亮100ms,流动时让蜂鸣器发声
#include
#include
#define uint unsigned int
#define uchar unsigned char
sbit beep=P2^3;
void delay(uint z)
{
 uint x,y;
 for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
void main()
{
 uchar a,i;
 while(1)
 {
  a=0xfe;
  for(i=0;i<8;i++)
  {
   P1=a;
   beep=0;
   delay(50);
   beep=1;
   delay(50);
   a=_crol_(a,1);
  }
  a=0x7f;
  for(i=0;i<8;i++)
  {
   P1=a;
   beep=0;
   delay(50);
   beep=1;
   delay(50);
   a=_cror_(a,1);
  }
 }
}

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • 如何构建一个触摸传感器电路

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章