找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3780|回复: 0
收起左侧

51单片机LED蜂鸣器鸣笛控制仿真+代码

[复制链接]
ID:614948 发表于 2019-9-22 22:19 | 显示全部楼层 |阅读模式
仿真图.png
希望对大家有帮助

单片机源程序如下:
  1. #include <reg51.h>
  2. #include <intrins.h>
  3. #define u8 unsigned char
  4. #define u16 unsigned int
  5. sbit beep=P2^3;
  6. sbit key=P3^0;
  7. void delay_ms(u16 x)//毫秒延时函数
  8. {u16 i,j;
  9. for(i=0;i<x;i++)
  10.     for(j=0;j<115;j++);
  11. }

  12. void delay_us(u8 t) //延时10*t微妙
  13. {u8 i;
  14. for(i=0;i<=t;i++);
  15. }

  16. void BEEP_Alarm(u8 t) //蜂鸣器报警,持续t秒
  17. {
  18. u8 i,j,k;         
  19. for(j=0;j<t;j++)
  20. { for(i=0;i<200;i++)
  21.       {beep=0;delay_us(50);beep=1;delay_us(50);}
  22.    for(k=0;k<100;k++)
  23.       {beep=0;delay_us(110);beep=1;delay_us(110);}
  24. }
  25. }

  26. void led() //报警灯
  27. {u8 temp,i;

  28. temp=0xf8;
  29.   for(i=0;i<9;i++)
  30. {P0=temp;
  31.   BEEP_Alarm(1);
  32.   temp=_crol_(temp,1);
  33.   }
  34. }

  35.         
  36.            
  37. void main()
  38. {
  39.            if(key==0)//判断按键被按下
  40.            {
  41.                 delay_ms(10);//延时去抖
  42.                 if(key==0)//再次判断按键被按下
  43.                 {
  44.               while(!key); //等待按键松开   
  45.               led();
  46.                 }
  47.    }
  48. }
复制代码
图片1.png
所有资料51hei提供下载:
模本.zip (58.97 KB, 下载次数: 37)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表