230 likes | 373 Views
学习情境 3. 监测参数超限报警实现. www.hunangy.com. 监测参数超限报警实现. 教学目标. 知识目标 1 基本指令; 2 常用子程序的设计。 3 报警程序设计。. 能力目标 1 报警程序的设计; 2 单片机报警电路的检测与调试。. 教学内容. 1. 单片机指令系统. 2. 程序的设计方法. 3. 子程序的设计. 4. 报警电路. 5. 报警子程序设计. 6. 报警电路的调试. 监测参数超限报警实现. 1 监测参数超限报警实现 2 多路开关状态指示. 实训教学. 1 单片机的指令系统 2 程序设计方法;.
E N D
学习情境 3 监测参数超限报警实现 www.hunangy.com
监测参数超限报警实现 教学目标 知识目标 1基本指令; 2常用子程序的设计。 3报警程序设计。 能力目标 1报警程序的设计; 2单片机报警电路的检测与调试。
教学内容 1 单片机指令系统 2 程序的设计方法 3 子程序的设计 4 报警电路 5 报警子程序设计 6 报警电路的调试
监测参数超限报警实现 1监测参数超限报警实现 2多路开关状态指示 实训教学 1单片机的指令系统 2程序设计方法; 教学重点 单片机指令系统 教学难点
1 4 2 5 3 6 校内课堂学习单片机的指令系统、程序设计方法; 校内课堂学习报警子程序的设计; 校内实训室学习多路开关状态指示电路的设计; 校内实训室设计配电变压器监测终端监测参数报警电路; 校内实训室学习报警电路的设计; 校内实训室调试配电变压器监测终端监测参数报警电路程序。 教学实施
教学特色 “教、学、做” 合一 教 学 教学方法 做
监测参数超限报警实现 教学过程 问题导入 对一个实际单片机控制系统,应能检测被控制对象的各参数,当这些参数超过极限值时,能发出报警信息。在配电变压器监测终端中当监测到变压器的油温过高、电流越限等异常工作情况时,发出报警信息。 任务描述 设计一单片机报警电路 任务分析 利用单片机中的一根I/O引脚读入参数,在程序中给该参数设置一极限值。当此参数超过设定的极限值时,单片机开发板发出报警信息。程序由汇编指令实现。
MCS-51系列单片机汇编指令概述 • 指令的表示形式 • 指令可以用汇编语言和机器语言两种形式表示。设计者编写、阅读和修改程序时,采用汇编语言格式。当计算机执行程序时,则采用机器语言形式。 • 指令的汇编语言形式是用助记符表示各条指令,用助记符编写的程序称为汇编语言程序(或称源程序)。 • 汇编 • 汇编语言编写的程序要转换成计算机能执行的机器码表示的程序,这种转换称为汇编。反之,称为反汇编。常用的汇编方法有两种:一是手工汇编,二是机器汇编。
MCS-51系列单片机汇编指令概述 • 汇编语言的语句格式 • 汇编语言的语句即所用指令的格式如下: • [标号:]操作码 [目的操作数] [,源操作数] [;注释] • 标号 标号是表示该指令位置的符号地址,标号后必须加“:”。 • 操作码 操作码表示指令所实现的操作功能,操作码助记符由表示指令操作功能的英文缩写组成。 • 操作数 操作数指出了参加操作的数据来源和操作结果存放的位置。 • 注释 注释是对语句的解释说明,必须以“;”为开始。 • 指令编码格式 • 指令编码格式即机器语言指令格式。指令按编码长短可以分为如下3种编码格式: • 单字节指令 • 双字节指令 • 三字节指令
MCS-51系列单片机汇编指令概述 • 为了便于学习和阅读指令,MCS-51的指令系统中,采用了以下符号: • Rn(n=1~7) :指当前选中的工作寄存器组R0~R7中之一。 • Ri(i=0~1) :指当前选中的工作寄存器组中能用作间址寄存器的R0、R1。 • # data :8位立即数。 • # data16 :16位立即数。 • direct :片内RAM单元(包括SFR)的直接地址。 • addr11 :11位目的地址。 • addr16 :16位目的地址。 • rel :补码形式表示的8位地址偏移量。以下一条指令第一字节地址为基址,地址偏移量范围为-128~+127。 • bit :片内 RAM 或SFR的直接寻址位地址。 • @ :间接寻址方式中,表示间址寄存器的符号。 • / :位操作指令中,表示对该位先求反再参与操作,但不影响该位原值。 • C :最高位进位或借位标志位或布尔处理器的累加器 • ((×)): 表示由×所指地址单元或寄存器中的内容。 • ((×)):表示以×所指地址单元或寄存器中的内容为地址的存储单元的内容。 • → :数据传送方向。
ROM 操作码 74H A 3AH 操作数 3AH 3AH MCS-51系列单片机汇编指令的寻址方式 • 1\立即寻址 • 在这种寻址方式中,操作数为立即数,即操作数直接出现在指令中。操作数为8位或16位数据,用符号“#”表示标识,以区别直接地址。 • MOV A, #3AH ; 3AH→A • 这条指令是把3AH这个数送入累加器A中。
ROM … E5H 70H … 内部RAM 操作码 … A 操作数 70H 3AH 3AH … MCS-51系列单片机汇编指令的寻址方式 • 2\直接寻址 • 直接寻址就是在指令中直接给出了操作数的地址。 • MOV A,70H ;(70H)→A • 这条指令把70H单元内容3AH送入累加器A中
ROM … R5 A 操作码 EDH 低三位 为101 61H 61H … MCS-51系列单片机汇编指令的寻址方式 • 3\寄存器寻址 • 寄存器寻址是指定某一可寻址的寄存器的内容为操作数。 • MOV A,R5 ;(R5)→A
内部RAM ROM … A … 3FH R1 3FH 操作码 E7H 最低位 为1 75H … 75H … MCS-51系列单片机汇编指令的寻址方式 • 4\寄存器间接寻址 • 寄存器间接寻址是把指令中指定的寄存器的内容作为操作数的地址。 • MOV A, @R1 ;((R1))→A
DPTR ROM 02F1H A … 0302H + 1AH 1AH A 11H … MCS-51系列单片机汇编指令的寻址方式 • 5\变址间接寻址 • 变址间接寻址是以某个寄存器的内容为基地址,然后在这个基地址的基础上加上地址偏移量形成真正的操作数地址。 • MOVC A, @A+PC ;((A)+(PC))→A • MOVC A, @A+DPTR ;((A)+(DPTR))→A
… ROM 0100H 40H 源地址 0101H 30H PC 0100H 0102H … +2 0132H 目的地址 +30H … PC 0132H MCS-51系列单片机汇编指令的寻址方式 • 6\相对寻址 • 相对寻址是将程序计数器PC的当前值(是指执行完这条相对转移指令后的下一条指令的地址)为基准,与指令中的偏移量相加,其结果作为指令的转移地址。指令给出的偏移量有正负号,它在指令中以补码形式给出,所转移的范围为-128~+127。 • JC rel • 这条指令表示若(C)=0,则不跳转,程序继续向下执行;若(C)=1,则以PC中的当前值为基地址,加上偏移量rel后所得到的结果为该转移指令的目的地址。 正向跳转时: rel=目的地址-源地址-2=地址差-2 反向跳转时,目的地址小于源地址,rel用负数的补码表示: rel=(目的地址-(源地址+2))补 =FFH-(源地址+2-目的地址)+1 =FEH-│地址差│
内部RAM … C (07H)=1 20H 1000 0000 1 … MCS-51系列单片机汇编指令的寻址方式 7\位寻址 位寻址是指对片内RAM的位寻址区和某些有位地址的特殊功能寄存器进行位操作时的寻址方式。例3-10 MOV C,07H CLR ACC.0 第一条指令功能是把内部RAM 20H单元的D7位(位地址为07H)的内容传到位累加器C中,第二条指令功能是将累加器A的D0位(位地址为E0H)清0。
指令系统 • 传送类指令是指令系统中最基本、使用最多的一类指令。数据传送一般功能是把源操作数传送到指令所指定的目的地址。指令执行后,源操作数不变,目的操作数为源操作数所代替。根据指令涉及的存储空间和功能特点,将传送类指令分为以下6类。 • 对内部RAM单元之间的数据传送指令 • 特殊功能寄存器的数据传送指令 • 外部RAM与累加器A之间的数据传送指令 • 程序存储器中数据送累加器A的指令 • 堆栈操作指令 • 数据交换指令
算术运算类指令 • 算术运算指令主要完成加、减、乘、除四则运算,以及加1、减1和十进制调整等。 • 逻辑运算与循环类指令 • 位操作类指令 • 控制转移类指令
伪指令 • 伪指令在汇编时并不产生机器码,不影响程序的执行,仅用来对汇编过程进行某种控制,所以称为伪指令。常用的伪指令有下列几种。 • ORG(起始伪指令) • ORG伪指令总是出现在每段源程序或数据块的开始。它指明此语句后面的程序或数据块的起始地址。其格式为: • ORG nn • DB(定义字节伪指令) • [标号:]DB X1,X2,…,Xn • DW(定义字伪指令) • [标号:]DW Y1,Y2,… , Yn • 其中Yi为双字节数。DW伪指令的功能与DB相似,其区别中于DB是定义字节,而DW是定义字。此伪指令主要用来定义地址。Yi存放时,其高8位放在低地址单元。 • EQU(数据字节赋值伪指令) • 标号 EQU n/nn • DS(空间定义伪指令) • [标号:]DS P • BIT(位地址符号定义伪指令) • 标号 BIT m • END(汇编结束命令) • [标号:] END [mm]
汇编语言程序设计的基本方法 • 分析题目 • 确定算法 • 程序结构的设计 • 编写源程序 • 汇编和调试
声响报警电路 声响报警常采用蜂鸣器。蜂鸣器内有振荡电路,能发出长声或短声。蜂鸣器的工作电压一般为直流5~15V,工作电流较小。图11-2所示是蜂鸣器经过三极管和光耦合器与MCS-51系列单片机I/O口线的连接电路。 图11-2 蜂呜器报警电路 程序清单如下: ORG 1000H MOV C, #1 LOOP: MOV P1.7, A LCALL DELAY MOV C, #0 SJMP LOOP DELAY: MOV 60H,#80H ;延时 子程序 DEL0: MOV 61H,#0FFH DJNZ 61H,$ DJNZ 60H,DEL0 RET
Thank You ! www.hunangy.com