文档详情

第3章 MCS-51单片机的汇编程序设计.ppt

发布:2017-01-02约1.03万字共34页下载文档
文本预览下载声明
3.5.4 子程序设计—码型转换子程序-2 【功能】将一个字节二进制数转换成 3 位非压缩型BCD码。 【入口参数】二进制数在内部RAM 40H单元。 【出口参数】转换结果放入内部 RAM 52H, 51H, 50H单元中。 【分析】转换方法为:依次100、10整除。 HEXBCD: MOV A, 40H MOV B, #100 DIV AB ;商→(A)百位数,余数→(B) MOV 52H, A MOV A, B MOV B,#10  DIV AB ;商→(A)十位数,余数→(B)个位数 MOV 51H, A MOV 50H, B RET 3.5.4 子程序设计—查表子程序-1 【功能】单字节查双字节查表子程序。 【入口参数】 1)8位A/D电压采集数字量,V—R3; 2)温度值放在ROM表中。 【出口参数】温度值—R2R3 。 【分析】特点:自变量为自然数0,1,2… 应用背景:电压与温度为非线性关系。 温度值的地址=表起始地址+电压数字量X2 LTB2:MOV DPTR,#TAB MOV A,R3 CLR C RLC A MOV R3,A MOV F0 ,C ;保存进位位 ADD A,DPL ;R3X2+TAB→(DPTR) MOV DPL,A 3.5.4 子程序设计—查表子程序-2 MOV A,DPH ADDC A,#0 MOV C ,F0 ;将乘2产生的进位累加 ADDC A,#0 MOV DPH,A ;(AX2)+(DPTR) → (DPTR) CLR A MOVC A,@A+DPTR;查第一字节 MOV R2,A CLR A INC DPTR MOVC A,@A+DPTR;查第二字节 MOV R3,A RET TAB: DW XXXXH XXXXH XXXXH XXXXH DW XXXXH XXXXH XXXXH XXXXH 3.5.4 子程序设计—均值滤波子程序-1 【功能】采样值为单字节,连续采样8次,进行算术平均值滤波。 【入口参数】(R0)=采样首值地址,8个采样值依次存入, (R1)=采样次数。 【出口参数】(R3)=平均值。 FILTER: CLR A ;清累加器 MOV R2, A MOV R3, A MOV R1,#8 FL0: MOV A, @R0 ;取一个采样值 ADD A, R3 ;累加到R2、R3中 MOV R3, A ;单字节+双字节 CLR A ADDC A, R2 3.5.4 子程序设计—均值滤波子程序-2 MOV R2, A INC R0 DJNZ R1, FL0 ;累加完8次 MOV R1,#3 ;右移3次 FL1: CLR C MOV A,R2 RRC A MOV R2,A MOV A,R3 RRC A MOV R3,A ;滤波结果→(R3) DJNZ R1,FL1 RET 谢谢大家! 第3章 MCS-51单片机的指令系统 沈阳化工大学 3.4 汇编语言程序的基本形式 单片机编程语言:汇编语言+高级语言。 汇编语言 用英文字符来代替机器语言,这些英文字符被称为助记符汇编语言; 汇编语言源程序:用汇编语言编写的程序。 “汇编”:汇编语言源程序需转换(翻译)成为二进制代码表示的机 器语言程序,才能识别和执行。 完成“翻译”的程序称为汇编程序。经汇编程序“汇编”得到的以“0”、
显示全部
相似文档