51单片机倒计时蜂鸣器c语言,51单片机60秒倒计时_51单片机倒计时15秒后蜂鸣器为什么不响?...

问题补充:

#include"reg52.h" typedef unsigned int u16; typedef unsigned char u8;

sbit beep=P1^5;

u16 b=1000,c=15; u8 a[2]; u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void delay(u16 i) { while(i--); }

void s() { u8 j; for(j=0;j<=7;j++) { switch(j) { case 0:P2=0X00;break; case 1:P2=0X04;break; case(2): P2=0X08; break;//显示第2位 case(3): P2=0X0c; break;//显示第3位 case(4): P2=0X10; break;//显示第4位 case(5): P2=0X14; break;//显示第5位 case(6): P2=0X18; break;//显示第6位 case(7): P2=0X1c; break; } } P0=a[j]; delay(100); P0=0X00;

}

void csh() { TMOD|=0X01; TH0=0Xfc; TL0=0X18; ET0=1; EA=1; TR0=1; }

void szh() { a[0]=smgduan[c%10]; a[1]=smgduan[c/10];

}

void main() { csh(); while(1) { szh(); s(); if(c==12) { EA=0;

beep=~beep; delay(100); } } }

void zd()interrupt 1 { TH0=0Xfc; TL0=0X18; b--; if(b==0) { b=1000; c--;

} }补充:不是蜂鸣器,是数码管显示不正常!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值