51单片机教程第5章_第1页
51单片机教程第5章_第2页
51单片机教程第5章_第3页
51单片机教程第5章_第4页
51单片机教程第5章_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章MCS-51型单片机的内部

硬件资源及应用1第5章MCS-51型单片机的内部

硬件资源及应用15.1MCS-51单片机的并行输入/输出接口MCS-51单片机共有4个8位准双向I/O端口,分别是P0、P1、P2、P3,共32位端口线。每位均有自己的锁存器、输出驱动器和输入缓冲器。P0端口负载能力为8个LSTT门电路;P1~P3口负载能力为4个LSTTL,当实际负载超过其能力时,应外加驱动器或放大电路。25.1MCS-51单片机的并行输入/输出接口MCS-515.1.1端口输入/输出(I/O)操作P0~P3口用作输入时,端口锁存器必须先写“1”,否则读入的数据可能出错。MCS-51单片机没有专门的I/O指令,其中向端口输出数据的指令有(其中x=0~3)如下4个:MOVPx,A;MOVPx,Rn;

MOVPx,@Ri;

MOVPx,direct从端口输入数据的指令有如下4个:MOVA,Px;MOVRn,Px;

MOV@Ri,Px;MOVdirect,Px35.1.1端口输入/输出(I/O)操作P0~P3口用作5.1.2I/O端口的位操作指令由于I/O端口具有位寻址功能,因此有关位操作的指令也都适用于它们。常用指令有:CLRPx.y;SETBPx.y;CPLPx.y45.1.2I/O端口的位操作指令由于I/O端口具有位寻址5.1.3并行口应用举例【例】利用单片机的P1.4~P1.7接4个发光二极管,P1.0~P1.3接4个开关,要求当开关动作时,对应(低位对低位)的发光二极管亮或灭,请编程实现。解:要求对应的发光二极管亮或灭,只需把P1端口的内容读入,高、低4位互换,通过P1端口输出即可。汇编参考程序如下:ORG1000HLOOP: MOVP1,#0FH;设定P1端口低4位为输入状态MOVA,P1SWAPAMOVP1,ASJMPLOOP55.1.3并行口应用举例【例】利用单片机的P1.4~PC51参考程序如下:#include<reg52.h>#include<stdio.h>sfrP1=0x90;voidmain(void){for(;;){P1=0x0F; //设定P1端口低4位为输入状态P1=P1<<4; //左移4位后再从P1.4~P1.7引脚输出

}}6C51参考程序如下:65.2MCS-51中断系统断系统是为使CPU具有对单片机外部或内部随机发生的事件进行实时处理而设置的。MCS-51单片机片内的中断系统能大大提高处理外部或内部突发事件的能力,化解快速的CPU和慢速的外设之间的矛盾。75.2MCS-51中断系统断系统是为使CPU具有对单5.2.1中断的基本概念1.中断的概念中断是通过硬件来改变CPU的运行方向的。当CPU正在执行主程序时,外部或内部发生的某一事件(如某个引脚上电平的变化、一个脉冲的发生或计数器的计数溢出等)请求CPU迅速处理,CPU暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,CPU再继续执行原来被中断的程序,这样的过程称为中断。中断需要解决两个主要问题:一是如何从主程序转到中断服务程序;二是如何从中断服务程序返回主程序。85.2.1中断的基本概念1.中断的概念82.中断的特点(1)分时操作。单片机有了中断功能,使CPU与外设由串行工作变为分时并行工作,实现了CPU和外设的同步工作,大大提高了单片机的效率。(2)实时处理。在实时控制中,现场的各种参数、信息均随时间和现场而变化。这些外界变量可根据要求随时向CPU发出中断申请,请求CPU及时处理。如中断条件满足,CPU就会马上响应,进行实时处理。(3)故障处理。针对随机发生的情况或故障,如掉电、存储出错、电路故障等,可通过中断系统由故障源向CPU发出中断请求,再由CPU转到相应的故障处理程序进行处理,不必停机。92.中断的特点95.2.2MCS-51单片机的中断系统与控制MCS-51单片机的中断系统是在硬件基础上再配以相应的软件而实现的,MCS-51单片机可以提供至少5个中断请求源,提供两个中断优先级。MCS-51单片机的中断控制系统由中断的特殊功能寄存器、中断入口、顺序查询逻辑电路等组成,其结构如下图所示。105.2.2MCS-51单片机的中断系统与控制MCS-51

MCS-51中断系统内部结构示意图

11MCS-51中断系统内部结构示意图115.2.3MCS-51单片机中断系统的应用中断服务程序编程时,首先要对中断系统进行初始化,也就是对几个特殊功能寄存器的相关控制位进行赋值。具体来说,就是要完成下列工作。(1)开中断和允许中断源中断;(2)确定各中断源的优先级;(3)若是外部中断,则应规定是电平触发还是边沿触发。125.2.3MCS-51单片机中断系统的应用中断服务程序5.3MCS-51单片机的定时器/计数器接口

