单片机课件:8汇编讲义.ppt

上传人(卖家):三亚风情 文档编号:2810523 上传时间:2022-05-28 格式:PPT 页数:63 大小:262.50KB
下载 相关 举报
单片机课件:8汇编讲义.ppt_第1页
第1页 / 共63页
单片机课件:8汇编讲义.ppt_第2页
第2页 / 共63页
单片机课件:8汇编讲义.ppt_第3页
第3页 / 共63页
单片机课件:8汇编讲义.ppt_第4页
第4页 / 共63页
单片机课件:8汇编讲义.ppt_第5页
第5页 / 共63页
点击查看更多>>
资源描述

1、第七章:汇编程序设计第七章:汇编程序设计通知:n考试时间:教学16周星期三(12月16号) 下午5-6节(13:30开始)n考试地点:一教304、305、306教室第七章第七章 汇编语言程序设计基础汇编语言程序设计基础单片机系统中编程语言:单片机系统中编程语言:n以汇编语言为主以汇编语言为主n高级语言高级语言C-51n汇编语言:源程序结构紧凑、灵活、汇编成目汇编语言:源程序结构紧凑、灵活、汇编成目标程序效力高,占用內存资源少,运行速度快标程序效力高,占用內存资源少,运行速度快和实时性,适合实时测控等应用领域。和实时性,适合实时测控等应用领域。n应用程序主要应用范围:如下图所示应用程序主要应用范

2、围:如下图所示应用程序主要由以下三类程序组成应用程序主要由以下三类程序组成 过程检测过程检测 巡回检测程序巡回检测程序 数字滤波程序数字滤波程序 处理和监视处理和监视 线性化处理线性化处理 测量值与工程值转换程序测量值与工程值转换程序 应用应用 越限报警程序越限报警程序 控制操作台服务程序控制操作台服务程序 判断程序判断程序 过程分析程序过程分析程序 过程控制过程控制 开环控制程序开环控制程序 PID算法算法 采样控制器采样控制器 程序程序 计算程序计算程序 闭环控制程序闭环控制程序 系统输入系统输入/出控制算法出控制算法 其他算法其他算法 输出控制程序输出控制程序 事故处理程序事故处理程序

3、公共应用程序公共应用程序 制表打印程序制表打印程序 服务子程序服务子程序 程序设计概述n汇编程序设计的基本步骤汇编程序设计的基本步骤n设计任务的分析,确定算法和思路设计任务的分析,确定算法和思路n程序总体设计及其流程图程序总体设计及其流程图n编写源程序编写源程序n源程序的汇编与调试源程序的汇编与调试n编写源程序说明文件编写源程序说明文件程序设计概述n汇编语言程序设计方法汇编语言程序设计方法n汇编语言源程序的基本结构汇编语言源程序的基本结构n划分功能模块划分功能模块n自上而下逐步求精自上而下逐步求精应用程序设计技术功能性设计功能性设计 1 1运行结构设计:运行结构设计:n满足功能条件下,有简捷、

4、可靠运行路径满足功能条件下,有简捷、可靠运行路径n软件模块软件模块化化,任务划分相对独立的硬件环境,任务划分相对独立的硬件环境n划定边界条件:交换条件、数据类型、资源分划定边界条件:交换条件、数据类型、资源分配配 应用程序设计技术2 2任务单元设计:任务单元设计:n划分子程序:相对独立性、完整性、通用性。划分子程序:相对独立性、完整性、通用性。n占用公共资源最少占用公共资源最少n出入口规范清楚交接面简单、清晰、规范、操出入口规范清楚交接面简单、清晰、规范、操作类型尽量集中作类型尽量集中应用程序设计技术3 3可靠性设计:可靠性设计:n足够的时序余度,足够的容错设计。足够的时序余度,足够的容错设计

