51微控制器時針頻率12MHz,要求從p1 0引腳輸出頻率為100KHz佔空比為1 2的波形

2021-03-27 07:34:18 字數 3847 閱讀 9301

1樓:做而論道

週期是 10us。

50% 的佔空比?

那就是 5us 高電平、5us 低電平。

程式如下:

loop:

setb p1.0

nopnop

nopnop

clr p1.0

nopnop

sjmp loopend

51微控制器晶振頻率12mhz,程式設計實現p1.0輸出頻率為2khz,佔空比為50%的方波,使用定時器

2樓:匿名使用者

#include

#define uchar unsigned charuchar num;

sbit p10=p1^0;

void t0isr() interrupt 3}main()

mcs-51微控制器時鐘為12mhz,利用定時器t0程式設計令p1.0引腳輸出2ms的矩形波程式,要求佔空比係數為1:2。 5

3樓:匿名使用者

2ms週期方

bai波du,1:2佔空比

zhi的話得不dao

到精回確值答

。*** 0000h

ljmp main

*** 000bh

ljmp t0isr

*** 0030h

main:

mov tmod,#02h

mov th0,#246

mov tl0,#246

setb tr0

setb et0

setb ea

setb p1.0

clr a

sjmp $

t0isr:

inc a

cjne a,#67,t01

t01:

jc t02

clr p1.0

cjne a,#200,t03

t03:

jc t0e

clr a

t0e:

reti

t02:

setb p1.0

retiend

4樓:匿名使用者

2ms是高電平時間還是低電平時間的

51微控制器時脈頻率6mhz,要求從p1.0處產生一個頻率100hz,佔空比為1:2。寫出相關程式,急用,正確一定給分

5樓:做而論道

如下即可:

*** 0000h

sjmp beg

*** 000bh

mov tl0, #low(65536 - 2500)mov th0, #high(65536 - 2500)cpl p1.0

reti

beg:

mov tmod, #01h

mov tl0, #low(65536 - 2500)mov th0, #high(65536 - 2500)mov ie, #82h

setb tr0

sjmp $end

6樓:匿名使用者

^#include

#include

sbit p1=p1^0;

void t0isr(void) interrupt 1void main(void)

編譯已通過版。權

微控制器時鐘為12mhz 利用定時器t1 使p1.0引腳輸出2ms 的矩形波,要求佔空比例1:2 試編寫程式

7樓:匿名使用者

#include //12mhz

sbit pause = p1^0;

void main(void)

void timeint(void) interrupt 3 //佔空比例bai1:2

else if(i == 3)

} 不懂得還可以問我zhi……

在中dao斷中的變數專i需是靜態變數static,在中斷結束屬時不釋放,所以樓上的程式是不可以的!

8樓:匿名使用者

^#include //12mhz

sbit p10 = p1^0;

unsigned char i=0;

void main(void)

void t0_int() interrupt 3 //佔空du比zhi例1:2

if(i==3)}

9樓:安子熙丷啦

我想說你寫的tmod=ox10是什麼鬼。應該是0x01吧

51微控制器晶振頻率為12mhz,利用定時器在p1.0口線上產生週期為500毫秒,佔空比為2:5

10樓:匿名使用者

流程圖就不畫了,自己搞定吧,給你編個程

版序。權

#include

#define uchar unsigned charuchar t**t=0,num=0;

sbit p10=p1^0;

void t0isr() interrupt 1}}main()

11樓:匿名使用者

那就是延時200ms和延時300ms呀,自己畫一下流程圖和寫寫**還不行?

定時時間就是計時器溢位值減去計數時間

12樓:匿名使用者

我告訴你一個非常簡單的方法,你有串列埠除錯助手這個軟體嗎?它可以自動生產,不會的話,在問我!

微控制器晶振頻率為12mhz,要求p1.0輸出週期為1ms方波,p1.1輸出週期為3ms矩形波

13樓:匿名使用者

mov tmod,#01h

clr tf0

setb tr0

loop:mov th0,t0初值

復mov tl0,t0初值

loop1:jnb tf0,loop1

cpl p1.0

sjmp loop

t0初值自己

制計算拉,th0為高位,tl0為低位

p1.1的輸出只要將t0的初值和p1.0修改即可!

14樓:匿名使用者

mov r0,#03

mov tmod,#01h

setb tr0

loop: mov th0,#fc

mov tl0,#18

loop1:jnb tf0,loop1

clr tf0

cpl p1.0

djnz r0,loop

mov r0,#03

cpl p1.1

sjmp loop

15樓:匿名使用者

《微控制器原理及應用》這本書上有

51微控制器晶振頻率為12mhz,利用中斷在p1.1口輸出50hz的方波,c語言,哪位大俠幫幫忙,幫忙寫個程式

16樓:匿名使用者

#include

sbit port=p1^1;

void timer0init(void) //10毫秒@12.000mhz

void main()

void timer0() interrupt 0

17樓:紅樓再夢傳奇

若微控制器的晶振頻bai率為

du12mhz,用51微控制器內部zhi定時\\/計數器t0,工作方式dao為1,在專微控制器p1.0口產生週期為20ms的方波

屬,波形佔空比為50%。試解答下列問題: 1) 計算定時器的裝入初值; 2) 用中斷的方式使用定時器,編寫相關程式序

微控制器時間中斷,51微控制器中的定時器中斷是怎麼用的 ?

while 1 在那 會使微控制器停在那 相當於是等待當中斷來臨時 執行中斷 下面那個就是當到50ms的時候 執行計時器1中斷如果沒有那個while 1 則主程式就執行完了 中斷會沒有作用中斷和程式主程式各個執行是同步的 因為你把那個et0開了 則就有時鐘中斷了 當到了50ms 中斷就會自動作用 停...

51微控制器怎麼通過串列埠傳送小數,51微控制器怎麼通過串列埠傳送小數?

方法多的去了,把數字37.5轉換為字串 37.5 傳送可以,用壓縮bcd碼0x37 0x05傳送也可以,多得是。不一定一定要浮點處理。你自己定一個協議,1次發6個資料,選擇其中的2個作為資料,其他作為驗證碼,另一個微控制器接收到就演算法處理 微控制器不支援浮點運算的,你可以申請兩個變數,把整數和小數...

關於51微控制器的中斷,關於51微控制器的中斷。

中斷的概念 cpu在處理某一事件a時,發生了另一事件b請求cpu迅速去處理 中斷髮生 cpu暫時中斷當前的工作,轉去處理事件b 中斷響應和中斷服務 待cpu將事件b處理完畢後,再回到原來事件a被中斷的地方繼續處理事件a 中斷返回 這一過程稱為中斷 二 中斷源 在51微控制器中有5箇中斷源 中斷號 優...