久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2347|回復: 1
收起左側

利用單片機T1控制發出1kHz的音頻信號程序

[復制鏈接]
ID:1044389 發表于 2022-10-4 20:24 | 顯示全部樓層 |閱讀模式

仿真

仿真

代碼

代碼



利用T1的中斷控制P1.7引腳輸出頻率為1kHz方波音頻信號,驅動蜂鳴器發聲。系統時鐘為12MHz。方波音頻信號周期1ms,因此T1的定時中斷時間為0.5 ms,進入中斷服務程序后,對P1.7求反。電路見圖7-18。
     先計算T1初值,系統時鐘為12MHz,則機器周期為1μs。1kHz音頻信號周期為1ms,要定時計數的脈沖數為a。則T1初值:      
          TH1=(65 536 −a) /256;        
          TL1=(65 536 −a) %256

單片機源程序如下:
  1. #include<reg51.h>                          //包含頭文件
  2. sbit sound=P1^7;                          //將sound位定義為P1.7腳
  3. #define f1(a) (65536-a)/256                //定義裝入定時器高8位時間常數
  4. #define f2(a) (65536-a)%256                    //定義裝入定時器低8位時間常數
  5. unsigned int i=500;
  6. unsigned int j=0;

  7. void main(void)
  8. {
  9.         EA=1;                                  //開總中斷.
  10.           ET1=1;                                //允許定時器T1中斷         .
  11.            TMOD=0x10;                         //TMOD=0001 000B,使用T1的方式1定時    TH1=f1(i);                      //給T1高8位賦初值.
  12.            TL1=f2(i);                      //給T1低8位賦初值.
  13.            TR1=1;                                 //啟動T1
  14.            while(1)  
  15. {                                              //循環等待
  16.              i=460;
  17.               while(j<2000);
  18.               j=0;
  19.               i=360;
  20.               while(j<2000);
  21.               j=0;
  22.     }
  23. }

  24. void T1(void) interrupt 3 using 0        //定時器T1中斷函數
  25. {
  26.             TR1= 0;                         //關閉T1
  27.            sound=~sound;                         //P1.7輸出求反
  28.             TH1=f1(i);                           //T1的高8位重新賦初值.
  29.             TL1=f2(i);                           //T1的低8位重新賦初值.
  30.         j++;                                
  31.             TR1=1;                         //啟動定時器T1
  32. }
復制代碼

Keil代碼與Proteus8.13仿真下載(注意只能用Proteus8.13打開):
利用T1控制發出1KHz音頻.zip (54.22 KB, 下載次數: 12)

評分

參與人數 1黑幣 +40 收起 理由
admin + 40 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:57657 發表于 2022-10-4 21:10 | 顯示全部樓層
方式2沒用過嗎? 中斷內不需要重新賦初值,這種寫法誤差較大。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产区视频在线观看 | 99国产精品视频免费观看一公开 | 精品啪啪| 中文字幕在线免费观看 | 亚洲精品一区二区网址 | www.99热.com| 欧美黄在线观看 | 国产欧美精品一区二区三区 | 在线黄色网 | 欧美综合久久久 | 国产成人精品a视频一区www | 97av在线 | 欧美一级免费看 | 国产精品欧美一区二区三区 | 国产一区欧美 | 国产精品日韩欧美一区二区三区 | 欧美日韩综合一区 | 天天草av| 91在线观看免费视频 | 欧美一区二区精品 | 91在线| 91av免费观看| 午夜激情在线视频 | 欧洲一区在线观看 | 国产亚洲精品精品国产亚洲综合 | 91久久精品一区二区二区 | 特黄视频 | 日韩中文字幕在线播放 | 亚洲日本一区二区 | 亚洲精品在 | 天天看天天摸天天操 | 中文字幕第十一页 | 国产精品欧美一区二区 | 日韩精品一区二区三区中文在线 | 成人小视频在线免费观看 | 国产一区二区黑人欧美xxxx | 免费毛片网站在线观看 | 在线观看视频亚洲 | 伊人导航 | 精品视频国产 | 五月天婷婷激情 |