1、51单片机汇编程序集时间 :2006-09-08 来源: 作者: 点击: 36198 字体大小:【大 中 小】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、 单字节顺序查找程序36、 单字节顺序查找程序37、 双
3、字节字符串顺序查找程序38、 双字节字符串顺序查找程序39、 N 字节字符串顺序查找程序40、 单字节最值查找程序41、浮点数顺序查找程序42、 浮点数最值查找程序43、 单字节折半查找程序;片内 RAM 初始化子程序IBCLR :MOV A,R0MOV R1,ACLR AIBC1 :MOV R1,AINC R1DJNZ R7,IBC1RET;片外 RAM 初始化子程序EBCLR1 :MOV A,ADDPLMOV DPL,AMOV A,ADDPHMOV DPH,ACLR CEBC11 :MOVX DPTR,AINC DPTRDJNZ R7,EBC11RET;片外 RAM 初始化子程序(双字节个
4、单元)EBCLR2 :MOV A,ADDPLMOV DPL,AMOV A,ADDPHMOV DPH,AMOV A,R7JZ EBC21INC R6EBC21 :CLR AMOVX DPTR,AINC DPTRDJNZ R7,EBC21DJNZ R6,EBC21RET;内部 RAM 数据复制程序;入口 :R0,R7;占用资源:A;堆栈需求:2字节;出口 :R1IBMOV :MOV A,R0ADD A,R7MOV R0,AMOV A,R1ADD A,R7MOV R1,AIBM1 :DEC R0DEC R1MOV A,R0MOV R1,ADJNZ R7,IBM1RET;外部 RAM 数据复制程序;入
5、口 :ADDPH,ADDPL,R7;占用资源:ACC;堆栈需求:2字节;出口 :R0,R1EBMOV1 :MOV A,ADDPLADD A,R7MOV DPL,ACLR AADDC A,ADDPHMOV DPH,AMOV A,R7ADD A,R1XCH A,R0ADDC A,#00HMOV P2,AEBM11 :DEC R0CJNE R0,#0FFH,EBM12DEC P2EBM12 :DEC DPLMOV A,DPLCJNE A,#0FFH,EBM13DEC DPHEBM13 :MOVX A,R0MOVX DPTR,ADJNZ R7,EBM11RET;外部 RAM 数据复制程序;入口 :AD
6、DPH,ADDPL,R6,R7;占用资源:ACC;堆栈需求:2字节;出口 :R0,R1EBMOV2 :MOV A,ADDPLADD A,R7MOV DPL,AMOV A,R6ADDC A,ADDPHMOV DPH,AMOV A,R7ADD A,R1XCH A,R0ADDC A,R6MOV P2,AMOV A,R7JZ EBM21INC R6EBM21 :DEC R0CJNE R0,#0FFH,EBM22DEC P2EBM22 :DEC DPLMOV A,DPLCJNE A,#0FFH,EBM23DEC DPHEBM23 :MOVX A,R0MOVX DPTR,ADJNZ R7,EBM21DJN
7、Z R6,EBM21RET;外部 RAM 数据复制到内部 RAM 程序;入口 :ADDPH,ADDPL,R7;占用资源:ACC;堆栈需求:2字节;出口 :R0ITEMOV :MOV A,ADDPLADD A,R7MOV DPL,AMOV A,ADDPHADDC A,#00HMOV DPH,AMOV A,R0ADD A,R7MOV R0,AITEM1 :DEC R0DEC DPLMOV A,DPLCJNE A,#0FFH,ITEM2DEC DPHITEM2 :MOVX A,DPTRMOV R0,ADJNZ R7,ITEM1RET;限幅滤波程序;入口 :A,SDAT,DELTY;占用资源:B;堆栈
8、需求:2字节;出口 :AJUGFILT :MOV B,ACLR CSUBB A,SDATJNC JUGFT1CPL AINC AJUGFT1 :SETB ASUBB A,#DELTYJNC JUGFT3MOV A,SDATRETJUGFT3 :MOV A,BMOV SDAT,ARET;中位值滤波程序;入口 :ADDPH,ADDPL,N;占用资源:ESELSORT;堆栈需求:4字节;出口 :AMEDFILT :LCALL ESELSORTMOV A,NCLR CRRC AADD A,ADDPLMOV DPL,AMOV A,ADDPHMOV DPH,AJNC MEDFT1INC DPHMEDFT1 :MOVX A,DPTRRET;N 点算术平均滤波;入口 :ADDPH,ADDPL,N;占用资源:B,R3,R4;堆栈需求:2字节;出口 :AAVFILT :MOV A,ADDPL