51單片機匯編延時程序算法詳解將以12MHZ晶振為例,詳細講解MCS-51單片機中匯編程序延時的精確算法。指令周期、機器周期與時鐘周期指令周期:CPU執(zhí)行一條指令所需要的時間稱為指令周期,它是以機器周期為單位的,指令不同,所需的機器周期也不同。時鐘周期:也稱為振蕩周期,一個時鐘周期 =晶振的倒數(shù)。MCS[詳細]
拜讀了網(wǎng)上《51單片機 Keil C 延時程序的簡單研究 》(by: InfiniteSpace Studio/isjfk, 1.21.2004 )一文,借鑒了文中的方法,測試發(fā)現(xiàn)有一點點出入,原文作者在計算延時時間的時候是否忘了加上RET指令……下面介紹我的測試結(jié)果,歡迎交流探討——一、單獨定義變量,for語句28: delay1([詳細]
延時與中斷出錯,是單片機新手在單片機開發(fā)應(yīng)用過程中,經(jīng)常會遇到的問題,本文匯總整理了包含了MCS-51系列單片機、MSP430單片機、C51單片機、8051F的單片機、avr單片機、STC89C52、PIC單片機…..在內(nèi)的各種單片機常見的延時與中斷問題及解決方法,希望對單片機新手們,有所幫助!擴展閱讀:單片機延時程序分析1[詳細]
單片機延時程序(適合初學者)下面幾個是單片機的延時程序(包括asm和C程序,都是我在學單片機的過程中用到的),在單片機延時程序中應(yīng)考慮所使用的晶振的頻率,在51系列的單片機中我們常用的是11.0592MHz和12.0000MHz的晶振,而在AVR單片機上常用的有8.000MHz和4.000MH的晶振所以在網(wǎng)上查找程序時如果涉及到精確延[詳細]
應(yīng)用單片機的時候,經(jīng)常會遇到需要短時間延時的情況。需要的延時時間很短,一般都是幾十到幾百微妙(us)。有時候還需要很高的精度,比如用單片機驅(qū)動 DS18B20的時候,誤差容許的范圍在十幾us以內(nèi),不然很容易出錯。這種情況下,用計時器往往有點小題大做。而在極端的情況下,計時器甚至已經(jīng)全部派上了別的用途。[詳細]
實現(xiàn)延時通常有兩種方法:一種是硬件延時,要用到定時器/計數(shù)器,這種方法可以提高CPU的工作效率,也能做到精確延時;另一種是軟件延時,這種方法主要采用循環(huán)體進行。1 使用定時器/計數(shù)器實現(xiàn)精確延時單片機系統(tǒng)一般常選用11.059 2 MHz、12 MHz或6 MHz晶振。第一種更容易產(chǎn)生各種標準的波特率,后兩種的一個機[詳細]
AVR單片機延時程序:1.毫秒級的延時 延時1ms;void delay_1ms(void){unsigned int i;for(i=1;i<(unsigned int)(xtal*143-2);i++);}在上式中,xtal為晶振頻率,單位為MHz. AVR 延時程序當晶振頻率為8M時,延時函數(shù)軟件仿真的結(jié)果為1000.25μs.當晶振頻率為4M時,延時函數(shù)軟件仿真結(jié)果為999.5μs[詳細]
讓我們先來復習一下我們學過的一些指令:MOV P1,#0FFH,MOV R7,#0FFH這些指令都是將一些數(shù)據(jù)送到相應(yīng)的位置中去,為什么要送數(shù)據(jù)呢?第一個因為送入的數(shù)可以讓燈全滅掉,第二個是為了要實現(xiàn)延時,從這里我們可以看出來,在用單片機的編程語言編程時,經(jīng)常要用到數(shù)據(jù)的傳遞,事實上數(shù)據(jù)傳遞是單片機編程時的一[詳細]
指令給出參與運算的數(shù)據(jù)方式稱為尋址方式。換句話說,尋址方式就是尋找確定參與操作的數(shù)的真正地址。擴展閱讀:單片機尋址方式與指令系統(tǒng)在MCS-51系列單片機的指令系統(tǒng)中尋址方式共有7種,一、直接尋址:直接將地址內(nèi)的值傳遞給寄存器。尋址空間為內(nèi)部RAM和特殊功能寄存器。二、間接尋址:單片機利用R0、 R[詳細]
在51單片機中,有些存儲區(qū)可以位尋址也可以字節(jié)尋址的,那么比如01H這個地址是表示位還是字節(jié)的 ?怎么區(qū)分地址是位地址還是字節(jié)地址的 ?網(wǎng)友(三塊石頭):在位指令中的地址就是位地址,在字節(jié)操作指令中的地址就是字節(jié)地址。例如:SETB 01H ; 這里的01H就是位地址MOV 01H, #00H ; 這里的01H就是字節(jié)地址[詳細]
MCS-51單片機尋址方式總結(jié)MCS-51單片機指令系統(tǒng)共使用7中尋址方式,包括寄存器尋址、直接尋址、立即數(shù)尋址、寄存器間接尋址、變址尋址、相對尋址、位尋址等。 【更多資源】 [詳細]
在指令中直接給出操作數(shù)地址的尋址方式稱為直接尋址,直接尋址何以尋址特殊功能寄存器、內(nèi)部RAM(128字節(jié))和位地址,如:MOV A, 70H; A←(70H)該指令是將RAM單元70H(地址)的內(nèi)容送累加器。【更多資源】 [詳細]
在指令的操作碼中包含了某一工作寄存器的地址(可用作地址指針的工作寄存器是@Ri:R0、R1),而操作數(shù)地址則存放在該寄存器中,如:MOV A, @R1; A←((R1))該指令是將R1的內(nèi)容送作為地址,將該地址所對應(yīng)的RAM單元的內(nèi)容送累加器?!靖噘Y源】 [詳細]
在指令中直接給出操作數(shù)的尋址方式稱為立即尋址。這個操作數(shù)叫立即數(shù),如指令:MOV A, #3AH該指令是將立即數(shù)3AH送累加器,由于MCS-51單片機的片內(nèi)存儲器是8位存儲器,因此立即數(shù)一般為8位二進制數(shù)。在MCS-51的指令系統(tǒng)中,用#來識別立即數(shù)在有的指令中,也會用到16位立即數(shù),如:MOV DPTR, #0123H該指令是將16位[詳細]
在指令的操作碼中包含了某一工作寄存器的地址(Rn:R0—R7),而操作數(shù)則存放在該寄存器中,如:MOV A, R5; A←(R5)該指令是將R5的內(nèi)容送累加器。【更多資源】 [詳細]
將PC或DPTR的值作為基地址,將Acc的值作為變址地址,二者向加得到的值作為操作數(shù)的地址,如:MOV A, @A+DPTR; A←((A)+(DPTR))這種尋址方式一般用于常數(shù)表,DPTR的內(nèi)容為表頭地址,Acc的內(nèi)容就是數(shù)據(jù)在表中的位置?!靖噘Y源】 [詳細]
MCS-51系列單片機中有專用的位運算指令,可以對位尋址區(qū)的每一個位進行數(shù)據(jù)傳送、邏輯運算等操作,如:MOV C, 07H; C←(07H)該指令屬于位操作指令,作用是將位地址為70H的位單元(字節(jié)地址20H單元的D7位)傳送到位累加器C中?!靖噘Y源】 [詳細]
位操作指令MCS-51單片機的特色之一是具有很強的位處理功能。位操作指令又稱為布爾指令,其功能是對內(nèi)部RAM中可進行位操作的區(qū)域進行位操作。在進行位操作時,位累加器C即進位標志Cy,位地址是片內(nèi)RAM字節(jié)地址20H~2FH單元中連續(xù)的128個位(位地址00H~7FH)和部分功能寄存器。凡SFR中字符等地址能被8整除的特[詳細]
控制轉(zhuǎn)移類指令計算機運行過程中,有時因為操作的需要,程序不能按順序逐條執(zhí)行指令,需要改變程序運行方向,即將程序跳轉(zhuǎn)到某個指定的地址再順序執(zhí)行下去。控制轉(zhuǎn)移類指令的功能就是根據(jù)要求修改程序計數(shù)器PC的內(nèi)容,以改變程序運行方向,實現(xiàn)轉(zhuǎn)移??刂妻D(zhuǎn)移類指令可分為:無條件轉(zhuǎn)移、條件轉(zhuǎn)移、絕對轉(zhuǎn)移、[詳細]
算數(shù)運算指令算術(shù)運算指令的主要功能是實現(xiàn)算術(shù)加、減、乘、除等運算。1.ADD類指令是不帶進位的加法運算指令(4條)。ADD A,Rn ;A+Rn→A, A與Rn寄存器內(nèi)容相加,結(jié)果送到A中ADD A,direct ;(direct)+A→A,[詳細]
掃碼關(guān)注我們
0755-82591179
傳真:0755-82591176
郵箱:vicky@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08
Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved. 粵ICP備14043402號-4