|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
不好意思,再麻烦一下大家 |
作者:冷若寒 栏目:单片机 |
斑竹,大侠们: 找来找去,发现手头上的这个定点16/8的运算程序不好用啊,不知各位有何简单一点的没有啊,我急着要用,大家帮帮忙啊! ;************************************************************************* ;15/7 PIC16C74A fixed point divide routines ;************************************************************************* ;************************************************************************* ;被除数为16位,除数为8位无符号 ;入口条件:AARGB_H,AARGB_L被除数,BARGB0除数 ;出口条件:AARGB_H,AARGB_L商,REMB0余数 ;max timing : 163 clk ;min timing : 163 clk ;pm:42 dm: 5 ;************************************************************************ udiv1608 code udiv_1608 clrf remb0 movlw .8 movwf loopcount loopu1608a rlf aargb_h,w rlf remb0,f movf bargb0,w subwf remb0,f btfsc status,c goto uok68a addwf remb0,f bcf status,c uok68a rlf aargb_h,f decfsz loopcount,f goto loopu1608a clrf TEMP movlw 0x08 movwf loopcount loopu1608b rlf aargb_l,w rlf remb0,f rlf TEMP,f movf bargb0,w subwf remb0,f clrf aargb5 clrw btfss status,c incfsz aargb5,w subwf TEMP,f btfsc status,c goto uok68b movf bargb0,w addwf remb0,f clrf aargb5 clrw btfsc status,c incfsz aargb5,w addwf TEMP,f bcf status,c uok68b rlf aargb_l,f decfsz loopcount,f goto loopu1608b return d_add movf accalo,w addwf accblo, f ;add lsb btfsc status,c ;add in carry incf accbhi, f movf accahi,w addwf accbhi, f ;add msb retlw 0x00 d_sub comf accalo, f ; negate acca ( -acca -> acca ) incf accalo, f btfsc status,z decf accahi, f comf accahi, f call d_add retlw 0x00 |
2楼: | >>参与讨论 |
作者: xieyuanbin 于 2005/3/24 10:55:00 发布:
我那个求平均值的贴里有一个运算例程你可参考。 |
3楼: | >>参与讨论 |
作者: 冷若寒 于 2005/3/24 11:49:00 发布:
喔,谢谢斑竹了,那个贴保存了,但是还没看 喔,谢谢斑竹了,那个贴保存了,但是还没看 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |