加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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

(2009-07-09 15:03:14)
标签:

电子资料

it

电子工程师

分类: 软件电子IT

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

#include<reg52.h>
void main()
{
 P1=0xfe;
 while(1);
}

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

#include<reg52.h>
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<reg52.h>
#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<reg52.h>
#include<intrins.h>
#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<reg52.h>
#include<intrins.h>
#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);
  }
 }
}

 

 

 

 

 

 

 

 

 

 

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有