當前位置:編程學習大全網 - 編程軟體 - 51單片機中12位雙字節數(低12位)求平均數

51單片機中12位雙字節數(低12位)求平均數

MOV R0, #40H ;四個數據的起始地址

MOV R2, #4

MOV R3, #0 ;四個數據的和

MOV R4, #0

A_LOOP:

MOV A, R3

ADD A, @R0 ;加數據低字節

MOV R3, A

INC R0

MOV A, R4

ADDC A, @R0 ;加數據高字節

MOV R4, A

INC R0

DJNZ R2, A_LOOP ;

;-------------------------下面除以4,右移兩位即可

CLR C

MOV A, R4

RRC A ;先移高八位

MOV R4, A

MOV A, R3

RRC A ;後移低八位

MOV R3, A

CLR C ;再移動壹次

MOV A, R4

RRC A

MOV R4, A

MOV A, R3

RRC A

MOV R3, A

;結果在 R4R3。

END

找出最大、最小,要比較雙字節的數據。

全部循環壹遍,所花費的時間,就太多了。

特別是多字節的數據,特費時間。

不如,利用這些時間,多采樣幾個數據,累加後,取平均值。

用向右移位,代替除法,特別方便。

那麽,采樣數據的個數,宜取:4、8、16。

個數再多,好像也沒有必要了。

  • 上一篇:小學數學(西師版)四年級上冊比較難的題
  • 下一篇:怎麽做壹個藍牙4.0的遙控器
  • copyright 2024編程學習大全網