單片機(jī)的延時(shí)程序編寫(xiě) 51單片機(jī)delay怎么寫(xiě)?
51單片機(jī)delay怎么寫(xiě)?51單片機(jī)C語(yǔ)言中延時(shí)函數(shù)如何定義和使用?延時(shí)函數(shù)一般是自己定義的延時(shí)函數(shù)。C語(yǔ)言定義的延遲函數(shù)主要是通過(guò)執(zhí)行無(wú)意義的指令來(lái)達(dá)到延遲的目的。這是一個(gè)經(jīng)典的延遲函數(shù)。//定義
51單片機(jī)delay怎么寫(xiě)?
51單片機(jī)C語(yǔ)言中延時(shí)函數(shù)如何定義和使用?
延時(shí)函數(shù)一般是自己定義的延時(shí)函數(shù)。
C語(yǔ)言定義的延遲函數(shù)主要是通過(guò)執(zhí)行無(wú)意義的指令來(lái)達(dá)到延遲的目的。這是一個(gè)經(jīng)典的延遲函數(shù)。
//定義延遲xms毫秒的延遲函數(shù)void d
51單片機(jī)延時(shí)時(shí)間怎么查看?
單片機(jī)的延時(shí)程序通過(guò)執(zhí)行指令來(lái)達(dá)到延時(shí)的效果。這個(gè)時(shí)間等于執(zhí)行指令所需的時(shí)間,一條指令所需的時(shí)間稱為指令周期,等于幾個(gè)機(jī)器周期。
各位大神幫我編寫(xiě)一個(gè)c51單片機(jī)延時(shí)程序,功能:按一下開(kāi)關(guān)LED亮10秒后熄滅?
就用定時(shí)器來(lái)數(shù)10秒。按鍵時(shí)啟動(dòng)定時(shí)器,在定時(shí)器的中斷功能中判斷為10秒時(shí)關(guān)閉L
單片機(jī)編程實(shí)現(xiàn)0---20秒計(jì)時(shí)器,并用proteus軟件設(shè)計(jì)硬件電路?
倒計(jì)時(shí)定時(shí)器,可設(shè)置時(shí)間,具有5/15/20/30/35/45/50分鐘倒計(jì)時(shí)選項(xiàng)。
倒計(jì)時(shí)時(shí)間由四個(gè)dip開(kāi)關(guān)位的1/2/3控制,
第二個(gè)數(shù)字表示5分鐘,第三個(gè)數(shù)字表示15分鐘,第四個(gè)數(shù)字表示30分鐘。
5/15/20/30/35/45/50分鐘倒計(jì)時(shí)可以通過(guò)不同的組合產(chǎn)生。
P1.0端口的外接發(fā)光二極管為狀態(tài)LED,在計(jì)時(shí)未開(kāi)始時(shí)常亮,計(jì)時(shí)過(guò)程中閃爍。
K1是開(kāi)始按鈕,K2是停止按鈕。
A_bit equ 20h數(shù)碼管一位數(shù)存儲(chǔ)單元
B_bit equ 21h數(shù)碼管十位存儲(chǔ)單元
Temp equ 22h計(jì)數(shù)器值存儲(chǔ)位置
引導(dǎo)初始化
Movp3和# 0ffh初始化p3端口,并將其設(shè)置為高電平,用于按鍵輸入。
MOV P0,#0FFH關(guān)閉數(shù)碼管顯示時(shí)間。
CLR P1.0點(diǎn)亮L:JB P3.6,$ loop確定開(kāi)始按鈕K1是否按下?
呼叫延遲10延遲10毫秒觸點(diǎn)抖動(dòng)消除
JB P3.6,如果是干擾,START返回。
JNB P3.6,$等待按鈕被釋放。
讀取dip開(kāi)關(guān)的狀態(tài),并獲得倒計(jì)時(shí)時(shí)間。
S:
MOV A,#0先清除A。
JB P2.0,A1判斷dip開(kāi)關(guān)第二位是否連接,如果連接則A加5。
添加一個(gè),#5
A1: JB p 2.1,A2判斷dip開(kāi)關(guān)的第三位是否接通。如果是連通的,a加15。
加一個(gè),#15
A2: JB p 2.2和A3判斷dip開(kāi)關(guān)的第四位是否接通,如果接通則A加30。
加一個(gè),#30
A3:·MOV臨時(shí)雇員
此時(shí),T:
CLR P2.4釋放繼電器1并開(kāi)始計(jì)時(shí)(啟動(dòng)時(shí)繼電器處于吸合狀態(tài))。
CLR P2.3釋放繼電器2并開(kāi)始計(jì)時(shí)(啟動(dòng)時(shí)繼電器處于吸合狀態(tài))。
MOV·R2,第120名
AB1: MOV R3,編號(hào)250
TIM: MOV一,臨時(shí)轉(zhuǎn)換成十進(jìn)制數(shù)臨時(shí)十六進(jìn)制數(shù)。
MOV B,# 10十進(jìn)制/十進(jìn)制1010
分部ab
Mov b_bit,一個(gè)十在一個(gè)。
Mov a_bit,b位在b中。
Mov dptr,#numtab指定查找表的起始地址。
mov r0,#4
dpl1: mov R1,#250
Dplop: MOV A,A _ BIT取個(gè)位數(shù)。
MOVC A,@A DPTR,用個(gè)位數(shù)查7段碼。
Mov p0,a發(fā)送7位代碼。
Clr p2.7打開(kāi)位顯示。
呼叫延遲1顯示1毫秒。
Setb p2.7關(guān)閉單元顯示器以防止重影。
Mov a,b_bit取十位數(shù)。
MOVC一個(gè),@ DPTR一個(gè),檢查十位數(shù)的7段碼。
Mov p0,a發(fā)送七段十位數(shù)的代碼。
Clr p2.6打開(kāi)十位數(shù)顯示。
呼叫延遲1顯示1毫秒。
Setb p2.6關(guān)閉十位數(shù)顯示,防止重影。
插入一個(gè)程序段,判斷計(jì)時(shí)過(guò)程中是否有按鍵輸入。
C1: JB p 3.6,B1
呼叫延遲10延遲10毫秒以消除抖動(dòng)。
JB P3.6,C1
JNB P3.6,$等待按鈕被釋放。
AJMP集合1
B1: JB p 3.7,M33
呼叫延遲10延遲10毫秒以消除抖動(dòng)。
JB P3.7,B1
JNB P3.7,$等待按鈕被釋放。
AJMP結(jié)束
M33: djnz R3,時(shí)間12 ms循環(huán)執(zhí)行250次,時(shí)間約為0.5秒。
CPL P1.0使LED每1秒閃爍一次。
Djnz r2,AB1循環(huán)在1分鐘內(nèi)執(zhí)行120次。
十二月溫度零下1度整整一分鐘。
MOV A,臨時(shí)
JNZ顯示
判斷TEMP的值是否為0?不為0的周期。
結(jié)束計(jì)時(shí)
over CHO 17-@ . com clr p 1.0 L:·MOV·R4,排名第二
D1: MOV R5,編號(hào)248
DJNZ R5,美元
D1 DJNZ R4
浸水使柔軟
10毫秒延遲子程序
D:MOV R4,#20
D2: MOV R5,編號(hào)248
DJNZ R5,美元
D2 DJNZ R4
浸水使柔軟
實(shí)驗(yàn)板上7個(gè)數(shù)碼管的0 ~ 9位的常用負(fù)顯示碼。
NUMTAB:DB 0CFH,03H,5DH,5BH,93H,0DAH,0DEH,43H,0DFH,0DBH
結(jié)束