5、。n可靠性控制设计:系统安全、保护、可靠性控制设计:系统安全、保护、自检、修复。自检、修复。应用程序设计技术4 4运行管理设计:运行管理设计:1 1低功耗运行管理低功耗运行管理n休闲、掉电设置(休闲、掉电设置(80518051具备)具备)n双时钟:主时钟高速运行、子时钟双时钟:主时钟高速运行、子时钟低速运行可设置调整低速运行可设置调整n主时钟下分频管理:控制主时钟下分频管理:控制CPUCPU最佳最佳运行方式运行方式应用程序设计技术2 MCU2 MCU对外围电路管理对外围电路管理n可关断的外围端口控制可关断的外围端口控制n可编程外围器件的编程控制可编程外围器件的编程控制n外围辅助电路的时钟、供电

6、与电源管理外围辅助电路的时钟、供电与电源管理程序设计概述程序设计概述n全面了解硬件结构、指令系统、全面了解硬件结构、指令系统、功能要求以及有关算法。功能要求以及有关算法。n节省内存单元、缩短程序长度、节省内存单元、缩短程序长度、加快运行速度。加快运行速度。系统应用程序结构n键操作结构:键操作结构:人机交互式人机交互式n自主运行程序结构:自主运行程序结构:流水作业式流水作业式nRTOSRTOS任务管理嵌入结构:任务管理嵌入结构:( (多任务软件平台多任务软件平台) ) 1 1时间管理时间管理 2 2任务调度任务调度 3 3输入输入/ /出操作出操作 4 4任务间通信任务间通信 5 5任务的同步任

7、务的同步 6 6信息的调用管理信息的调用管理单片机系统应用程序一个重要的条件单片机系统应用程序一个重要的条件: 实时性实时性: 要求控制系统能在短时间作出相应处理地控要求控制系统能在短时间作出相应处理地控制信息制信息, 常用伪指令n标号赋值伪指令标号赋值伪指令n标号等值伪指令标号等值伪指令-EQUn定义标号值伪指令定义标号值伪指令-DLn数据存储说明伪指令数据存储说明伪指令n定义字节数据伪指令定义字节数据伪指令-DBn定义字数据伪指令定义字数据伪指令-DWn存储器说明伪指令存储器说明伪指令 -DSn程序起始地址伪指令程序起始地址伪指令-ORGn汇编结束伪指令汇编结束伪指令-END7.3 应用程

8、序设计与技巧应用程序设计与技巧7.3.1 MCS-51源程序的基本格式源程序的基本格式中断矢量地址在程序存储器的中断矢量地址在程序存储器的0003H-0032H区间区间而起始地址比须从而起始地址比须从0000H开始开始 复位后系统从复位后系统从0000H开始执行程序开始执行程序0000H-0002H单元放跳转指令单元放跳转指令 转入主程序段转入主程序段0000H 跳转指令跳转指令0002H 转主程序转主程序 0003H 中断矢量中断矢量0032H 地址表地址表0050H 主程序主程序 中断矢量地址表中断矢量地址表 每个中断服务程序地址空间只有每个中断服务程序地址空间只有8个单元个单元, 每个中

9、断矢量地址空间中安排跳转到中断服务程序指令每个中断矢量地址空间中安排跳转到中断服务程序指令0000H-0002H 0003H0032H中断矢量表中断矢量表跳转中断服跳转中断服务程序指令务程序指令0050HxxxxH主程序区主程序区中断服务中断服务程序区程序区转主程序转主程序单片机汇编源程序的基本格式单片机汇编源程序的基本格式ORG 0000HAJMP STARTORG 0003HLJMP INTIE0ORG 000BHLJMP INTTF0ORG 0050HSTART:MOV A, #00HMOV R1 , #7FHMOV R0, #00HL0:MOV R0,AINC R0DJNZ R1,LO

