欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    微机接口技术第六章幻灯片.ppt

    • 资源ID:69583154       资源大小:2.30MB        全文页数:56页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    微机接口技术第六章幻灯片.ppt

    微机接口技术第六章第1页,共56页,编辑于2022年,星期六内容概述内容概述n本章主要介绍8051单片机的内部资源的结构及使用方法。主要内容有并行输入输出(I/O)端口的结构及功能,定时/计数器结构、工作原理及使用,中断的概念、中断系统的结构与中断响应过程及相关程序设计,串行口的结构、工作方式与控制等。第2页,共56页,编辑于2022年,星期六教学目标n1了解并行输入输出(I/O)端口的结构及功能,关键是P0口的地址、数据分时复用、P2口的地址总线功能、P3口的第二功能,掌握P0、P1、P2、P3端口的操作方法。n2了解定时/计数器结构,理解其工作原理,领会定时器、计数器的本质区别在于计数的脉冲来源的不同。掌握定时/计数器的四种工作方式及TMOD、TCON两个寄存器的控制作用,掌握定时/计数时间常数的计算方法,在此基础上进行定时/计数器的初始化与应用。n3.了解中断的概念、8051单片机中断系统的结构,理解中断响应过程,掌握中断允许寄存器IE、中断优先级控制寄存器IP的控制方法,在此基础上实现中断服务程序的C51程序设计。n4了解了解单片机串行端口的结构、工作方式,掌握通信速率的概念,能根据通信速率bps设置定时器的时间常数,理解SCON寄存器中每一位的含义,能根据要求进行串行通信的初始化工作,完成简单的双机通信程序设计。第3页,共56页,编辑于2022年,星期六6.1 输入/输出(I/O)端口nMCS-51单片机有4个双向并行的8位I/O口P0P3,P0口为三态双向口,可驱动8个TTL电路,P1、P2、P3口为准双向口(作为输入时,口线被拉成高电平,故称为准双向口),其负载能力为4个TTL电路。第4页,共56页,编辑于2022年,星期六6.1.1 并行I/O口结构及功能n1.P0口的结构 关键理解P0口的作用,既可作普通I/O口,又用来作地址/数据总线,分时复用。第5页,共56页,编辑于2022年,星期六2.P1口结构nP1端口是单片机中唯一仅有单功能的I/O端口,输出信号锁存在端口上,故又称为通用静态端口。第6页,共56页,编辑于2022年,星期六3.P2口的结构 n与P1口比较,P2口多了转换控制部分。P2口除了可以作普通I/O口使用,还可以作为地址总线的高8位。第7页,共56页,编辑于2022年,星期六4.P3口的结构nP3口的一位结构如图6-1-4所示。和P1口比较,P3口增加了一个与非门和一个缓冲器,使其各端口线有两种功能选择。第8页,共56页,编辑于2022年,星期六6.1.2 应用实例n例6-1在单片机P1.0P1.2三根口线上分别接有三个发光二极管,要求编程实现三个发光二极管循环依次闪亮。第9页,共56页,编辑于2022年,星期六源程序#includevoid Delay(void);sbit P1_0=P10;sbit P1_1=P11;sbit P1_2=P12;void main(void)while(1)P1_1=0;P1_1=1;P1_2=1;/P1.0对应的LED亮 Delay();P1_1=1;P1_1=0;P1_2=1;/P1.1对应的LED亮 Delay();P1_1=1;P1_1=1;P1_2=0;/P1.2对应的LED亮 Delay();/延时子程序void Delay(void)int i;for(i=0;i10000;i+);第10页,共56页,编辑于2022年,星期六6.2定时器定时器/计数器计数器n定时器/计数器简称定时器,8051系列单片机有2个16位的定时器/计数器:定时器0(T0)和定时器1(T1)。8052系列单片机增加了一个定时器T2。它们都有定时器或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。第11页,共56页,编辑于2022年,星期六.1 定时/计数器结构nT0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。n作定时器时,定时器计数8031片内振荡器输出经12分频后的脉冲,即每个机器周期使定时器(T0或T1)的寄存器自动加1直至计满溢出。所以定时的分辨率是时钟振荡频率的1/12。n作计数器时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24。n不论是定时或是计数工作方式,定时器T0或T1都不占用CPU时间,除非定时器/计数器溢出,才可能中断CPU的当前操作。由此可见,定时器是单片机中效率高而且工作灵活的部件。第12页,共56页,编辑于2022年,星期六.2 定时器/计数器工作方式n.2 定时器/计数器工作方式n除可选择定时或计数工作方式外,每个定时器/计数器还有4种工作模式。n模式0、1和2,T0和T1的工作模式相同,在模式3,两个定时器的模式不同。第13页,共56页,编辑于2022年,星期六1 模式0图6-2-1 定时/计数器T1(T0)工作模式0由TL1的低5位和TH1的8位构成13位计数器。定时器启动后,定时或计数脉冲加到TL1,从预先设置的初值(时间常数)开始不断增1。TL1计满后向TH1进位,直至13位寄存器计满溢出。溢出时,13位寄存器清0。TF1置位并申请中断。如需进一步定时/计数,需用指令重置时间常数。模式0的结构如图6-2-1。第14页,共56页,编辑于2022年,星期六2 模式1n模式1和模式0几乎完全相同,唯一的差别是:模式1中,定时器寄存器TH1和TL1组成16位计数器参与操作,从而比模式0有更大的定时/计数范围。模式1的结构见图6-2-2。图6-2-2 定时/计数器T1(T0)工作模式1 第15页,共56页,编辑于2022年,星期六4 模式3n由于定时器T1无操作模式3。若将T0设置为模式3,TL0和TH0被分成为两个互相独立的8位计数器,如图6-2-4所示。图6-2-4 定时/计数器T1(T0)工作模式3第16页,共56页,编辑于2022年,星期六6.2.定时/计数器的控制寄存器n定时器共有2个控制寄存器TMOD和TCON,由软件写入TMOD和TCON 两个8位寄存器,设置各个定时器的操作模式和控制功能。第17页,共56页,编辑于2022年,星期六1 工作模式控制寄存器TMOD(89H)nTMOD在特殊功能寄存器中。TMOD的格式如图6-2-5所示。第18页,共56页,编辑于2022年,星期六 定时器控制寄存器TCON(88H)n定时器控制寄存器除可字节寻址外,各位还可位寻址。第19页,共56页,编辑于2022年,星期六6.2.4 定时/计数常数的计算n1 初始化步骤 在使用8051的定时器计数器前,应对它进行初始化编程,主要是对TCON和TMOD编程,计算和装载计数初值(也称做时间常数)。一般完成以下几个步骤:1)确定T/C的工作方式编程TMOD寄存器;2)计算T/C中的计数初值,并装载到THx和TLx;3)T/C在中断方式工作时,须开CPU中断和源中断编程IE寄存器;4)启动定时器计数器编程TCON中TRl或TR0位。第20页,共56页,编辑于2022年,星期六2 计数初值的计算n定时器/计数器工作时必须给计数器设置计数器初值,这个计数器初值是送到TH(TH0/TH1)和TL(TL0/TL1)中的时间常数。n把计数器计满为零所需要的计数值(或脉冲个数)设定为C,计数初值设定为TC,由此便可得到如下的计算公式:TC=M-C M为计数器模值,该值和计数器工作方式有关。在方式0时M为 ;在方式1时M为 ;在方式2和方式3时M为 。也可以理解为TC为所需脉冲个数按位取反再加1,即 TC=+1第21页,共56页,编辑于2022年,星期六6.2.5 应用实例n例6-2-1:若单片机时钟频率为12MHZ,计算定时2ms所需的定时器初值。解:由于定时器工作在方式2和方式3下时的最大定时时间只有0.256ms,因此要想获得2ms的定时时间定时器必须工作在方式0或方式1。T计数=12/12=1s 则定时所需脉冲个数为2ms/1s=2000个。若采用方式0,则定时器的初值为:TC=-2000=6192=1830H=1100 0001 10000B 即:TH0应装C1H;TL0应装10H(TL1只用低5位,高3位填0)。若采用方式1,则定时器的初值为:TC=216-2000=63536=F830H 即:TH0应装F8H;TL0应装30H。第22页,共56页,编辑于2022年,星期六例6-2-2在例6-2-1的基础上,要求从P1.1引脚输出周期为4ms的方波。解:此处采用定时器0定时,通过查询TF0状态检查定时时间是否已到。由上例计算已知,定时器定时周期为2ms,TH0=F8H;TL=30H。第23页,共56页,编辑于2022年,星期六C51源程序#include /805I系列的寄存器头文件sbit P1_1=P11;void main(void)TMOD=0 x01;/定时器0方式1 TH0=0 xf8;TL0=0 x30;/装入时间常数 TR0=1;/启动定时器 while(1)while(!TF0);/查询TF0状态,时间未到则空等待 P1_1=!P1_1;/P1.1取反 TH0=0 xf8;TL0=0 x30;/装入时间常数 第24页,共56页,编辑于2022年,星期六63 中断中断n6.3.1 中断的基本概念n当CPU正在处理某件事情时,外部发生了某一事件(如定时器/计数器溢出,被监视电平突变等)请求CPU迅速去处理,于是CPU暂时中断当前的工作,转去处理所发生的事件;中断服务处理完成后,再回到原来被中断的地方,继续原来的工作。这一过程称为中断,如图6-3-1所示。图6-3-1 中断流程第25页,共56页,编辑于2022年,星期六8051的中断系统n能处理中断的功能部件称为中断系统,能产生中断请求的源称为中断源。n8051单片机中断系统的基本特点是:有5个固定的中断源,3个在片内,2个在片外。它们在程序存储器中各有固定的中断入口地址,由此进入中断服务程序;5个中断源有两级中断优先级,可形成中断嵌套;2个特殊功能寄存器用于中断控制的编程。n对于8052单片机来说,则多一个中断源定时器T/C2。第26页,共56页,编辑于2022年,星期六8051的中断源n外部中断源:由P3.2端口线引入,低电平或下降沿引起。由P3.3端口线引入,低电平或下降沿引起。这两个外部中断源和它们的触发方式控制位锁存在特殊功能寄存器TCON的低4位。n内部中断源:T0:定时器/计数器0中断,由T0回零溢出引起。T1:定时器/计数器1中断,由T1回零溢出引起。TI/RI:串行I/O中断,串行端口完成一帧字符发送/接收后引起。这3个内部中断源的控制位分别锁存在特殊功能寄存器TCON和SCON中。第27页,共56页,编辑于2022年,星期六6.3.2中断系统的结构第28页,共56页,编辑于2022年,星期六6.3.中断的控制 n1 中断允许寄存器IE(A8H)IE在特殊功能寄存器中,字节地址A8H,位地址(由低位到高位)分别是A8HAFH。IE控制CPU对中断源总的开放或禁止以及每个中断源是否允许中断。第29页,共56页,编辑于2022年,星期六2 中断优先寄存器IP(B8H)nIP在特殊功能寄存器中,字节地址为B8H,位地址(由低位到高位)分别是B8HBFH,IP用来锁存各中断源优先级的控制位,即设定中断源属于两级中断中的哪一级(用户可用软件设定)第30页,共56页,编辑于2022年,星期六中断优先级的响应n系统复位后,IP低5位全部清零,并将所有中断源设置为低优先级中断。n如果几个同优先级的中断源同时向CPU申请中断,哪一个申请得到服务,取决于它们在CPU内部登记排队的序号。CPU通过内部硬件查询登记序号,按自然优先级响应各个中断请求。其内部登记序号是由硬件形成的,先后顺序如下:T0 T1RI/TI 第31页,共56页,编辑于2022年,星期六6.3.中断响应过程及中断入口地址 n下列任何一种情况存在时,中断申请将被封锁。(1)CPU正在执行一个同级或高一级的中断服务程序;(2)当前正在执行的那条指令还未执行完;(3)当前正在执行的指令是RETI或对IE,IP寄存器进行读/写指令,执行这些指令后至少再执行一条指令才会响应中断。第32页,共56页,编辑于2022年,星期六中断入口地址n中断得到响应后,自动清除中断请求标志(对串行口中断请求标志,要用软件清除),由硬件自动将程序计数器PC内容(断点地址)压入堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向该中断矢量地址单元中,去执行相应的中断服务程序。n各个中断源在程序存储器中的中断入口地址如下:中断源入口地址 外部中断00003H 定时器0溢出000BH 外部中断10013H 定时器1溢出001BH 串行口0023H第33页,共56页,编辑于2022年,星期六6.3.5 C51中断程序设计n C51编译器支持在C源程序中直接嵌入中断服务程序,C51提供的中断函数定义语法如下:返回值类型 函数名 interrupt n n对应中断源的编号,Keil C51支持最大值为31。void timer0(void)interrupt 1 /定时器0中断服务程序,中断号为1 ;Keil C51编译器用特定的编译器指令分配奇存器组。当前工作寄存器由PSW中RS1、RS0两位设置用using指定,“using”后的变量为一个03的整数。“using”只允许用于中断函数,它在中断函数入口处将当前寄存器组保留,并在中断程序中使用指定的寄存器组,在函数退出前恢复原寄存器组。第34页,共56页,编辑于2022年,星期六中断函数的完整语法如下:n返回值 函数名(参数)模式 重入 interrupt n using m m、n 为正整数,不允许使用表达式。n取值范围031,对应该中断源的编号。通常对普通8052系列单片机来说,外部中断0、定时器0、外部中断1、定时器1、串口、定时器2的中断源编号依次为0、1、2、3、4、5。m取值范围03。例如:void serial_service interrupt 4 using 2 ;第35页,共56页,编辑于2022年,星期六C51中断服务程序的注意事项:n1)若要在执行当前中断程序时禁止更高优先级中断,可先用软件关闭CPU对中断的响应,在中断返回前再开放中断。n2)注意外部电平触发的中断不锁存。若在外部电平出现时被中断屏蔽,而在中断识别之前电平消失,它被完全忽略中断处理本身不能锁存外部电平请求。n3)外部中断0、1及定时器0、1的中断申请标志在CPU响应中断后会自动清0,但串行口中断标志TI/RI及定时器2的中断申请标志TF2不会自动清0,必须在中断服务程序中用软件清0,否则会立即产生重复中断,程序会陷入死循环。对于串口中断,通常要判别是RI或TI中断。n4)为提高中断响应的实时性,中断服务程序应尽量简短,并避免使用复杂变量类型及复杂算术运算。通常在中断服务程序中使用一些标志,由主程序或相应背景程序根据对应的标志作相应的处理。第36页,共56页,编辑于2022年,星期六例例6-3-1n在例6-2-2的基础上,要求从P1.1引脚输出周期为4ms的方波。n解:与例6-2-2不同的是,此处对定时器0采用中断方式编程。C51源程序如下:第37页,共56页,编辑于2022年,星期六C51源程序#includesbit P1_1=P11;void timer0(void)interrupt 1 /定时器0中断服务程序 TH0=0 xf8;TL0=0 x30;/装入时间常数 P1_1=!P1_1;/P1.1取反 void main(void)TMOD=0 x01;/定时器0方式1 TH0=0 xf8;TL0=0 x30;/装入时间常数 TR0=1;/启动定时器 TF0=0;EA=1;/开全局中断 ET0=1;/开定时器0中断 while(1);/主程序死循环,空等待 第38页,共56页,编辑于2022年,星期六6.4 串行口nMCS-51内部有一个可编程的全双工串行通信接口,该串行口有4种工作方式,以供不同场合使用。波特率可由软件设置,由片内的定时器/计数器产生。接收、发送均可工作在查询方式或中断方式,使用十分灵活。第39页,共56页,编辑于2022年,星期六6.4.1串行口的结构与控制nMCS-51单片机内部的串行口有两个物理上独立的接收、发送缓冲器SBUF,可同时接收和发送数据。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入。两个缓冲器占用同一个地址(99H)。n控制MCS-51单片机串行口的控制寄存器共有两个,即特殊功能寄存器SCON和PCON。第40页,共56页,编辑于2022年,星期六6.4.1.1串行口控制寄存器SCONnSM0、SM1:控制串行口的工作方式。nSM2:允许方式2和方式3进行多机通信控制位。nREN:允许串行接收控制位。REN=1,允许接收。nTB8:是工作在方式2和方式3时要发送的第9位数据,根据需要由软件置位和复位。nRB8:是工作在方式2和方式3时接收到的第9位数据。nTI:发送中断标志位。必须由软件清零。nRI:接收中断标志位。必须由软件清零。第41页,共56页,编辑于2022年,星期六6.4.1.2特殊功能寄存器PCONnSMOD:波特率倍增位。当SMOD=1时,波特率加倍;当SMOD=0时,波特率不加倍。nGF1、GF0:两个通用标志位,用户使用。n。第42页,共56页,编辑于2022年,星期六PD、IDLCHMOS型8051单片机的低功耗控制位n当将PD置1的指令执行后,80C51进入掉电方式,此时片内振荡器停止工作,仅片内RAM内容被保持,SFR内容也被破坏。掉电方式下Vcc可降到2V,耗电仅50A。退出掉电方式唯一方法是硬件复位。应当保证进入掉电方式前Vcc不降下来,在通过硬件复位退出掉电方式之前应当先保证Vcc恢复到正常值。n当将IDL位置1指令执行后,80C51进入节电方式。这时供给CPU的时钟信号被切断,但时钟信号仍送给片内RAM、定时器、中断系统和串口,同时CPU状态被保存,即堆栈指针、程序计数器PC、程序状态字PSW、累加器ACC及通用寄存器的内容。节电方式下Vcc仍为5V,但耗电从24mA降到3.7mA。退出掉电方式有两种,一种是任一中断被激活,一种是硬件复位,前者较为常用。第43页,共56页,编辑于2022年,星期六6.4.2串行口的工作方式n串行接口的工作方式有四种,由SCON中的SM0、SM1定义,编码及功能如表6-4-1。在这四种工作方式中,串行通信只使用方式1,方式2,方式3。方式0主要用于用串口扩展并行口。第44页,共56页,编辑于2022年,星期六1 方式0 n在方式0状态下,串行口为同步移位寄存器输入/输出方式,其波特率固定不变为fosc/12。数据由RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)端输出,发送、接收的是8位数据,低位在先。第45页,共56页,编辑于2022年,星期六2 方式1n当SCON中的SM0SM1=01时,串行口以工作方式1工作,此时串行口为8位异步通信接口。下图为方式1发送时序。第46页,共56页,编辑于2022年,星期六3 方式2 n当SM0SM1=10时,串行口工作在方式2,发送和接收的一帧信息由11位组成,即1位起始位、8位数据位(低位在先)、1位可编程位(第9位数据位)和1位停止位。TB8根据需要设为0或1,作为多机通信中的地址数据标志位或数据的奇偶校验位。第47页,共56页,编辑于2022年,星期六4 方式3n当SM0SM1=11时,串行口工作在方式3。方式3为波特率可变的9位异步通信方式,除了波特率外,方式3和方式2相同。方式3的波特率由下式确定:第48页,共56页,编辑于2022年,星期六6.4.3波特率的计算n注:若SMOD=0,则K=1;若SMOD=1,则K=2 第49页,共56页,编辑于2022年,星期六常用的波特率及计算器初值 第50页,共56页,编辑于2022年,星期六6.4.4 串行口初始化n在使用串行口之前,应对它进行编程初始化,主要是设置产生波特串的定时器1、串行口控制和中断控制。具体步骤如下:1)确定定时器l的工作方式编程TMOD寄存器;2)计算定时器l的初值装载THl、TL13)启动定时器1编程TCON中的TRl位;4)确定串行口的控制编程SCON;5)串行口在中断方式工作时,须开CPU和源中断编程IE寄存器。第51页,共56页,编辑于2022年,星期六6.4.5应用实例n例6-4-1 某温度数据采集系统有主、从机进行串行通信,假定双机的fosc=12MHz,通信速率2400bps.主机每次将Temperature数据发送给从机。从机则将收到的数据送到显示器上显示。试完成双机通信程序设计。第52页,共56页,编辑于2022年,星期六主机部分源程序n完整代码请见源程序/串口初始化程序void InitSystem(void)TMOD=0 x20;/*T1工作于方式2*/TH1=0 xf3;/*通信速率2400bps*/TL1=0 xf3;PCON=0 x00;/*SMOD=0*/SCON=0 x50;/*允许接收*/ES=0;/*开串口中断*/ET1=0;TR1=1;/*启动定时器1*/RI=0;TI=0;第53页,共56页,编辑于2022年,星期六主机部分源程序nvoid main(void)n n InitSystem();n while(1)n n Delay();n SBUF=Temperature;/*发送温度数据*/n while(!TI);n TI=0;n CollectData();/*采集温度数据*/n n n 第54页,共56页,编辑于2022年,星期六从机部分源程序/串口初始化程序void InitSystem(void)TMOD=0 x20;/*T1工作于方式2*/TH1=0 xf3;/*通信速率2400bps*/TL1=0 xf3;PCON=0 x00;/*SMOD=0*/SCON=0 x50;/*允许接收*/EA=1;ES=1;/*开串口中断*/ET1=0;TR1=1;/*启动定时器1*/RI=0;TI=0;第55页,共56页,编辑于2022年,星期六从机部分源程序/*串行中断服务程序*/void Comm(void)interrupt 4 using 0 Temperature=SBUF;/*保存数据*/RI=0;/*清中断标志*/第56页,共56页,编辑于2022年,星期六

    注意事项

    本文(微机接口技术第六章幻灯片.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开