完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
T0,T1优先权已默认,为什么改变定时器就可以执行,而不改变i在等于5后就不变了,但频率一定要高优先级啊,求改错
#include #define uint unsigned int #define uchar unsigned char ***it beep=P1^5; uint hh[]={50000,10000,5000,2500,1250,625,500}; uchar i=0,j=0; void timer0() interrupt 1 // 定时器0控制频率 { if(i==7) i=0 ; TH0=(65536-hh)/256; TL0=(65536-hh)%256; beep=~beep; } void timer1() interrupt 3 // 定时器1控制同个频率持续的时间,50mS脉冲 {TR0=0; TH1=(65536-50000)/256; TL1=(65536-50000)%256; j++; if(j==6){ j=0; i++; } TR0=1; } void main() { EA=1; //开启总中断 ET0=1;ET1=1;//开启外部定时器中断 TMOD=0x11; TH0=(65536-hh)/256; TL0=(65536-hh)%256;//给定时器0赋初值 TH1=(65536-50000)/256; TL1=(65536-50000)%256; //给定时器1赋初值 TR0=1;TR1=1;//启动两个定时器; while(1);} |
|
相关推荐
2个回答
|
|
想了好久,想不明白,贴吧一位大神让我把T0,T1换下,重复是可以了,但蜂鸣器声音不对了。
|
|
|
|
第二张图片看不清
|
|
|
|
只有小组成员才能发言,加入小组>>
3280 浏览 9 评论
2958 浏览 16 评论
3460 浏览 1 评论
9004 浏览 16 评论
4052 浏览 18 评论
1115浏览 3评论
573浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
571浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2303浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1859浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 15:06 , Processed in 1.125682 second(s), Total 82, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号