編寫一段程式,讓微控制器的P1 7輸出1ms的方波 用定時器T1完成 ,晶振頻率12MHz

2021-07-31 21:28:03 字數 1485 閱讀 5683

1樓:可軒

機器週期 t = 12/fosc = 12/(12x10^6) = 2x10^-6s =1μs

1ms方波的半週期 =500μs ,計數值=500μs/1μs =500d

約定t1工作方式0,是13位計數器,2^13 =8192d -500d = 7692d =1e0ch

th1←1eh, tl1←0ch

彙編程式如下:

org 0000h

ajmp main

org 0100h

main: mov sp, #60h ;;堆疊指標初值

mov tmod, #00h ;;t1方式0作定時器

lp1 mov th0, #1eh ;;t1計數預裝值高8位

mov tl0, #0ch ;;t1計數預裝值低8位

setb tr1 ;;啟動t1計數

lp2: jbc tf1, lp3 ;;若t1計數溢位,轉lp3

sjmp lp2 ;;若未溢位,繼續查詢

lp3: cpl p1.7 ;;p1.7輸出電平高低置反

ajmp lp1 ;;迴圈,進入另一半週期end

2樓:做而論道

;org 0000h

mov tmod, #20h ;t1定時方式2mov th1, #6 ;定時250ussetb tr1 ;啟動t1lp1:jnb tf1, $

clr tf1

cpl f0

jnb f0, lp1

cpl p1.7 ;500us高電平500us低電平

sjmp lp1end

3樓:匿名使用者

給你做proteus**吧

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

4樓:匿名使用者

#include

sbit port=p1^1;

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

void main()

void timer0() interrupt 0

5樓:紅樓再夢傳奇

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

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

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

微控制器LED掃描燈。答案加高分,編寫程式微控制器控制LED燈五十毫秒閃爍

都要重新做的,大家都忙呀 編寫程式微控制器控制led燈五十毫秒閃爍 設定計時器,控制io口即可。在下要做一個8 8 8的3d光立方,51微控制器控制,請問led燈的掃描是 1 的種較好,還是 2 因為長寬高都是一樣的所有我覺得哪個都行,主要是習慣問題。3個面,第一種轉個角度和第二個有區別嗎?51微控...

怎麼用C語言編寫51微控制器測脈寬的程式跪求完整程式

p1口接8個發光二極體共陽 include unsigned char i unsigned char temp unsigned char a,b void delay void void main void for i 1 i 8 i 這個簡單,不要提問啊。你讓一個p0 0x01 然後再移的思路...

我在學習微控制器,現在已經能用匯編寫一些程式了。自己也動手做了一些小的製作

組合語言的出現,和微控制器儲存器的有限是有關係。現在微控制器儲存器基本上在程式設計時不需要考慮其大小,能跑作業系統的更是如此。現在的微控制器 除了應用在簡單控制上的8位微控制器 編譯器,絕大部分都支援c語言,微控制器c語言程式設計也是趨勢。當然就像樓上所說,在涉及到精確控制時,還是彙編比較好,畢竟組...