51微控制器,計數器用的方式是1,串列埠也用方式一,怎麼計算波特率TH0 0x4C TL0 0X00這是定時器初值

2021-05-15 03:24:36 字數 4833 閱讀 3799

1樓:45度仰望

樓上說的很對,計數器應該用方式2,。

序列口可用方式一,那樣的話就是

波特率=(2^**od/32) * (f osc/12 )*(1/(2^k-初值))

2樓:匿名使用者

串列埠用的波特率最好是用定時器自動重灌載方式

微控制器序列口方式0、方式1的初始化,方式1波特率的計算 15

3樓:亂七胡說八糟亂想

51微控制器 波特率= 計數抄器或定時器的溢位速襲率 / n

在用串列埠方式1時 計數器或定時器的溢位速率=計數速率 / (256-thx)

這中的n與你微控制器在pcon中**od位的設定有關,**od設為 1 時 n=32

**od設為 0 時 n=16

因t1在做波特率發生器時th1中是重(再)裝載的值傳送完成 scon中的 ti 位為 1

新接收到資訊 scon中的 ri 位為 1特別要注意的是二箇中斷標誌位和其它的中斷標誌位全不一樣,中斷reti返回指令不能對它們清除

必須在程式中用軟體去清除,否則會對你無完無了的中斷,嘿嘿!

4樓:匿名使用者

波特率的計算要設定copy**od暫存器,串bai口有4種工作du方式,波特率不同zhi

。串列埠傳送一個dao位元組,即八位資料,八位前邊有一個起始位0,八位後邊有停止位1,由起始位0和停止位1就可以判斷是否開始傳送或者傳送是否完畢。這一方面,你仔細研究一下串列埠控制暫存器s***各位的含義。

5樓:匿名使用者

關鍵是考試不能用mcutool的。

6樓:匿名使用者

51微控制器小精靈

一個很好用地微控制器軟體。

tmod=0x02,th0=0x14,tl0=0x00,請問th0和tl0為什麼不一樣?怎麼得出的

7樓:heart阿飛

這個tmod =0x15;是高四位的抄m0=1 低四位的m0=1,c/t=1; gate

c/t m1 m0 gate c/t m1 m0 m1m0 工作方式 計數器模式 tmod(設定定時器模式)   0 0 方式0 13位計數器 tmod=0x00   0 1 方式1 16位計數器 tmod=0x01   1 0 方式2 自動重灌8位計數器 tmod=0x02   1 1 方式3 t0分為2個8位計數器,t1為波特率發生器 tmod=0x03 th0 th1 是定時器1 是定時器0計數 為什麼有的是65536-2000 ;有的65536-4000;有的-50000 這個可以自己設定的。mcs-51計數器是一種加1計數器。當計數溢位時,即產生中斷。

你是2000 4000 50000都可以 就看你在寫定時中斷程式時 計數多少次就會溢位。。。像50000 的話 一般計數20次 就是計滿一次

當定時計數器工作在方式0模式時,th0和tl0的初值如何確定?

8樓:吉吉麻麻麻麻

初值baix可以這樣計算:x=m-計數值。du

微控制器在不同

zhi的工作

dao方式下,計數器的位回數不同,因而最答大計數值也不同.現在設最大計數值為m,那麼在各方式下的m值如下:

1、方式0:m=2^13=8192。

2、方式1:m=2^16=65536。

3、方式2:m=2^8=256。

4、方式3:定時器0分為兩個8為定時器,所以兩個m均為256。

5、因為定時器是做加1計數,並在計滿溢位時產生中斷,因此初值x可以這樣計算:

6、x=m-計數值。

7、現在舉例說明定時處置的計算方法,若80c51主頻為6mhz,要求產生1ms的定時,計算初值.。

8、在6mhz的主頻下,計數器每加1所需的時間是2us.若果要產生1ms的計時就需要「加1」 500次.那麼500即為計數值,如果要求在方式1下工作,則計數初值x=m-計數值=65536-500=65036=fe0ch。

9樓:馬到功成一眾覺

微控制器在不同的工作方式下,計數器的位數不同,因而最大計數值也專不同。現在設最屬大計數值為m,那麼在各方式下的m值如下:

方式0:m=2^13=8192

方式1:m=2^16=65536

方式2:m=2^8=256

方式3:定時器0分為兩個8為定時器,所以兩個m均為256.

因為定時器是做加1計數,並在計滿溢位時產生中斷,因此初值x可以這樣計算:

x=m-計數值

現在舉例說明定時處置的計算方法,若80c51主頻為6mhz,要求產生1ms的定時,計算初值。

在6mhz的主頻下,計數器每加1所需的時間是2us。若果要產生1ms的計時就需要「加1」 500次。那麼500即為計數值,如果要求在方式1下工作,則計數初值x=m-計數值=65536-500=65036=fe0ch。

10樓:流光翽影

當工作在方式0時,先算出13位的2進位制數,高8位存入th,底5位存入tl.

關於c8051的學習

設微控制器晶振頻率為12mhz,定時器/計數器t0工作方式1,試計算其定時20ms的初值th0和tl0

11樓:匿名使用者

th0 = 0xb1;

