
问题现象描述:即使在程序中写了关闭蜂鸣器的程序,但是在下载过程中,蜂鸣器仍然会响。
Step0:已经写好了关闭蜂鸣器的程序,并且已经下载到了单片机中。
Step1:单片机通过USB线连接到电脑上,并且S3电源开关打开,单片机保持上电状态。
Step2:使用STC-ISP启动 下载程序
Step3:双击开发板上的S3 电源开关
进行冷启动。
双击! 双击! 双击! 因为在Step1时单片机就已经上电,所以此时的双击是让单片机掉电后马上上电。快速进行双击。
总而言之,写了初始化程序,下载过程中蜂鸣器仍然响,是操作的原因。具体的理论原因查了好长时间还没完全解决,待更新ing。
附:初始化代码
void All_Init(void)
{
//LED
P2 &= 0X1F; //关573
P0 = 0XFF; //预送数据
P2 |= 0X80; //开相应573
P0 = 0XFF; //送数据
P2 &= 0X1F; //关573
//蜂鸣器
P2 &= 0X1F; //关573
P0 = 0X00; //预送数据
P2 |= 0XA0; //开相应573
P0 = 0X00; //送数据
P2 &= 0X1F; //关573
//数码管位选
P2 &= 0X1F; //关573
P0 = 0X00; //预送数据
P2 |= 0XC0; //开相应573
P0 = 0X00; //送数据
P2 &= 0X1F; //关573
//数码管段选
P2 &= 0X1F; //关573
P0 = 0XFF; //预送数据
P2 |= 0XE0; //开相应573
P0 = 0XFF; //送数据
P2 &= 0X1F; //关573
}