历史上的今天
今天是:2025年03月17日(星期一)
2020年03月17日 | STC89C52单片机用两个定时器控制蜂鸣器的频率和输出时间间隔
2020-03-17 来源:eefocus
题目
同时用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同个频率持续的时间,间隔300ms依次输出1,10,50,100,200,400,800,
1k(hz)的方波。
遇到的问题
出现定时器紊乱的现象,这个时候需要把T1定时器的优先级设为高于T0优先级
具体代码如下:
#include typedef unsigned int unint; typedef unsigned char uchar; sbit beep = P1^5; sbit led = P2^0; uchar t1,bphz,times; uchar code table[]= { 500,300,200,100,50,25,12,10 }; void init(); void main() { init(); while(1) { if(t1==30) { led = ~led; t1 = 0; times++; if(times==8) {times =0;} else { bphz=table[times]*100;} } } } void init(){ times =0; led = 0; bphz = table[0]*100; TMOD = 0x11; TH1 = (65536-1000)/256; TL1 = (65536-1000)%256; TH0 = (65536-bphz)/256; TL0 = (65536-bphz)%256; EA = 1; ET1 = 1; TR1 = 1; ET0 = 1; TR0 = 1; PT1 = 1;//在这里设置优先级 } void time0() interrupt 1 { TR0=0; TH0 = (65536-bphz)/256; TL0 = (65536-bphz)%256; beep = ~beep; TR0=1; } void time1() interrupt 3 { TR1 = 0; TH1 = (65536-10000)/256; TL1 = (65536-10000)%256; t1++; TR1 = 1; }
上一篇:关于单片机--蜂鸣器输出音调设置
下一篇:51单片机播放音乐(一):蜂鸣器
史海拾趣
|
本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 继Windows版本之后,WWAYM此次又推出了这款OS X版NWRCFil低通滤波器VST效果器。 作为一款建立在以经典大方、音质温暖而著称的经典硬件滤波器基础上的VST效果器,NWRCFil采用的是WWAYM.独家 ...… 查看全部问答> |
|
FPGA方面的书籍有很多,而且几乎每一本的头几章都会对FPGA做一个概念性的介绍,那有没有一本书不涉及具体的技术而是专门介绍有关FPGA的概念性的问题呢?答案当然是有啦,而且还写得相当不错,这就是《FPGA设计指南——器件、工具和流程》(英文原版 ...… 查看全部问答> |
|
设计一个WinCE平台的声音采集程序 但是发现居然不能把采样率设置为44.1K?! 最高只能是22.05K?! 这个采样率下测试一个频率大点的正弦波都看不清楚。 模拟器下不行,下到板子上还是不行 ...... 采样率可以提高到44.1K吗??和程序有关系吗? ...… 查看全部问答> |
|
100分转发一个我也想知道的问题:WINCE 虚拟地址向物理地址转换 网上只看到这个问题,没看到问题的答案,有高手就回答一下吧,谢了 在WinCE的驱动中,那个函数可以实现虚拟地址向物理地址转换呢? 各位大侠,在WinCE驱动中通过物理地址,映射虚拟地址的函数很多。象MmMapIoSpace等,但如果我通过malloc函数得 ...… 查看全部问答> |
|
代理 样品【重发】如何通过ST代理渠道申请ST MCU样品◆◆NOTICE!!!◆◆刚才发现的套件申请和样片申请自己做个广告:如何通过ST代理渠道申请ST MCU样品哪里可以买到STM32的芯片?IC北京微芯力科-大量ST-STM现货到仓武 ...… 查看全部问答> |
|
C2000,特别是2812以及28335都受到了广大客户的欢迎,但是近一年的时间里,出现了缺货或者停产之说,你们接下来的策略是什么? 是继续批量生产,还是推新的型号的产品 ...… 查看全部问答> |