tl0 = 0xe0;

兩個初始值在此

51微控制器定時計數器1sth0=0x3c;tl0=0xb0;怎麼用延時函式寫定時

12樓:麥君邪

定時器中斷裡面設定一個標誌位,中斷n次主函式執行延時程式

13樓:電子技術生涯

定時器就是定時器,延時函式和定時器有什麼關係

一個微控制器 定時器 計算 問題

14樓:匿名使用者

12m的晶振每秒可產生1m個機器週期,50ms就需要50000個機器週期,定時器在方

式1工作,是版16位計數器,最大值權為65536,所以需設定初值15536,即3cb0h,所以th0=0x3c,tl0=0xb0。

11.0592m的晶振每秒可產生0.9216m個機器週期,50ms就需要46080個機器週期,定時器在方式1工作,是16位計數器,最大值為65536,所以需設定初值19456,即4c00h,所以th0=0x4c,tl0=0x00。

15樓:匿名使用者

其實很簡單,來不管你自使用多大的晶振,使用51微控制器bai,一般都是du12分頻出來,也就zhi可以得出一個機器週期dao機器週期=12/n(n指晶振頻率),假設你要定時的時間為m那麼定時的初值為:

m/機器週期=初值;

th0=(65536-初值)%256;

tl0=(65536-初值)/256;

將(65536-初值)所得的值化成16進位制,其高位就是th0的值,低位為tl0的值

例如用12m晶振做1ms定時計算如下:

機器週期=12/12*10^6=1us(微秒)定時初值=(1*10^-3)/(1*10^-6)=1000;

所以:th0=(65536-1000)%256;

tl0=(65536-1000)/256;

將65536-1000=64536化為16進製為:0xfc18th0=0xfc;

tl0=0x18;

16樓:匿名使用者

如果你選的微控制器的晶振一定,比如12mhz來說

吧,機器週期是1us,就是說每1us產生一次計回

17樓:劇量薄訪夢

我來告訴你

來:定時器是當源

總數達到

baiffffh後產生中斷吧!那你要讓它du計數10000,是不是用zhiffff(16進位制)減去10000(十進位制)的數當計數初值啊?th0=-(10000/256);

tl0=-(10000%256)跟ffff(16進位制)減去10000(十進位制)的數是一樣的。從th0=-(10000/256);

tl0=-(10000%256)開始計數,dao計數到10000剛好滿。跟用ffff(16進位制)減去10000(十進位制)的數一樣!!!寫起來更簡單,不用算!!!

看看原碼、補碼就知道。正數的補碼是對應的二進位制數,符號位為零,負數的補碼是它的絕對值對應的二進位制數按位取反再加一,符號位為一。無符號數不考慮符號,那麼這個結果就跟用ffff減去它的絕對值一樣。

微控制器求大神幫幫忙!th0 = 0x14;tl0 = 0x00;ie = 0x82;是什麼意思呢?還有為什麼st = 0;st = 1;st = 0;

18樓:匿名使用者

th0 = 0x14;tl0 = 0x00;定時器t0初裝值,

baiduie是中斷

zhi允許暫存器0x82=10000010開了dao總中斷,和t0中斷,順便說一句版,你的中斷函式在**權?p1 = 0x7b; //將0x7b值賦給p1輸出到p1口,由高到低位01111011,conversion(temp); //這個地方直接用temp可以麼?conversion函式原型沒看著,我猜是把temp轉換成asc2,你的測量結果需要放大2倍嗎?

19樓:匿名使用者

th0 = 0x14;tl0 = 0x00;是給定時器0賦初值,在此基礎上加60416個數溢位中斷。

ie = 0x82;是允許定時器0中斷,開專放總中斷。

st = 0;st = 1;st = 0;是在p1.4輸出一個屬正脈衝。

conversion(temp); //這個地方直接用temp可以麼?還是需要temp*2????

這得根據conversion這個函式的要求確定。

關於微控制器外部計數器的n個問題

是這樣的,你的思路有些狹窄,當然,這並不怪你,這是學校和老師的失誤,現在的學校和老師,除了學生的前途以外,什麼都重要。我先給你講一下,80c51微控制器是一個系列,而不是特定的某個微控制器,你書本上學到的,什麼最大12mhz 12t的微控制器,是c51系列微控制器的鼻祖,只是一個核心和原理罷了,當然...

微控制器中的程式計數器PC用來做什麼

滿意回答bai的解釋錯誤,dupc並不是在本zhi條指令執行完的瞬間加一dao 而是在回取完指令後便加一答 org 0000h start mov a,30h ajmp main org 0030h main movc a,a pc 執行完本條指令後,a的值為61h 若是在執行完本條指令後再加一a的...

微控制器片內定時器與計數器的主要區別是什麼

1 模式控制暫存器tmod的d2或是d6位來控制。d2或d6位為0時,選擇定時工作方式 為1時選擇計數工作方式。2 在定時方式時,計數脈衝輸入訊號由內部時鐘提供 計數方式時計數脈衝來自於相應的外部輸入引腳。3 定時器是對微控制器的機器週期數進行計數 計數器對外部輸入脈衝訊號計數,當訊號產生由0到1的...