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

日志

STC15W408AS@四位数码管

已有 77 次阅读2019-4-19 21:17 |系统分类:兴趣爱好

/********************SU**************************/
/****************QQ774145445*********************/
/***********STC15W408AS@四位数码管***************/
#include<stc15.h>
#define                B0                        0x01
#define                B1                        0x02
#define                B2                        0x04
#define                B3                        0x08
#define                B4                        0x10
#define                B5                        0x20
#define                B6                        0x40
#define                B7                        0x80
sbit                a                        =P1^1;
sbit                b                        =P1^0;
sbit                c                        =P3^7;
sbit                d                        =P3^6;
sbit                e                        =P3^5;
sbit                f                        =P3^4;
sbit                g                        =P3^3;
sbit                h                        =P3^2;
sbit                yi                        =P1^5;
sbit                er                        =P1^6;
sbit                san                        =P1^7;
sbit                si                        =P5^4;
sbit                jiechuqi        =P5^5;
sbit                tantou                =P1^4;
/************************************************/

void                chushihua();
void                yanshi(unsigned char xa);
void                jiance();
void                xianshi(unsigned char xia);
void                xianshia();
void                xianshib();
unsigned        char        haomiao,miao,fen,dian,deng;
unsigned        char        zib[]={
0x03,0x9f,0x25,0x0d,0x99,0x49,
0x41,0x1f,0x01,0x09,0x00};
unsigned        char        zia[]={0x03,0x71,0x71,0xfe};
void                main()
/************************************************/
{
chushihua();
for(;;)
{

if(deng==0)
{
jiance();
xianshia();
}
if(deng==1)
{

xianshib();
}

}

}
/************************************************/
void        chushihua()
{
deng                =0;
jiechuqi        =0;
P5M1                &=~B5;
P5M0                |=B5;
AUXR                |= 0x80;        //定时器时钟1T模式
TMOD                &= 0xF0;        //设置定时器模式
//TL0                        = 0xcd;                //设置定时初值
//TH0                        = 0xd4;                //设置定时初值
TL0 = 0x00;                //设置定时初值
TH0 = 0x28;                //设置定时初值
TF0                        = 0;                //清除TF0标志
TR0                        = 1;                //定时器0开始计时
ET0                        = 1;        //使能定时器0中断
EA                        = 1;

}

/************************************************/
void        yanshi(unsigned char xa)
{
unsigned        char xb;
for(xa;xa>0;xa--)
        {
        for(xb=200;xb>0;xb--);
        }

}
/************************************************/
void                jiance()
{
tantou=1;
yanshi(20);
if(tantou==1)
        {
        yanshi(20);
        if(tantou==1)
                {
                deng=1;
                jiechuqi=1;
                }
        }
tantou=0;
yanshi(20);
}
/************************************************/
void mmm() interrupt 1
{
if(deng==1)
        {
        haomiao++;
        if(haomiao==100)
                {
                dian                =1;
                }
        if(haomiao==200)
                {
                dian                =0;
                haomiao                =0;
                miao++;
                if(miao==60)
                        {
                        miao=0;
                        fen++;
                        if(fen==15)//if(fen==15)
                                {
                                fen=0;
                                deng=0;
                                jiechuqi=0;
                                }
                        }
                }
        }
}
/************************************************/
void                xianshia()
{
unsigned        char xib;
yi=0;er=1;san=1;si=1;
xib=zia[0];
xianshi(xib);
yanshi (20);
yi=1;er=0;san=1;si=1;
xib=zia[1];
xianshi(xib);
yanshi (20);
yi=1;er=1;san=0;si=1;
xib=zia[2];
xianshi(xib);
yanshi (20);
yi=1;er=1;san=1;si=0;
xib=zia[3];
xianshi(xib);
yanshi (20);
}

/************************************************/
void                xianshib()
{
unsigned        char xic,xid;
yi=0;er=1;san=1;si=1;
xic                        =fen/10%10;
xid                        =zib[xic];
xianshi                (xid);
yanshi (30);
yi=1;er=0;san=1;si=1;
xic                        =fen/1%10;
xid                        =zib[xic];
xianshi                (xid);
yanshi (30);
yi=1;er=1;san=0;si=1;
xic                        =miao/10%10;
xid                        =zib[xic];
xianshi                (xid);
yanshi (30);
yi=1;er=1;san=1;si=0;
xic                        =miao/1%10;
xid                        =zib[xic];
xianshi                (xid);
yanshi (30);

}

/************************************************/
void xianshi(unsigned char xia)
{
if(xia&B7){a=1;}else{a=0;}
if(xia&B6){b=1;}else{b=0;}
if(xia&B5){c=1;}else{c=0;}
if(xia&B4){d=1;}else{d=0;}
if(xia&B3){e=1;}else{e=0;}
if(xia&B2){f=1;}else{f=0;}
if(xia&B1){g=1;}else{g=0;}
if(dian==1){h=1;}else{h=0;}

}

/************************************************/

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)