欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 計數器出錯 [打印本頁]

作者: diangong    時間: 2015-3-21 16:45
標題: 計數器出錯
觸發一次,跳轉好幾個數。從網上下的計數程序。 求大俠賜教!涕零感激!
#include "reg52.h"
#define u8 unsigned char
#define u16 unsigned int
sbit sw1=P3^4;
sbit sw2=P3^5;
sbit sw3=P3^6;
sbit e0=P2^0;
sbit e1=P2^1;
sbit e2=P2^2;
sbit e3=P2^3;
u8 ds[4]={0,0,0,0};
u16 num=0;
u8 code table[]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0x00};
u8 ajsm()
{
    static u16 ms;
    if(sw3==0)
    {
        if(++ms==2)
        {
            return 1;
        }
    }
    else
    {
        ms=0;
    }
    return 0;
}
void xs()
{
    static u8 a;
    a++;
    if(a>3)a=0;
    e0=1;
    e1=1;
    e2=1;
    e3=1;
    P0=table[ds[a]];
    switch(a)
    {
        case 0:
        {
            e0=0;
            e1=1;
            e2=1;
            e3=1;
        }break;
        case 1:
        {
            e0=1;
            e1=0;
            e2=1;
            e3=1;
        }break;
        case 2:
        {
            e0=1;
            e1=1;
            e2=0;
            e3=1;
        }break;
        case 3:
        {
            e0=1;
            e1=1;
            e2=1;
            e3=0;
        }break;
    }
}
void main()
{
    TMOD=0x66;
    TH0=0xff;
    TL0=0xff;
    TH1=0xff;
    TL1=0xff;
    TR1=1;
    TR0=1;
    ET0=1;
    ET1=1;
    EA=1;
    while(1)
    {      
        ds[0]=num/1000%10;
        ds[1]=num/100%10;
        ds[2]=num/10%10;
        ds[3]=num%10;
        xs();
        if(ajsm())
        {
            num=0;
        }
   
    }
}
void time0()interrupt 1
{
    if(num<9999)num++;
}
void time1()interrupt 3
{
    if(num>0)num--;
}






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1