找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4606|回復(fù): 0
收起左側(cè)

單片機(jī)按鍵控制蜂鳴器程序

[復(fù)制鏈接]
ID:664244 發(fā)表于 2019-12-15 13:07 | 顯示全部樓層 |閱讀模式
51單片機(jī)按鍵控制蜂鳴器

單片機(jī)源程序如下:
  1. #include "reg52.h"                         //此文件中定義了單片機(jī)的一些特殊功能寄存器

  2. typedef unsigned int u16;          //對數(shù)據(jù)類型進(jìn)行聲明定義
  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. * 函 數(shù) 名         : delay
  10. * 函數(shù)功能                   : 延時函數(shù),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. * 函 數(shù) 名       : main
  48. * 函數(shù)功能                 : 主函數(shù)
  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. }
復(fù)制代碼

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表