首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用for、while、do-while​语句控制蜂鸣器、流水灯

用for语句控制蜂鸣器

上面的电路图中p1.7接的是蜂鸣器

#include//包含单片机寄存器的头文件

sbit sound=P1^7; //将sound位定义为P3.7

/****************************************

函数功能:延时形成1600Hz音频

****************************************/

void delay1600(void)

{

unsigned char n;

for(n=0;n

;

}

/****************************************

函数功能:延时形成800Hz音频

****************************************/

void delay800(void)

{

unsigned char n;

for(n=0;n

;

}

/****************************************

函数功能:主函数

****************************************/

void main(void)

{

unsigned int i;

while(1)

{

for(i=0;i

{

sound=0; //P3.7输出低电平

delay1600();

sound=1; //P3.7输出高电平

delay1600();

}

for(i=0;i

{

sound=0; //P3.7输出低电平

delay800();

sound=1; //P3.7输出高电平

delay800();

}

}

}

用while语句控制LED

 电路中是p0口接的流水灯!

#include//包含单片机寄存器的头文件

/****************************************

函数功能:延时约60ms (3*100*200=60000μs)

****************************************/

void delay60ms(void)

{

unsigned char m,n;

for(m=0;m

for(n=0;n

;

}

/****************************************

函数功能:主函数

****************************************/

void main(void)

{

unsigned char i;

while(1)   //无限循环

{

i=0;   //将i初始化为0

while(i

{

P0=i;       //将i送P0口显示

delay60ms(); //延时

i++;        //i自增1

}

}

}

用do-while语句控制P0口8位LED流水点亮

电路中是p0口接的流水灯!

#include//包含单片机寄存器的头文件

/****************************************

函数功能:延时约60ms (3*100*200=60000μs)

****************************************/

void delay60ms(void)

{

unsigned char m,n;

for(m=0;m

for(n=0;n

;

}

/****************************************

函数功能:主函数

****************************************/

void main(void)

{

do

{

P0=0xfe;    //第一个LED亮

delay60ms();

P0=0xfd;    //第二个LED亮

delay60ms();

P0=0xfb;    //第三个LED亮

delay60ms();

P0=0xf7;    //第四个LED亮

delay60ms();

P0=0xef;    //第五个LED亮

delay60ms();

P0=0xdf;    //第六个LED亮

delay60ms();

delay60ms();

P0=0xbf;    //第七个LED亮

delay60ms();

P0=0x7f;    //第八个LED亮

delay60ms();

}while(1);    //无限循环,使8位LED循环流水点亮

}

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20220303A07D2L00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券