计算全班单片机期末成绩的总和及平均分 -单片机编程

计算全班单片机期末成绩的总和及平均分。
可以自拟人数与分数。那就比方说把:17个人、分数90~100吧。

问题就是这样的,实在是不懂该从哪入手,详细说下流程与做法,谢谢!
初学单片机老师出个问题不会,求教各位了。
悬赏分:20 - 解决时间:2009-10-19 21:44
;---------------------------------------------------------
最佳答案:

计算总和及平均分,就是求和,再除以个数,两个步骤。

假设,17人的分数,已经存在50H开始的空间,累加后,不过1700分,可以使用R2R3两个字节存放,平均分,使用R0一个字节存放即可。

程序如下:
;----------------------------------------------
  ORG 0000H

;---------------------先求和.
  MOV  R2, #0
  MOV  R3, #0      ;和,先清零.
  MOV  R0, #50H
  MOV  R1, #17     ;求和17人.
LLL:
  MOV  A,  @R0     ;取数.
  INC  R0
  ADD  A,  R3      ;相加低八位.
  MOV  R3, A
  CLR  A
  ADDC A,  R2      ;进位加入到高八位.
  MOV  R2, A
  DJNZ R1, LLL      ;求和17次,总分数在R2R3中.

;---------------------再求平均值
;                     R2R3 / R1 --> R0
  MOV  R0, #0       ;平均分
  MOV  R1, #17      ;除以17
_D1:
  CLR  C
  MOV  A, R3
  SUBB A, R1
  MOV  R3, A
  MOV  A, R2
  SUBB A, #0
  MOV  R2, A
  JC   _D2
  INC  R0           ;商加一.
  SJMP _D1
_D2:
  SJMP $            ;结束,平均分在R0中.

;---------------------------------------------------------
回答者: 做而论道 - 八级   2009-10-19 21:40
提问者对于答案的评价:万分感谢!!!
原文网址:http://zhidao.baidu.com/question/122106864.html
;---------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值