蜂鸣器l.c

来自「红外接收、蜂鸣器、时钟、led、lcd1602的一些源程序」· C语言 代码 · 共 34 行

C
34
字号
#include"at89x51.h"
sbit k2=P1^7;   //蜂鸣器控制端
unsigned char m,n;

void int1() interrupt 3    //T1中断,时间是50ms
{
TR1=0;                     //关中断
TH1=0x3C;                  //装定时器初值
TL1=0xB0; 
ET1=1;                    //开中断                 
TR1=1;
m++;
if(m==20)  {m=0;n=1;}  //中断20次,使时间为一秒,设置标志位
}

void main( void )
{
  TMOD=0x10;              //设置为T1定时器
  TH1=0x3C;              //装定时器初值
  TL1=0xB0;
  TR1=1;                //开中断
  ET1=1; 
  EA=1;
   while(1)   
    {
	if(n)   //检测标志位
         {
          n=0;     //清除标志位
          k2=~k2;  //蜂鸣器控制端状态间断相反,使蜂鸣器发出声音
         }	
   }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?