ZKX's LAB

关于单片机的求取算术平均值的汇编方法 单片机汇编adc求平均值原理

2021-04-09知识0

单片机,用汇编求平均值,八个数据在30H---37H。求的平均值放在40H,小数放在41H中。一定要有小数。 ORG 0000HMOV 30H,#12H;先准备8个数.MOV 31H,#23HMOV 32H,#34HMOV 33H,#45HMOV 34H,#56HMOV 35H,#67HMOV 36H,#78HMOV 37H,#89HORG 0000HMOV 40H,#0MOV 41H,#0MOV R0,#30HLOP:MOV A,41HADD A,@R0MOV 41H,AJNC$+4INC 40HINC R0CJNE R0,#38H,LOP至此,求和完毕,和数在40H 41H中,不超过11位数。下面就要对和数除以8,求得平均值。除以8,可以编写一段16位数除以8位数的程序,呵呵,那就太长了!也可以把这16位数,右移3位,也相当于除以8。两个字节,右移1位,就需要6条指令,右移3位,就要用18条指令,还是太长!看下面,仅仅使用了7条指令,就完成了这个除以8的任务。MOV A,41HANL A,#0F8HADD A,40HRL ASWAP AMOV 40H,A;平均值整数.ANL 41H,#07H;平均值小数.这是最简捷的16位数(共11个有效位)除以8的程序吧?SJMP$END执行结果如下:和:026CH;平均值整数:4DH;平均值小数:04H。

关于单片机的求取算术平均值的汇编方法

单片机汇编语言编写\ 好的我做单片机方面的

#单片机汇编adc求平均值原理

随机阅读

qrcode
访问手机版