技术热线: 4007-888-234
设计开发

专注差异化嵌入式产品解决方案 给智能产品定制注入灵魂给予生命

开发工具

提供开发工具、应用测试 完善的开发代码案例库分享

技术支持

从全面的产品导入到强大技术支援服务 全程贴心伴随服务,创造无限潜能!

新品推广

提供新的芯片及解决方案,提升客户产品竞争力

新闻中心

提供最新的单片机资讯,行业消息以及公司新闻动态

pic单片机子程序库

更新时间: 2019-03-23
阅读量:2444

十年专注单片机方案开发的方案公司英锐恩,分享pic单片机子程序库。英锐恩现提供服务产品涉及主控芯片:8位单片机、16位单片机、32位单片机及各类运算放大器等。

INCLUDE "P16F877.INC" W EQU H'0000' F EQU H'0001' IRP EQU H'0007' RP1 EQU H'0006' RP0 EQU H'0005' NOT_TO EQU H'0004' NOT_PD EQU H'0003' Z EQU H'0002' DC EQU H'0001' C EQU H'0000' INDF EQU H'0000' TMR0 EQU H'0001' PCL EQU H'0002' STATUS EQU H'0003' FSR EQU H'0004' PCLATH EQU H'000A' ;**********************定点资源******************** SADR EQU 020H SADRH EQU 021H DADR EQU 022H CNT EQU 023H SOU EQU 024H SOUH EQU 025H RLT EQU 026H RLTH EQU 027H TEMP1 EQU 028H TEMP2 EQU 029H TEMP3 EQU 02AH TEMP4 EQU 02BH ;***************浮点基本运算资源********************* TEMP9 EQU 020H ;SADR TEMP10 EQU 021H ;SADRH EXP2 EQU 022H ;DADR EXP1 EQU 023H ;CNT ARGBL1 EQU 024H ;SOU ARGBH1 EQU 025H ;SOUH ARGBL2 EQU 026H ;RLT ARGBH2 EQU 027H ;RLTH TEMP1 EQU 028H ;TEMP1 TEMP2 EQU 029H ;TEMP2 TEMP3 EQU 02AH ;TEMP3 TEMP4 EQU 02BH ;TEMP4 TEMP5 EQU 02CH TEMP6 EQU 02DH TEMP7 EQU 02EH TEMP8 EQU 02FH

FPFLAGS EQU TEMP9 SIGN EQU TEMP10 IOV EQU 0 FOV EQU 1 FUN EQU 2 FDZ EQU 3 NAN EQU 4 DOM EQU 5 RND EQU 6 SAT EQU 7 MSB EQU 7 LSB EQU 0 ;*******************浮点函数资源*************************** AEXP EQU EXP1 EXP EQU AEXP AARGB0 EQU ARGBH1 AARGB1 EQU ARGBL1 AARGB2 EQU TEMP1 AARGB3 EQU TEMP2 ;AARGB4 EQU ?? ;AARGB5 EQU ?? ;AARGB6 EQU ?? ;AARGB7 EQU ?? AARG EQU AARGB0 BEXP EQU EXP2 BARGB0 EQU ARGBH2 BARGB1 EQU ARGBL2 BARGB2 EQU TEMP3 ;BARGB3 EQU ?? BARG EQU BARGB0

LOOPCOUNT EQU TEMP5 TEMP EQU TEMP5

;CEXP EQU ?? ;CARGB0 EQU ?? ;CARGB1 EQU ?? ;CARGB2 EQU ?? ;CARGB3 EQU ??

;DEXP EQU ?? DARGB0 EQU TEMP4 ;DARGB1 EQU ?? ;DARGB2 EQU ?? ;DARGB3 EQU ??

;EEXP EQU ?? ;EARGB0 EQU ?? ;EARGB1 EQU ?? ;EARGB2 EQU ?? ;EARGB3 EQU ??

;ZARGB0 EQU ?? ;ZARGB1 EQU ?? ;ZARGB2 EQU ?? ;ZARGB3 EQU ?? ;RANDB0 EQU ?? ;RANDB1 EQU ?? ;RANDB2 EQU ?? ;RANDB3 EQU ??

;********************SUADD******************** ;本程序实现单字节无符号数加法。 ;入口参数:被加数在SOU中,加数在RLT中。 ;出口参数:结果在SOUH:SOU中。 ;占用资源:W,STATUS,024H,025H,026H,一重堆栈。

IFNDEF SUADD1 #DEFINE SUADD1

SUADD CLRF SOUH ;存结果高位 MOVF RLT,W ADDWF SOU,F RLF SOUH,F ;进位位移入RLT中 RETURN ENDIF