51系列单片机项目实践 教学课件 ppt 作者 石长华 主编 课件汇总 第5章 并行输入输出口

上传人:E**** 文档编号:89500051 上传时间:2019-05-25 格式:PPT 页数:21 大小:532.50KB
返回 下载 相关 举报
51系列单片机项目实践 教学课件 ppt 作者 石长华 主编 课件汇总 第5章 并行输入输出口_第1页
第1页 / 共21页
51系列单片机项目实践 教学课件 ppt 作者 石长华 主编 课件汇总 第5章 并行输入输出口_第2页
第2页 / 共21页
51系列单片机项目实践 教学课件 ppt 作者 石长华 主编 课件汇总 第5章 并行输入输出口_第3页
第3页 / 共21页
51系列单片机项目实践 教学课件 ppt 作者 石长华 主编 课件汇总 第5章 并行输入输出口_第4页
第4页 / 共21页
51系列单片机项目实践 教学课件 ppt 作者 石长华 主编 课件汇总 第5章 并行输入输出口_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《51系列单片机项目实践 教学课件 ppt 作者 石长华 主编 课件汇总 第5章 并行输入输出口》由会员分享,可在线阅读,更多相关《51系列单片机项目实践 教学课件 ppt 作者 石长华 主编 课件汇总 第5章 并行输入输出口(21页珍藏版)》请在金锄头文库上搜索。

1、第5章 并行输入/输出口,5.1 项目内容:流水灯的设计 5.2 程序设计 5.3 相关知识 5.4 知识综述:并行输入输出口,5.1 项目内容:流水灯的设计,5.1.1 硬件电路设计 下图5-1是流水灯控制器的硬件电路:,5.1.2 基本功能,流水灯控制器的基本功能如下: 1. 8路输出端口,每一个端口可输出高电平(+5V)或低电平(0V),给外接显示驱动装置提供控制信号。 2. 端口的输出状态由内部的单片机程序确定,通过编制程序使得端口输出状态产生各种变化,如全部高电平、全部低电平、从左到右依次高电平等,使得外部显示装置产生多种显示方式。 3. 装置上8个LED分别对应8个输出端口,表示各

2、端口的输出状态。某LED灯亮,表示对应的端口输出低电平;LED不亮,表示对应的端口输出高电平。,5.2 程序设计,在以上硬件设计的基础上,可以编制各种程序使得8个输出端口对应地输出多种方式的信号,如闪动、滚动等,基本方法是通过MOV指令向P1口送不同的数据。 1. 闭合展开相对移动显示 采用顺序(简单)程序设计的方法实现,其程序如下所示:(注意,“0”电平是低电平,即点亮LED) 2. 依次轮流显示(移位循环) 采用移位循环程序设计的方法实现 3. 依次来回显示(循环记次) 采用条件循环程序设计方法实现,5.2.2 仿真结果,闭合展开相对移动显示的仿真效果图如图5-2所示:,5.3 相关知识,

3、5.3.1 ORG和END指令 1. ORG: 汇编起始地址指令 1) 格式 ORG 16位地址 2) 功能 规定该伪指令后面程序的汇编地址,即汇编后生成目标存放的起始地址。例如: ORG 0100H ; 表示汇编后程序从100H地址开始存放 ORG出现时,下一条指令的地址就重新定位。 2. END:汇编结束指令 格式:END ;表示程序到此结束 END为汇编语言源程序结束标志,用于整个汇编程序的末尾处,在编译时指明程序到此结束,停止编译,即在END之后所有的汇编语言指令均不予以汇编。一个源程序只能有一条END指令。,5.3.2 逻辑移位指令 1. 循环左移指令 汇编指令格式: RL A 2.

4、 带进位循环左移指令 汇编指令格式: RLC A 3. 循环右移指令 汇编指令格式: RR A 4. 循环右移指令 汇编指令格式: RRC A,5.3.3 控制转移类指令 程序的顺序执行是由程序计数器PC自动加1实现的。要改变程序的执行顺序,实现分支转向,应通过强迫改变PC值的方法来实现,这就是控制转移类指令的基本功能。共用两类转移:无条件转移和有条件转移。 1. 无条件转移指令 无条件转移指令是无条件地改变程序的执行方向,此操作可以改变PC的值,即将转移的目的地址赋值给PC,根据赋值的方式不同分为以下4种: 1) 绝对转移指令 AJMP addr11 ;,2)相对转移指令(短转移指令) SJ

5、MP rel ; 3)长跳转指令 LJMP addr16 ; 4)间接转移指令(散转指令) JMP A + DPTR ; 2. 条件转移指令 所谓条件转移,就是程序转移是有条件的,当指令中规定的条件满足时,则进行程序转移,否则程序顺序执行。,1) 减1非零转移指令DJNZ (1) 寄存器减1条件转移指令 格式:DJNZ Rn,rel (2) 直接寻址单元减1条件转移指令 格式:DJNZ direct,rel 2)累加器A判零转移指令 (1) JZ rel (2) JNZ rel,5.3.4 子程序调用与返回指令,子程序调用与返回流程图: 1. 子程序调用指令 子程序调用指令主要完成: 1)将断