10、ORG 3000HA0:-ORG 3100HA1:-ORG 4500HINTIE0:-ORG 4800HINTTF0:-ORG 5500HLED:DB 01H,02H,03HDB 04H,05H,06HDB 07H,08H,09HEND主程序主程序中断矢量地址表中断矢量地址表子程序子程序中断服务程序中断服务程序中断服务程序中断服务程序常数表区常数表区起始起始ORG0000HAJMPSTARTORG0003HAJMP INDATADIS1 EQU 30HDIS2 EQU 31HDIS3 EQU 32HDIS4 EQU 33HAD_DATA EQU 34HADDR_AD EQU OO40HADDR

11、_273_1 EQU 0001HADDR_273_2EQU 0002HADDR_273_3 EQU 0003HADDR_273_4 EQU 0004HADDR_KEY_WR EQU 0005HADDR_KEY_RD EQU 0006HLABBIT7FHSTART: SETBEA;开中断SETBEX0;中断允许SETBIT0;触发方式CLRLAB;请标志位MOVA,#0FFHMOVDPTR,#ADDR_ADMOVXDPTR,A;启动ADJNBLAB,$;查询标志位SJMP$;等待INDATA: MOV DPTR,#ADDR_ADMOVA,#0FFHMOVXA,DPTR;读ADMOVAD_DATA

12、 ,A;保存ADSETBLAB;置标志位RETIAD中中断断服服务务程程序序主主程程序序设置设置RAM有关有关字节字节单元单元定义定义译码译码地址地址设置设置RAM有关有关 位位 单元单元AD转转换换启启动动电子工程设计电子工程设计-控温系统控温系统电子工程设计电子工程设计-控温系统控温系统:显示系统显示系统 D13Q12D24Q25D37Q36D48Q49D513Q512D614Q615D717Q716D818Q819CLK11CLR174LS273D13Q12D24Q25D37Q36D48Q49D513Q512D614Q615D717Q716D818Q819CLK11CLR174LS273

13、D13Q12D24Q25D37Q36D48Q49D513Q512D614Q615D717Q716D818Q819CLK11CLR174LS273D13Q12D24Q25D37Q36D48Q49D513Q512D614Q615D717Q716D818Q819CLK11CLR174LS273aaaabbbbccccddddeeeeffffggggdpdpdpdpD0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7第一位第二位第三位第四位+5CS33CS3474LS27374LS273CS31CS32D13Q12D24Q25

14、D37Q36D48Q49D513Q512D614Q615D717Q716D818Q819CLK11CLR11A121A241A361A482A1112A2132A3152A4171Y1181Y2161Y3141Y4122Y192Y272Y352Y431G12G19R1R2R3R4R5D0D1D2D3D4+5+5CS35CS3674LS27374LS2244L1L2L3L4电子工程设计电子工程设计-控温系统:控温系统:键盘管理键盘管理 ORG0000HAJMPSTARTORG0003HAJMP INDATADIS1 EQU 30HDIS2 EQU 31HDIS3 EQU 32HDIS4 EQU

15、33HAD_DATA EQU 34HADDR_AD EQU OO40HADDR_273_1 EQU 0001HADDR_273_2EQU 0002HADDR_273_3 EQU 0003HADDR_273_4 EQU 0004HADDR_KEY_WR EQU 0005HADDR_KEY_RD EQU 0006HLABBIT7FHSTART: SETBEA;开中断SETBEX0;中断允许SETBIT0;触发方式CLRLAB;请标志位MOVA,#0FFHMOVDPTR,#ADDR_ADMOVXDPTR,A;启动ADJNBLAB,$;查询标志位SJMP$;等待INDATA: MOV DPTR,#AD

16、DR_ADMOVA,#0FFHMOVXA,DPTR;读ADMOVAD_DATA ,A;保存ADSETBLAB;置标志位RETIAD中中断断服服务务程程序序主主程程序序设置设置RAM有关有关字节字节单元单元定义定义译码译码地址地址设置设置RAM有关有关 位位 单元单元AD转转换换启启动动电子工程设计电子工程设计-控温系统控温系统(AD数据采集)数据采集)VccREF20Vin(-)7lsbDB018DB117Vin(+)6DB216DB315DB414A-GND8DB513DB612msbDB711Vref/29INTR5CLK-R19CS1RD2CLK-IN4WR3VCCVCC电电子子工工程程

