收藏 分销(赏)

2022年单片机内部资源的编程.ppt

上传人:二*** 文档编号:12674916 上传时间:2025-11-22 格式:PPT 页数:42 大小:520.04KB 下载积分:5 金币
下载 相关 举报
2022年单片机内部资源的编程.ppt_第1页
第1页 / 共42页
本文档共42页,全文阅读请下载到手机保存,查看更方便
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第6章 单片机内部资源的编程,中断编程相关知识,1.单片机如何中断原来的工作?,在本任务中当按键S1按下后,原来单片机正在进行的工作被打断,按键松开后单片机又恢复了原来的工作,这就是我们在前面所说的中断。,或者说,CPU正在执行原程序时,突然,被意外事情打断,转去执行新程序。CPU执行新程序结束后,又回到原程序中继续执行。这样的过程就叫,中断,。,(1)MCS-51的中断结构,5个中断源,两个中断优先级控制。,(2)中断处理流程,CPU响应中断请求后,就立即转入执行中断服务程序。不同的中断源、不同的中断要求可能有不同的中断处理方法,但它们的处理流程一般都如下所述。,1)现场保护和现场恢复,2)中断打开和中断关闭,3)中断服务,4)中断返回,(3)MCS-51的中断源,8051有5个中断源,它们是两个外中断INT0(P3.2)和INT1(P3.3)、两个片内定时/计数器溢出中断TF0和TF1,一个是片内串行口中断TI或RI,这几个中断源由TCON和SCON两个特殊功能寄存器进行控制。,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,TCON 88H,IE1:外部边沿触发中断1请求标志,其功能和操作类似于TF0。,IT1:外部中断1类型控制位,通过软件设置或清除,用于控制外中断的触发信号类型。IT1=1,边沿触发。IT=0是电平触发。,IE0:外部边沿触发中断0请求标志,其功能和操作类似于IE1。,IT0:外部中断0类型控制位,通过软件设置或清除,用于控制外中断的触发信号类型。其功能和操作类似于IE1。,必须注意,:在不同外部中断触发方式下,标志清除方法不一样。,SCON 98H,SCON,D7,D6,D5,D4,D3,D2,D1,D0,-,-,-,-,-,-,TI,RI,位地址,99H,98H,TI:MCS-51串行口的发送中断标志。中断响应后,必须软件清除标志。,RI:MCS-51串行口的接收中断标志。中断响应后,必须软件清除标志。,(4)中断的控制,MCS-51的对中断的开放和屏蔽是由中断允许寄存器,IE,(A8H)控制来实现的,IE的结构格式如下。,IE,D7,D6,D5,D4,D3,D2,D1,D0,EA,-,-,ES,ET1,EX1,ET0,EX0,位地址,AFH,ACH,ABH,AAH,A9H,A8H,EA:中断总控制位,EA=1,CPU开放中断。EA=0,CPU禁止所有中断。,ES:串行口中断控制位,ES=1允许串行口中断,ES=0,屏蔽串行口中断。,ET1:定时/计数器T1中断控制位。ET1=1,允许T1中断,ET1=0,禁止T1中断。,EX1:外中断1中断控制位,EX1=1,允许外中断1中断,EX1=0,禁止外中断1中断。,ET0:定时/计数器T0中断控制位。ET1=1,允许T0中断,ET1=0,禁止T0中断。,EX0:外中断0中断控制位,EX1=1,允许外中断0中断,EX1=0,禁止外中断0中断。,MCS-51的中断系统有两个不可寻址的优先级状态触发器,一个指出CPU是否在执行高优先级中断服务程序,另一个指出CPU是否正在执行低优先级的中断服务程序,这两个中断触发器的1状态分别屏蔽所有中断申请和同一级别的其他中断申请。此外,MCS-51还有一个申请优先级寄存IP,IP的格式如下,字节地址是B8H。,IP,D7,D6,D5,D4,D3,D2,D1,D0,-,-,-,PS,PT1,Px1,PT0,PX0,位地址,BCH,BBH,BAH,B9H,B8H,PS:串行口中断口优先级控制位,PS=1,串行口中断声明为高优先级中断,PS=0,串行口定义为低优先级中断。,PT1:定时器1优先级控制位。PT1=1,声明定时器1为高优先级中断,PT1=0定义定时器1为低优先级中断。,PX1:外中断1优先级控制位。PT1=1,声明外中断1为高优先级中断,PX1=0定义外中断1为低优先级中断。,PT0:定时器0优先级控制位。PT1=1,声明定时器0为高优先级中断,PT1=0定义定时器0为低优先级中断。,PX0:外中断0优先级控制位。PT1=1,声明外中断0为高优先级中断,PX1=0定义外中断0为低优先级中断。,(5)中断的响应,MCS-51CPU在每一个机器周期顺序检查每一个中断源,在机器周期的S6按优先级处理所有被激活的中断请求,此时,如果CPU没有正在处理更高或相同优先级的中断,或者现在的机器周期不是所执行指令的最后一个机器周期,或者CPU不是正在执行RETI指令或访问IE和IP的指令(因为按MCS-51中断系统的特性规定,在执行完这些指令之后,还要在继续执行一条指令,才会响应中断),CPU在下一个机器周期响应激活了的最高级中断请求。,中断响应的主要内容就是由硬件自动生成一条长调用LCALL addr16指令,这里的addr16就是程序存储器中相应的中断区入口地址,这些中断源的服务程序入口地址如下:,2.单片机中断程序怎样编制?,从上面的任务程序中,我们来体会以下中断服务程序的编制方法。,(1)首先必须对中断系统进行初始化,包括:,1)开中断,即设定IE寄存器。,2)设定中断优先级,即设置IP寄存器。,如上面程序中的 SETBPT0;设定时器0中断为高优先级,3)如果是外部中断,还必须设定中断响应方式,即设定IT0、IT1位。,中断服务函数采用扩展属性的函数进行语法定义,格式:,返回值 函数名 interrupt n,其中:n对应中断源的编号,其值04分别对应外中断0,定时器0中断,外中断1,定时器1中断和串行口中断,例题,P3.2引脚接有按钮或开关,按下此按钮式开关P1.0引脚所接的LED点亮,再次按下后该LED熄灭,由此反复,小结:,1.MCS-51中断系统的结构及与中断有关的寄存器是什么?,2.怎样编制中断服务程序?,实验实训:,项目10,中断方式实现流水灯控制,项目11,外部中断课题,项目12,按键使用课题,要求,:,课外完成编程、相关硬件安装、仿真与调试,定时器/计数器 相关知识,1.单片机是如何进行计数的?,本次任务中,单片机完成了对S3键按键次数的累计,那么,单片机是如何进行计数的?,在单片机的内部结构中,我们知道在MCS-51的单片机内有两个16位可编程的定时/计数器,它们具有四种工作方式,其控制字和状态均在相应的特殊功能寄存器中,通过对控制寄存器的编程,就可方便地选择适当的工作方式。,T1由TH1、TL1构成,字节地址为8DH、8BH,T0由TH0、TL0构成,字节地址为8CH、8AH,TCON则用于控制定时计数器T0和T1的启动和停止计数,同时管理定时器T0和T1的溢出标志等。,特殊功能寄存器TMOD控制定时计数器的工作方式,TMOD 89H,D7,D6,D5,D4,D3,D2,D1,D0,GATA,M1,M0,GATA,M1,M0,T1方式字段,T0方式字段,GATE 门控位。,GATE=0 启动不受/INT0或/INT1的控制;,GATE=1,启动受,/INT0,或,/INT1,的控制。,C/T 外部计数器/定时器方式选择位,C/T=0 定时方式;,C/T=1,计数方式,。,M1M0,工作模式选择位(编程可决定四种工作模式),。,C/T=0 定时;C/T=1 对外计数。,定时:,fosc/12=1/,(,12/fosc,),=1/T,N个方波,T,计数:脉冲不等间隔。,波形等间隔,次数已定,时间确定,即对机器周期进行计数。,左图定时时间为 N*T,每个下降沿计数一次,确认一次负跳变需两个机器周期,,所以,计数频率最高为,fosc/24,。,TCON 88H,D7,D6,D5,D4,D3,D2,D1,D0,TF1,TR1,TF0,TR0,TR0 定时/计数器0运行控制位。,软件置位,软件复位。,TR1 定时/计数器1运行控制位。(,用法与,TR0,类似),TF0、TF1 分别是定时、计数器T0、T1的溢出标志位。,(1)定时/计数器的工作方式,M1M0 工作模式选择位(编程可决定四种工作模式),0 0,13位定时/计数器 模式0,0 1 16位定时/计数器 模式1,0 8,位定时/计数器(自动重装初值)模式,2,1 1 T0 8,位定时/计数 模式,3,1 1 T1,停止工作 模式,3,1)工作方式0,T0的等效逻辑结构,项目10 中断方式实现流水灯控制,PX0:外中断0优先级控制位。,(用法与TR0类似),定时器/计数器 相关知识,它的D7位SMOD为串行口波特率控制位,可由软件置位或清零。,8192(81921)1/610-612=210-6(s)=2(us),串行数据传输速率有两个概念,即每秒转送的位数bps(Bit per second)和每秒符号数波特率(Band rate),在具有调制解调器的通信中,波特率与调制速率有关。,18192(2的13方),PT1=1,声明定时器1为高优先级中断,PT1=0定义定时器1为低优先级中断。,MCS-51的中断系统有两个不可寻址的优先级状态触发器,一个指出CPU是否在执行高优先级中断服务程序,另一个指出CPU是否正在执行低优先级的中断服务程序,这两个中断触发器的1状态分别屏蔽所有中断申请和同一级别的其他中断申请。,如果单片机的晶振选为6.,【同步通信】发送器和接收器由同一个时钟源控制,,要求:课外完成编程、相关硬件安装、仿真与调试,MCS-51的中断系统有两个不可寻址的优先级状态触发器,一个指出CPU是否在执行高优先级中断服务程序,另一个指出CPU是否正在执行低优先级的中断服务程序,这两个中断触发器的1状态分别屏蔽所有中断申请和同一级别的其他中断申请。,在物理结构上,有一个串行口接收缓冲器SBUF、一个发缓冲器SBUF,但这两个寄存器具有同一地址(99H)。,在计数工作方式下,计数器的计数值范围是:,18192(2的13方),当为定时工作方式时,定时时间的计算公式为:,(8192-计数初值)晶振周期12,或 (8192-计数初值)机器周期,其时间单位与晶振周期或机器周期相同。,如果单片机的晶振选为6.000MHz,则最小定时时间为:,8192(81921)1/610-612=210-6(s)=2(us),最长定时时间为:,(81920)1/610-612=1638410-6(s)=16384(us)。,2)工作方式1,T0的等效逻辑结构,在工作方式1下,计数器的计数值范围是:,165536(2的16方),当为定时工作方式1时,定时时间的计算公式为:,(65536计数初值)晶振周期12,或 (65536计数初值)机器周期,其时间单位与晶振周期或机器周期相同。,如果单片机的晶振选为6.000MHz,则最小定时时间为:,65536(655361)1/610-612=210-6(s)=2(us),最长定时时间为:,(655360)1/610-612=13107210-6(s)=131072(us)。,3)工作方式2,T0的等效逻辑结构,方式2与方式0、1的区别:,工作方式0和工作方式1的最大特点就是计数溢出后,计数器为全0,因而循环定时或循环计数应用时就存在反复设置初值的问题,这给程序设计带来许多不便,同时也会影响计时精度。,工作方式2就具有自动重装载功能,即自动加载计数初值,所以也有的文献称之为自动重加载工作方式。在这种工作方式中,16位计数器分为两部分,即以TL0为计数器,以TH0作为预置寄存器,初始化时把计数初值分别加载至TL0和TH0中,当计数溢出时,不再象方式0和方式1那样需要“人工干预”,由软件重新赋值,而是由预置寄存器TH以硬件方法自动给计数器TL0重新加载。,方式2在串口通讯时,常用作波特率发生器。,4)工作方式3,2.怎样编制定时程序?,例题:,用定时器实现P1.0引脚所接的LED每60ms亮或灭一次,设系统晶振频率为12HZ,2.怎样编制计数程序?,例题1:,计数到预定值即报警,例题2:,将T0口计数值显示出来,小结:,1.定时计数器的基本结构及其四种工作方式?,2.定时计数程序的编制方法?,实验实训,项目8,定时器控制流水灯课题,项目9,计数器课题,要求,:,课外完成编程、相关硬件安装、仿真与调试,串行口编程,相关知识,1.,单片机如何能收、发数据?,MCS-51单片机内部有一个全双工的串行通信口,即串行接收和发送缓冲器(SBUF),这两个在物理上独立的接收发送器,既可以接收数据也可以发送数据。但接收缓冲器只能读出不能写入,而发送缓冲器则只能写入不能读出,它们的地址为99H。这个通信口既可以用于网络通信,亦可实现串行异步通信,还可以构成同步移位寄存器使用。,(1),基本概念,0,0,1,0,0,0,1,0,0,1,P1.0,P1.1,P1.2,P1.3,RXD,TXD,单片机,外设1,外设2,1,1,11,1,1 0 1 0,1 0 0 0,【并行通信和串行通信】,并行通信:,数据的各位同时送出。,串行通信:,数据的各位逐位送出。,1)数据通信的传输方式,【单工方式】数据仅按一个固定方向传送。,【半双工方式】数据可实现双向传送,但不能同时进行,实际的应用采用某种协议实现收/发开关转换。,【全双工方式】允许双方同时进行数据双向传送,但一般全双工传输方式的线路和设备较复杂。,2)串行数据通信两种形式,【异步通信】在这种通信方式中,接收器和发送器有各自的时钟,它们的工作是非同步的,异步通信用一帧来表示一个字符,其内容如下:一个起始位,仅接着是若干个数据位。,【同步通信】发送器和接收器由同一个时钟源控制,,同步传输方式去掉了起始位和停止位,只在传输数据块时先送出一个同步头(字符)标志即可。,这两种方式各有何优劣?,3)串行数据通信的传输速率,串行数据传输速率有两个概念,即每秒转送的位数bps(Bit per second)和每秒符号数波特率(Band rate),在具有调制解调器的通信中,波特率与调制速率有关。,举例:设有一帧信息,1个起始位、8个数据位、1个停止位,传输速率为每秒240个字符。求波特率。,解:,(,1,8,1,),240=2400 b/s=2400,波特。,2)串行通信控制寄存器,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,TI /RI:中断请求标志位,RB8:接收的第九位数,TB8:发送的第九位数,REN:允许接收控制位,SM2:多机通信控制位,SM0、SM1:工作方式选择位(四种工作方式),3)电源管理寄存器PCON,字节地址87H,不可位寻址。它的D7位SMOD为串行口波特率控制位,可由软件置位或清零。若SMOD=1,则使工作在方式1、2、3时的波特率加倍。,4)中断允许寄存器IE,IE,D7,D6,D5,D4,D3,D2,D1,D0,EA,-,-,ES,ET1,EX1,ET0,EX0,位地址,AFH,ACH,ABH,AAH,A9H,A8H,EA、ES位控制串口中断的开启。,2.,单片机怎样通过程序控制收发数据?,P1口接8只发光二极管,P3.2P3.5接有K1K4共4个按键,使用串行口编程。要求(1)由PC机控制单片机的P1口,将PC机送出的数以二进制形式显示在发光二极管上;(2)按下K1向主机发送数字0 x55,按下K2向主机发送数字0 xAA,值得注意的是,,由于串行发送、接收标志不能硬件自动清除,所以,不管是中断方式还是查询方式编程时都必须用软件方式清除TI、RI。,小结:,1.串行口的四种工作方式各有何特点?,2.怎样编制串口通讯程序?,实验实训,项目14,串口通讯课题,要求,:,课外完成编程、相关硬件安装、仿真与调试,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服