版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
4.1MCS-51单片机的中断系统中断的概念
MCS-51的中断系统及控制中断处理外部中断及其扩展思考练习题
4.1.1中断的概念中断机制产生前微机的输入/输出方式无条件方式程序查询方式
DMA方式中断方式查询方式流程图
4.1.1中断的概念当CPU正在处理某件事情的时候,内部或外部发生的某一事件(如一个电平的变化,一个脉冲沿的发生或定时器计数溢出等)请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的事件。处理完该事件以后,再回到原来被中止的地方,继续原来的工作,这样的过程称为中断。4.1.2MCS-51的中断系统及控制8051单片机中断系统的结构如图5.3所示。一、中断源8051中断系统的5个中断源为: ——外部中断0请求,通过P3.2引脚输入。 ——外部中断1请求,通过P3.3引脚输入。T0 ——定时器/计数器0溢出中断请求。T1 ——定时器/计数器1溢出中断请求。TI/RI ——串行口中断请求。表5.1中断源及其对应的中断矢量中断源中断矢量外部中断00003H定时器T0中断000BH外部中断10013H定时器T1中断001BH串行口中断0023H二、中断控制
1.定时器控制寄存器TCON与中断有关的位如图5.4所示。2.串行口控制寄存器SCONSCON中TI和RI的格式如图5.5所示。外部中断方式的选择
1.电平方式——低电平有效“0”2.边沿方式——下降沿有效“1”4.中断优先级寄存器IP051片内有一个中断优先级寄存器IP,其格式如图5.7所示。例系统要求设定8051的片外中断为高优先级中断,片内中断为低优先级。请写出相应的指令。解:根据题目要求,需要将8051的外部中断优先级控制位PX0、PX1设置为1,而内部中断优先级控制位PT0、PT1、PS清为0。(1) 用字节操作指令:MOVIP,#05H(2) 用位操作指令:SETBPX0SETBPX1CLRPSCLRPT0CLRPT12.中断处理图5.8中断服务程序流程4其他说明的问题外部中断的响应时间中断嵌套最多实现二级中断嵌套4.1.3思考练习题(1)什么是中断和中断系统?其主要功能是什么?(2)试编写一段对中断系统初始化的程序,使之允许INT0,INT1,T0,串行口中断,且使T0中断为高优先级中断。(3)试编写一段程序,对中断系统进行初始化,要求允许外部中断0和外部中断1,并将外部中断0设置为低优先级,边沿触发方式,将外部中断1设置为高优先级,电平方式。(4)在单片机中,中断能实现哪些功能?(5)8051共有哪些中断源?对其中断请求如何进行控制?(6)什么是中断优先级?中断优先处理的原则是什么?(7)说明外部中断请求的查询和响应过程。(8)8051在什么条件下可响应中断?(9)在8051内存中,应如何安排中断服务程序?(10)当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求?(11)8051单片机外部中断源有几种触发中断请求的方法?如何设置?中断程序举例例:现有5个外部中断源EX1~EX5,如下图所示。中断请求信号低电平有效,编写查询外部中断请求线EX1~EX5上中断请求的程序。&EX2EX3EX4EX5INT1P1.0P1.1P1.2P1.3MCS-51EX1INT0 ORG 0000H LJMP MAIN ORG 0003H LJMP INT0 ORG 0013H LJMP INT1MAIN: MOV SP,#60H CLR IT1 CLR IT0 SETB EX0 SETB EXI SETB EA SJMP $ ORG 1000HINT0: PUSH PSW PUSH ACC ACALL EX1 POP ACC POP PSW RETI ORG 1200HINT1: PUSH PSW PUSH ACC ORL P1,#0FH MOV A,P1 JB P1.0,N1 ACALLEX2 N1: JB P1.1,N2 ACALLEX3 N2: JB P1.2,N3 ACALLEX4N3: JB P1.3,N4 ACALLEX5N4: POP ACC POP PSW RETI ENDTABLE: DB 0FEH,0FDH,0FBH,0F7H DB 0EFH,0DFH,0BFH,07FH DB 0BFH,0DFH,0EFH,0F7H DB 0FBH,0FDH,0FEH,0FFH DB 0AAH,55H,0AAH,55H DB 0AAH,55H,0FFH DB 1BH RETTABLE1: DB 0FFH,00H,0FFH,00H,0FFH DB 00H,0FFH,00H,0FFH,00H DB 1BH RET END4.2定时/计数器定时器的结构定时器的工作方式定时器应用4.2.2定时器的控制1.工作模式寄存器TMOD图6.2TMOD的位定义2.定时器控制寄存器TCON图6.3TCON的位定义4.2.3定时器的工作方式一、模式0及应用模式0是选择定时器(T0或T1)的高8位和低5位组成的一个13位定时器/计数器。图6.4是T0在模式0时的逻辑电路结构。T1的模式0电路结构与T0相同。图6.4定时器T0的模式0例1设定时器T0选择工作模式0,求最长定时时间,如果要实现定时时间为1ms,fosc=6MHz。试确定T0的初值。解:当T0处于工作模式0时,加1计数器为13位。T0最大定时时间对应于13位计数器T0的各位全为0,即(TH0)=00H,(TL0)=00H。最长定时时间为:tmax=(213-X(x=0))×0.002ms=(213–X)×0.002ms=16.384ms设定时时间为1ms时的初值为X,则:X===7692转化成二进制为:1111000001100B按照低5位,高8位拆开,T0的低5位TL0=01100B=0CHT0的高8位TH0=11110000B,即F0H二、模式1及应用图6.5定时器T0的模式1例1利用定时器T0产生一个频率为50Hz的方波,由P1.1输出。要求采用中断方式。fosc=12MHz。解:方波周期T=1/50Hz=0.02s=20ms,如果要输出方波,则需要将P1.1状态每半个周期翻转一次。故定时时间为10ms,则定时器初值为:X===65536-10000=55536=D8F0H则:TH0=0D8H,TL0=0F0H程序如下:ORG 0000HLJMP MAINORG 000BHT0INT:LJMP T0SEV ORG 0030HMAIN:MOV SP,#60H ;设置堆栈指针 MOV TMOD,#01H ;设定T0为模式1,定时方式 MOV TH0,#0D8H ;设定初值 MOV TL0,#0F0H SETB TR0 ;启动定时 SETB ET0 ;开中断 SETB EA SJMP $ ;等待中断T0SEV:MOV TH0,#0D8H ;重新装入初值 MOV TL0,#0F0H CPL P1.1 ;P1.0状态取反,输出方波 RETI END三模式2及应用模式2把T0(或Tl)配置成一个可以自动重装载的8位定时器/计数器,如图6.6所示。例1利用定时器T1的模式2对外部信号计数。要求每计满150次,将P1.0端取反。解:(1)选择模式:外部信号由T1(P3.5)引脚输入,每发生一次负跳变计数器加1,每输入150个脉冲,计数器发生溢出中断,中断服务程序将P1.0取反一次。T1计数工作方式模式2的模式字为TMOD=60H。T0不用时,TMOD的低4位可任取,但不能使T0进入模式3,一般取0。(2)计算T1的计数初值:X=28-150=256-150=106=6AH因此,TL1的初值为6AH,重装初值寄存器TH1初值为6AH。(3)程序清单:MAIN:MOV TMOD,#60H ;置T1为模式2计数工作方式 MOV TL1,#6AH ;赋初值 MOV TH1,#6AH MOV IE,#88H ;定时器T1开中断 SETB TR1 ;启动计数器HERE: SJMP HERE ;等待中断 ORG 001BH ;中断服务程序入口 CPL P1.0 RETI四、模式3及应用图6.7定时器T0的模式3(a)T0模式3时的T1模式0(b)T0模式3时的T1模式14.2.4定时/计数器使用一定时/计数器对输入信号的要求图6.9对输入脉冲宽度的要求二定时/计数器的编程步骤1.确定相关参数(1)确定选用的定时器/计数器。(2)确定工作方式(3)确定工作模式(4)计算计数初值确定数据传送方式2.初始化程序编写
三应用举例1.波形发生器例从P1.0输出频率为100Hz的方波脉冲(设fosc=12MHz)。(使用查询方式)解:定时器选择工作模式确定计算初值硬件连接及传送方式选择 ORG 0000H LJMP START ORG 0100HSTART: MOV TMOD,#10H ;T1模式1,定时工作方式 SETB TR1 ;启动定时器T1LOOP: MOV TH1,#0FEH ;装入T1初值 MOV TL1,#0CH ;HERE: JNB TF1,HERE ;查询溢出标志,否则等待 CLR TF1 ;有溢出,清溢出标志 CPL P1.0 ;P1.0取反 SJMP LOOP END2.长时间定时程序例试编写利用T0产生1s定时的程序。(设fosc=6MHz)。解:定时器及模式确定计算初值程序清单模式0最长可定时16.384ms模式1最长可定时131.072ms模式2最长可定时0.512ms故:采用模式1,每100ms溢出1次,溢出10次即为1s求初始值:(216-X)*0.002us=100msX=65536-50000=15536=3CB0H ORG 0000H LJMP START ORG 000BH LJMP T0INT ORG 0100HSTART: MOV SP,#70H MOV R0,#0AH MOV TMOD,#01H ;T0模式1,定时工作方式 MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 ;启动定时器T0 SETB ET0 SETB EA SJMP $ ORG 0200HT0INT: MOV TH0,#03CH ;装入T0初值 MOV TL0,#0B0H ; DJNZ R0,THERE ;查询计时溢出次数 CLR TF0 ;1s时间到,停止计时THERE: RETI ;中断返回 END实验二使用定时/计数器作为延时控制,要求在两个LED灯P0.0和P0.1之间按1s间隔相互闪烁。 ORG 0000H LJMP MAIN ORG 0100HMAIN: MOV TMOD, #01H ;使用定时器0,工作方式1 MOV TH0, #3CH MOV TL0, #0B0H SETB TR0 ;启用定时器0 SETB P0.0 CLR P0.1 MOV R7, #14HLOOP: JNB TF0, LOOP MOV TH0, #3CH MOV TL0, #0B0H CLR TF0 DJNZ R7, LOOP LCALL STEP SJMP LOOPSTEP: CPL P0.0 CPL P0.1 MOV R7, #14H RET END查询方式 ORG 0000H LJMP MAIN ORG 000BH LJMP T0_INT ORG 0100HMAIN: MOV TMOD, #01H ;使用定时器0,工作方式1 MOV TH0, #3CH MOV TL0, #0B0H SETB TR0 ;启用定时器0 SETB ET0 SETB EA SETB P0.0 CLR P0.1 MOV R7, #14H SJMP $T0_INT: MOV TH0, #3CH MOV TL0, #0B0H DJNZ R7, NEXT CPL P0.0 CPL P0.1 MOV R7, #14HNEXT: RETI END中断方式思考练习题
(1)8051定时器有哪几种工作模式?有何区别?(2)8051单片机内部设有几个定时器/计数器?是由哪些特殊功能寄存器组成的?(3)定时器模式2有什么特点?适用于什么应用场合?(4)试述8051单片机内部定时器/计数器工作于定时器方式和计数器方式的异同。(5)当定时器T0用作模式3时,由于TR1位已被T0占用,如何控制定时器T1的开启和关闭?(6)单片机用内部定时方法产生频率为100KHz等宽矩形波,假定单片机的晶振频率为12MHz,请编程实现。(7)8051定时器作定时和计数时,其计数脉冲分别从何处提供?(8)8051定时器的门控制信号GATE设置为1时,定时器如何启动?4.3单片机的串行通信及接口串行通信的有关概念MCS-51串行通信接口及控制寄存器串行接口的工作方式串行口的应用数据通信4.3.1串行通信的有关概念(a)并行传输 (b)串行传输图7.1两种通信方式串行通信的传输方向
(a)单工方式 (b)半双工方式(c)全双工方式1.异步通信异步通信和同步通信(b)有空闲位图7.3串行异步通信的帧格式2.同步通信串行通信的波特率波特率,即为数据传送速率,表示每秒钟传送二进制代码的位数,它的单位是b/s。波特率对于CPU与外界的通信是很重要的。
图7.4串行同步通信格式远距离串行通信串行通信接口图7.6UART的结构示意图MCS-51串行接口结构MCS-8051通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.1,串行数据发送端)与外界进行通信。
4.3.2MCS-51串行通信接口及控制寄存器串行口控制寄存器1.串行口控制寄存器SCON图7.8串行口控制寄存器表7.1串行口的工作方式选择SM0SM1工作方式说明波特率00方式0同步移位方式fosc/1201方式110位异步收发定时器T1控制10方式211位异步收发fosc/32或fosc/6411方式311位异步收发定时器T1控制电源控制寄存器在串行口控制中只用了一位SMOD。见图7.9。
SMOD称为串行口波特率倍增位,在串行口方式1、方式2和方式3时,波特率与2SMOD成正比,亦即当SMOD=1时,波特率提高一倍。复位时,SMOD=0。2.电源控制寄存器PCON一、工作方式04.3.3串行接口的工作方式(a)方式0发送电路(b)方式0接收电路图7.10方式0应用电路图7.11串行口方式0发送时序图7.12串行口方式0接收时序二、工作方式1帧格式如下:……起始D0D1D2D3D4D5D6D7停止……串行口方式1的发送和接收时序如图7.13所示。三、工作方式2和工作方式3其帧格式为:……起始D0D1D2D3D4D5D6D7D8停止……方式2和方式3的发送、接收时序与方式1类似,只是增加了一位第九位。发送和接收时序可参考图7.13。四、波特率设计1.方式0的波特率方式0波特率=fosc/122.方式2的波特率方式2波特率取决于PCON中SMOD位的值;当SMOD=0时,波特率为fosc的1/64;若SMOD=1,则波特率为fosc的1/32。3.方式1和方式3的波特率(1)方式1、方式3波特率=(2)方式1、方式3波特率=波特率foscSMOD定时器1C/T模式重装载值375k12M162.5k12M102FFH19.2k11.059M102FDH9.6k11.059M002FDH4.8k11.059M002FAH2.4k11.059M002F4H1.2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外研八下英语Unit 6 Developing ideas《合作探究二》课件
- 人教 八年级 语文 下册 第2单元《6.恐龙无处不有》课件
- 2025 网络基础中网络职业技能培训的网络教学模式创新课件
- 2025 高中信息技术数据结构在电商用户购买偏好变化跟踪课件
- 2026年客栈租房合同(1篇)
- 2026年消防系统维修合同(1篇)
- 2026年旅游代开发合同(1篇)
- 2026年及未来5年市场数据中国金融仓储物流中心建设行业发展监测及投资战略咨询报告
- 现代社会调查方法解析
- 2025 高中信息技术数据与计算之算法的萤火虫算法课件
- 中国艺术研究院社会招聘试题
- 2026年教育局思想政治工作科工作计划
- 2025年安徽卫生健康职业学院单招职业适应性测试试题及答案解析
- 医保村卫生室管理制度
- 陕西从优 秀村干部中考录乡镇公务员考试真题
- 2025年军事设施建设与管理规范
- 儿科学营养性vitD缺乏
- “党的二十届四中全会精神”专题题库及答案
- 厂房基础注浆加固施工方案
- 人工智能技术应用规范
- 无锡银税协议书
评论
0/150
提交评论