c语言单片机倒数计时,51单片机实现100以内倒计时,求大佬指点。

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define data1 P0

#define data2 P2

sbit s1=P3^6;

sbit s2=P3^7;

bit fangxiang;

uint alt=0,net=0,sl=8*10;

bit mode;

uchar code tab[]={

// (0) 0(1) 1(2) 2(3) 3(4) 4(5) 5(6) 6(7) 7(8) 8(9) 9(10) (11)

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/

0x00,0x1C,0x22,0x22,0x22,0x22,0x1C,0x00,/*"0",1*/

0x00,0x12,0x12,0x3E,0x02,0x02,0x00,0x00,/*"1",2*/

0x00,0x12,0x26,0x26,0x26,0x2A,0x36,0x00,/*"2",3*/

0x00,0x14,0x22,0x32,0x32,0x2A,0x2C,0x00,/*"3",4*/

0x00,0x08,0x14,0x24,0x26,0x7E,0x00,0x00,/*"4",5*/

0x00,0x3C,0x2A,0x2A,0x2A,0x2A,0x24,0x00,/*"5",6*/

0x00,0x1C,0x2A,0x2A,0x2A,0x2A,0x04,0x00,/*"6",7*/

0x00,0x30,0x20,0x2E,0x28,0x30,0x20,0x00,/*"7",8*/

0x00,0x34,0x2A,0x2A,0x2A,0x2A,0x34,0x00,/*"8",9*/

0x00,0x10,0x2A,0x2A,0x2A,0x2E,0x1C,0x00,/*"9",10*/

};

void delay(uint z) //延时子函数

{

uchar x;

for(;z>0;z--)

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

}

void xianshi()//显示

{

uchar aa,i,num=2;

for(i=0;i<16;i++)

{

switch(i){

case 0:

num=1;

break;

case 1:

num=2;

break;

case 2:

num=4;

break;

case 3:

num=8;

break;

case 4:

num=16;

break;

case 5:

num=32;

break;

case 6:

num=64;

break;

case 7:

num=128;

break;

default :

num=0;

break;

}

P2=0xff-num; //列扫描

data1=tab[net+aa]; //取出上8行数据输出

aa++;

delay(5);//延时

data1=0; //清屏

P1=0x00; //消除余辉

if(aa>15) aa=0; //字模地址

}

}

void main() //主函数

{

ET1=1; //使能定时器0

EA=1; //开启总中断

TR1=1;//开始计数

while(1) //无限循环

{

xianshi(); //显示

if(s1==0) //检测按键

{

delay(30); //延时消抖

TR1=~TR1; //按下暂停 ,暂按继续

while(!s1)xianshi();

delay(30);

}

if(s2==0)//检测按键

{

delay(30);//延时消抖

fangxiang=~fangxiang; //方向取反

while(!s2)xianshi();

delay(30);

}

}

}

void timer1() interrupt 3

{

alt++;

if(alt==30) //到一定的时间加以实现左移

{

alt=0;

if(fangxiang

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值