17、设设计:计:数数据据采采集集INT0程序设计基础和举例程序设计基础和举例 1) 拆字程序拆字程序: 将一个字节的两个将一个字节的两个BCD码十进制数拆开码十进制数拆开,并变成相并变成相应的应的ASCII码码,存入两个存入两个RAM单元中单元中.功能功能: 一个字节一个字节BCD码转成两字节码转成两字节ASCII码码 RAM: 30H存放存放BCD码码 31H存放高位转换值存放高位转换值 32H存放低位转换值存放低位转换值 ASCII码对应数字码对应数字0-9是是30-39, 所以只要加上所以只要加上#30H(0011,0000)既可既可00110011 MOV R0, #32H ;将将32H送

18、送R0 MOV R0, #00H ;32H单元清零单元清零 MOV A, 30H ;BCD码送码送A XCHD A, R0 ;将将低低4位位BCD送送32H(低四位互换)(低四位互换) ORL 32H, #30H ;将将#30H加入加入32H单元单元 SWAP A ;将高位将高位BCD调整到低位调整到低位 ORL A, #30H ;将将#30H加入加入A形成形成ASCII码码 MOV 31H, A ;将高位将高位BCD送送31H单元单元 例例2:多分支转换读取存储器的内容多分支转换读取存储器的内容 功能功能:根据入口条件转向几个分支根据入口条件转向几个分支 (R3)=(0,1,2,3) 入口条

19、件入口条件 : 0 内部内部RAM, 1 外部外部256个单元个单元, 2 外部外部64K, 3 外部外部4K (R0) 出口出口 RAM低低8位地址位地址 (R1) 出口出口 RAM高高8位地址位地址 (A)=0 1. 2 3内RAM 外RAM 外RAM 外RAM256 256 64K 4K键盘处理程序键盘处理程序键盘处理键盘处理 键号键号-A入口地址入口地址 A+DPTR键散键散转转 JMPA+DPTR键键位位1键键位位2键键位位3键键位位NN-JMP: MOV A , R3 ;入口条件入口条件MOV DPTR , #JMPTBL ;转移表首址转移表首址 MOVC A , A+DPTR ;

20、取变量取变量JMP A+DPTR ;变量加转移表首址变量加转移表首址 JMPTBL: DB MEM0 JMPTBL ;求转移长度求转移长度 DB MEM1 JMPTBL ;求转移长度求转移长度 DB MEM2 JMPTBL ;求转移长度求转移长度 DB MEM3 JMPTBL ;求转移长度求转移长度MEM0: MOV A ,R0 ;从内存从内存RAM读数读数256 RETMEM1: MOVX A , R0 ;从外部从外部RAM读数读数256 RET MEM2: MOV DPL , R0 MOV DPH , R1 MOVX A , DPTR ;从外部从外部64KRAM读数读数 RET MEM3:

21、 ;读取外部读取外部4kMOV A , R1 ;RAM高高8位地址送位地址送AANL A , #0FH ;屏蔽高屏蔽高4位位,剩下剩下A11-A8低低4位位ANL P2 , #F0H ;清除清除P2口低口低4位位ORL P2 , A ;(P2口口)+(A)=(P2+(R1低低4位位) P2MOVX A , R0 ;原原P2口高口高4位位 R1低低4位位 R0低低8位位RET 原原P2口高口高4位位 R1低低4位位 R0访问四个不同位置访问四个不同位置RAM空间空间:MOV A, R3 ; 输入变量输入变量 MOV DPTR , #JMPTBL ;形成转移表首址形成转移表首址MOVC A , A

