单片机对蜂鸣器的设计.doc
《单片机对蜂鸣器的设计.doc》由会员分享,可在线阅读,更多相关《单片机对蜂鸣器的设计.doc(8页珍藏版)》请在三一文库上搜索。
1、单片机对蜂鸣器的设计蜂鸣器的使用:蜂鸣器粗略设定频率,以20ms即50hz发声#include#define uint unsigned int#define uchar unsigned charsbit fen = P2;void delay(uint z);main()while(1)delay(1);/延时10毫秒注意这里输出的是20毫秒的方波/因为方波要有正负的跳变才能算一个周期,这里?/每隔10毫秒跳变一次,因此周期是200ms,频率是50Hzfen = fen;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);蜂鸣
2、器精确控制发声:使用定时器#include#define uint unsigned int#define uchar unsigned charsbit fen = P2;uchar num,ben;void init();void main()init();while(1);void init()TMOD = 0x11;TH1 = (65536-50000)/256;TL1 = (65536-50000)%256;ET1 = 1;EA = 1;TR1 =1;void time1()interrupt 3TH1 = (65536-5000)/256;/定时一次是50毫秒TL1 = (6553
3、6-5000)%256;num+;if(num=2)num = 0;fen = fen;蜂鸣器精确发声(控制其发出100ms,200ms,300ms,400ms,500ms 的频率错误代码:/这个程序调试了一上午吧,感觉有点不对劲,问题是出在/定时器的打断上,即两个定时器都在工作的时候,会不会打断原来的定时器/这个程序实习实现的功能本来是使喇叭发声,发出/以100ms,200,300,400,500/本来应该听到5个频率,但是实际只是听到3个,说明中断发生了错位,中断之间产生了相互的影响#include#define uint unsigned int#define uchar unsigne
4、d charsbit fen = P2;uchar num,flag,tt;void init();void main()init();while(1);void init()TMOD = 0x11;TH1 = (65536-50000)/256;TL1 = (65536-50000)%256;TH0 = (65536-50000)/256;TL0 = (65536-50000)%256;ET1 = 1;ET0 =1;EA = 1;TR0 =1;TR1 =1;void TIme0()interrupt 1TH0 = (65536-50000)/256;TL0 = (65536-50000)%2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 蜂鸣器 设计
链接地址:https://www.31doc.com/p-3398327.html