电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

51单片机控制节拍产生示例程序

来源:-- 作者:-- 浏览:1029

标签:

摘要: 51 单片机 控制节拍产生示例程序 #include <reg51.h> sbit speaker=P3^7; unsigned char Do=108; unsigned char beat_H=(65536-62500)/256,beat_L()=(65536-62500)%256; unsigne

51 单片机 控制节拍产生示例程序

#include <reg51.h>
sbit speaker=P3^7;
unsigned char Do=108;
unsigned char beat_H=(65536-62500)/256,beat_L()=(65536-62500)%256;

 

unsigned char tone_H=(65536-1908)/256,tone_L()=(65536-1908)%256;
char times,counts=5;
bit beat_flag;
//=====Timer0中断子程序======================
void tone_timer(void)interrupt 1
{TH0=tone_H;
 TL0=tone_L;  speaker=~speaker;
 }
main()
{char i;
 IE=0x82;
 TH0=beat_H;
 TL0=beat_L;
 for(i=0;i<counts;i++)
 {times=2;
  beat_flag=0;
  TR0=1;
  if(beat_flag==0)
  {speaker=~speaker;delay8us(tone[Do]);}
  //===静音(1/4拍)=====================================
  speaker=0;
  times=2;
  beat_flag=0;
  TR0=1;
  while(beat_flag=0);
 }
}
//======================================================
void beat_timer(void)interrupt 1
{TH0=beat_H;
 TL0=beat_L;
 if(--times==0)
   {beat_flag=1;
    TR0=0;
   }
}
//============================================
void delay8us(unsigned charx)
{unsigned char i,j;
  for(i=0;i<x;i++)
     for(j=0;j<1;j++);
}

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67