单片机 c语言小数符号,单片机浮点数的显示编程

本文介绍了一种在单片机上显示浮点数的方法,通过C语言编程实现。首先判断浮点数的正负和大小,转换为整数并设置小数点位置标志。然后在定时中断服务程序中,根据标志动态显示数码管的数值和小数点。程序提供了完整的流程和示例代码,适合初学者学习。
摘要由CSDN通过智能技术生成

单片机浮点数的显示编程

经常接到读者的来信来电,谈到学习单片机编程已有一定进步,可以进行定点数的显示。但这些读者对如何进行浮点数显示却一筹未展,毫无头绪。而工业自动化控制中会牵涉到大量的浮点数运算与显示,这里笔者根据一简单的实例来详细介绍一下浮点数的C语言显示设计。更多的C语言学习内容可上www.hlelectron.com查看。

电路构成

假设显示为5位数码管,其电路见图1(作者注:使用Protel99se打开)。其中最高位数码管作符号显示,其余的4位数码管进行浮点数显示。

b2a4f123455f94c81d65c804ddd94745.png

图1

软件设计流程

图2为主程序及定时器0中断程序的状态流程。主程序在上电时进行初始化,包括设置定时器初值及开中断等。无限循环过程中,不断调用取样子函数获取待显的浮点数,并将浮点数转为整数。浮点数转为整数的处理过程如下:

首先判断取样获取的浮点数的正、负,若小于0,则符号位标志fu_hao清0,否则置1。下来,取浮点数的绝对值。再下来,判断浮点数的大小,若浮点数大于等于0而小于10,小数点标志point置0;若浮点数大于等于10而小于100,小数点标志point置1;若浮点数大于等于100而小于1000,小数点标志point置2;若浮点数大于等于1000而小于10000,小数点标志point置3。需说明的是:由于显示数值的数码管为4位,

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值