收藏 分享(赏)

计算机在热加工中的应用-第4章4[1].4单片机IO端口与应用实例.ppt

上传人:kpmy5893 文档编号:4842278 上传时间:2019-01-16 格式:PPT 页数:42 大小:484.50KB
下载 相关 举报
计算机在热加工中的应用-第4章4[1].4单片机IO端口与应用实例.ppt_第1页
第1页 / 共42页
计算机在热加工中的应用-第4章4[1].4单片机IO端口与应用实例.ppt_第2页
第2页 / 共42页
计算机在热加工中的应用-第4章4[1].4单片机IO端口与应用实例.ppt_第3页
第3页 / 共42页
计算机在热加工中的应用-第4章4[1].4单片机IO端口与应用实例.ppt_第4页
第4页 / 共42页
计算机在热加工中的应用-第4章4[1].4单片机IO端口与应用实例.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、本章要点 1.了解数制及转换,门电路知识 2.了解AT89S51单片机系统结构,组成原理,搭建简单系统。 3. 掌握 AT89S51单片机基本指令系统,编写简单应用程序。,第4章 单片机系统,第4章目录,4.1 单片机基础知识 4.2 单片机基本组成与工作原理 4.3单片机汇编语言及内部RAM操作指令 4.4单片机IO端口与应用实例 4.5单片机指令与汇编语言程序设计,4.4.2、单片机完整应用系统实例,4.4.1、I/O结构与工作原理,目录,第4.4节 单片机I/O接口及应用实例,本节要点 1.掌握I/O口应用方法及操作指令 2.掌握完整汇编程序编写规范,延时程序设计 3.掌握几个常用指令,

2、如跳转,返回,调用子程序指令,3课时,最小硬件系统,使用片内ROM, RAM,封闭系统,对外没有联系。 对外联系可用并行口,串行口。 P0,P1,P2,P3即为4个并行口。,一、P0口 (I/O口,外部RAM数据及外部寻址低8位),作为I/O使用时:CPU有关指令执行产生的时序信号使这时的“控制”为0,电子开关接通B端,“地址/数据”信号与后面的电路联系被切断,同时使与门输出0,V1截止,使输出级为开漏输出电路。,1、作为输出口 此时输出级是开漏状态,所以要外接上拉电阻。1)输出0“0”在写锁存器信号作用下,输出到Q,Q输出 “1”,使V2导通,在引脚上输出0(低电平)。2)输出1“1”在写锁

3、存器信号作用下,输出到Q,Q输出 “0”,使V2截至,在引脚上输出1(高电平)。 2、作为输入口 作为输入口使用时,V2必须截至,外信号才能加到引脚上。当向锁存器写入“1”时,V2截止,在做输入操作之前先向锁存器写入“1”,引脚上的信号在“读引脚”信号作用下读入单片机内部。 3、读修改写 “读修改写”操作是对I/O的逻辑运算操作,该类指令操作时,CPU时序使“读锁存器”信号有效,将锁存器的状态读入单片机内部,与指令中的操作数进行逻辑运算,再将运算结果写入锁存器,在引脚上输出。P0口的负载能力:8个LSTTL门电路。,二、P1口 (单功能IO口),作为I/O使用时:和P0口有类似的功能。 与P0

4、口的区别:1、P1口内部有上拉电阻,在作为输出口使用时不需接上拉电阻。2、P1口的驱动能力是4个LSTTL门电路。,三、P2口(I/O,外部地址高8位),1、作为I/O使用时:CPU有关指令执行产生的时序信号使这时的“控制”为0,电子开关接通B端,“地址”信号与后面的电路联系被切断。 2、作为I/O口使用时:P2口性能与P1口相同。,四、P3口 (I/O口,及第2功能),1、作为I/O口使用时,P3口的性能与P1口相同。2、P3口的第二功能。1)第二功能输出需向该位的锁存器写入“1”,使与非门的输出只受“第二功能输出”控制,第二功能输出信号通过与非门和输出级电路到该位的引脚上; 2)P3口的某

