34af9uc的个人空间 https://bbs.21ic.com/?818997 [收藏] [复制] [RSS]

日志

stm8s103f3p6心跳灯

已有 158 次阅读2018-5-16 21:50 |系统分类:兴趣爱好

在流水灯的基础上我改了个心跳灯
#include "STM8S103F.h"
#define                BIT0        0x01
#define                BIT1        0x02
#define                BIT2        0x04
#define                BIT3        0x08
#define                BIT4        0x10
#define                BIT5        0x20
#define                BIT6        0x40
#define                BIT7        0x80
unsigned        char a,b;
unsigned        char        sheng;        //升降标志位
void       yanshi(unsigned int x)
{
unsigned  char        y,z;
for(y=x;x>0;x--)
        for(z=100;z>0;z--);
}
void                        yi(void)
        {
        if(sheng)
        {
        PD_ODR|=BIT3;yanshi(a);
        }
                        else        PD_ODR&=~BIT3;yanshi(b);
        }
void        er(void)
{
if(sheng)       
        {PD_ODR|=BIT2;yanshi(a);}
        else        PD_ODR&=~BIT2;yanshi(b);
        }
void        san(void)
{
if(sheng)
{PD_ODR|=BIT1;yanshi(a);}
        else        PD_ODR&=~BIT1;yanshi(b);
}
void        si(void)
{
if(sheng){PC_ODR|=BIT7;yanshi(a);}
        else        PC_ODR&=~BIT7;yanshi(b);
}
void        wu(void)
{
if(sheng){PC_ODR|=BIT6;yanshi(a);}
        else        PC_ODR&=~BIT6;yanshi(b);
}
void        liu(void)
{
if(sheng)        {PC_ODR|=BIT5;yanshi(a);}
        else        PC_ODR&=~BIT5;yanshi(b);
}
void        qi(void)
{
if(sheng){PC_ODR|=BIT4;yanshi(a);}
else        PC_ODR&=~BIT4;yanshi(b);
}
void        ba(void)
{if(sheng){PC_ODR|=BIT3;yanshi(a);}
else        PC_ODR&=~BIT3;yanshi(b);
}
void        jiu(void)
{
if(sheng){PB_ODR|=BIT4;yanshi(a);}
else        PB_ODR&=~BIT4;yanshi(b);
}
void        shi(void)
{
if(sheng){PB_ODR|=BIT5;yanshi(a);}
else        PB_ODR&=~BIT5;yanshi(b);
}
void main()
{



        PD_DDR|=BIT1|BIT2|BIT3;        //输出
        PC_DDR|=BIT3|BIT4|BIT5|BIT6|BIT7;
        PB_DDR|=BIT4|BIT5;
        PD_CR1|=BIT1|BIT2|BIT3;        //推挽
        PC_CR1|=BIT3|BIT4|BIT5|BIT6|BIT7;
        PB_CR1|=BIT4|BIT5;
        a=60;
        b=80;

        while (1)
                {
                        sheng=1;
                        yi();        er();        san();        si();        wu();
                        liu();qi();ba();jiu();shi();
                        sheng=0;
                        shi();jiu();ba();qi();liu();
                        wu();        si();        san();        er();        yi();
//PD_ODR|=BIT3;yanshi(500);PD_ODR&=~BIT3;yanshi(300);
//PD_ODR|=BIT2;yanshi(500);PD_ODR&=~BIT2;yanshi(300);
//PD_ODR|=BIT1;yanshi(500);PD_ODR&=~BIT1;yanshi(300);
//PC_ODR|=BIT7;yanshi(500);PC_ODR&=~BIT7;yanshi(300);       
//PC_ODR|=BIT6;yanshi(500);PC_ODR&=~BIT6;yanshi(300);
//PC_ODR|=BIT5;yanshi(500);PC_ODR&=~BIT5;yanshi(300);
/*PC_ODR|=BIT4;yanshi(500);PC_ODR&=~BIT4;yanshi(300);
PC_ODR|=BIT3;yanshi(500);PC_ODR&=~BIT3;yanshi(300);
PB_ODR|=BIT4;yanshi(500);PB_ODR&=~BIT4;yanshi(300);
PB_ODR|=BIT5;yanshi(500);PB_ODR&=~BIT5;yanshi(300);*/
                       
                }
}



路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)