22、+DPTR ;变量变量+首址送首址送AJMP A+DPTR ;完成目标地址的转移完成目标地址的转移查表程序查表程序 8051汇编语言中设计俩条查表指令汇编语言中设计俩条查表指令 MOVC A ,A+DPTR MOVC A, A+PC 例如例如: 将十六进制数转换成将十六进制数转换成ASCII码的子程序。十六进制数放在码的子程序。十六进制数放在R0低四位低四位,转换成转换成结果放回结果放回R0中。出口和入口都在中。出口和入口都在R0中。中。 ORG 2160H MOV A, R0 DB 30H, 31H, 32H ANL A, #0FH ;保留低四位保留低四位 DB 33H, 34H, 35H

23、ADD A, #02 ;变址调整变址调整 DB 36H, 37H, 38H MOVC A, A+PC ;查表查表 DB 39H, 41H, 42H MOV R0, A ; 保存结果保存结果 DB 43H, 44H, 45H, 46H RET 查表程序查表程序 (LED显示器)显示器) LED: MOV DPTR, #LEDA ;表首地址送数据指针表首地址送数据指针 MOVC A, A+DPTR ;查表查表 ;显示显示LEDLEDA:DB 40H,79H,24H,30H,19H 0 1 2 3 4 DB 12H,02H,78H,00H,18H 5 6 7 8 9例例3 循环结构:循环结构:1 D

24、JNZ Rn , rel 2 DJNZ direct , ret MOV 30H , #0FFH ; LOOP: NOP ; 一个机器周期一个机器周期 NOP ; 一个机器周期一个机器周期 DJNZ 30H , LOOP ; 两个机器周期两个机器周期 例例4:多重循环多重循环: MOV R3 , #0FFH ; LOOP1: MOV R2 , #0FFH ; LOOP2 : NOP ;一个机器周期一个机器周期 NOP ;一个机器周期一个机器周期 DJNZ R2 , LOOP2 ;两个机器周期两个机器周期 DJNZ R3 , LOOP1 ;两个机器周期两个机器周期多字节多字节Y值的查表值的查表键

25、盘键值查表键盘键值查表: 键值键值(0 1 2 3 4- 9)转换转换16位操作入口地址位操作入口地址键值键值 0 1 2 3 4 5 6 7 8 90123 0186 0234 0316 0415 0520 0626 0710 0818 0929入口地址入口地址 键值放键值放20H, 结果放结果放22H,23H单元单元MOV DPTR, #TAB ;指向表首高指向表首高8位地址位地址 MOV A , 20H ;取键值(取键值(09)RL A ;键值乘键值乘2作查表偏移量作查表偏移量MOV 20 , A ; 存偏移量存偏移量MOVC A , A+DPTR ;取高取高8位地址位地址MOV 22H

26、 , A ;存高存高8位地址位地址INC DPTR ;指向表首低指向表首低8位地址位地址 MOV A , 20H ;取偏移量取偏移量 MOVC A , A+DPTR ;取低取低8位地址位地址 MOV 23H, A ;存低存低8位地址位地址 RET程序中因程序中因Y值为双字节,所以键值乘以值为双字节,所以键值乘以2做为做为查表偏移量。当键值为查表偏移量。当键值为“3”时偏移量为时偏移量为“6”。因因A的值最大为的值最大为255,所以查表的表格长度不,所以查表的表格长度不能超过能超过256。如果超过时因改变数据指针。如果超过时因改变数据指针DPTR。TAB: DB 01,23H ; “0”键入口地

27、址键入口地址 DB 01,86H ; “1”键入口地址键入口地址 DB 02,34H ; “2”键入口地址键入口地址 DB 03,16H ; “3”键入口地址键入口地址 DB 04,15H ; “4”键入口地址键入口地址 DB 05,20H ; “5”键入口地址键入口地址 DB 06,26H ; “6”键入口地址键入口地址 DB 07,10H ; “7”键入口地址键入口地址 DB 08,18H ; “8”键入口地址键入口地址 DB 09,29H ; “9”键入口地址键入口地址试题 已知单片机系统时钟频率已知单片机系统时钟频率foscfosc=12MHZ, =12MHZ, 试编试编写用定时器写用