在工业控制及智能仪器中,经常要实现定时和计数功能,有多种方法可以实现定时,如软件定时、硬件定时、可编程定时器定时。软件定时是通过循环程序实现延时,系统不需要增加任何硬件,但该定时方法需要长期占用CPU;硬件定时需要系统额外增加电路,而且使用上不够灵活;8051单片机内有两个16位可编程的定时器/计数器,除了可用作定时器或计数器之外,还可用作串行接口的波特率发生器。135.3MCS-51单片机的定时器/计数器接口在工业控制5.3.1定时器/计数器的结构与工作原理1.定时器/计数器的结构8051单片机内部有两个16位的可编程定时器/计数器,称为定时器0(T0)和定时器1(T1),可编程选择其作为定时器或作为计数器。2.定时器/计数器的工作原理当定时器/计数器设置为定时工作方式时,计数器对内部机器周期ffoc计数,每过一个机器周期,计数器加1,直至计满溢出。定时器的定时时间与系统的振荡频率紧密相关,因为MCS-51单片机的一个机器周期由12个振荡脉冲组成,如果单片机系统采用12MHz晶振,则计数周期为1

s,适当选择定时器的初值可获取各种定时时间。3.控制定时器的特殊功能寄存器定时器/计数器的初始化是通过定时器/计数器的方式寄存器TMOD和控制寄存器TCON完成的。145.3.1定时器/计数器的结构与工作原理1.定时器/计数5.3.2定时器/计数器的工作方式通过对TMOD寄存器中M0、M1位进行设置,可选择下面4种工作方式:1.方式02.方式13.方式24.方式3155.3.2定时器/计数器的工作方式通过对TMOD寄存器中5.3.3定时器/计数器的应用1.定时器/计数器的初始化定时器/计数器的功能是由软件编程确定的,在使用定时器/计数器前都要对其进行初始化,步骤如下。(1)确定工作方式,对TMOD赋值。(2)计算定时或计数的初值,将初值写入TH0、TL0或TH1、TL1。(3)根据需要开启定时器/计数器中断,对IE寄存器赋值。(4)启动定时器/计数器工作,将TR0或TR1置“1”。165.3.3定时器/计数器的应用1.定时器/计数器的初始化5.4MCS-51单片机的串行接口及其串行通信5.4.1串行通信的基本概念1.异步串行通信的字符格式在异步通信中,接收端是依靠字符帧格式来判断发送端开始发送和结束发送的时间。字符帧格式是异步通信的一个重要指标。2.异步串行通信的传送速率异步串行通信的传送速率用于表示数据传送的快慢。在串行通信中,以每秒钟传送二进制的位数来表示,也称为波特率(baudrate),单位为位/秒(bps)或波特(baud)。波特率既反映了串行通信的速率,也反映了对传输通道的要求,波特率越高,要求传输通道的频带也越宽。在异步通信时,波特率为每秒传送的字符个数和每字符所含二进制位数的乘积。175.4MCS-51单片机的串行接口及其串行通信5.4.13.异步串行通信的通信制式根据同一时刻串行通信的数据方向,异步串行通信可分为以下3种数据通路形式。(1)单工形式(Simplex)。(2)全双工形式(Full-duplex)(3)半双工形式(Half-duplex)183.异步串行通信的通信制式185.4.2MCS-51单片机的串行口及控制寄存器1.

MCS-51串行口结构MCS-51内部有两个独立的接收、发送缓冲器SBUF。SBUF属于特殊功能寄存器。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,二者共用一个字节地址(99H)。2.MCS-51串行口控制寄存器在MCS-51单片机中,与串行通信有关的控制寄存器如下。1)串行口控制寄存器SCON2)电源控制寄存器PCON195.4.2MCS-51单片机的串行口及控制寄存器1.

5.4.3MCS-51单片机串行通信工作方式1.串行工作方式0在方式0下,串行口作为同步移位寄存器使用,其主要特点是:RXD(P3.0)引脚接收或发送数据,TXD(P3.1)引脚发送同步移位脉冲。数据的接收和发送以8位为一帧,低位在前,高位在后。方式0时,SM2必须为0,这种方式常用于扩展I/O接口。2.串行工作方式1当设置SCON寄存器的SM0SM1位为01时,单片机串行口进入工作方式1。3.串行工作方式2当设置SCON寄存器的SM0SM1位为10时,单片机串行口进入工作方式2。4.串行工作方式3当设置SCON寄存器的SM0SM1位为11时,单片机串行口将进入工作方式3。205.4.3MCS-51单片机串行通信工作方式1.串行工作5.4.4串行口应用举例1.串行口的初始化串行口使用时必须对它进行初始化编程,主要是设置产生波特率的定时器1、串行口控制和中断控制。一般步骤如下:(1)设定串行口的工作方式,设定SCON寄存器。(2)设置波特率。对于方式0,不需要设置波特率;对于方式2,设置波特率仅需对P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论