5、位作为第二功能输入使用时,该位的锁存器和“第二功能输出”端会自行置“1”,V截止,该位引脚上的信号通过缓冲器送入“第二功能输入”,P3口的第二功能:P3.0RXD:串行口输入端;P3.1TXD:串行口输出端;P3.2INT0:外部中断0中断请求信号输入端;P3.3INT1:外部中断1中断请求信号输入端;P3.4T0:定时/计数器0外部信号输入端;P3.5T1:定时/计数器1外部信号输入端;P3.6WR:外RAM写选通信号输出端;P3.7RD:外RAM读选通信号输出端;,五、I/O口的操作,I/O口的操作指令 :内部RAM操作指令,直接寻址。 操作的方式有两种:8位整体操作和位操作。以P1口为例

6、 输出操作: MOV P1,#55H ;将55H立即数从P1口输出 MOV P1,A ;将累加器A中的内容从P1口输出 SETB P1.0 ;在P1.0引脚输出高电平 CLR P1.1 ;在P1.1引脚输出低电平,使用读改写指令改变输出数据 ANL P1 ,#10ORL P1 ,AINC P1,输入操作: MOV P1,#0FFH ;向P1口的8位锁存器都写入“1” MOV A,P1;将P1口8个引脚上的信号送入累加器AMOV P1,#0FFH ;向P1口的8位锁存器都写入“1” MOV R0,P1 ;将P1口8个引脚上的信号送入R0中SETB P1.0 ;向P1.0的锁存器写入“1” MOV

7、 C,P1.0 ;将P1.0引脚的信号读到Cy中,输入数据参与运算、判断 ANL A,P1XRL A,P1ADD A,P1JNB P1.2 ,relJBC P1.3 ,rel,发光二极管工作参数:电压 1.8V 电流 410mA,限流电阻计算公式: R =(5-1.8) / I 320 800 ,例1 :点亮一个发光二极管,例1:点亮一个发光管,1、搭建硬件系统,分配资源 2、写程序,编译程序 3、仿真及烧程序 LAB2000试验箱及伟福编程仿真调试环境。 如图硬件,系统上电后,灯亮还是息灭的? CLR P1.5 MOV P1, 1101111B,例2并行接口驱动继电器控制灯,现代自动控制设备

8、中,都存在一个电子电路与电气电路的互相连接问题,一要控制,还要隔离,继电器完成此功能。 2-3常开触点 2-1常闭触点。 上电时灯亮吗?,SETB P1.0 灯亮CLR P1.0 灯灭,例3 如图,由开关K0K3控制L0L3,开关闭合,对应灯亮,试编程实现该功能。 解 分析:开关闭合,相应输入为0,而当输出为0时,指示灯亮,即只要将P1.0P1.3的状态传递给P1.4P1.7即可。,用位操作指令实现该功能,程序如下:ORL P1 ,#0FHMOV C,P1.0MOV P1.4 ,CMOV C,P1.1MOV P1.5 ,CMOV C,P1.2MOV P1.6 ,CMOV C,P1.3MOV P

9、1.7 ,CRET,+5V,可以了吗?,也可以用字节指令,程序如下:ORL P1 ,#0FH ;将要输入的低位置1,同时不改变高位状态MOV A,P1SWAP A ORL A,#0FHMOV P1,ARET,例4并行接口驱动喇叭发声,图所示为一报警装置,当盗贼闯断由P1.7引脚引出的接地细线时,由P1.0驱动喇叭发出频率为1000Hz 的“哔哔”报警声。设晶振频率为12MHz。,CON:SETB P1.7 MOV C,P1.7JNC CON ;判断P1.7是否为1WARN:ACALL DELAY ;是1发出报警CPL P1.0 SJMP WARN,解分析:由图可知P1.7引线被撞断后,P1.0

