微控制器晶振頻率為f 6MHz,現要用T0定時計數器在P1 0引腳產生1s的方波,試程式設計實現

2022-05-26 16:20:20 字數 1324 閱讀 8357

1樓:做而論道

系統中,沒有其它的應用,那麼,

用查詢的方法,最簡單:

;org 0000h

mov tmod, #01h

setb tr0

lp: mov r2, #5

wt: mov th0, #3ch

mov tl0, #0b0h

jnb tf0, $

clr tf0

djnz r2, wt

cpl p1.0

sjmp lpend

2樓:匿名使用者

org 0000h

ljmp main

org 000bh

ljmp t0isr

org 0030h

main:

mov tmod,#01h

mov th0,#high(65536-50000)mov tl0,#low(65536-50000)setb tr0

setb et0

setb ea

mov r2,#0

sjmp $

t0isr:

clr tr0

mov th0,#high(65536-50000)mov tl0,#low(65536-50000)setb tr0

inc r2

cjne r2,#5,t0e

cpl p1.0

mov r,#0

t0e:

retiend

微控制器的晶振頻率為6mhz,從p1.0輸出週期為100ms的連續方波定時器用t0工作方式1試程式設計實現

某微控制器的時脈頻率是6mhz,試利用t0定時在p1.2引腳輸出100hz的方波,在p1.1輸出頻率為10hz的方波

3樓:胖大海君

嘿嘿 俺來幫你解決吧

1 你可以利用定時計數器0 定時5毫秒 工作在方式1 允許中斷

2 再設計一個軟體計數器(用r5作吧,初始值=10)

3 每當定時器的定式時間到5毫秒 則對p1.2求反,會形成100hz的方波。

同時對軟體計數器r5的內容減1,當減到0時,表示50毫秒到,可以對p1.1求反,

同理可以形成頻率為10hz的方波。同時要給軟體計數器r5賦初值10,為定時下一個50毫秒做準備。

呵呵 俺只提供一個演算法 程式還是自己豐衣足食吧

滿意 就選滿意回答

4樓:匿名使用者

中斷和計數器結合很容易的

請教老師,51微控制器在12M晶振,C語言程式設計時,延時函式120次1ms(書本上是這樣的,不懂),是怎樣得來的

c的話其實時間沒有辦法完全定性地計算的 如果非得精確的話只能使用定時器了,或者彙編的也行不過時間要求精度不是很高的話使用下面的 就行了當時使用示波器把時間完全調準的,65536ms範圍內還是比較準的,已經可以滿足通常的要求了 include reg51.h 標頭檔案包含 巨集定義 define ui...

微控制器上的晶振為什麼有時是12MHZ,有時是11 0592MHZ 有什麼區別麼

標準的51微控制器晶振是1.2m 12m,一般由於一個機器週期是12個時鐘週期,所以先12m時,一個機器週期是1us,好計算,而且速度相對是最高的 當然現在也有更高頻率的微控制器 11.0592m是因為在進行通訊時,12m頻率進行序列通訊不容易實現標準的波特率,比如9600,4800,而11.059...

微控制器有幾種,微控制器是什麼?

微控制器種類 微控制器作為計算機發展的一個重要分支領域,根據目前發展情況,從不同角度微控制器大致可以分為通用型 專用型 匯流排型 非匯流排型及工控型 家電型。1 通用型 專用型 這是按微控制器適用範圍來區分的。例如,80c51是通用型微控制器,它不是為某種專用途設計的 專用型微控制器是針對一類產品甚...