28、定时器1 1方式方式2 2 对对T1T1口的信号脉冲计数,口的信号脉冲计数,要求每计满要求每计满100100次将使次将使P1.7P1.7口输出一个口输出一个4us4us脉脉冲信号。并写出计算初值的过程。冲信号。并写出计算初值的过程。n一个机器周期一个机器周期tptp=12/12=12/12* *10106 6=1us =1us nx=100 x=100次次 (x(x补补)=2)=28 8-100=156=9CH-100=156=9CH程序设计程序设计 模拟量模拟量 数字量转换数字量转换 模拟量模拟量 转换转换 数字滤波数字滤波 加工加工 标度变换标度变换 显示显示 计算计算 数值计算数值计算

29、驱动驱动 报警报警 逻辑判断逻辑判断 机械运动机械运动 非线性补偿非线性补偿数字滤波数字滤波n干扰信号有两大类:干扰信号有两大类:1周期性周期性 2非周期性非周期性n数字滤波能有效抑制周期性干扰信号数字滤波能有效抑制周期性干扰信号n数字滤波是用程序实现,降低成本数字滤波是用程序实现,降低成本 稳定性好稳定性好n数字滤波可以对很低频率进行滤波数字滤波可以对很低频率进行滤波n数字滤波方法灵活,参数调整方便数字滤波方法灵活,参数调整方便数字滤波:数字滤波: RCRC阻容滤波对高频信号的抗干扰明显阻容滤波对高频信号的抗干扰明显, ,对低频对低频信号的干扰去除效果较差信号的干扰去除效果较差, ,但数字滤

30、波可以对很低但数字滤波可以对很低的频率干扰信号进行滤波的频率干扰信号进行滤波数字滤波优点数字滤波优点: : * *数字滤波稳定性好数字滤波稳定性好 * *参数便于修改参数便于修改 * *一种数字滤波程序可以被多个控制回路采用一种数字滤波程序可以被多个控制回路采用 * *不存在阻抗匹配问题不存在阻抗匹配问题 * *可以对可以对0.01HZ0.01HZ信号滤波信号滤波1程序判断滤波程序判断滤波2平滑滤波平滑滤波 A 数字算术平滑法数字算术平滑法 B数据平滑法数据平滑法 1)递推平均滤波法递推平均滤波法 2)加权移动平均滤波法加权移动平均滤波法 C防止脉冲干扰平均值防止脉冲干扰平均值3中值滤波法中值

