1樓:匿名使用者
不是,p1.0和p1.1的第二功能時t2定時器的輸入,作為輸出只是普通的io,與定時器沒有關係。
從提問中可以看出你現在比較熟悉彙編,這是一個好的開始,彙編熟悉後再轉學c程式設計,你會發現如虎添翼,相反先c入門,那麼對微控制器這座大廈而言,就有空中樓閣的味道了。
2樓:
一般的通用i/o,做輸入輸出用的,都是用p1口。p0一般做資料/地址線,不用於通用io口。可以通過組合語言寫完啟動**後呼叫c入口程式,也可以全部用匯編寫,不過c寫的程式設計效率要高些。
p1.0輸出方波很容易啊,通過定時器定時,產生定時中斷後,在中斷服務程式裡面把p1.0取反就行了,這裡的輸出方波只是通過引腳輸出相應電平而已,p1口任何引腳都行。
3樓:匿名使用者
我剛學微控制器不久,定時器計數器沒有什麼輸出的,只是一個計數功能,c語言相對更好移植,層次結構好,更容易組織,c語言經過編譯還是要轉化組合語言,學習學習。。。
4樓:德人山莊
暫存器分為方向暫存器和資料暫存器,一般i/o口的輸入輸出由方向暫存器的高底電平設定
至於你說的題目,比如p1.0口是某個模組的資料暫存器,其輸出,我們不加設定,僅僅寫讀取該位資料的程式就好
微控制器如何利用定時/計數器使p1.0口輸出週期為10ms的脈衝? 5
5樓:匿名使用者
org 0000h
ljmp main
org 000bh
ljmp t0isr
org 0030h
main:
mov tmod,#02h
mov th0,#6
mov tl0,#6
setb tr0
setb et0
setb ea
mov r2,#10
sjmp $
t0isr:
djnz r2,t0e
cpl p1.0
mov r2,#10
t0e:
retiend
6樓:超左右搖擺
只要讓p1.0口輸出5ms高電平然後5ms低電平就可以了。自己看看書吧
7樓:匿名使用者
只要讓p1.0口輸出5ms高電平然後5ms低電平就可以了
求微控制器彙編程式:用定時器/計數器在p1.0口線上產生週期為500微秒,佔空比為2:5的連續矩形波?
8樓:匿名使用者
;500us週期方抄波 ,佔空比 2:5 。即高電平bai200us,低du電zhi平300usorg 0000h
ajmp start
org 000bh
ajmp t0int
org 0030h
start: mov sp,#60h
setb ea
setb et0
mov tmod,#01 ;t0為工作
方式1clr p1.0 ;先低電平
mov th0,#0feh
mov tl0,#0d4h ;300us 定時daosetb tr0;啟動定時
ajmp $
t0int: cpl f0
cpl p1.0
jb f0,high1
low0: mov th0,#0feh
mov tl0,#0d4h
reti
high1: mov th0,#0ffh
mov tl0,#38h ;200us 定時retiend
微控制器,用定時器中斷方式輸出週期性方波,在p1.0口輸出一個週期為1ms的方波
9樓:匿名使用者
週期1ms,定時器應為500us定時。反覆求反就是1ms方波
10樓:ta戀雪
先把p1.0置1,然後定時器1ms定時,時間到置低,方波就出來了
用微控制器定時計數器值p1.0埠上產生一個10khz的方波。 50
編寫一段彙編程式,實現p1.0口輸出週期為20ms的方波(用微控制器定時器t1採用定時方式1)各位高手幫幫忙
11樓:做而論道
晶振頻率選用 12mhz。
如下程式即可:
org 0000h
mov tmod, #10h
setb tr1
loop:
mov th1, #0d8h
mov tl1, #0f0h
cpl p1.0
wait:
jbc tf1, loop
sjmp wait
end這些就夠用了。
12樓:匿名使用者
org 0000h
ljmp main
org 001bh
ljmp t1isr
org 0030h
main:
mov tmod,#10h
mov th1,#high(65536-10000)mov tl1,#low(65536-10000)setb tr1
setb et1
setb ea
sjmp $
t1isr:
clr tr1
mov th1,#high(65536-10000)mov tl1,#low(65536-10000)setb tr1
cpl p1.0
retiend
stc11f60xe微控制器定時器/計數器2用於計數模式,計數p1.0口發出的脈衝,求c程式,高手幫幫忙
13樓:匿名使用者
中斷中你還需要把wake_clko暫存器配置一下,關閉p1.0的clkout2功能,還原到正常的io模式,才能保證p1=0xff有效
利用微控制器的定時器t0工作於方式1,實現從p1.0引腳上輸出週期為10ms的連續方波,設系統時鐘為
14樓:匿名使用者
因為週期為10毫秒,定時器中斷方式,所以初值應該為:65536-(10/2)*1000=65536-5000
th0=(65536-5000)/256
tl0=(65536-5000)%256
程式如下:
org 0000h
ljmp main
org 000bh
ljmp t0isr
org 0030h
main:
mov tmod,#01h
mov th0,#high(65536-5000)mov tl0,#low(65536-5000)setb tr0
setb et0
setb ea
sjmp $
t0isr:
clr tr0
mov th0,#high(65536-5000)mov tl0,#low(65536-5000)setb tr0
cpl p1.0
retiend
51微控制器定時計數器工作方式疑點
65536 x是模值減去計數個數得到計數初值 至於取整還是取餘,可以從十進位制看 如果x是整型變數,x 10整除就是看有幾個10,x 10就是取不足10的那個餘數 2 8 256,10換成256是一樣的。因為你選的是16的計數方式,th0和tlo合起來才是個完整的16位,所以可以說th0為商的話,那...
簡述8051微控制器的定時計數器的四種工作方式的特點
生活如歌 方式0為13位定時計數方式 方式1為16位定時計數方式 為最常用方式 方式2為8位自動重灌初值計數方式 方式3只適用t0,把16位的t0分為兩個8位定時計數器 沙裡波特 對樓上的回答,稍做補充 方式0為13位定時計數方式 計數範圍 0 8192,定時 0 8192us 12mhz晶振時 方...
51微控制器的定時器和計數器分別定時和計數的週期是多長時間,這個脈衝週期有規定嗎
應該每個定時器都是有timrh和timrl,最大計數時間就是timrh timrl 匯流排頻率 時鐘分頻後的頻率 徐志尚 與晶振 工作方式 初值有關 51微控制器,計數器和定時器具體這麼用?計數器記的是誰的脈衝數? 水依若雨 定時器和計數器雖然有定時和技術兩種工作模式,但其本質都是使用加法計數器對脈...