C系统巨大错误!

 
5155 5
鹰眼(流星) 2022-4-3 14:55:09 来自手机 | 显示全部楼层 |阅读模式
        经过本次的测试发现,用数组实现倒计时,初始使用大于3的变量,3以下的倒计时运行失败。
        各位同志能帮我看一下吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
邵江琦 2022-12-21 10:47:25 | 显示全部楼层
这谁知道啊
爱国者黑客 2022-12-27 23:05:34 来自手机 | 显示全部楼层
太高深了看不懂
虚怀若谷 2023-1-27 07:15:24 | 显示全部楼层
给你改成单键控制开始、暂停、继续的24秒倒计时。

#include

#define uchar unsigned char

#define uint unsigned int

sbit dula=P2^6;

sbit wela=P2^7;

sbit key1=P3^4;

uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,

0x7d,0x07,0x7f,0x6f,0x40};

uchar num=0,miao=0;

bit zantin=0;

void delayms(uint);

void keyscan();

void display();

void main()

{

TMOD=0x01;

TH0=(65536-45872)/256;

TL0=(65536-45872)%256;

EA=1;

ET0=1;

TR0=1;

while(1)

{

keyscan();

display();

}

}

/***********按键扫描程序****************/

void keyscan()

{

static uint count1=0;        //计数变量

static bit key_sign=0;                                        //按键状态标志

if(key1==0)                                //检测输入如果为0

{

count1++;                                        //计数延时消抖

if((count1>=50)&&(key_sign==0))//检测按键如果为0

{

key_sign=1;                //按键状态标志置1,防止重复响应

if(miao==0)//开始倒计时

{

num=0;

miao=24;

zantin=1;

}

else zantin=~zantin;        //暂停/继续

}

}

else

{

count1=0;                                //计数变量清0

key_sign=0;                                //按键状态标志清0

}

}

void display()

{

P0=0x00;

dula=1;

dula=0;

P0=0xfe;

wela=1;

wela=0;

P0=table[miao/10];

dula=1;

dula=0;

delayms(1);

P0=0x00;

dula=1;

dula=0;

P0=0xfd;

wela=1;

wela=0;

P0=table[miao%10];

dula=1;

dula=0;

delayms(1);

}

void delayms(uint xms)

{

uint i,j;

for(i=xms;i>0;i--)

for(j=110;j>0;j--);

}

void exter0() interrupt 1

{

TH0=(65536-45872)/256;

TL0=(65536-45872)%256;

if(zantin==1)

{

num++;

if(num==20)

{

num=0;

if(miao>0)

miao--;

}

}

}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行