📄 led2.c
字号:
/********************led****************/
#include "ht48r05a-1.h"
//#include "FLASH.H"
/*
unsigned char count;
#define _tmrc4 _0e_4 //timer4 enable bit //
#pragma vector isr_4 @ 0x4
#pragma vector isr_8 @ 0x8
void safeguard_init(){
_intc = 0;
_tmrc = 0;
_tmr = 0;
_pbc = 0x07;
_pcc = 0x03;
_pac = 0xf1; //pa1~pa3为输出模式
}
void isr_8(){ // timer/event 0
if(count != 0) //0.5sec
count --;
}
void set_timer(){
_tmrc4 = 0;
_tmr = 0xe1;
_tmrc4 = 1; //start timer1
}
*/
#define Blue _pa1
#define Green _pa2
#define Red _pa3
#define HIGH 1;
#define LOW 0;
/*
void RedUp();
void RedDown();
void BlueUp();
void BlueDown();
void GreenUp();
void GreenDown();
*/
void Delay(unsigned char num);
void uDelay(unsigned char num);
void RedUp()
{
unsigned char i,j;
for(i = 0; i < 0xff; i ++)
{
Red = HIGH;
uDelay( i );
Red = LOW;
uDelay( 0xff - i );
}
}
void RedDown()
{
unsigned char i,j;
for(i = 0; i < 0xff; i ++)
{
Red= LOW;
uDelay( i );
Red = HIGH;
uDelay( 0xff - i );
}
}
void BlueUp()
{
unsigned char i,j;
for(i = 0; i < 0xff; i ++)
{
Blue = HIGH;
uDelay( i );
Blue = LOW;
uDelay( 0xff - i );
}
}
void GreenUp()
{
unsigned char i,j;
for(i = 0; i < 0xff; i ++)
{
Green = HIGH;
uDelay( i );
Green = LOW;
uDelay( 0xff - i );
}
}
void GreenDown()
{
unsigned char i,j;
for(i = 0; i < 0xff; i ++)
{
Green= LOW;
uDelay( i );
Green = HIGH;
uDelay( 0xff - i );
}
}
void main()
{
/////////////////////// start
_pbc = 0x07;
_pcc = 0x03;
_pac = 0xf1; //pa1~pa3为输出模式
// safeguard_init();
/*
_intc = 0x5; //enable timer
_tmrc = 0x87; //timer mode (internal clock)
set_timer();
*/
Red = HIGH; //R,G,B全亮一下
Green = HIGH;
Blue = HIGH;
Delay(1);
Red = LOW; //R,G,B全灭
Green = LOW;
Blue = LOW;
Delay(2);
while(1)
{
Blue = HIGH; //B亮
Delay(2);
////////////////////////////// B亮
RedUp(); //R渐亮
Red = HIGH;
////////////////////////////// R,B亮
BlueDown(); //B渐暗
Blue = LOW;
////////////////////////////// R亮
GreenUp(); //G渐亮
Green = HIGH;
////////////////////////////// R,G亮
RedDown(); //R渐暗
Red = LOW;
////////////////////////////// G亮
BlueUp(); //B渐亮
Blue = HIGH;
////////////////////////////// B,G亮
GreenDown(); //G渐暗
Green = LOW;
////////////////////////////// B亮
}
}
void BlueDown()
{
unsigned char i,j;
for(i = 0; i < 0xff; i ++)
{
Blue= LOW;
uDelay( i );
Blue = HIGH;
uDelay( 0xff - i );
}
}
/*
void uDelay(unsigned char num)
{
// count = 250;
// while( count ) {;}
}
*/
void uDelay(unsigned char num)
{
unsigned char i,j;
for(i = 0; i < num; i ++)
{
for(j = 0; j < 0x0f; j ++)
{ ; }
}
}
void Delay(unsigned char num)
{
unsigned char i,j,k;
for(i = 0; i < num; i ++)
{
for(j = 0; j < 0xff; j ++)
{
for(k = 0; k < 0xff; k ++)
{ ; }
}
}
}
/*
void Delay(unsigned char num)
{
unsigned char i,j,k;
// for(i = 0; i < num; i ++)
{
count = 250;
while( count ) {;}
}
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -