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語言程式是一段濾波函式?是什麼意思麻煩給講解一下
其實你拿紙筆算一下就能看出來,這是一個四次均值濾波。緩衝區的值加上最新取樣值以後,乘以四分之三 最新取樣值的權值為四分之一 getadc 1 ad轉換開始函式 current buf adcr 將baiad值du疊加 currentval word current buf 2 8位ad,配置的是zh...
在c51微控制器中編寫開關控制小燈的程式用
org 0000h main mov a,p1 mov p0,a sjmp main include sfr key p1 sfr led p0 main 參考一下以前寫的 在c51微控制器中編寫8個開關控制8個小燈的程式,用c語言和組合語言兩種編寫 用c51是多麼簡單的事情啊。你的每個燈的順序不說...
c51微控制器的P3口功能切換方法 想讓P3口做I O口使用的時候如何避免與第二功能衝突?做輸出時怎樣避免
p3.4 p3.6對應的分別是 t0 t1 wr。要使用這三根線做普通io口需要滿足以下條件 1 針對wr 不能有對外 版部ram的寫操作,也就權是說不能對xdata及pdata型變數進行寫操作 再進一步,軟體在編譯時,變數儲存模式選項不能選擇中模式及大模式,否則預設狀態下,程式中的區域性變數都會採...