1. mcs-51單片機定時器應用的初始化步驟有哪些
TMOD、TH0或TH1、TL0或TL1、EA=1;TR0或TR1=1;
TMOD選擇方式。TH0=(65536-x)%256;x為定時時間,x<65536
EA=1;開中斷;TR1=1;啟動定時器。
例如:
TMOD=0X10;
TH1=0X4b;
TL1=0Xfe
TR=1;
「TMOD=0X10;」設置定時器1模式為模式一(16位定時器/計數器)
「TH1=0X4b;TL1=0Xfe;」設置定時器初值
"TR1=1"啟動定時器1
t=(2^16-初值)*機器周期=(2^16-初值)*時鍾周期*12
此例中:初值=0x4bfe=19454
t=(65536-19454)*1/11095200*12=0.04983993078087821760....約為0.05s即50ms
公式解釋:
每個機器周期產生一個計數脈沖,計時器寄存器最大允許2^16,大於2^16就溢出觸發中斷。初值為T,則還有65536-T次計數,每次計數用時一個機器周期,所以總用時:t=(2^16-初值)*機器周期=(2^16-初值)*時鍾周期*12
初值設置:把所需時間T代入上式解出初值0xAABB,把0xAA作為TH,0xBB作為TL
也可以用上式推導出初值計算公式
2. 單片機初始化的一般步驟
一般分四個步驟:
1)將相應的引腳配羨答吵置成UART模式
2)配置和使能UART,包括配置波特率,是否使用FIF0,數據幀格式(數據長度,停止位,奇偶校驗,收發數據緩沖區大小等)
3)配置舉梁中斷兄侍(一般分3大類,共7種)
4)讀寫數據
3. 51單片機定時器初始化程序的基本步驟
1.設置工作方式即TMOD的值
2.計算初值寫TH TL的值
3.開啟定時器中斷和總中斷
4.啟動定時器。
4. 單片機程序初始化要做些什麼啊
分二點解釋:1、單片機初始化主要是對單片機所用到的功能或外設進行初始化。比如,用到了定時器T0,則需要在開始對T0進行初始化,其相關SFR為:TMOD,TH0,TL0,TR0。其他類似。 2、陸譽當然如果你使用匯編編寫程序,在程序比較大時,可以考慮對堆棧等進行初始化,保證程序運行的可靠性。這點,對於初學者來說,我覺得能理解最好,不理解不用著急。 對於C語言設計來說,堆棧的初始化則考慮較少,一般編啟備譯器會幫助進行悄悉毀優化。
5. 51系列單片機定時/計數器初始化的四個步驟
1、設置寄存器TMOD
2、計算初始值
3、開放中斷
4、啟動定時器
6. 單片機定時器和中斷初始化流程是什麼樣的啊還有就是TMOD和SCON的初值是怎麼計算出來的
至於那些書上都有的理論知識我就不說了,就簡單的說一下吧,樓主可以想簡單點
定時器工作的流程可以按照這個順序(以51為例用定時器0方式一產生50毫秒的定時)
1、確定使用哪個定時器,使用哪種方式,這一步通過TMOD設置,TMOD的低四位是設置定時器0的,高四位是用來設置定時器1的,其中的M0,M1是用來設置定時器工作在哪種方式,GATE一般用不要設置,C/T是選擇計數模式還是定時模式的,如:TMOD = 0X01,就說明定時器0工作在方式1。
2、接下來就要設置定時的時間,用定時器定時50毫秒,可以用這種方式TH0 = (65535 - 50000) / 256,TL0 = (65535 - 50000) % 256;可以這樣理解:因為這是定時器的初值,也就是說計數脈沖就是在這個數的基礎上向上遞增,到達65535後就溢出產生中斷,至於為什麼是對256取整,和取余的話樓主自己先琢磨吧, 不懂再hi我;
3、第三步就要打開中斷了,使用IE寄存器,我一般是對各個位進行單獨設置,這樣看起來感覺更好,首先打開總中斷EA = 1,這一步是所有中斷所必須的,然後打開定時器0中斷,ET0 =1;
4、這時准備工作都准備好了就要開始啟動定時器了,使用TCON寄存器,TR0 = 1,到現在為止就實現了一個50毫秒的定時了;
總結一下:TMOD = 0X01; TH0 = (65535 - 5000) / 256; TL0 = (65535 - 50000) % 256; EA = 1; ET0 = 1; TR0 = 1,至於那個中斷函數我就不寫了,要注意的是方式0 ,1, 3是不能自動重裝的,所以得在中斷函數中重新對TH0 ,TL0賦初值,樓主說的那個SCON寄存器就是用於串口的,定時器會用了的話,串口也就會了的,希望能夠幫助樓主了
7. 如何給單片機系統進行初始化
復位電路和晶振電路屬於純硬體,不舉畢謹用理會,其它的需要軟體做好初始化。軟體的初始化一般是以下幾個步驟。x0dx0ax0dx0a如果採用的是匯編語言,一般有如下幾項內容x0dx0a1、設置堆棧地址:比如MOV SP, #60H。x0dx0a2、設定PSW值,也就是預設的工作寄存器區。x0dx0a3、設定與定時器、中斷、串口相關的特殊功能寄存器x0dx0a4、設定各IO口的初始狀態,比如將連接鍵正基盤的輸入輸出口均設為1,紅外發射電路的初始狀態。x0dx0a5、內存中需要賦初值的寄存器賦初值,比如上電後要顯示的內容最好先賦個初值。x0dx0a6、打開中斷允許、啟動定時器(這一步也可根據具體需要放在前面或其它地方)x0dx0a7、開始主程序循環x0dx0a對前兩項的設置可能不是必須的,但是應該成為一種好的習慣。x0dx0ax0dx0a如果是C語言,除了第1、2項不用管,其它也一樣。x0dx0ax0dx0a 如果整個系統在上電後,需要一段時間才能進入穩定狀態,可在一開始加入一段循環延時程序,然後再進行其它初始化操作數納。
8. plc程序如何實現單片機初始化
可以仿照RT-Thread的自動初始化機制,寫了一個自動初始化的模塊,整個代碼僅52位元組。
單片機的復位是由RESET引腳來控制的,此引腳輸入高電平超過兩個機器周期後,單片機即進入晶元內部復位狀態,而且一直在此狀態下等待,直到RESET引腳轉為低電平後,才檢查EA引腳是高電平或低電平,若為高電平則執行晶元內部的程序代碼,若為低電平便會執行外部程序。如果RST持續為高電平,單片機就處於循環復位狀態。初始化邏輯較顯式調用的方式模糊,容易引入BUG。
9. 51系列單片機定時/計數器初始化的步驟
TMOD:模式控制寄存器,定時器的運行模式,定時計數模式等;
TCON:運行控制寄存器,定時器的中斷允許和外部觸發中斷允許,運行停止控制,溢出標志等
THx/TLx:計數值
IE:中斷控制,如果要開啟中斷允許,則需要配置這個寄存器;
IP:中斷優先順序控制,如果開了幾個中斷源,則需要配置中斷控制的先後;
總體就是:
先關運行和中斷,然後配置模式,配置計數值,定時器運行打開,定時器是否中斷允許,是否開啟總中斷;
如果不開中斷,就直接配置模式和計數值,然後運行即可,主程序里查詢溢出位,判斷是否到計數值(不準確)。
其他定時器T2等,有其他的寄存器,但配置方法同。
10. 簡述單片機應用時串列口初始化的內容
設置定時器工作方式:裝入定時初值,啟動定時器,設置串口工作方式。
當執行一條指令時,先把它從內存中取到數據寄存器中,然後再傳送到指令寄存器。當系統執行給定的指令時,必須對操作碼進行解碼,以確定所要求的操作,指令解碼器就是負責這項工作的。其中,指令寄存器中操作碼欄位的輸出就是指令解碼器的輸入。
(10)單片機初始化怎麼實現擴展閱讀:
在單片機中主要包含CPU、只讀存儲器ROM和隨機存儲器RAM等,多樣化數據採集與控制系統能困櫻夠讓單片機完成各項復雜的運算,無論是對運算符號進行控制,還是對系統下達運算指令都能通過單片機完成。
單片機就是一塊晶元,這塊晶元組成了一個系統,通過集成電路技術的應用,將數據運算與處理能力集成到晶元中,實現對數瞎源據的高速化處理。
參汪神叢考資料來源:網路-單片機