indication.c

来自「实现了应急灯的控制」· C语言 代码 · 共 128 行

C
128
字号
//-----------------------------------------------------------------------------
//
//文件名:	indication.c
//
//编写人:ywq	
//
//编写时间:2008/01/14
//
//目标器件: C8051F310
//
//编译工具: keil c
//
//程序说明:	用于指示应急等当前的状态。
//
//包括灯7个状态,正常状态,自检状态,过充,过放,电池故障,灯故障,电器故障
//
//指示灯是一种双向灯,接单片机的P3.4和P3.0口
//-----------------------------------------------------------------------------
// Includes
//
//------------------------------------------------------------------------------------

#include "indication.h"
//#include "delay.h"

//#include <c8051f310.h>

void greenlighton()       //正常模式
{
TR1=0;
P3_4=1;
P3_0=0;
}

void redlighton()         //过充
{
TR1=0;
P3_4=0;
P3_0=1;
}

void lightoff()        //应急模式
{
TR1=0;
P3_4=0;
P3_0=0;
}
  
void greenflash()     //自检
{
//TMOD=0x01;
//CKCON=0x0f;
TH1=0x30;
TL1=0x50;
TR1=1;
P3_4=1;
P3_0=0;
}

void redflash()     //过放模式
{
//TMOD=0x01;
//CKCON=0x0f;
TH1=0x30;
TL1=0x50;
TR1=1;
P3_4=0;
P3_0=1;
}


void redonetime()    //电池失效
{
  TR1=0;
  P3_4=0;
  P3_0=1;
  delay(100);
  P3_4=0;
  P3_0=0;
 }
  
void redtwotime()   //灯失效
{
  TR1=0;
  P3_4=0;
  P3_0=1;
  delay(100);
  P3_4=0;
  P3_0=0;
  delay(100);
  P3_4=0;
  P3_0=1;
  delay(100);
  P3_4=0;
  P3_0=0;
 }

 void redthreetime()   //电子元件失效
{
  TR1=0;
  P3_4=0;
  P3_0=1;
  delay(100);
  P3_4=0;
  P3_0=0;
  delay(100);
  P3_4=0;
  P3_0=1;
  delay(100);
  P3_4=0;
  P3_0=0;
  delay(100);
  P3_4=0;
  P3_0=1;
  delay(100);
  P3_4=0;
  P3_0=0;
 }


void timer1() interrupt 3 using 1  //定时中断
{
 TH1=0x30;
 TL1=0x50;
 TR1=1;
 P3_4=!P3_4;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?