数码管和蜂鸣器一起工作时产生的问题

2019-07-15 23:26发布

实现1,让数码管从0-9,在8个数码管上循环显示,时间0,5s
2,让蜂鸣器以1hz频率响数码管工作正常,但是蜂鸣器却不是我想要的效果,它一直响
搭个顺风车再问一个,stc下载程序时,当开发板连接着电脑,看似一切正常,但是一不小心,不知发生了什么,就断开连接,数据线还能给开发板供电,但此时串口却不存在了,不管怎么搞都出不来,或许,重启可以,还有拔了插有时也起作用,不知什么原因,希望有人解答,3q
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
void yanshi(uint);
sbit duan=P2^6;
sbit wei=P2^7;
sbit fmq=P1^4;
uchar code tableduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0xff ,0x6f};
uchar code tablewei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar a,b,c;
void main ()
{
a=b=c=0;TMOD=1;EA=1;ET0=1;TH0=15536/256;TL0=15536%256;TR0=1;
while(1)
{ fmq=1;
yanshi(100); fmq=0; yanshi(100); }
}
void time() interrupt 1
{
TH0=15536/256;TL0=15536%256;a++;
if(a==10)
{ a=0; wei=1; P0=tablewei; wei=0; duan=1; P0=tableduan[c]; duan=0; b++; c++; if(b==8) b=0; if(c==10) c=0;
}
}
void yanshi(uint z)
{
uint d,e;for(d=z;d>0;d++)
for(e=1000;e>0;e++);
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
冰葑世纪
2019-07-16 02:03
你蜂鸣器没设置停止,只设置了频率,当然是一直以1KHZ响啦。试下在定时器里面关闭蜂鸣器。你说的下载问题,我也不知道你下载用什么是USB转串口还是PL2303芯片虚拟的串口。不过也是奇怪的问题,可能系统问题,可能下载芯片问题,不好说

评分

参与人数 1积分 +1 收起 理由 dongyumin + 1 授予论坛”答题小旋风“称号,加分鼓励。.

查看全部评分

一周热门 更多>