6、点地址压入堆栈保护。断点地址是该子程序 调用指令的下一条指令的首地址。 2)将所调用的子程序的入口地址送到程序计数器PC 中。子程序调用指令有2条:,(1) 绝对调用指令 ACALL addr11 ; (2) 长调用指令 LACALL addr16 ; (3) 长调用指令 LACALL addr16 ; 2. 子程序返回指令 RET;,5.3.5 并行输入/输出P1口的结构,MCS51单片机的P1口是标准的准双向口,作为通用I/O口使用,即专门用做输入/输出口使用。一般在使用时,输入输出应用首选P1口。P1口是内部带上拉电阻的双向输入输出口,可以驱动4个TTL电路。并行输入/输出P1口的结构图

7、如下:,5.3.6 LED的应用,LED与单片机连接时,一般要加限流电阻。连接的方 法一般有两种,如下图所示:,怎样使P1.0输出“0”或“1”? 例:给P1.0输出“0” MOV P1,#0FEH 即:MOV P1,#11111110B 该指令给P1.0引脚送“0”,P1.1P1.7引脚送“1”,5.3.7 延时子程序的设计,在延时程序中,要调整延时时间,精确计算时间大 小,有以下几个方法: 1. 改变立即数的大小; 2. 增加或者减少NOP的数目; 3. 可采用单、双重循环,或者是三重循环延时。 部分指令的机器周期: 指令 机器周期 MOV Rn,#data 1 MOV Rn,A 1 MO

8、V Rn,direct 2 DJNZ Rn,rel 2 NOP 1,举例,观察下这段程序的执行情况以及总的执行时间: DELAY1s: MOV R4,#10 ;一个机器周期 DELAY0: MOV R2,#200 ;一个机器周期 DELAY1: MOV R3,#248 ;一个机器周期 NOP ;一个机器周期 DELAY2: DJNZ R3,DELAY2 ;两个机器周期 DJNZ R2,DELAY1 ;两个机器周期 DJNZ R4,DELAY0 ;两个机器周期 RET 若系统使用12MHz的晶振时,每个机器周期为1us,则总的执 行时间为:(1+248*2)+3)*200+3)*10*1us=1

9、000030us=1.00003s,介绍一些常用的延时子程序 1.延时10uS Time10us: MOV R5,#05H ;11us DJNZ R5,$ RET 2.延时1mS Time1ms: MOV R5,#0FAH ;1001us time1ms_1:NOP NOP DJNZ R5,time1ms_1 RET 请同学们试着写延时100ms,1s等的子程序。,在一段程序中,往往有些地方需要执行一些相同的操作(一段 程序),我们把这段程序单独编成一段程序(子程序),在子 程序需要执行这段程序时执行一条调用指令,转到该段程序处 执行,待完成这段程序后,再执行一条返回指令回到原主程序 处继续执

10、行,这段程序可以反复调用。这样可以缩短程序长 度,使程序结构清晰,便于模块化,便于调试。在汇编语言中 使用子程序要注意以下几点: 1. 主程序与子程序在结构上相互独立,分开存放; 2. 子程序只有在主程序调用时才会被执行; 3. 子程序的第1条指令应该有标号,这个标号就是子程序名; 4. 子程序的最后一条指令必须是RET(子程序返回)指令; 5. 主程序中用到的单元,如果子程序也要用,要注意保护原值,待子程序返回前恢复原值,不影响主程序的正常执行。 要注意主程序与子程序间的参数传递,一般在调用子程序前,将实参(入口参数)放到约定好的单元,子程序返回后,主程序到约定的单元取结果(出口参数)。并不

11、是每个子程序都有入口参数,但是有入口参数的子程序必须在调用前给,否则会影响结果。,5.4 知识综述:并行输入输出口,5.4.1 P0口 P0口某位的内部结构如下图所示:,从图中可以看出,其结构与P1口有些不同,多了一个多路开 关MUX,将P1口中的上拉电阻换成了场效应管T1,多了一个 地址/数据线的输出通道。一般P0口在不用做地址/数据线 时,才作为普通的输入/输出口用。 1. P0口作地址/数据线使用; 2. P0口作普通输入/输出口使用。,P2口 P2口某位的内部结构如下图所示。P2口既可以作为输入/输出口使用,也可以作为高8位地址线使用。,当CPU对片内存储器或I/O口进行读/写时,此时硬件置开关MUX倒向锁存器的Q端,P2口作为一般的I/O口使用,功能和使用方法同P1。 当CPU对片外存储器或I/O口进行读/写,此时硬件置开关MUX倒向地址线端,P2口作为高8位地址线使用。,练习与思考题,P3口 P3口某位的内部结构如下图所示。P3口除了作为输入/输出口使用外,还有第二功能,一般P3口首选第二功能使用。在编程时不必事先由软件设置P3口为第一功能还是第二功能。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号