1、在单片机中进行除法运算,要尽量避免直接使用实型变量,因为实型变量占用字节多,非常耗费CPU的时间,所以尽量用整形数据来代替,比如可以先用除法运算获得整数部分,然后用求余运算获得余数,再对余数进行运算。
 
2、本例实现一个除法运算,所得上的整数部分送P1口显示,小数部分送P0口显示。
3、实现方法,本例计算101除以2的结果。先用除法运算商的整数部分(101/2=50),然后用求余运算得出余数(101%2=1),若直接用除法运算1/2,则得0(C51中整形数据除法运算获得的小数部分被自动舍去),因此,在这里需要将1乘以10,然后用所得的积除以2,即(101%2)*10/2,结果即为小数部分的数字。
 
4、在keil c51中新建项目ex9,编写如下程序代码,编译并生成ex9.hex文件
//实例9:用P0,P1口显示除法运算的结果
#include <reg51.h>                 //头文件包含
void main(void)
{
  P1 = 101 / 2;                 //求商,获取除法运算的整数部分,送到P1口显示
 P0 = ((101 % 2) * 10) / 2;    //获取除法运算的小数部分,送到P0口显示
 
 while(1)
 {
 
 } 
}
 
5、在proteus中新建仿真文件ex9.dsn,电路图如下所示
基于proteus的51单片机仿真实例二十、用单片机端口演示数据的除法运算结果
6、启动仿真,验证输出结果是否正确,输出显示如下图所示
基于proteus的51单片机仿真实例二十、用单片机端口演示数据的除法运算结果

相关文章:

  • 2021-11-03
  • 2021-07-12
  • 2021-12-17
  • 2021-11-27
  • 2021-05-05
  • 2021-04-07
  • 2021-08-08
  • 2021-10-21
猜你喜欢
  • 2022-01-07
  • 2021-09-13
  • 2021-08-02
  • 2021-11-22
  • 2021-07-06
  • 2021-12-28
  • 2021-09-16
相关资源
相似解决方案