版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理与应用实验 信通学院 李北明 MCS51共有四个共有四个8位的双向并行位的双向并行I/O口,口,分别记作分别记作P0、P1、P2和和P3。实际上它们已。实际上它们已被归入专用寄存器之列。被归入专用寄存器之列。 口是一个综合概念,是一个集数据输入缓口是一个综合概念,是一个集数据输入缓冲、数据输出驱动及锁存等多项功能为一冲、数据输出驱动及锁存等多项功能为一体的体的I/O电路。对于口有时也称为端口。电路。对于口有时也称为端口。 作通用作通用I/O口使用,所以在电路结构上与口使用,所以在电路结构上与P0口有一些不同之处。口有一些不同之处。首先它不再需要多路转接电路首先它不再需要多路转接电路M
2、UX,其次是电路的内部有上拉,其次是电路的内部有上拉电阻。与场效应管共同组成输出驱动电路。作为输出口使用时,电阻。与场效应管共同组成输出驱动电路。作为输出口使用时,已能向外提供推拉电流负载,无需再外接上拉电阻。已能向外提供推拉电流负载,无需再外接上拉电阻。 P2口电路中比口电路中比P1口多了一个多路转换电路口多了一个多路转换电路MUX,这又正好与,这又正好与P0口一样。口一样。P2口也可以作为通用口也可以作为通用I/O口使用。这时多路转接开口使用。这时多路转接开关倒向锁存器的关倒向锁存器的Q端。但通常应用情况下,端。但通常应用情况下,P2口是作为口是作为高位地址高位地址线线使用,此时多路转接开
3、关应倒向相反方向。使用,此时多路转接开关应倒向相反方向。 P3口的特点在于为适应引脚信号第二功能的需要。口的特点在于为适应引脚信号第二功能的需要。 对于第二功能为输出的信号引脚,当作为对于第二功能为输出的信号引脚,当作为I/O使用时,第二功能信使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。输出通路的畅通。 当输出第二功能信号时,该位的锁存器应置当输出第二功能信号时,该位的锁存器应置“1”,使与非门对第二,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出。功能信号的输出是畅通的
4、,从而实现第二功能信号的输出。 (1)系统总线:)系统总线: 地址总线(地址总线(16位位):P0(地址低(地址低8位)、位)、P2口(地址高口(地址高8位)位) 数据总线(数据总线(8位位):P0口(地址口(地址/ /数据分时复用,借助数据分时复用,借助ALE);); 控制总线(控制总线(6根根):P3口的第二功能和口的第二功能和9、29、30、31脚;脚; (2)供用户使用的端口:)供用户使用的端口:P1口、部分未作第二功能的口、部分未作第二功能的P3口;口; (3)P0口作地址口作地址/ /数据时,是真正的双向口,三态,负载能力数据时,是真正的双向口,三态,负载能力 为为8个个LSTTL
5、电路;电路; P1P3是准双向口,负载能力为是准双向口,负载能力为4个个LSTTL电路。电路。 (4)P0P3在用作输入之前必须先写在用作输入之前必须先写“1”,即:,即: (P0)=FFH (P3)=FFH 。MCS51系列单片机引脚及总线结构 (a) 管脚图; (b) 引脚功能分类 P0为三态双向口,它可作为输入输出端口使用,也可作为系统扩展时的低8位地址/8位数据总线使用。 P1口为准双向口,每一位都可以分别定义为输入或输出使用。 P2口也是一个准双向口,它有两种使用功能:作为普通I/O端口或作为系统扩展时的高8位地址总线。 P3口为多功能口,除了用作通用I/O口之外,它的每一位都有各自
6、的第二功能 。一、实验目的二、实验说明三、实验仪器四、实验内容六、实验报告要求五、思考题1、学习、学习P1口的使用方法。口的使用方法。2、学习延时子程序的编写和使用。、学习延时子程序的编写和使用。 3、熟练在汇编软件环境下编写、修改、调、熟练在汇编软件环境下编写、修改、调 试、和运行硬件程序试、和运行硬件程序4、熟悉汇编语言、熟悉汇编语言 1、P1口做输出口,接八只发光二极管,编口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。写程序,使发光二极管循环点亮。 2、P1.0,P1.1作输入口接两个拨动开关,作输入口接两个拨动开关,P1.2,P1.3作输出口,接两个发光二极管,作输出口
7、,接两个发光二极管,编写程序读取开关状态,将此状态,在发编写程序读取开关状态,将此状态,在发光二极管上显示出来。编程时应注意光二极管上显示出来。编程时应注意P1.0,P1.1作为输入口时应先置作为输入口时应先置1,才能正才能正确读入值。确读入值。 计算机计算机 伟福软件(伟福软件( lab2000P ) 1、P1口是准双向口。它作为输出口时与一口是准双向口。它作为输出口时与一般的双向口使用方法相同。由准双向口结般的双向口使用方法相同。由准双向口结构可知当构可知当P1口用为输入口时,必须先对它口用为输入口时,必须先对它置置“1”。若不先对它置。若不先对它置“1”,读入的数据,读入的数据是不正确的
8、。是不正确的。 2、8051延时子程序的延时计算问题,计延时子程序的延时计算问题,计算和估算延时子程序的时间。算和估算延时子程序的时间。 关于延时子程序的时间计算,查指令表可知MOV和DJNZ指令均需用两个机器周期,在6MHz晶振时,一个机器周期时间长度为12/6MHZ,所以上面延时子程序该的执行时间为: (256255+2)2126 261ms P1口是准双向口,它作为输出口使用时具有锁存功能。实验所需要LED电平显示电路如图所示。 由P1口的准双向口结构可知,当作为输入口时,必须先对它置“1”。若不先对它置“1”,读入的数据是不正确的。实验所需要LED电平显示电路和逻辑电平开关电路如图所示
9、。 KeyLeft equ P1.0 KeyRight equ P1.1 LedLeft equ P1.2 LedRight equ P1.3 SETB KeyLeft SETB KeyRightLoop: MOV C,KeyLeft MOV LedLeft,C MOV C,KeyRight MOV Ledright,C LJMP Loop END Loop:mov a, #01h mov r2, #8Output: mov P1, a rl a call Delay djnz r2, Output ljmp LoopDelay: mov r6, #0 mov r7, #0DelayLoop:
10、 djnz r6, DelayLoop djnz r7, DelayLoop ret end 1、改变延时时间,变快或者变慢,观察效、改变延时时间,变快或者变慢,观察效果;果; 2、第、第2个实验在每个端口增加软件延时,个实验在每个端口增加软件延时,延时时间变快或者变慢,观察拨动开关响延时时间变快或者变慢,观察拨动开关响应效果;应效果; 3、改变流水灯的运行方向;、改变流水灯的运行方向; 4、改变流水灯的运行模式,双灯对跑,双、改变流水灯的运行模式,双灯对跑,双灯一起跑。灯一起跑。 5、如果、如果LED灯为低电平点亮,如何改动。灯为低电平点亮,如何改动。1、实验目的和内容、实验目的和内容 2、
11、记录下对原程序修改的地方,分析原理、记录下对原程序修改的地方,分析原理3、写清相关程序运行结果,并详细说明结果、写清相关程序运行结果,并详细说明结果 的正确性的正确性 8051单片机有5个中断源,有两个中断优先级,高优先级的中断源可以中断低优先级的服务程序,反之不行。当两个同样级别的中断申请同时到来时,则按一个固定的查寻次序来处理中断响应。中断源入口地址优先级顺序说 明外部中断00003H最高来自P3.2引脚(INT0)的外部中断请求定时/计数器0000BH定时/计数器T0溢出中断请求外部中断10013H来自P3.3引脚(INT1)的外部中断请求定时/计数器T1001BH定时/计数器T1溢出中
12、断请求串行口0023H最低串行口完成一帧数据的发送或接收中断一、一、MCS-51MCS-51中断系统内部结构中断系统内部结构2 2、中断允许控制:、中断允许控制:总允许开关:总允许开关:EAEA;源允许开关:源允许开关:ESES、ET1ET1、EX1EX1、ET0ET0、EX0EX0。3 3、2 2级中断优先级控制:级中断优先级控制:优先级选择开关:优先级选择开关:PSPS、PT1PT1、PX1PX1、PT0PT0、PX0PX0。1 1、中断源信号:、中断源信号:2 2个外部中断源信号:个外部中断源信号:INT0INT0、INT1INT1;2 2个定时器个定时器T0T0、T1T1溢出中断请求:
13、溢出中断请求:TF0TF0、TF1TF1;1 1个串行口数据发送、接收结束中断请求:个串行口数据发送、接收结束中断请求:TITI、RIRI。高高低低 8051单片机中断的开放和关闭是由特殊功能寄存器IE来实现两级控制的。在寄存器IE中有一个总允许位EA,当EA=0时, 就关闭了所有的中断申请,CPU不响应任何中断申请。而当EA=1时,对各中断源的申请是否开放,还要看各中断源的中断允许位的状态。EAESET1EX1ET0 EX0D7 D6 D5 D4 D3 D2 D1 D0EA:中断总允许位。 EA=0,CPU关闭所有的中断申请; EA=1,允许各个中断源的中断申请,但 还要取决于各中断源中断允
14、许控 制位的状态。ES:串行口中断允许位。 ES=1,串行口开中断; ES=0,串行口关中断。ET1:定时/计数器T1的溢出中断允许位。 ET1=1允许T1溢出中断; ET1=0则不允许T1溢出中断。EX1:外部中断1(INT1)的中断允许位。 ET1=1允许外部中断1申请中断, EX1=0则不允许中断。ET0:定时/计数器T0的溢出中断允许位。 ET0=1允许中断, ET0=0不允许中断。EX0:外部中断0(INT0)的中断允许位。 EX0=1允许中断, EX0=0不允许中断。 每个中断源的优先级别由特殊功能寄存器IP来管理。PSPT1PX1PT0PX0D7 D6 D5 D4 D3 D2 D
15、1 D0PS:串行口中断优先级控制位。PT1:定时器/计数器T1中断优级控制位。PX1:外部中断INT1中断优先级控制位。PT0:定时器/计数器T0中断优先级控制位。PX0:外部中断INT0中断优先级控制位。 外部中断触发方式通过特殊功能寄存器TCON(地址为88H)控制,TCON中各控制位分布如下:D7 D6 D5 D4 D3 D2 D1 D0TF1TF0IE1IT1IE0IT0IT0:选择外中断INT0的中断触发方式。IT0=0为电平触发方式,低电平有效。IT0=1为负边沿触发方式,INT0脚上的负跳变有效。IT0的状态可以用指令来置“1”或清“0”。IE0:外中断INT0的中断申请标志。
16、 当检测到INT0上存在有效中断申请时,由硬件使IE0置位。当CPU转向中断服务程序时,由硬件清“0”IE0中断申请标志。 IT1:选择外中断INT1的触发方式(功能与TI0类似)。IE1:外部中断INT1的中断申请标志(功能与IE0 类似)。TF0:定时/计数器T0溢出中断申请标志。 当T0溢出时,由内部硬件将TF0置“1”,当CPU转向中断服务程序时,由硬件将TF0清“0”,从而清除T0的中断申请标志。TF1:定时器1溢出中断申请标志(功能与TF0相同)。 例如例如, 某软件中对寄存器某软件中对寄存器IE、 IP设置如下设置如下: MOV IE, 8FH MOV IP, 06H 则此时该系
17、统中则此时该系统中: CPU中断允许中断允许; 允许外部中断允许外部中断 0、 外部中断外部中断 1、 定时器定时器 /计数器计数器 0、 定定时器时器 /计数器计数器1提出的中断申请提出的中断申请; 允许中断源的中断优先次序为允许中断源的中断优先次序为: 定时器定时器 /计数器计数器 0外部中断外部中断 1外部中断外部中断 0定时器定时器/计数计数器器 1。 一、中断响应条件:一、中断响应条件:1有中断请求信号;有中断请求信号;2. . 系统处于开中断状态。系统处于开中断状态。二、中断响应过程:二、中断响应过程:1关中断:屏蔽其它中断请求信号。关中断:屏蔽其它中断请求信号。2保护断点:将断点
18、地址压入堆栈保存,即当前保护断点:将断点地址压入堆栈保存,即当前PCPC值入栈。值入栈。3寻找中断源:中断程序入口地址寻找中断源:中断程序入口地址PCPC,转入中断服务。,转入中断服务。4保护现场:将中断服务程序使用的所有寄存器内容入栈。保护现场:将中断服务程序使用的所有寄存器内容入栈。5中断处理:执行中断源所要求的程序段。中断处理:执行中断源所要求的程序段。链接中断处理链接中断处理6恢复现场:恢复被使用寄存器的原有内容。恢复现场:恢复被使用寄存器的原有内容。7开中断:允许接受其它中断请求信号。开中断:允许接受其它中断请求信号。8中断返回:执行中断返回:执行RETI指令,堆栈断点地址指令,堆栈
19、断点地址 PC, 程序跳转回断点处执行。程序跳转回断点处执行。 RETI= RET指令指令+ +通知通知CPU中断服务已结束(复位触发器)中断服务已结束(复位触发器)1、中断采样、中断采样仅对外中断(仅对外中断(INT0、INT1)请求信号;)请求信号;2、中断查询:单片机在每一个机器周期的最后一个状态、中断查询:单片机在每一个机器周期的最后一个状态S6, 按优先级顺序对中断请求标志位进行查询,即先查询高级中断后再查按优先级顺序对中断请求标志位进行查询,即先查询高级中断后再查询低级中断,同级中断按询低级中断,同级中断按“INTINT0 0T T0 0INTINT1 1T T1 1RI/TI”R
20、I/TI”的顺序查询。的顺序查询。如果查询到有标志位为如果查询到有标志位为“1”1”,则表明有中断请求发生,接着就从相邻,则表明有中断请求发生,接着就从相邻的下一个机器周期的的下一个机器周期的S1状态开始进行中断响应。状态开始进行中断响应。 由于中断请求是随机发生的,由于中断请求是随机发生的,CPUCPU无法预先得知,因此在程序执行无法预先得知,因此在程序执行过程中,中断查询要在指令执行的每个机器周期中不停地重复进行。过程中,中断查询要在指令执行的每个机器周期中不停地重复进行。3、中断响应:当查询到有效的中断请求时,就进行中断响应。其主要内中断响应:当查询到有效的中断请求时,就进行中断响应。其
21、主要内容是由硬件自动生成一条长调用指令容是由硬件自动生成一条长调用指令LCALLLCALL。其格式为:。其格式为:LCALL addr16LCALL addr16,addr16addr16即是由系统设定的即是由系统设定的5 5个中断程序的入口地址。个中断程序的入口地址。各中断源中断服务各中断源中断服务程序的入口地址。程序的入口地址。 如右表:如右表:(1)各中断源的入口地址之间仅相隔8个单元,如果中断服务程序的长度超过8个地址单元时,应在中断入口地址处安排一条转移指令,转到其他有足够空余存储器单元的地址空间。(2)若执行当前中断服务程序时需要禁止更高级中断源,则要用软件指令关闭中断,在中断返回
22、之前再开放中断。(3)在保护和恢复现场时,为了不使现场信息受到破坏或造成混乱,保护现场之前应关中断,若需要允许高级中断,则应在保护现场之后再开中断。同样在恢复现场之前也应先关中断,恢复现场之后再开中断。(4)及时清除那些不能被硬件自动清“0”的中断请求标志,以免产生错误的中断。一、实验目的二、实验说明三、实验仪器四、实验内容六、实验报告要求五、思考题1、学习外部中断技术的基本使用方法。、学习外部中断技术的基本使用方法。2、学习中断处理程序的编程方法。、学习中断处理程序的编程方法。 3、熟练在汇编软件环境下编写、修改、调、熟练在汇编软件环境下编写、修改、调 试、和运行硬件程序试、和运行硬件程序4
23、、熟悉汇编语言、熟悉汇编语言 1、用单次脉冲申请中断,在中断处理程序中使P1.0的输出状态发生反转,并通过发光二极管观察P1.0的电平。 2、通过本实验加深对8051单片机中断系统的理解,学习外部中断的基本使用方法及相关编程。 计算机计算机 伟福软件(伟福软件( lab2000P ) 中断服务程序的关键是:中断服务程序的关键是:1、保护进入中断时的状态,并在退出中断之、保护进入中断时的状态,并在退出中断之前恢复进入时的状态。前恢复进入时的状态。2、必须在中断程序中设定是否允许中断重入,、必须在中断程序中设定是否允许中断重入,即设置即设置EXO位。位。3、本例中使用了、本例中使用了INTO中断,一般中断程序中断,一般中断程序进入时应保护进入时应保护PSW,ACC以及中断程序使以及中断程序使用但非其专用的寄存器。本例的中断程序保用但非其专用的寄存器。本例的中断程序保护了护了PSW,ACC等三个寄存器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科技改变生活课程设计
- 课程设计与实践摘要范文
- 维修设备管理课程设计
- 工地拆除施工合同范例
- 贸易挂靠经营合同范例
- 免息借款合同范本3篇
- 买车合同违约赔偿标准3篇
- 夫妻婚内保证协议书3篇
- 《我国刑事陪审制度研究》
- 合同中的会计要求和财务报告3篇
- 2023年计划订单专员年度总结及下一年规划
- 体质测试成绩表(自动统计数据)(小学、初中)
- 2022年全国垃圾分类知识竞赛试题库(附含答案与解析)
- 2024版医院手术安全管理学习培训课件
- 材料标准目录
- 脑卒中后吞咽障碍患者进食护理(2023年中华护理学会团体标准)
- 护士执业注册申请表 新
- 妊娠期高血压疾病诊治指南(2022版)解读
- 公章证照使用登记表
- 哈萨克斯坦劳动法中文版
- 装修工程竣工验收自评报告
评论
0/150
提交评论