您的位置:首页 > 编程语言 > C语言/C++

基于proteus的51单片机仿真实例二十、用单片机端口演示数据的除法运算结果

2017-04-30 07:41 741 查看
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,电路图如下所示



6、启动仿真,验证输出结果是否正确,输出显示如下图所示

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 proteus 单片机
相关文章推荐