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

2021-07-31 21:26:59 字數 1485 閱讀 7016

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) 用中斷的方式使用定時器,編寫相關程式序

用c 怎麼編寫51微控制器程式,可以這麼樣編寫嗎

相信很多初學者都有同樣的疑問,也e68a8462616964757a686964616f31333264623839有同樣的希望。就是用c 語言來寫微控制器程式的源 現在我來解釋一下微控制器的源 程式幾乎沒有人用c 來寫的。1.假設一下你現在用c 寫完了一個程式 那麼你要讓微控制器認識必須要編譯吧,...

微控制器應用程式的開發步驟,微控制器應用程式的開發步驟是什麼?

首先你得有一個能做測試的微控制器開發板,有外接引腳。要有c語言基礎 在真正的專案中彙編很少用的 由於單片資源有限,主要用於控制方面,大部分的開發都是針對外部硬體的開發。1 瞭解需求 做什麼用?測溫度?測溼度?多機通訊?顯示?2 如果專案比較大的話 畫流程圖,確定控制演算法2 選定器件 測溫度用什麼感...

應用51微控制器語言編寫簡易計算器程式實驗目的在51實驗小系統硬體基礎上,在keil開發環境

在51實驗小系統硬體基礎上,首先得有一個51實驗小系統硬體。判斷好矩陣鍵盤就好了,思路並不難啊 怎樣用51微控制器做計算器啊?1 首先第一步就是要進行查詢元器件並放入到原理圖中,如下圖所示。2 接著就是要進行原理圖連線根據網路標籤的方式即可。3 然後就是要進行編寫程式,程式源 include inc...