新闻中心

EEPW首页>嵌入式系统>设计应用> 51单片机-蜂鸣器

51单片机-蜂鸣器

作者: 时间:2016-12-02 来源:网络 收藏


单片机如何输出频率:



得到600HZ的频率:

#include
sbit p = P3^4;

void main(){
p = 1;
EA = 1;
ET0 = 1;
TMOD = 0x01;
TH0 = (65536-833)/256;
TL0 = (65536-833)%256;
TR0 = 1;
while(1);
}

void time0() interrupt 1{
p = ~p;
TH0 = (65536-833)/256;
TL0 = (65536-833)%256;
}

内循环一次8.3us

void delay8us(unsigned char x){
unsigned char i,j;
for(i = 0; i < x; i++)
for(j = 0; j < 1; j++)
;
}

音符频率及定时器初值对照表:




4*4电子琴程序的实现:

#include
#define uchar unsigned char
#define uint unsigned int
uint DATE,i;
sbit buzz = P3^4;
sbit L0 = P0^0;
sbit L1 = P0^1;
sbit L2 = P0^2;
sbit L3 = P0^3;
sbit H0 = P0^4;
sbit H1 = P0^5;
sbit H2 = P0^6;
sbit H3 = P0^7;
uchar TH0_DATA = 0;
uchar TL0_DATA = 0;
uchar code qin[] = {262,277,293,329,349,392,440,494};


评论


技术专区

关闭