31、滤波法4一阶滞后滤波法一阶滞后滤波法5复合滤波法复合滤波法6高通或带通滤波法高通或带通滤波法程序判断滤波根据物理变化规律适当选取两次采样之间根据物理变化规律适当选取两次采样之间的变化量(增量的变化量(增量Y Y)增量增量Y Y与采样值进行比较与采样值进行比较1程序判断滤波法程序判断滤波法: 滤除大的干扰信号滤除大的干扰信号 根据经验根据经验,确定出两次采样输入信号可能出现的最确定出两次采样输入信号可能出现的最大偏差大偏差 Y. 当出现当出现Y信号时应舍弃信号时应舍弃,当出现当出现Y信号时应视信号时应视为有用信号为有用信号. Y(K) Y(K-1) Y 则则 Y(K)=Y(K)取本次取本次 Y(

32、K) Y(K-1) Y 则则 Y(K)=Y(K-1)取上一次取上一次适用于变化缓慢的参数适用于变化缓慢的参数:温度温度 位置位置 大电流大电流 大电感大电感Y的取值:的取值: Y太大太大 则易使干扰信号串入。则易使干扰信号串入。 系统误差系统误差大大 Y太小太小 则有可能将真信号滤掉。跟踪不完则有可能将真信号滤掉。跟踪不完全全使用程序判断滤波器关键是选取使用程序判断滤波器关键是选取Y值值程序判断滤波程序判断滤波:流程图流程图将目有效值视为上次采样值将目有效值视为上次采样值暂存新值暂存新值新值减上一次值新值减上一次值求绝对值求绝对值差差0差超限差超限以上次值为准以上次值为准返回返回YNNYY(K

33、)Y(K)-Y(K-1) Y(K)-Y(K-1) Y Y(K)-Y(K-1) Y Y(K)-Y(K-1) Y(K)-Y(K-1) 0 程序: MOV 30H,31HACALL LOADMOV 31H,ACLRCSUBB A,30H 0= JNCT11CPLAINCA T11: ADDA,#XXHJNCT12MOV 31H,30H T12: RET;当前值送;当前值送30H; 调新值采样子程序,调新值采样子程序,新值送新值送A; 送新值送新值31H单元单元; 清标志清标志; 求两值偏差求两值偏差 ,结果存结果存A; 判差值判差值0否否? C=0转移转移; 新值求反新值求反; +1 求补码求补码

34、求绝对值求绝对值; 判超限否判超限否? XXH为限值反码为限值反码Y; 不超限不超限,本次采样值有效本次采样值有效; 超限超限,以上次以上次采样采样值为准值为准; 返回返回 有时需要增加新鲜采样值的比重有时需要增加新鲜采样值的比重,即在不同的即在不同的位置设置不同的新值。提高系统抗干扰能力。位置设置不同的新值。提高系统抗干扰能力。加权递推方法加权递推方法. 二.平滑滤波平滑滤波n滤波白噪音滤波白噪音:白噪音一个重要特性,即它的统计平均白噪音一个重要特性,即它的统计平均值为零。采用求平均值方法消除随机误差值为零。采用求平均值方法消除随机误差 算数平均值算数平均值 Y(K)=1/N X(i) 算数

35、递推平均滤波算数递推平均滤波:以第以第 i次采样时刻为基准。向前递推次采样时刻为基准。向前递推N个周期。计算机存储个周期。计算机存储N个周期的采样值,并累计采样个周期的采样值,并累计采样次数。求次数。求 累加和、求平均值,作为第累加和、求平均值,作为第i次的真实采样值次的真实采样值 N值取太大值取太大: 平滑度高,灵敏度低平滑度高,灵敏度低 N值取太小值取太小: 平滑度低,灵敏度高平滑度低,灵敏度高 流量流量N值取值取12次次 压力压力N值取值取4次次 针对脉冲干扰针对脉冲干扰,用算数平均值方法,去除干用算数平均值方法,去除干扰效果不好。扰效果不好。 算数平均值方法适用于周期性干扰场合算数平均

36、值方法适用于周期性干扰场合软件抗干扰软件抗干扰: 针对单片机汇编程序的抗干扰措施针对单片机汇编程序的抗干扰措施1)指令冗余指令冗余 :在对程序流向关键指令位置加上几:在对程序流向关键指令位置加上几条条NOP指令指令RET、RETI 、ACALL 、LCALL 、SJMP、AJMP JC、JNZ 、JZ、JNB。2)软件陷阱:用一段引导程序强行将跑飞程序引导软件陷阱:用一段引导程序强行将跑飞程序引导到一个指定地址到一个指定地址,执行出错处理程序。返回正常运执行出错处理程序。返回正常运行程序行程序:ERR:NOPNOPNOPLJMP ERRERR:软件陷阱出错:软件陷阱出错返回程序返回程序为了保证

