利用T1的中斷控制P1.7引腳輸出頻率為1kHz方波音頻信號(hào),驅(qū)動(dòng)蜂鳴器發(fā)聲。系統(tǒng)時(shí)鐘為12MHz。方波音頻信號(hào)周期1ms,因此T1的定時(shí)中斷時(shí)間為0.5 ms,進(jìn)入中斷服務(wù)程序后,對(duì)P1.7求反。電路見圖。 (聯(lián)合Keil C和 Protues,或者只用Protues完成仿真測(cè)試,并測(cè)試功能是否能實(shí)現(xiàn)) 仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei截圖20200620194427.jpg (43.59 KB, 下載次數(shù): 73)
下載附件
仿真
2020-6-20 19:44 上傳
單片機(jī)源程序如下:
- #include<reg51.h>
- #define uchar unsigned char
- uchar i=500;
- uchar j=0;
- sbit p17=P1^7;
- timer0(void) interrupt 3
- {
- TR1=0;
- p17=~p17;
- TH1=(65536-500)/256;
- TL1=(65536-500)%256;
- j++;
- TR1=1;
-
- }
- void main()
- {
- TMOD=0x10;
- TH1=(65536-500)/256;
- TL1=(65536-500)%256;
- EA=1;
- ET1=1;
- TR1=1;
- while(1)
- {
- i=460;
- while(j<2000);
- j=0;
- i=360;
- while(j<2000);
- j=0;
-
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
efdsf.zip
(15.6 KB, 下載次數(shù): 30)
2020-6-20 19:43 上傳
點(diǎn)擊文件名下載附件
仿真和源程序 下載積分: 黑幣 -5
|