找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4371|回复: 0
打印 上一主题 下一主题
收起左侧

单片机按键控制蜂鸣器程序

[复制链接]
跳转到指定楼层
楼主
ID:664244 发表于 2019-12-15 13:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
51单片机按键控制蜂鸣器

单片机源程序如下:
  1. #include "reg52.h"                         //此文件中定义了单片机的一些特殊功能寄存器

  2. typedef unsigned int u16;          //对数据类型进行声明定义
  3. typedef unsigned char u8;

  4. sbit k1=P3^1;
  5. sbit k2=P3^0;

  6. sbit beep=P1^5;

  7. u8 start=0;

  8. /*******************************************************************************
  9. * 函 数 名         : delay
  10. * 函数功能                   : 延时函数,i=1时,大约延时10us
  11. *******************************************************************************/
  12. void delay(u16 i)
  13. {
  14.         while(i--);       
  15. }

  16. void sound()
  17. {
  18.         u8 i=100;
  19.         while(i--)
  20.         {
  21.                 beep=~beep;
  22.                 delay(100);       
  23.         }
  24. }
  25. void keypros()
  26. {
  27.         if(k1==0)                         //开始
  28.         {
  29.                 delay(1000);
  30.                 if(k1==0)
  31.                 {
  32.                         start=1;               
  33.                 }
  34.                 while(!k1);
  35.         }
  36.         if(k2==0)                          //停止
  37.         {
  38.                 delay(1000);
  39.                 if(k2==0)
  40.                 {
  41.                         start=0;               
  42.                 }
  43.                 while(!k2);
  44.         }
  45. }
  46. /*******************************************************************************
  47. * 函 数 名       : main
  48. * 函数功能                 : 主函数
  49. * 输    入       : 无
  50. * 输    出             : 无
  51. *******************************************************************************/
  52. void main()
  53. {       
  54.         while(1)
  55.         {
  56.                 keypros();
  57.                 if(start==1)
  58.                 {
  59.                         sound();
  60.                 }
  61.                 else
  62.                 {
  63.                         beep=1;
  64.                 }               
  65.         }               
  66. }
复制代码

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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