基于51单片机的蜂鸣器发不同的声音程序.docx

上传人:牧羊曲112 文档编号:3094706 上传时间:2023-03-10 格式:DOCX 页数:4 大小:36.73KB
返回 下载 相关 举报
基于51单片机的蜂鸣器发不同的声音程序.docx_第1页
第1页 / 共4页
基于51单片机的蜂鸣器发不同的声音程序.docx_第2页
第2页 / 共4页
基于51单片机的蜂鸣器发不同的声音程序.docx_第3页
第3页 / 共4页
基于51单片机的蜂鸣器发不同的声音程序.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于51单片机的蜂鸣器发不同的声音程序.docx》由会员分享,可在线阅读,更多相关《基于51单片机的蜂鸣器发不同的声音程序.docx(4页珍藏版)》请在三一办公上搜索。

1、基于51单片机的蜂鸣器发不同的声音程序/* 同时用两个定时器控制蜂鸣器发声T0控制频率 T1控制同一频率发声的时长2s不同依次频率为 1,10,50,100,200,400,800,1k(hz)占空比均为0.5 T0的计时周期为125usT1的计时周期为50ms 。不同频率对应的num依次为 40004008040201054 */ #include <reg52.h> sbit beep=P23; / unsigned int num=4000, /决定蜂鸣器的响应周期从而决定不同的频率 counter0=0,/T0控制频率 counter1=0; /T1控制周期 void main

2、(void) / TMOD=0x12; /T0用自动重装初值的8位计数方式T1用16位计数方式 TH0=0x83; /T0计数周期125us TL0=0x83; TH1=(65536-50000)/256; /T1计数周期50ms TL1=(65536-50000)%256; ET0=1; /允许T0中断 ET1=1; /允许T1中断 EA=1; /开总中断 TR0=1; /T0开始计数 TR1=1; /T1开始计数 beep=1; while(1); void time0 interrupt 1 counter0+; if(counter0=num) counter0=0; beep=bee

3、p; void time1 interrupt 3 TH1=(65536-50000)/256; TL1=(65536-50000)%256; counter1+; if(counter1=40) counter1=0; switch(num) case 4000:num=400 ;break; case 400 :num=80 ;break; case 80 :num=40 ;break; case 40 :num=20 ;break; case 20 :num=10 ;break; case 10 :num=5 ;break; case 5 :num=4 ;break; case 4 :num=4000;break;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号