24小时热门版块排行榜    

Znn3bq.jpeg
查看: 701  |  回复: 2

a6726188

新虫 (初入文坛)

[求助] 求解答初学C51单片机的一个小程序

问题:
同时用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同个频率持续的时间,间隔300ms依次输出1,10,50,100,200,400,800,
1k(hz)的方波。

#include<reg52.h>
sbit beep=P2^3;                        // 定义蜂鸣器
long int code table[]=                    // 定义发出不同频率的各个时间长度table表,因为定义晶振为12MHZ,所以一个周期也正好为1US。
{
1000000,100000,20000,10000,5000,2500,1250
};
long int num1,num2;
char num;
void main()
{                                                           
     TMOD=0x11;                                         //定义定时器0,1工作方式1
     EA=1;ET0=1;ET1=1;                    
         TH0=(65535-50000)/256;                 //装载定时器0初值,50ms为一次中断
     TL0=(65535-50000)%256;
         TH1=(65535-1)/256;                     //装载定时器1初值,1us为一次中断
     TL1=(65535-1)%256;
         TR0=1;                                                 //打开定时器0
         while(1)
         {
         if(num1==6)                                  //判断定时器0中断了6次,也就是300ms
         {
           TR0=0;                                          //关闭定时器0
           TR1=1;                                          //打开定时器1
           beep=0;                                          //蜂鸣器报警
           num1=0;                                              //让num1清零,以备再次计数
         }  
           if(num2==table[num])                  //判断当时间达到第num个秒数
           {
           TR1=0;                                      //关闭定时器1
           TR0=1;                                          //打开定时器0
           num2=0;                                          //让num2清零,以备再次计数
           beep=1;                                          //关闭蜂鸣器
           num++;                                          //让num循环计数
           }
          if(num==6)
          {
          num=0;
          }
          
         }                
}

void T0_time()interrupt 1
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
num1++;
}
void T1_time()interrupt 3
{
TH1=(65535-1)/256;
TL1=(65535-1)%256;
num2++;
}
}
                运行后蜂鸣器一直在响,不间断,求解答指导
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

15212223817

铁杆木虫 (著名写手)

2楼2018-01-15 14:13:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

15212223817

铁杆木虫 (著名写手)

别学51了,学学TI的DSP或者飞思卡尔的吧

发自小木虫Android客户端
3楼2018-01-15 14:27:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 a6726188 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 求调剂,985材料与化工348分 +9 涵竹刘 2026-04-11 13/650 2026-04-12 22:40 by 涵竹刘
[考研] 一志愿厦大0856,306求调剂 +15 Bblinging 2026-04-11 15/750 2026-04-11 22:53 by 314126402
[考研] 材料工程日语考生求调剂 +7 0856?调剂 2026-04-10 7/350 2026-04-11 21:33 by 蓝云思雨
[考研] 293求调剂 +8 勇远库爱314 2026-04-06 8/400 2026-04-11 20:25 by 蓝云思雨
[考研] 求调剂 +6 电气300求调剂不 2026-04-08 6/300 2026-04-11 20:14 by 逆水乘风
[考研] 085410 273分调剂 +4 X1999 2026-04-09 4/200 2026-04-11 13:05 by pies112
[考研] 考研调剂 +26 硕星赴 2026-04-09 27/1350 2026-04-10 22:24 by 猪会飞
[考研] 一志愿矿大,材料工程专硕314分,0856可调都可以 +15 无懈可击的巨人 2026-04-09 15/750 2026-04-10 18:10 by hmn_wj
[考研] 071000生物学调剂求助 +17 zzzzwww 2026-04-09 20/1000 2026-04-10 15:55 by 求调剂zz
[考研] 材料复试求调剂 +20 xhhdjdjsjks 2026-04-09 20/1000 2026-04-10 10:25 by 孙小小12457
[考研] 284求调剂 +7 让我上岸吧阿西 2026-04-09 7/350 2026-04-09 18:59 by haironglove
[考研] 材料专硕初试分332一志愿西北工业大学, +12 故人?? 2026-04-09 12/600 2026-04-09 18:34 by Ccclqqq
[考研] 337求调剂 +4 Gky09300550, 2026-04-09 4/200 2026-04-09 17:18 by 帕尔马拉特
[考研] 材料调剂 +10 18815505510 2026-04-09 11/550 2026-04-09 17:07 by 544594351
[考研] 材料工程322 +18 哈哈哈吼吼吼哈 2026-04-07 19/950 2026-04-09 10:44 by cymywx
[考研] 283电子信息求调剂 +4 三石WL 2026-04-08 4/200 2026-04-09 10:21 by wp06
[考研] 265求调剂 +19 小木虫085600 2026-04-06 21/1050 2026-04-08 10:38 by 逆水乘风
[考研] 338求调剂 +8 wxygxsaaaaa 2026-04-06 8/400 2026-04-08 06:58 by 无际的草原
[考研] 085100建筑学 寻求跨专业调剂 一志愿南大294分 校级省级国家级奖项若干 踏实肯干 +3 1021075758 2026-04-06 4/200 2026-04-07 09:23 by 蓝云思雨
[考研] 求助 +3 卡卡东88 2026-04-06 4/200 2026-04-06 15:28 by going home
信息提示
请填处理意见