花样灯

简介: 花样灯宏定义初始化延迟函数闪烁主函数


宏定义



#include<iocc2530.h>
#define uchar unsigned char
#define uint unsigned int
/*LED1:P1_5
  LED2:P1_0
  LED3:P1_3
  LED4:P1_4*/


初始化



void Initial(void)
{
  P1SEL&=~0x39;//功能寄存器 :0为普通IO口,1为第二功能–外设
  P1DIR|=0x39;//方向寄存器 :0为输入 , 1为输出
  P1&=~0x39;//将四个灯熄灭
}


延迟函数



/*函数名称:Delay
 *传入参数 :uint time
 *实现功能 :延迟
 */
 void Delay(uint time)
 {
   uint i;
   uchar j;
   for(i=0;i<time;i++)
     for(j=0;j<240;j++)
     {
      asm("NOP");
      asm("NOP");//asm是内嵌汇编,nop是空操作,执行一个指令周期
      asm("NOP");
     }
 }


闪烁



/*函数名称:Blink
 *传入参数 :uint  j, uchar status 
 *j为闪烁次数,status 为需要闪烁的灯
 *实现功能 :根据传入的闪烁次数,去闪烁这个灯
 */
void Blink(uint  j, uchar status)
{ uint i;
for(i=0;i<j;i++)
{
  P1=status; //寄存器赋值方法
  Delay(1200);//延迟
  P1&=~0x39;//重置,将灯熄灭,为下一次亮做准备
  Delay(1200);//延迟
}
}


主函数



main()
{
  Initial();//初始化LED灯
  while(1)
  {
  Blink(10,0x20);//闪烁10下
  Blink(8,0x01);//闪烁8下
  Blink(6,0x08);//闪烁6下
  Blink(4,0x10);//闪烁4下
  }
}


相关文章
|
前端开发 芯片
【芯片前端】保持代码手感——交通灯
【芯片前端】保持代码手感——交通灯
|
物联网 Linux Android开发
圆曾经的小车梦,造一台智能小车(一)
圆曾经的小车梦,造一台智能小车(一)
108 1
|
3月前
|
Python
实例3:树莓派呼吸灯
本文是一个关于树莓派制作呼吸灯的实验教程,介绍了PWM(脉冲宽度调制)技术的原理和应用,详细讲解了如何通过RPi.GPIO库使用Python编程控制LED灯实现呼吸效果,包括实验目的、要求、相关知识点和完整的实验步骤。
39 1
实例3:树莓派呼吸灯
|
6月前
|
传感器 人工智能 IDE
探索电子技术的魅力:使用Arduino实现LED闪
探索电子技术的魅力:使用Arduino实现LED闪
|
Go Android开发
圆曾经的小车梦,造一台智能小车(三)之小车前进后退左右转基本框架
圆曾经的小车梦,造一台智能小车(三)之小车前进后退左右转基本框架
314 0
|
编解码 芯片
呼吸灯的三种实现方法
本文提供了三种实现呼吸灯的方法,分别是利用for循环实现、利用定时器中断实现和利用定时器输出PWM波实现。前两种方法平时接触的不多,所以贴出了程序,最后一种方法大家肯定都已熟悉,这里就没有详细介绍。
373 0
|
传感器 IDE 开发工具
圆曾经的小车梦,造一台智能小车(二)
圆曾经的小车梦,造一台智能小车(二)
130 1
|
C语言
圆曾经的小车梦,造一台智能小车(四)之QT上位机控制小车
圆曾经的小车梦,造一台智能小车(四)之QT上位机控制小车
245 0
【单片机期中测试】6.简单PWM呼吸灯
【单片机期中测试】6.简单PWM呼吸灯
76 0
【51单片机】花式流水灯
【51单片机】花式流水灯
318 0