任务三 活动三 制作电压监测报警器(课件)-《单片机应用技术一体化教程》同步教学(中国科学技术大学出版社)

2024-12-13
| 54页
| 156人阅读
| 12人下载
普通

内容正文:

任务三 设计与制作电压监测报警器 任务描述 在实际生产中,电压波动会导致电器工作异常并烧毁,因而时刻检测电压并发出警告非常必要。电压监测报警系统可以对交流电路进行实时采样,一旦电压高于或低于设定的正常阈值,系统就会触发报警动作,提醒人们做出相应措施。本章我们就使用单片机作为控制器,设计一个电压监测报警系统。 2 学习内容 2 3 1 数码管类型、内部结构、驱动方式以及 动态显示原理 TLC0831 A/D转换器的应用 蜂鸣器的使用 单片机定时器的应用 4 学习内容 6 7 5 伪指令DB、除法指令DIV、加法指令 ADD 查表指令MOVC 中断的概念及应用 比较转移指令CJNE、位条件转移指令JC、 进栈指令PUSH、出栈指令POP 逻辑“与”指令ANL、空指令NOP 8 活动三 制作电压监测报警器 学习目标 学习过程 知识天地 活动评价 学习目标 能够检查和排除电路存在的故障。 根据电路原理图,能够正确列出元件清单、 筛选和检测元器件。 可以按照电子产品规程完成监测报警器的制作。 学习过程 一、制作电压监测报警器 根据方案和图3-2-1所示电路原理图列出材料清单; 主要元器件识别与检测; 参照图3-2-1与图3-1-1所示,焊接电压监测控制电路。 二、检查电路 检查电路是否存在虚焊、短路等故障,并记录制作过程中所遇到的问题及解决方法。 活动评价 表3-3-2 学习活动评价表 完成 时间   学习 活动 评分标准 所占分数 考核情况 制作电压监测报警器 1.为完成本次活动是否做好课前准备(充分10分,一般5分,没有准备0分) 2.本次活动完成情况(好10分,一般6分,不好3分) 3.完成任务是否积极主动(积极10分,不积极但有收获2分) 30 自我评价:     学生签名:   1.准时参加各项任务(5分) 2.积极参与本次任务的讨论(10分) 3.为本次任务的完成提出好的方法(10分) 4.团结、协作能力强(5分) 5.能准确说出设计流程(10分) 40 小组评价:     组长签名:   1.电路制作正确(10分) 2.在规定时间内完成(5分) 3.遵守操作规程(10分) 4.工作台及场地整洁干净(5分) 30 教师评价:     教师签名:   活动四 编写与调试电压监测报警器程序 学习目标 学习过程 知识天地 活动评价 学习目标 掌握单片机中定时器、中断的概念,并能够在电压监测报警器控制程序中应用。 根据不同类型数码管,能够写出对应显示程序。 按照TLC0831 A/D转换器的时序,写出驱动程序。 掌握一系列指令的格式及所表示的意义,并能够在控制程序中应用。 学习过程 一、在Proteus中仿真单个LED数码管 为了理解LED数码管的显示原理,我们首先在Proteus软件中仿真单个LED数码管。使其显示数字“0~9”,电路原理图如图3-4-1所示。 图3-4-1 单位数码管显示电路原理图 学习过程 图3-4-2 单位数码管显示 程序流程图 结合电路原理图绘制程序流程图,如图3-4-2所示。 并结合程序流程图在Keil C软件环境中编写程序并调试。 学习过程 二、在Proteus中仿真双位共阳数码管 在Proteus软件中仿真双位共阳数码管显示“28”,其电路原理图如图所示。 图3-4-3 双位共阳数码管显示电路原理图 学习过程 编程思路如下: 设置定时器 拆数字 找字形代码 送字形码 选通数码管 学习过程 三、编写电压监测报警器控制程序 电压监测报警器程序流程图,如图3-4-4所示。 图3-4-4 主程序流程图 15 知识天地 一、单片机指令 (一)学习过程一相关指令 1.查表指令MOVC 指令 操作数1 操作数2 注释 MOVC A @A+PC “PC”为16位的程序计数器 A @A+DPTR “DPTR”为16位的数据指针寄存器亦称为基址寄存器,“A”称为变址寄存器。该条指令的结果是: ((A+DPTR))→A;(A+DPTR)为ROM的地址 MOVC被称为查表指令,所查的数据在程序存储器中,源操作数的寻址方式属于变址寻址。 表3-4-1 查表指令格式 知识天地 例如:如何通过查表指令MOVC获得表TAB中的数据“05H”? TAB:DB 00H,05H,08H ; 数据表 解: 第一步:将表的首地址存入DPTR中,即MOV DPTR,TAB; 第二步:将表TAB中数据“05H”的偏移地址存入A,即MOV A,#1(第一个数据的偏移地址为0,第二个数据的偏移地址为1,如此类推); 第三步:从表中取出数据即MOVC A,@A+DPTR(CPU执行指令后(A)=05H)。 知识天地 2.加1、减1指令 指令 操作数 备注 指令 操作数 备注 INC A (A)+1→(A) DEC A (A)-1→(A) Rn (Rn)+1→(Rn) Rn (Rn)-1→(Rn) direct (direct)+1→(direct) Direct (direct)-1→(direct) @Ri ((Ri))+1→((Ri)) @Ri ((Ri))-1→((Ri)) DPTR (DPTR)+1→(DPTR)     表3-4-2 加、减1指令格式 例如: MOV R3,#10 ;(R3)=10 加1: INC R3 ;CPU执行这条指令后,(R3)=11 减1: DEC R3 ;CPU执行这条指令后,(R3)=9 知识天地 3.伪指令DB DB的作用是定义后面的数据连续放在程序存储器(ROM)中,并且每个数据占用一个字节。格式如下: 标号:DB 数据1,数据2…… 知识天地 (二)学习过程二相关指令 1.加法指令ADD 指令 操作数1 操作数2 注 释 ADD A #data “data”为8位常数,(A)=01H,如:ADD A,#30H ;(A)=31H ADD A direct “direct”为8位RAM的单元地址,累加器加直接寻址单元 ADD A Rn “Rn”为工作寄存器组的(R0-R7),累加器加寄存器 ADD A @Ri “Ri”(i=0或1),累加器加内部RAM单元,如:ADD A,@R0 ADDC A #data 累加器加立即数和进位标志 ADDC A direct 累加器加直接寻址单元和进位标志 ADDC A Rn 累加器加寄存器和进位标志 ADDC A @Ri 累加器加内部RAM单元和进位标志 表3-4-3 加法指令ADD的格式 知识天地 2.除法指令DIV 指令 操作数 注释 DIV AB 被除数存入累加器“A”,除数存入寄存器“B” 如:15除以2 1.将被除数存入累加器“A”:MOV A,#15 2.将除数存入寄存器“B” :MOV B,#2 3.计算结果 :DIV AB ;商存入A中,(A)=7,余数存入B中(B)=1 表3-4-4 除法指令DIV的格式 知识天地 3.比较指令CJNE 指令 目的操作数 源操作数 标号 注释 CJNE A #data rel (A)和data比较,如果(A)=data,则顺序执行;否则转移。如果(A)﹤data,则Cy=1,否则Cy=0 CJNE A direct rel (A)和(direct)比较,如果(A)=(direct),则顺序执行;否则转移。如果(A)﹤(direct),则Cy=1,否则Cy=0 CJNE Rn #data rel (Rn)和data比较,如果(Rn)=data,则顺序执行;否则转移。如果(Rn)﹤data,则Cy=1,否则Cy=0 CJNE @Ri #data rel ((@Ri))和data比较,如果((@Ri))=data,则顺序执行;否则转移。如果((@Ri))﹤data,则Cy=1,否则Cy=0 表3-4-5 比较指令CJNE的格式 知识天地 4.进出栈指令PUSH、POP 指令 操作数 备 注 指令 操作数 备 注 PUSH direct PUSH ACC POP direct POP ACC PUSH、POP的指令格式如表所示: 例如: MOV SP,#50H PUSH ACC ;累加器内容入栈保护,(SP)+1→(51H)=(A) PUSH PSW …… POP PSW POP ACC ;先进后出原则 知识天地 5.中断服务程序返回指令RETI 6.等值伪指令EQU 注意区分中断服务程序返回指令RETI和子程序返回指令RET,前者多了一个字母I,而后者则无。 伪指令EQU的作用是将一个数值或汇编符号赋予规定的一个字符名称,方便识记。 知识天地 (三)学习过程三相关指令 1.逻辑与指令ANL 指令 操作数1 操作数2 注 释 ANL A #data A与data按位“与” ANL A direct A与直接地址中的数据按位“与” ANL A Rn A与Rn按位“与” ANL A @Ri A与RAM中的数据按位“与” ANL direct #data 直接地址中的数据与data按位“与” ANL direct A 直接地址中的数据与A按位“与” 表3-4-7 逻辑与指令ANL的格式 知识天地 2.空指令NOP 空指令NOP只占用一个指令的执行时间,没有其他动作,常用于延时。 3.循环左/右移指令 (1)循环左移指令RL 指令格式为:RL A,指令执行过程如图3-4-5所示。 图3-4-5 循环左移指令示意图 知识天地 (2)带进位位的循环左移指令RLC 指令格式为:RLC A,指令执行过程如图3-4-6所示。 图3-4-6 带进位位的循环左移指令示意图 (3)循环右移指令RR 指令格式为:RR A,指令执行过程如图3-4-7所示。 图3-4-7 循环右移指令示意图 知识天地 4.Cy位条件转移指令 根据Cy内容是否为0进行转移的指令有JC和JNC两条,指令格式如表3-4-8所示。 指令 操作数 注 释 JC rel 如果(Cy)=1,则转移到rel,否则顺序执行 JNC rel 如果(Cy)=0,则转移到rel,否则顺序执行 表3-4-8 Cy位条件转移指令 知识天地 二、单片机中的定时/计数器 51系列单片机中设有两个位定时/计数器T0和T1,STC单片机内部集成了3个16位定时/计数器T0、T1、T2,他们都具有计数和定时的功能。这里我们主要学习T0和T1的使用,其结构如图3-4-9所示。 图3-4-9 定时/计数器结构图 知识天地 (1)模式控制寄存器TMOD 模式控制寄存器TMOD主要用来确定定时/计数器的工作方式和功能,其位名称以及功能如表所示。 TMOD只能按字节形式操作,不能进行位寻址。TMOD的低4位为T0的方式字段,高4位为T1的方式字段,它们的含义是完全相同。下面分别介绍这四位的功能: 知识天地 M1、M0:T0/T1的工作方式选择位,其对应关系如表所示。 M1 M2 工作方式 功能说明 最大计数值 0 0 方式0 13位定时/计数器工作方式 8192 0 1 方式1 16位定时/计数器工作方式 65536 1 0 方式2 自动再装入的8位定时/计数器工作方式 256 1 1 方式3 T0分为两个8位定时/计数器,T1停止计数 256 C/ :定时器或计数器方式选择位。当该位为0时,选择定时器方式;当该位为1时,选择计数器方式。 GATE:门控位,若GATE=0时,使用软件方法将TCON中的TR1置“1”,就可以启动定时/计数器工作;若GATE=1时,除需将TCON中的TR1置“1”外,还需外部引脚INT1为高电平时,才能启动定时/计数器。 知识天地 (2)控制寄存器TCON 定时器控制寄存器TCON主要用来控制T0、T1的启动、停止以及溢出标志位的设置。定时/计数器控制寄存器TCON的格式,如表所示: 位 D7 D6 D5 D4 D3 D2 D1 D0 功能 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TCON的高4位存放定时/计数器T0、T1的运行控制位和计数溢出标志位,低4位存放外部中断的触发方式控制位和锁存外部中断的请求标志位。 知识天地 TF1/TF0:定时器1溢出标志位。当定时器T1/T0计满溢出时,由硬件使TF1/ TF0置“1”,并且申请中断。进入中断服务程序后,由硬件自动清“0”,在查询方式下用软件清“0”。 TR1/TR0:定时器T1/T0运行控制位。由软件清“0”或置“1”可关闭或启动定时器T1/T0。 知识天地 (3)T0/T1的工作方式 方式0 当M1M0=00时,T0采用方式0工作,如图3-4-10所示,此时T0是一个由TL0的低5位和TH0的8位构成的13位计数器。 13位计数器的最大计数值为213=8192,若振荡器的时钟频率fosc=12MHz时,机器周期为1μs,方式0最大的定时时间为8192μs。 知识天地 方式1 当M1M0=01时,T0采用方式1工作,如图3-4-11所示,此时T0是TL0和TH0构成16位的定时/计数器,最大计数值为 216 = 65536,其他特性和方式0相似。 图3-4-11 方式1 知识天地 方式2 当M1M0=10时,T0采用方式2工作,如图3-4-12所示,此时T0是一个8位自动重装定时/计数器,低8位TL0用作计数(最大计数值为28=256),高8位TH0用于保存计数初值。若TL0计数已满发生溢出,TF0置“1”的同时,TH0中的初值将自动装入TL0。 图3-4-12 方式2 知识天地 方式3 当M1M0=11时,T0采用方式3工作,如图所示,在这种工作方式下,T0被拆成两个独立的定时/计数器来用。其中,TL0使用T0原有的资源,可以作为8位定时/计数器;TH0使用T1的TR1和TF1,只能对内部脉冲计数,作为定时器使用。方式3只适用于定时/计数器T0,若将T1设置为方式3,则T1将停止计数。 图3-4-13 方式3 知识天地 (4)定时/计数器初始化步骤 初始化的一般步骤如下: 根据实际任务确定工作方式、操作模式以及启动控制方式,然后将控制字写入TMOD寄存器。 根据工作要求计算出预置定时/计数器的初值,并将计数初值写入相应的计数器。 根据需要确定是否采用中断方式,并设置中断允许控制寄存器IE中的相关位。 根据前面设定的启动控制模式启动定时/计数器的工作。 知识天地 (5)预置初值的计算 T0/T1定时或计数初始值的计算如表示(fosc为单片机的晶振频率)。 M1 M2 工作方式 装入初始值 定时时间T(S) 最大计数值 0 0 方式0 8192-待计数值 待计数值×12/fosc 8192 0 1 方式1 65536-待计数值 待计数值×12/fosc 65536 1 0 方式2 256-待计数值 待计数值×12/fosc 256 1 1 方式3 256-待计数值 待计数值×12/fosc 256 表3-4-12 T0/T1定时或计数初始值的计算 知识天地 三、单片机中的中断 单片机的中断是指在正常执行某一程序过程中,由于内部或外部的突发事件,CPU暂停执行此程序而转去处理突发事件(即执行突发事件的中断服务程序),事件处理结束后返回主程序断点处(被中断的下一条指令)继续执行。 图3-4-14 中断处理过程示意图 知识天地 在中断系统中,对中断断点的保护是CPU在响应中断时自动完成的,中断服务完成时执行中断返回指令而得到恢复;对于中断断点处其他数据的保护与恢复是通过在中断服务程序中采用堆栈操作指令PUSH及POP来实现,这种操作通常称为保护现场与恢复现场。 采用中断技术可以提高单片机的性能,主要表现在以下方面: 实现分时操作。 实现实时处理。 进行故障处理。 知识天地 (一)中断请求源 向CPU发出中断请求的信号称为中断源。51系列单片机中有5个中断源,其中2个外部中断源,3个内部中断源: INT0:外部中断,由引脚P3.2引入中断请求。 INT1:外部中断,由引脚P3.3引入中断请求。 定时计数器T0:内部中断,定时计数器0溢出时发出中断请求。 定时计数器T1:内部中断,定时计数器1溢出时发出中断请求。 串行口中断:内部中断,包括串行接收中断RI和串行发送中断TI。 知识天地 (二)中断系统结构 图3-4-15 51单片机中断结构 知识天地 由图3-4-15可以看出,中断系统中涉及TCON、SCON、IE以及IP四个特殊功能寄存器,它们主要有以下功能: 锁存中断请求标志:TCON和SCON锁存各中断源的中断请求标志位。 中断允许寄存器IE:控制CPU是否响应中断源的请求。 中断优先级寄存器IP:设置各中断源的优先级,每个中断源可编程为高优先级中断或低优先级中断。 知识天地 (三)TCON中的中断标志位 TCON的字节地址为88H,可进行位寻址,其具体的结构、位名称、位地址以及功能如表3-4-14所示。 TCON D7 D6 D5 D4 D3 D2 D1 D0 位名称 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 功能 用于定时/计数器 用于中断 IT0(D0位):外部中断INT0的触发方式控制位,由软件进行置“1”和清“0”。 IE0(D1位):外部中断INT0的请求标志位。 知识天地 IT1(D2位)和IE1(D3位):外部中断INT1的触发方式控制位和请求标志位,其含义与IT0和IE0相同。 TR0(D4位):定时计数器T0的启动停止标志位,由用户编程确定。TR0=1时,定时器开始计数(即从设定的初值作加1计数);TR0=0时,定时器停止。 TF0(D5位):定时计数器T0的中断溢出标志位。定时器作加1计数,当最高位产生进位时,定时器计数溢出,此时,由硬件置位TF0=1,CPU响应中断后,由硬件清“0”,TF0=0。 TR1(D6位)和TF1(D7位):定时计数器T1的启动停止标志位和中断溢出标志位,其含义与TR0和TF0相同。 知识天地 (四)SCON中的中断标志位 SCON的字节地址为98H,可进行位寻址,其具体的结构、位名称、位地址以及功能如表3-4-15所示。 SCON D7 D6 D5 D4 D3 D2 D1 D0 位名称 SM0 SM1 SM2 REN TB8 RB8 TI RI 位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 功能 用于串行通信 控制串行口中断 RI:串行口接收中断标志位,当串行口接收到一帧数据时,RI置1,CPU响应中断后,硬件不能自动清除RI,需要由软件清“0”。 TI:串行口发送中断标志位,当串行口发送一帧数据时,T1置1,CPU响应中断后,硬件不能自动清除RI,同样需要由软件清“0”。 知识天地 (五)中断允许控制寄存器IE IE控制所有中断源的开放和屏蔽,字节地址为A8H,可进行位寻址,其具体的结构、位名称、位地址以及控制的相应中断源如表3-4-16所示。 IE D7 D6 D5 D4 D3 D2 D1 D0 位名称 EA — — ES ET1 EX1 ET0 EX0 位地址 AFH AEH ADH ACH ABH AAH A9H A8H 中断源 CPU — — 串行口 T1 INT1 T0 INT0 表3-4-16 IE的结构、位名称、位地址以及功能 知识天地 EX0:外部中断INT0的中断允许控制位。EX0=1时,INT0开中 断; EX0=0时,INT0关中断。 ET0:定时计数器T0中断允许控制位。ET0=1时,T0开中断;ET0=0时,T0关中断。 EX1:外部中断INT1的中断允许控制位。EX1=1时,INT1开中断;EX1=0时,INT1关中断。 ET1:定时计数器T1中断允许控制位。ET0=1时,T1开中断;ET0=0时,T1关中断。 ES:串行口中断允许控制位。ES=1时,串行口开中断;ES=0时,串行口关中断。 EA:CPU中断允许控制位。EA=1时,CPU全部开中断;EA=0时,CPU全部关中断。 知识天地 (六)中断优先级控制寄存器IP 51单片机中有两个中断优先级,中断优先级控制寄存器IP用来定义每个中断源的中断优先级。IP的状态由用户来设定,某位为1,则相应的中断源处于高优先级中断;某位为0,则相应的中断源处于低优先级中断。 IP D7 D6 D5 D4 D3 D2 D1 D0 位名称 — — — PS PT1 PX1 PT0 PX0 位地址 BFH BEH BDH BCH BBH BAH B9H B8H 中断源 — — — 串行口 T1 INT1 T0 INT0 表3-4-17 IP的结构、位名称、位地址以及功能 知识天地 四、A/D转换器基本知识 A/D转换器的主要性能指标如下: 分辩率:是指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2n的比值。分辩率又称精度,通常以数字信号的位数来表示。 转换速率:是指完成一次从模拟转换到数字的AD转换所需的时间的倒数。 量化误差:是指由于AD的有限分辩率而引起的误差,即有限分辩率AD的阶梯状转移特性曲线与无限分辩率AD的转移特性曲线(直线)之间的最大偏差。通常是1个或半个最小数字量的模拟变化量,表示为1LSB、1/2LSB。 偏移误差:是指输入信号为零时输出信号不为零的值,可外接电位器调至最小。 满刻度误差:是指满度输出时对应的输入信号与理想输入信号值之差。 知识天地 TLC0831 A/D转换器的时序如图所示: 读取AD转换值过程如下: 在转换的过程中,必须保持为低电平,转换数据的最高位(D7位)从第2个脉冲下降沿开始输出,第3个脉冲下降沿输出(D6位),如此类推,连续输入10个脉冲完成一次转换,转换结束后应把拉高,为下一次输出作准备。 活动评价 表3-4-18 学习活动评价表 完成 时间   学习 活动 评分标准 所占分数 考核情况 编写与调试电压监测报警器程序 1.为完成本次活动是否做好课前准备(充分10分,一般5分,没有准备0分) 2.本次活动完成情况(好10分,一般6分,不好3分) 3.完成任务是否积极主动(积极10分,不积极但有收获 2分) 30 自我评价:     学生签名:   1.准时参加各项任务(5分) 2.积极参与本次任务的讨论(10分) 3.为本次任务的完成提出较好的见解(10分) 4.团队意识强(5分) 5.能准确说出设计流程(10分) 40 小组评价:     组长签名:   1.能编写各接口程序并在硬件中调试程序(10分) 2.软件操作熟练(5分) 3.熟悉指令(10分) 4.工作台整洁符合要求(5分) 30 教师评价:     教师签名:   Thank You! $$

资源预览图

任务三 活动三  制作电压监测报警器(课件)-《单片机应用技术一体化教程》同步教学(中国科学技术大学出版社)
1
任务三 活动三  制作电压监测报警器(课件)-《单片机应用技术一体化教程》同步教学(中国科学技术大学出版社)
2
任务三 活动三  制作电压监测报警器(课件)-《单片机应用技术一体化教程》同步教学(中国科学技术大学出版社)
3
任务三 活动三  制作电压监测报警器(课件)-《单片机应用技术一体化教程》同步教学(中国科学技术大学出版社)
4
任务三 活动三  制作电压监测报警器(课件)-《单片机应用技术一体化教程》同步教学(中国科学技术大学出版社)
5
任务三 活动三  制作电压监测报警器(课件)-《单片机应用技术一体化教程》同步教学(中国科学技术大学出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。