微控制器的問題,請幫忙設計程式,最好能夠畫出硬體電路圖或者程式流程圖

時間 2021-09-05 12:14:03

1樓:

定時器t0工作模式的確定。

因定時時間較長,採用哪種方式哪?

可以算出:

模式0:最長16.384ms

模式1:最長131.072ms

2^17/10^6

ans =

0.13107200000000

模式2:最長可定時512us

體重要求1s,可選模式1,每隔100ms中斷一次,中斷十次,就1s了。

步驟:1. 求計數值x:

因為(2^16-x初值)*12/6*10^6=100*10^(-3)s

所以:x=15536=3cb0h(用vb的hex$很方便。)因此:(tl0)=0b0h,(th0)=3ch.

實現方法:

對於中斷10次計數,可使t0工作在計數方式,也可以用迴圈程式的方法實現。本例採用迴圈程式法。

源程式:

org 0000h

ljmp main;上電轉向主程式。

org 000bh;t0的中斷入口位址。

ajmp serve;轉向中斷服務程式。

;主程式

org 0030h

main: mov sp,#60h;設堆疊指標。為什麼?

mov b,#0ah;設迴圈次數。

mov tmod,#01;設定t0工作於模式1.

mov tl0,#0b0h;裝入計數值低8位。

mov th0,#3ch;裝入計數值高8位。

setb tr0;啟動定時器t0;

setb et0;允許t0中斷。

setb ea;換允許cpu中斷。

sjmp $

;中斷程式:

org 000bh

serve: mov tl0,#0b0h

mov th0,#03ch;重新賦計數值。

djnz b,loop

clr tr0;1s定時到,停止t0工作。

cpl p1.0;試驗一下。

loop:reti;中斷返回!!

2樓:匿名使用者

簡單的要死。

自己去下個proteus軟體,畫好電路**下就是了。時間就用理論上的,完了看到功能正常就行,不要在意思**時的時間對不對

3樓:匿名使用者

好好學習天天向上,自己努力吧

微控制器程式實驗設計 20

微控制器程式實驗設計 4位數碼管是怎麼連線到微控制器的?include define uchar unsigned char define uint unsigned intuchar code zifu 10 uint num 0 void delay uint i while i 延時。main e...

微控制器蜂鳴器問題,微控制器驅動蜂鳴器的問題

煙火夜空 是 測量 還是 實物測量?測量的話,對不起,本人不玩 愛莫能助!實物測量的話,蜂鳴器3.3v,假設供電5v,那麼三極體vce 1.7v,應該處於放大狀態,將r13電阻減小 到470 4.7k 建議1k 增大ib,讓三極體處於飽和導通狀態,vce壓降應約為0.3v 減小r13後,蜂鳴器壓降約...

keil 微控制器無線通訊程式問題

就是表示某個暫存器的某個位,用 rx dr 總比用 0100000 容易記吧,增加程式可讀性.雖然我沒有用過 nrf24l01,但我憑著那幾行 就可以看出 某個狀態暫存器有 rx dr tx ds max rt 的位.sta,應該是指 status 應該是儲存某個暫存器的值.如里我再猜下去,可能是 ...