0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

应广单片机MINI-C编程要点

应广单片机 来源:应广单片机 2023-10-17 14:17 次阅读

最近一个项目上需要用到数据值比较大的运算,求一个功率。很多小产品上虽然用到的显示功率一般两三位数,但是要把这两位数求出来还真的费点劲。电压,我们一般用用毫伏表示,电流也是毫安,那么当5V电压,1A的电流,计算数据为5000*1000=5000000=7A120H,这已经不是2个字节可以容得下的数据范围,而且两字节相乘的结果也得用4个字节来存储。当我们要把这4字节的十六进制数转成十进制数时。用减法的效率一般很低啦。我这里给大家分享一个简单的加3移位判断法,这个子程序,体现了MINI-C的强大C语言汇编融合处理能力。也将MINI-C的数据指针用到恰到好处啦,有点自卖自夸。

入口参数是4字节的num,

输出是全局变量,TEMP3~TEMP7,5个字节,temp3是最高位。

void dword_to_dec(dword num)

{

byte temp2;

clear hb@fpp0_index

mov a, 0x20

mov temp2, a

clear temp3

clear temp4

clear temp5

clear temp6

clear temp7

set0 CF

shift:

slc num$0

slc num$1

slc num$2

slc num$3

slc temp7

slc temp6

slc temp5

slc temp4

slc temp3

dzsn temp2

goto adjdec

return;

adjdec:

mov a, la@temp7

mov lb@fpp0_index, a

call adjbcd

mov a, la@temp6

mov lb@fpp0_index, a

call adjbcd

mov a, la@temp5

mov lb@fpp0_index, a

call adjbcd

mov a, la@temp4

mov lb@fpp0_index, a

call adjbcd

mov a, la@temp3

mov lb@fpp0_index, a

call adjbcd

goto shift

adjbcd:

//;---------------------------------

//; mov a, 0x22

//;idxm fpp0_index, a

//;---------------------------------

idxm a, fpp0_index

add a, 0x03

mov g_byte, a

t0sn g_byte.3

idxm fpp0_index, a

idxm a, fpp0_index

add a, 0x30

mov g_byte, a

t0sn g_byte.7

idxm fpp0_index, a

ret 0x00

//;-------------the end of hex2bcd---------------------

}

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7604

    浏览量

    136622
  • 十进制
    +关注

    关注

    0

    文章

    66

    浏览量

    13206
  • 程序
    +关注

    关注

    117

    文章

    3782

    浏览量

    80990

原文标题:应广单片机MINI-C,4字节转十进制子程序

文章出处:【微信号:应广单片机,微信公众号:应广单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    谁有广单片机c语言例子,求

    谁有广单片机c语言例子,求
    发表于 08-08 17:09

    ***广单片机

    需要性价比高单片机的找我,***广单片机代理
    发表于 06-30 10:41

    一、广单片机Mini-C语言基础 精选资料分享

    开发的人,用汇编来开发还是有些抗拒的。看了一下简介,广单片机支持Mini-C语言,一看就跟C语言有关,我们来了解一下:二、
    发表于 07-15 09:04

    PMS150C的点灯程序代码分享

    广单片机价格美丽,性价比高,mini-c好用,适用于消费电子开发。但是案例demo太少了,为了方便大家能够快速入门。这里贴出了一份经典PMS150
    发表于 07-15 09:47

    单片机C语言编程注意的若干问题

    单片机C语言编程注意的若干问题》由会员分享,可在线阅读,更多相关《单片机C语言
    发表于 07-15 09:12

    mini-c的缺点及解决办法

    很多廉价的单片机只是支持汇编语言,而应广单片机支持mini-c,非常不错!可以最大限度发挥C的优势和编译器的效率.下面我就说说我的体会:缺
    发表于 07-20 07:14

    单片机编程相关资料分享

    官方网站PMS134系列广mini-c开发技术广单片机
    发表于 11-22 06:21

    广单片机mini-c查表的相关资料分享

    由于RAM有限,一般不建议在RAM中建立表格.如果又要用到表格怎么办,别急,广单片机可以查rom表.下面用数码管输出为例子,做个简单的表格.注意表格只支持byte类型;最多可以放入255个数
    发表于 11-23 06:32

    单片机C语言编程注意的若干问题

    本文较详细地分析了单片机C 语言的特点,就单片机系统资源对C 语言编程的制约,汇编与C语言混合
    发表于 08-25 14:16 43次下载

    广单片机开发案例

    广单片机价格美丽,性价比高,mini-c好用,适用于消费电子开发。但是案例demo太少了,为了方便大家能够快速入门。这里贴出了一份经典PMS150
    发表于 11-13 11:06 117次下载
    <b class='flag-5'>应</b><b class='flag-5'>广</b><b class='flag-5'>单片机</b>开发案例

    广单片机-IO口的使用

    广单片机-IO口的使用今年入职了一家做方案的公司,有用到台湾广的单核单片机,对于一款新的
    发表于 11-13 18:06 37次下载
    <b class='flag-5'>应</b><b class='flag-5'>广</b><b class='flag-5'>单片机</b>-IO口的使用

    广单片机

    官方网站PMS134系列广mini-c开发技术广单片机
    发表于 11-14 10:06 38次下载
    <b class='flag-5'>应</b><b class='flag-5'>广</b><b class='flag-5'>单片机</b>

    广单片机mini-c查表

    由于RAM有限,一般不建议在RAM中建立表格.如果又要用到表格怎么办,别急,广单片机可以查rom表.下面用数码管输出为例子,做个简单的表格.注意表格只支持byte类型;最多可以放入255个数
    发表于 11-14 16:06 28次下载
    <b class='flag-5'>应</b><b class='flag-5'>广</b><b class='flag-5'>单片机</b><b class='flag-5'>mini-c</b>查表

    广单片机MINI-C编程要点

    很多廉价的单片机只是支持汇编语言,而应广单片机支持mini-c,非常不错!可以最大限度发挥C的优势和编译器的效率.下面我就说说我的体会:缺
    发表于 11-23 17:51 57次下载
    <b class='flag-5'>应</b><b class='flag-5'>广</b><b class='flag-5'>单片机</b><b class='flag-5'>MINI-C</b><b class='flag-5'>编程</b><b class='flag-5'>要点</b>

    广PMS171B(1)--概述与配置端口输出高低电平

    作者经常使用一些国产芯片或者价格价格美丽的单片机,这款广单片机PMS171B价格美丽,性价比高,mini-c好用,适用于消费电子开发。但是
    的头像 发表于 11-14 12:03 1595次阅读
    <b class='flag-5'>应</b><b class='flag-5'>广</b>PMS171B(1)--概述与配置端口输出高低电平