用单片机汇编语言计算50h-5ah的算数平均值,这样的程序怎么编写?

用单片机汇编语言计算50h-5ah的算数平均值,这样的程序怎么编写?,第1张

11 个字节数求和,再除以 11,商即为平均值。
和,将有两个字节。
但是,51 单片机只有一个字节的相除指令。
两个字节,除以一个字节,则需要编程解决。
可以采用移位法的思路。

关于MUL的用法书上有应该,我就不说了。说几点:

一、单片机的乘法运算只是进制不同,跟我们常用的十进制是一样的。例如:12×10=120

     不要简单想成在后边加个0,学了单片机应该学会用移位思考,因为单片机不会在后边加         0减0,应该想成12向左移一位,同样二进制的11B×10B =110B ,十六进制11H×10H=110H,八进制也一样。

二、想不通 ,还可换算成十进制去算,然后再转换成相应进制。因为他们数量是一样的只是进       制不同。十进制要满是个进一位,八进制要满8个进一位。十进制的10和八进制的12是一         样的。

啰嗦了半天希望能理解其中的意思。

这个头文件,是数学函数集合,主要是三角函数和对数、指数等函数。
/--------------------------------------------------------------------------
MATHH
Prototypes for mathematic functions
Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc
All rights reserved
--------------------------------------------------------------------------/
#ifndef __MATH_H__
#define __MATH_H__
#pragma SAVE
#pragma REGPARMS
extern char cabs (char val);
extern int abs (int val);
extern long labs (long val);
extern float fabs (float val);
extern float sqrt (float val);
extern float exp (float val);
extern float log (float val);
extern float log10 (float val);
extern float sin (float val);
extern float cos (float val);
extern float tan (float val);
extern float asin (float val);
extern float acos (float val);
extern float atan (float val);
extern float sinh (float val);
extern float cosh (float val);
extern float tanh (float val);
extern float atan2 (float y, float x);
extern float ceil (float val);
extern float floor (float val);
extern float modf (float val, float n);
extern float fmod (float x, float y);
extern float pow (float x, float y);
#pragma RESTORE
#endif


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13384405.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-25
下一篇 2023-07-25

发表评论

登录后才能评论

评论列表(0条)

保存