微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机程序——定时器控制蜂鸣器

51单片机程序——定时器控制蜂鸣器

时间:11-23 来源:互联网 点击:
#include

#define uint unsigned int

sbit bb=P3^5; //位定义蜂鸣器接口

sbit led1=P0^0; //位定义LED接口

unsigned int i=0;

void delay(uint z); //延迟函数声明

void main()

{

TMOD=0x01; //TMOD赋值,以确定T0和T1的工作方式

TH0=(65536-50000)/256; //计算初值,并将其写入TH0、TL0或TH1、TL1

TL0=(65536-50000)%6;

EA=1; //打开总中断

ET0=1; //打开定时器0中断

TR0=1; //启动定时器0

while(1)

{

if(i==20) //定时器计数时间20*50MS=1S

{

i=0; //清除标志位

led1=0;

bb=0;

delay(500);

led1=1;

bb=1;

delay(500);

}

}

}

void exter0() interrupt 1 //定时器0中断函数

{

TH0=(65536-50000)/256; //中断函数中也需要赋定时器初值

TL0=(65536-50000)%6;

i++; //定时器每50MS就使i加一

}

void delay(uint z) //延迟函数

{

uint x,y;

for(x=z;x>0;x--)

for(y=20;y>0;y--);

}


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top