求汇编语言或c语言编写无源蜂鸣器程序!

求汇编语言或c语言编写无源蜂鸣器程序!,第1张

#include<reg51.h>

#define uchar unsigned char

sbit k1=P1^0

sbit k2=P1^1

sbit k3=P1^2

sbit k4=P1^3

sbit fmq=P1^7

uchar cnt,sec

vodi t0isr() interrupt 1

{

TH0=(65536-50000)/256

TL0=(65536-50000)%256

cnt++

if(cnt>=20)

    {

    cnt=0

    sec--

    if(sec==0)

        {

        TR0=0

        fmq=1

        }

    }

}

main()

{

TMOD=0x01

TH0=(65536-50000)/256

TL0=(65536-50000)%256

ET0=1

EA=1

while(1)   

    {

    if(k1==0)

        {

        sec=1

        cnt=0

        TR0=1

        while(k1==0)

        fmq=0

        }

    if(k2==0)

        {

        sec=2

        cnt=0

        TR0=1

        while(k1==0)

        fmq=0

        }

    if(k3==0)

        {

        sec=3

        cnt=0

        TR0=1

        while(k3==0)

        fmq=0

        }

    if(k4==0)

        {

        sec=4

        cnt=0

        TR0=1

        while(k1==0)

        fmq=0

        }

    }

}

void delay()

void main()

{

PORTD = 0xFF

DDRD = 0xFF//初始化 AVR的不知道是不是这样的

while(1)

{

int i

for(i=0i<3i++)

{

PORTD=0x01//蜂鸣器IO

_delay(X);//x为响一次“滴”的时间

}

PORTD=0x00

delay(Y)//Y为你所说的 间隔1S想一次(改变Y值 调试你要的1s或用你的延时函数里的

}

}

void delay(int t)

{

int i,j

for(i=0i<ti++)

for(j=0j<300j++)

}

unsigned int a,b 

for(a=200a>0a--)  //节拍时间

{

    while(b--)       //输出频率

        FM=~FM

像这样,蜂鸣器是可以响的,祝你好运!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11495450.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存