37、跑飞程为了保证跑飞程序扑获效果加几序扑获效果加几条条NOP指令指令软件陷阱软件陷阱:一般安置在四个区域一般安置在四个区域1未使用的中断向量区未使用的中断向量区 : 0003H-002BH2未使用的未使用的ROM空间空间 : 添满添满NOP命令命令3表格区表格区 : 表格区最后安排陷阱表格区最后安排陷阱4程序区转移点后面:程序区转移点后面: LJMP SJMP AJMP RET RETIORG0000H0000 START:LJMPMAIN;转主程序;转主程序0003LJMPPGINT0;转;转INT00006NOP0007NOP0008LJMPERR;转软件陷阱;转软件陷阱000BLJMPPG

38、T0;转转T0000ENOP000FNOP0010LJMPERR;转软件陷阱;转软件陷阱0013LJMPERR;转软件陷阱;转软件陷阱0016NOP0017NOP0018LJMPERR;转软件陷阱;转软件陷阱001BLJMPPGT1;转转T1001ENOP001FNOP0020LJMPERR;转软件陷阱;转软件陷阱0023LJMPERR;转软件陷阱;转软件陷阱0026NOP0027NOP0028LJMPERR;转软件陷阱;转软件陷阱002BLJMPERR;转软件陷阱;转软件陷阱002ENOP002FNOP0030LJMPERR;转软件陷阱;转软件陷阱0050MAIN:-;主程序;主程序使用了三

39、个中断:使用了三个中断:INT0,T0,T1在未使用的中断矢量地址单元中安排陷阱软件在未使用的中断矢量地址单元中安排陷阱软件0000H-0002H单元为程序起始单元为程序起始0003H-0032H单元为单元为CJNEA , #DATA , LOOP1;数据比较数据比较AJMP LOOP;转向处理程序,断裂点转向处理程序,断裂点NOP;陷阱陷阱1NOPLJMPERR;引向陷阱处理;引向陷阱处理LOOP1:JCLOOP2;数据比较;数据比较AJMPLOOP3;数据比较,断裂点数据比较,断裂点NOP;陷阱陷阱2NOPLJMPERR;引向陷阱处理;引向陷阱处理LOOP2:-;数据处理;数据处理LOOP

40、3:MOVA , R3;保存数据;保存数据MOVdirect , aRET;返回,断裂点返回,断裂点NOP;陷阱陷阱3NOPLJMPERR;引向陷阱处理;引向陷阱处理陷阱陷阱在在断断裂裂点点处处加加陷陷阱阱处处理理抗干扰措施:n软件陷阱安排在正常程序执行不到的区域软件陷阱安排在正常程序执行不到的区域n看门狗看门狗-程序运行监视系统程序运行监视系统n复位复位 1硬件复位:返回起始地址硬件复位:返回起始地址 2软件复位:不能简单返回起始地址软件复位:不能简单返回起始地址0000H,还要考虑系统中的中断标志等的,还要考虑系统中的中断标志等的状态恢复。具体划分为:冷状态恢复。具体划分为:冷/热启动处理

41、热启动处理标度变换n线性变化公式: Y=(Ymax-Ymin)(X-Nmin)/(Nmax-Nmin)+YminY-测量值(工程值)Ymax-参数最大量程Ymin-参数最小量程 这一部分是已知Nmax-A/D最大转换值Nmin- A/D最小转换值X-测量值 (数字值)例题n电阻表:量程1-1000欧姆 Ymin=1欧姆 Nmin=0 (数字值) Ymax=1000欧姆 Nmax=1876(数字值)Y= (1000-1)/(1876-0) (X-0)+1 =(999/1876)X+1 =0.5325X+1标度变换(非线性变换)1公式算法:Y=(Ymax-Ymin) (X-Nmin)/(Nmax-Nmin)+Ymin2多项式变换:使用插值法,分段求出各自参数线性变换和非线性变换结合表度变换程序框图开始数据进栈Nmin和Nmax地址压栈计算(x-Nmin)/(Nmax-Nmin)结果开方吗Ymax Ymin 地址压栈调子程序 结果存A结束结果开方NY

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(单片机课件:8汇编讲义.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|