導航:首頁 > 操作系統 > 單片機如何設置時間延遲為一秒

單片機如何設置時間延遲為一秒

發布時間:2023-11-27 09:57:47

A. 請問在單片機C語言編程中,用delay延遲的話,1秒程序是什麼單片機晶振為12MHZ

在Keil里模擬的話,在配置里把晶振調成12MHz,然後在調用delay函數的地方設置一個斷點,開始調試程序,運行到斷點處,注意程序左邊有一個記錄當前寄存器和一些狀態的窗口,其中,裡面有一個是專門記錄當前運行了多少時間的變數,記下當前時間T1,然後按F10(不進入子函數)調試,再記錄當前時間T2,則延時=T2-T1。多試幾個A,差不多調到1s就夠了。我一般都這么調。
你要想明白其中原理,想自己算的話,你就看看delay的匯編代碼段自己算吧。

B. 任意型號單片機,延遲1或2秒怎麼寫12M,24M怎麼算for後面怎麼寫。要過程不要結果。

一般先寫一個延時幾個毫秒的子程序,很簡單。
void delay( int ms )
{
while( ms-- )
{
int i = 延時常數;
do { _nop_(); } while( --i );
}
}

要延時一秒鍾,就是1000ms,delay( 1000 );
幾個注意事項,
1、延時程序沒有關中斷,所以中斷程序會影響定時精度。
2、延時常數可以用軟模擬程序實驗確定,需要根據不同的單片機、晶振頻率調整延時常數。
3、想要適用任意型號單片機,內層循環最好加一句空操作,通常這可以阻止編譯時優化程序。

C. 51單片機延時一秒函數,晶振12MHZ

我這有個函數自己實驗出來的,在KEIL里看差不多就是延時1毫秒
void delay1ms(unsigned int t)
{
unsigned x,y;
for(x=t;x>0;x--)
for(y=124;y>0;y--);
}

把t 改為你要延時的數就可以了,1毫秒就把t改為1 500毫秒就把t改為500

D. 單片機1秒鍾定時匯編語言怎麼編

可以有兩種方法,設晶振為12M,則
第一種方法:用延時的方法實現
DELAY: MOV R3,#10;延時子程序,延時1秒
D1: MOV R4,#200
D2: MOV R5,#250
D3: DJNZ R5,D3
DJNZ R4,D2
DJNZ R3,D1
RET
END

第二種方法:用定時器的方法實現
————
MOV R1,#20
————
DLY: MOV TMOD,#00000001B;延時子程序,設定定時器的工作方式
D1: SETB TL0,#176(65536-50000); 15536/256 (余數)
SETB TH0,#60;設置初出溢出值50ms,定時2S (商)
SETB TR0 ;啟動定時器
JNB TF0,$;是否溢出,沒有溢出等待,溢出走一條指令
CLR TF0;清零溢出
DJNZ R1,D1;走20次,剛好1秒
RET
END

閱讀全文

與單片機如何設置時間延遲為一秒相關的資料

熱點內容
python查找相似圖片的代碼 瀏覽:331
趙麗pdf 瀏覽:656
如何蘋果手機app不要自動更新 瀏覽:977
pythonflask路線教程 瀏覽:256
程序員職業有哪些好處 瀏覽:711
大都會軟體app如何掃碼 瀏覽:436
單片機0x38 瀏覽:756
程序員浪漫工作 瀏覽:329
php幾分鍾前 瀏覽:308
項目編譯及運行 瀏覽:894
程序員的基本功 瀏覽:522
遺傳演算法排班 瀏覽:289
如何加密金融安全網 瀏覽:30
家裡的wifi太卡了怎麼樣自己加密 瀏覽:233
華為鏈路聚合命令 瀏覽:426
apache自動運行php 瀏覽:519
485和單片機 瀏覽:975
xp修復系統命令 瀏覽:520
微你app怎麼加好友 瀏覽:796
程序員轉正 瀏覽:211