10、引脚为高电平1。1000Hz频率的方波周期为0.001秒,高、低电平持续时间各为0.5ms,应使用0.5ms的延时程序。程序如下:ORG 0100HCON:SETB P1.7 MOV C,P1.7JNC CON ;判断P1.7是否为1WARN:ACALL DELAY ;是1发出报警CPL P1.0 SJMP WARN DELAY:MOV R7,#0FAH ;0.5ms延时程序LOOP:DJNZ R7,LOOP ;2502121/12MHz=0.5msRETEND,I/O口小结: 1、作为输出口使用,P0口需外接上拉电阻,其余口不需外接上拉电阻。 2、作为输入口使用时,都需先向对应的锁存器写入“

11、1”。 3、每一位可任意地作为输入口或输入口使用,一般用低电平驱动外部电路。 4、P0口每位的负载能力是8个LSTTL门电路,P1、P2、P3口每位负载能力为4个LSTTL门电路。 5、I/O口的输入/输出指令同内RAM操作指令。,4.4.2、单片机完整应用系统实例,4.4.1、I/O结构与工作原理,目录,第4.4节 单片机I/O接口及应用实例,一、最小硬件系统,1、电源 (+5V) 2、时钟电路 与时序有关的概念: (1)时钟周期。即时钟频率的倒数 (2)状态周期。两个时钟周期构成一个状态周期。,(3)机器周期。 12个时钟周期构成一个机器周期,指令的执行都是以机器周期为时间单位。 (4)指

12、令字节。指某条指令占用存储空间的长度 3、复位电路 (1)复位条件 :两个机器周期以上的高电平。(2)复位后的状态:,二、汇编语言程序一般结构,ORG 0000H ;汇编程序开头 LJMP SETUP ;跳过中断入口地址区 ;中断入口地址区ORG 0030H SETUP: ;初始化区 MAIN: ;主程序区LJMP MAIN ;主程序一般是反复循环执行程序 ;子程序和中断服务程序区END ;汇编程序结束,注:此程序又被称做最小软件系统。,1、无条件转移指令 (1)长转移指令LJMP addr16 ;PCaddr16,转移范围为64KB (2)短转移指令AJMP addr11 ;PCPC+2,P

13、C100addr11,;PC1511不变 (3)相对转移指令SJMP rel ;PCPC+2,PCPC+rel如果转移指令到自己本身,可以省略指令前面的标号,而用“$”代替转移的目标地址,下面的指令是等价的:HERE:SJMP HERESJMP $HERE:LJMP HERELJMP $,2、伪指令 伪指令:计算机在汇编过程中需要编程人员提供一些有关汇编信息的指令,如:指定程序或数据存放的其始位置、汇编的结束等,这些指令在汇编时不产生机器码,仅对汇编过程起一些控制作用,为汇编服务,这些指令不属于51系列单片机的指令系统,我们称它们为伪指令。(1)ORG 起始伪指令格式:ORG 16位地址功能:

14、指定其下面的程序在存储空间的起始地址。例如:ORG 0000HLJMP SETUPORG 0000H表示它下面的指令LJMP SETUP在ROM空间的0000H单元开始存放。(2)END 结束伪指令 格式:END功能:表明汇编源程序的结束。,3、汇编语言程序一般结构 (1)程序的开头ORG 0000HLJMP SETUP(2)中断入口地址区0003H002BH这段存储空间是作为中断入口地址 (3)初始化区系统开始运行的初始参数设置,如果系统中用到中断资源 (4)主程序区主程序的内容往往是CPU需要不断反复处理的任务,最常用的就是显示程序和键盘程序。主程序一般是一个反复执行的程序。 (5)子程序

15、和中断服务程序区主程序中需要调用的子程序、中断源的服务程序,ORG 0000HLJMP SETUPORG 0030HSETUP: .MAIN: .LJMP MAIN.END,最小硬件系统,程序一般结构,40 31AT89C51 1 9 18 19 20,思路:在最小硬件系统基础上,用P1口作输出,用低电平驱动LED发光管,LED发光条件是:电压1.8V左右,电流410mA。为满足要求,电路中串接限流电阻,经计算取360。电路如图所示。,实例:设计一个由8个小灯构成的循环彩灯,要求:8个小灯依次亮灭,然后重复循环。,1、循环彩灯硬件电路,360,+5V,最小系统P1.0 P1.7,P1口上电后状

