程序如下:
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:
MOV 38H, #0
MOV 39H, #0
MOV 3AH, #0
MOV R0, #31H
MOV R2, #4
ADD_LOOP:
MOV A, 3AH
ADD A, @R0 ;先加31H的
MOV 3AH, A
DEC R0
MOV A, 39H
ADDC A, @R0 ;再加30H的
MOV 39H, A
MOV A, 38H
ADDC A, #0
MOV 38H, A
INC R0
INC R0
INC R0 ;轉到33H
DJNZ R2, ADD_LOOP ;循環加四次,和就在38H、39H、3AH(低位元組)中
;――――下面求平均。右移2位,即除以4
CLR C
MOV A, 38H
RRC A
MOV B, A
MOV A, 39H
RRC A
MOV 3BH, A
MOV A, 3AH
RRC A
MOV 3CH, A
MOV A, B
RRC A
MOV A, 3BH
RRC A
MOV 3BH, A
MOV A, 3CH
RRC A
MOV 3CH, A
SJMP $ ;結束,平均值在3BH 3CH。
END
Ⅱ 單片機顯示0到20後清零
硬體自動清零就是當某種條件成立,硬體會自動把該位清零。
比如定時計數器工作時,當定時時間到了,定時中斷請求標志位硬體自動置位,當cpu響應了中斷以後就會自動把該位清零。所謂的軟體清零,就是要在程序中,通過指令把該位清零。
Ⅲ 單片機清零
這種一般這樣搞還可以,程序里隔一段時間顯示一次,也就是循環顯示,當然還要循環檢測按鍵,當第二次按鍵按下時,給那幾個變數賦值,全部清零,然後就不管了,等下一次顯示時就更新了,
但是你用的是液晶顯示就可以不這樣,每次這幾個變數改變時顯示一次,應為液晶顯示後不會消失,方法就像樓上朋友那樣,
祝你好運
Ⅳ 單片機清零程序如何寫
累加器和位清零可用CLR(如:CLR
A,,,CLR
C)或者直接賦0值(如:mov
a,#00h).還有一種清零就是系統復位,賦位到初始的狀態,單片機的RST腳。(當然此種復位有的是零狀態(如:PC)。有的是1狀態(P0~P3),還有的是不定狀態(SBUF)),此種復位可手動也可上電自動,依外部電路而行
Ⅳ 單片機計數器清零
其他的和你的按鍵顯示的程序相同,只要加如下一段清0的程序就可以了。
...按鍵判斷/去抖程序...
CLR A
MOV TH0,A
MOV TH1,A
MOV TL0,A
MOV TL1,A
...顯示程序...
不過如果你的定時器是開的話,你一清完0,定時器馬上又計數了,可能顯示出來的不是0,而是一個比0稍微大的數。你可以在清0之前先關閉定時器,顯示完之後再開啟定時器。希望我的回答對你有所參考吧。
Ⅵ 將單片機片內一組RAM單元清0的函數,大佬說一下每一步的步驟含義吧
沒啥好說的,這個函數僅適用於51單片機。清零也限於從片內RAM的30h開始的32個位元組。就是在主函數里調用一個專用清零函數,指定起始偏移和清零長度;在清零函數里循環賦零。
Ⅶ 單片機清零程序的原理是什麼
。。。。原理就是樓上說的那樣了,詳細我覺得太細了也不好寫。 清零就是清零,就是把原來的數替換成0,就這樣。 實驗報告的原理應該不用寫到這樣細吧。
Ⅷ 單片機的硬體清零和軟體清零是什麼意思有什麼區別
硬體清零或者置1, 是指 一旦符合條件,單片機將自動完成動作(清0或置1)。
軟體清零或者置1, 是指必須用程序才能去完成這個動作。
例子:
硬體清0:
使用中斷使能寄存器的ET0和中斷函數來配置定時器0, 溢出後。 中斷標志TF0=1, 進入中斷函數後, TF0自動清0 不用再函數中寫TF0=0;
軟體清0:
不用中斷使能寄存器的ET0和中斷函數, 只用TCON和TMOD來配置定時器0, 溢出後 中斷標志TF0=1, 這時, 要在函數中寫 TF0=0; 來手動清零。
Ⅸ 單片機接收到的數據 下次開機怎麼吧數據清零
如果你的系統裡面沒有靜態存儲器或者其他可以掉電保存的存儲器,那麼不用擔心數據清零的問題,一掉電自動清零了,下次開機以前的一切數據都不復存在。如果有記憶的,那麼上電時直接先調一個清零程序就好。
Ⅹ 單片機清零實驗怎樣查看實驗結果
KEIL模擬中可以查看寄存器或變數的值。