標(biāo)題: 利用單片機(jī)T1的中斷控制P1.7引腳輸出頻率為1kHz方波音頻信號,驅(qū)動蜂鳴器發(fā)聲 [打印本頁]

作者: 啥也不會羅小白    時間: 2020-6-20 19:44
標(biāo)題: 利用單片機(jī)T1的中斷控制P1.7引腳輸出頻率為1kHz方波音頻信號,驅(qū)動蜂鳴器發(fā)聲
利用T1的中斷控制P1.7引腳輸出頻率為1kHz方波音頻信號,驅(qū)動蜂鳴器發(fā)聲。系統(tǒng)時鐘為12MHz。方波音頻信號周期1ms,因此T1的定時中斷時間為0.5 ms,進(jìn)入中斷服務(wù)程序后,對P1.7求反。電路見圖。 (聯(lián)合Keil C和 Protues,或者只用Protues完成仿真測試,并測試功能是否能實(shí)現(xiàn))
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. uchar i=500;
  4. uchar j=0;
  5. sbit p17=P1^7;
  6. timer0(void) interrupt 3
  7. {
  8. TR1=0;
  9.         p17=~p17;
  10. TH1=(65536-500)/256;
  11. TL1=(65536-500)%256;
  12.         j++;
  13.         TR1=1;

  14. }
  15. void main()
  16. {
  17. TMOD=0x10;
  18. TH1=(65536-500)/256;
  19. TL1=(65536-500)%256;
  20. EA=1;
  21. ET1=1;
  22. TR1=1;
  23. while(1)
  24. {
  25.         i=460;
  26.         while(j<2000);
  27.         j=0;
  28.         i=360;
  29.         while(j<2000);
  30.         j=0;

  31. }
  32. }
復(fù)制代碼

所有資料51hei提供下載:
efdsf.zip (15.6 KB, 下載次數(shù): 30)







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1