程式就是控制計算機工作的指令集合。設MCS51微控制器的晶振頻率為12MHZ,使用定時器T1的定時器方式1,在P1.0上輸出週期為20us,佔空比為60%的矩形脈衝,以查詢方式編寫f=12MHz,所以,T=1微秒。高電平時間為12微秒,低電平為8微秒。 先輸出高電平12微秒,再輸出8微秒。並迴圈 MOV TMOD,#00010000B; SETB EA;開啟總中斷 SETB ET1;開啟定時器1中斷LOOP1: SETB P1.0;先輸出高電平 MOV TH1,#0FFH; 12微秒初始值 MOV TL0,#0F4H; SETB TR1; JNB TF1,$;查詢TF1,看是否達到12微秒 LOOP2: CLR P1.0; MOV TH1,#0FFH; 8微秒 MOV TL0,#0F8H; SETB TR1; JNB TF1,$;查詢TF1,看是否達到8微秒 SJMP LOOP1; 開始下一個週期 END
程式就是控制計算機工作的指令集合。設MCS51微控制器的晶振頻率為12MHZ,使用定時器T1的定時器方式1,在P1.0上輸出週期為20us,佔空比為60%的矩形脈衝,以查詢方式編寫f=12MHz,所以,T=1微秒。高電平時間為12微秒,低電平為8微秒。 先輸出高電平12微秒,再輸出8微秒。並迴圈 MOV TMOD,#00010000B; SETB EA;開啟總中斷 SETB ET1;開啟定時器1中斷LOOP1: SETB P1.0;先輸出高電平 MOV TH1,#0FFH; 12微秒初始值 MOV TL0,#0F4H; SETB TR1; JNB TF1,$;查詢TF1,看是否達到12微秒 LOOP2: CLR P1.0; MOV TH1,#0FFH; 8微秒 MOV TL0,#0F8H; SETB TR1; JNB TF1,$;查詢TF1,看是否達到8微秒 SJMP LOOP1; 開始下一個週期 END