16、态? 低电平点亮的好处?,2、软件设计,思路:软件设计是在程序一般结构基础上,根据所要求的显示方式,用位操作指令CLR P1.X/SETB P1.X,对某位口操作,也可用数据传送指令MOV P1,#DATA,对多位口同时操作。要求:8个小灯依次亮灭,然后重复循环程序设计如下:,ORG 0000HLJMP SETUPORG 0030H SETUP:LJMP SETUP END,CLR P1.0SETB P1.0CLR P1.1SETB P1.1. SETB P1.7,NOP NOP NOP NOP NOP ,NOP NOP NOP NOP NOP ,引出指令(一),2、循环转移指令 DJNZ R

17、n,rel ;先执行Rn Rn-1,然后判断,若Rn=0,则程序顺序执行,否则就转移,转移到rel处,转移范围为 -128B+127B。 DJNZ direct,rel ;同上面类似。,1、NOP 空操作指令 ,等待一个机器周期,MOV R7, #4 DEL: DJNZ R7, DEL,DJNZ R2,DEL1,MOV R7,#0FFH DEL2:DJNZ R7,DEL2,MOV R2, #80H,DEL1:,ORG 0000HLJMP SETUPORG 0030H SETUP: CLR P1.0SETB P1.0CLR P1.1SETB P1.1.SETB P1.7LJMP SETUP EN

18、D,MOV R2, #80H DEL3: MOVR7,#0FFH DEL4:DJNZ R7,DEL4DJNZ R2,DEL3,MOV R2, #80H DEL1: MOV R7,#0FFH DEL2:DJNZ R7,DEL2DJNZ R2,DEL1,3、子程序调用和返回指令 LCALL addr16 ;长调用指令,调用子程序,子程序可在64KB空间内任意位置,同LJMP指令。 ACALL addr11 ;短调用指令,调用子程序,同AJMP指令。(很少使用) RET ;调用返回指令,子程序结束后,执行该指令程序将返回到调用子程序处继续向下执行。,引出指令(二),延时子程序,MOV R2, #80

19、HDEL1: MOV R7,#0FFHDEL2: DJNZ R7,DEL2DJNZ R2,DEL1,DELAY:,RET,注意:书写子程序时的注意事项,1、书写子程序一定要有名称(标号) 2、书写子程序 一定要有RET返回指令,ORG 0000HLJMP SETUPORG 0030H SETUP: CLR P1.0LCALL DELAYSETB P1.0CLR P1.1LCALL DELAYSETB P1.1.SETB P1.7LJMP SETUP DELAY: MOV R2, #80HDEL1:MOV R7,#0FFHDEL2:DJNZ R7,DEL2DJNZ R2,DEL1RETEND,循

20、环彩灯程序:,软件是基于硬件设计的,该系统电路设计时,采用P1口某位低电平点亮灯,如果硬件设计为高电平点亮,那么该软件执行后是什么效果?,这段程序还是太长了,而且用的是位操作指令,采用字节操作指令,能不能简化?同时如果要控制几个同时亮而且循环,怎么操作呢?,改进的程序:ORG 0000HLJMP SETUPORG 0030H SETUP: MOV A,#FEHMAIN: MOV P1,ALCALL DELAYRL A LJMP MAIN DELAY: MOV R2, #80HDEL1:MOV R7,#0FFHDEL2:DJNZ R7,DEL2DJNZ R2,DEL1RETEND,小结,本节介绍了51单片机I/O的功能及操作方法 在最小硬件系统的基础上,搭建了一个完整的应用系统,至此单片机就可完成外部信息读取及控制。 应掌握最汇编程序的规范,及几个主要指令 如:MOV SETB CLR LCALL LJMP ORG END RET,LAB2000实验板灯循环点亮系统,LED电平显示电路,开关控制 灯点亮 系统,逻辑电平开关电路,

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

当前位置:首页 > 网络科技 > 计算机原理

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报