8个发光管来回流动,第5个管亮100ms,流动时让蜂鸣器发出滴滴声

8个发光管来回流动,第5个管亮100ms,流动时让蜂鸣器发出滴滴声

ID:44021546

大小:15.38 KB

页数:11页

时间:2019-10-18

8个发光管来回流动,第5个管亮100ms,流动时让蜂鸣器发出滴滴声_第1页
8个发光管来回流动,第5个管亮100ms,流动时让蜂鸣器发出滴滴声_第2页
8个发光管来回流动,第5个管亮100ms,流动时让蜂鸣器发出滴滴声_第3页
8个发光管来回流动,第5个管亮100ms,流动时让蜂鸣器发出滴滴声_第4页
8个发光管来回流动,第5个管亮100ms,流动时让蜂鸣器发出滴滴声_第5页
资源描述:

《8个发光管来回流动,第5个管亮100ms,流动时让蜂鸣器发出滴滴声》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、//3.8个发光管来回流动,第5个管亮100ms,流动时让蜂鸣器发出“滴滴”声。/*#include#include//调用库函数_cror_的头文件要包含进来#defineuintunsignedint//宏定义uint#defineucharunsignedchar//宏定义ucharuintz,f;//定义全局变量z,f延时子函数用到ucharLED;//定义全局变量LED,主函数用到,因为不能直接对P0口从操作,要经过中间变量LEDsbitFM=P1^0;//特殊功能位声明(用于控制蜂鸣器)voiddelay

2、(uintz);//声明延时子函数//延时子程序//若z=1,则延时2.17+1000.37us=1002.54us=>1ms;//若z=2,则延时2.17+1000.37*2us=2002.91us=>2ms,//若z=3,则延时2.17+1000.37*3us=3003.28us=>3ms,每次f加1,则延时增加8.68us,以此类推)voiddelay_1(uintf);//声明延时子函数//延时子程序//若f=1,则延时2.17+97.65us=99.82us=>100us;//若f=2,则延时2.17+97.65*2us=197.47us=>20

3、0us,//若f=3,则延时2.17+97.65*3us=295.12us=>300us,每次f加1,则延时增加8.68us,以此类推)voidmain()//主函数{uinti;//定义变量i的数据类型为unsignedint型P0=0x00;//电路图显示LED为高电平点亮,故先要灭掉LEDP0=0x01;//点亮第一盏LED灯LED=P0;//把P0的值赋给变量LED,以便下面程序使用delay(500);//延时500ms//以下两个for函数加一个延时函数,使蜂鸣器在500ms内发出“滴滴”声for(i=500;i>0;i--)//使蜂鸣器发出1

4、25ms滴声(仿真时间为122.07574ms){FM=0;//蜂鸣器响第一次4.34us,第二次及以后1.93usdelay_1(1);//延时100us116.1usFM=1;//蜂鸣器不响1.09usdelay_1(1);//延时100us115.02us}delay(250);//延时250ms(精确时间为250.93641ms)for(i=500;i>0;i--)//使蜂鸣器发出125ms滴声(仿真时间为122.07574ms){FM=0;//蜂鸣器响delay_1(1);//延时100usFM=1;//蜂鸣器不响delay_1(1);//延时1

5、00us}while(1)//锁死程序,使程序始终执行while的内容{LED=_crol_(LED,1);//让00000001中的1向左移动if(LED==0x10)//当00010000时,LED亮100ms,滴滴100ms,否则LED亮500ms,滴滴500ms{P0=LED;//把左移后的数据赋值给P0口执行delay(100);//延时100ms//以下两个for函数加一个延时函数,使蜂鸣器在100ms内发出“滴滴”声for(i=100;i>0;i--){FM=0;delay_1(1);FM=1;delay_1(1);}delay(50);fo

6、r(i=100;i>0;i--){FM=0;delay_1(1);FM=1;delay_1(1);}}else{P0=LED;//把左移后的数据赋值给P0口执行delay(500);//以下两个for函数加一个延时函数,使蜂鸣器在500ms内发出“滴滴”声for(i=500;i>0;i--){FM=0;delay_1(1);FM=1;delay_1(1);}delay(250);for(i=500;i>0;i--){FM=0;delay_1(1);FM=1;delay_1(1);}};if(LED==0x80)//当10000000时,让1向右移动{LED

7、=_cror_(LED,1);//让10000000向右移动一位P0=LED;//01000000让第7个灯亮delay(500);//延时500ms//以下两个for函数加一个延时函数,使蜂鸣器在500ms内发出“滴滴”声for(i=500;i>0;i--){FM=0;delay_1(1);FM=1;delay_1(1);}delay(250);for(i=500;i>0;i--){FM=0;delay_1(1);FM=1;delay_1(1);}LED=_cror_(LED,1);//让01000000中的1向右移动1位P0=LED;//0010000

8、0让第6个灯亮delay(500);//延时500ms//以下两个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。