资源描述:
《51单片机实用子程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、51单片机实用子程序(2009-05-1914:16:32)转载标签:it 1、片内RAM初始化子程序 2、片外RAM初始化子程序 3、片外RAM初始化子程序(双字节个单元) 4、内部RAM数据复制程序 5、外部RAM数据复制程序 6、外部RAM数据复制程序 7、外部RAM数据复制到内部RAM程序 8、限幅滤波程序 9、中位值滤波程序 10、N点算术平均滤波 11、N点加权平均滤波 12、一阶加权滞后滤波程序 13、双字节取补程序 14、N节取补程序 15、双字节无符号数加法程序 16、N字节无符号数加法程序 17、双字节无符号数减
2、法程序 18、N字节无符号数减法程序 19、单字节无符号数乘法程序 20、单字节无符号数乘法程序 21、单字节无符号数乘法程序 22、双字节无符号数乘法程序 23、双字节无符号数乘法程序 24、N字节无符号数乘法程序 25、单字节无符号除法程序 26、单字节无符号除法程序 27、双字节无符号除法程序 28、N字节无符号除法程序(组合) 29、N字节无符号除法程序 30、N字节数据左移程序 31、原码有符号双字节减法程序 32、原码有符号双字节加法程序 33、原码有符号双字节乘法程序 34、原码有符号双字节除法程序 35、单字节顺序
3、查找程序 36、单字节顺序查找程序 37、双字节字符串顺序查找程序 38、双字节字符串顺序查找程序 39、N字节字符串顺序查找程序 40、单字节最值查找程序 41、浮点数顺序查找程序 42、浮点数最值查找程序 43、单字节折半查找程序 ;片内RAM初始化子程序 IBCLR:MOVA,R0 MOVR1,A CLRA IBC1:MOV@R1,A INCR1 DJNZR7,IBC1 RET ;片外RAM初始化子程序 EBCLR1:MOVA,ADDPL MOVDPL,A MOVA,ADDPH MOVDPH,A CLRC EBC1
4、1:MOVX@DPTR,A INCDPTR DJNZR7,EBC11 RET ;片外RAM初始化子程序(双字节个单元) EBCLR2:MOVA,ADDPL MOVDPL,A MOVA,ADDPH MOVDPH,A MOVA,R7 JZEBC21 INCR6 EBC21:CLRA MOVX@DPTR,A INCDPTR DJNZR7,EBC21 DJNZR6,EBC21 RET ;内部RAM数据复制程序 ;入口:R0,R7 ;占用资源:A ;堆栈需求:2字节 ;出口:R1 IBMOV:MOVA,R0 ADDA,R7 M
5、OVR0,A MOVA,R1 ADDA,R7 MOVR1,A IBM1:DECR0 DECR1 MOVA,@R0 MOV@R1,A DJNZR7,IBM1 RET ;外部RAM数据复制程序 ;入口:ADDPH,ADDPL,R7 ;占用资源:ACC ;堆栈需求:2字节 ;出口:R0,R1 EBMOV1:MOVA,ADDPL ADDA,R7 MOVDPL,A CLRA ADDCA,ADDPH MOVDPH,A MOVA,R7 ADDA,R1 XCHA,R0 ADDCA,#00H MOVP2,A EBM11:DECR0
6、 CJNER0,#0FFH,EBM12 DECP2 EBM12:DECDPL MOVA,DPL CJNEA,#0FFH,EBM13 DECDPH EBM13:MOVXA,@R0 MOVX@DPTR,A DJNZR7,EBM11 RET ;外部RAM数据复制程序 ;入口:ADDPH,ADDPL,R6,R7 ;占用资源:ACC ;堆栈需求:2字节 ;出口:R0,R1 EBMOV2:MOVA,ADDPL ADDA,R7 MOVDPL,A MOVA,R6 ADDCA,ADDPH MOVDPH,A MOVA,R7 ADDA,R1
7、XCHA,R0 ADDCA,R6 MOVP2,A MOVA,R7 JZEBM21 INCR6 EBM21:DECR0 CJNER0,#0FFH,EBM22 DECP2 EBM22:DECDPL MOVA,DPL CJNEA,#0FFH,EBM23 DECDPH EBM23:MOVXA,@R0 MOVX@DPTR,A DJNZR7,EBM21 DJNZR6,EBM21 RET ;外部RAM数据复制到内部RAM程序 ;入口:ADDPH,ADDPL,R7 ;占用资源:ACC ;堆栈需求:2字节 ;出口:R0 ITEMOV: