2单片机IO口控制实验实验报告_第1页
2单片机IO口控制实验实验报告_第2页
2单片机IO口控制实验实验报告_第3页
2单片机IO口控制实验实验报告_第4页
2单片机IO口控制实验实验报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、.单片机IO口控制实验一、 实验目的1、熟悉MCS-51的I/O结构;2、掌握MCS-51 I/O的使用方法;3、掌握MCS-51的中断机制。二、 实验原理1、 MCS-51单片机的硬件结构片内结构:2、 内部数据存储器(字节地址为00H0FH):3、 SFR的名称及其分布:4、 I/O端口地址:5、 P0P3端口功能总结:(1)P0P3口都是并行I/O口,但P0口和P2口,还可用来构建系统的数据总线和地址总线,所以在电路中有一个MUX,以进行转换。而P1口和P3口无构建系统的数据总线和地址总线的功能,因此,无MUX。 P0口的MUX的一个输入端为“地址/数据”信号。P2口的MUX的一个输入信

2、号为“地址”信号。(2)在4个口中只有P0口是一个真正的双向口,P1P3口都是准双向口。原因:P0口作数据总线使用时,需解决芯片内外的隔离问题,即只有在数据传送时芯片内外才接通;不进行数据传送时,芯片内外应处于隔离状态。为此,P0口的输出缓冲器应为三态门。 P0口中输出三态门是由两只场效应管(FET)组成,所以是一个真正的双向口。P1P3口,上拉电阻代替P0口中的场效应管,输出缓冲器不是三态的准双向口。(3)P3口的口线具有第二功能,为系统提供一些控制信号。因此P3口增加了第二功能控制逻辑。这是P3口与其它各口的不同之处。6、 P0口结构及特点: P0口结构与运作1个输出锁存器,用于进行输出数

3、据的锁存;2个三态输入缓冲器,分别用于锁存器和引脚数据的输入缓冲;1个多路开关MUX,它的一个输入来自锁存器,另一个输入是地址/数据信号的反相输出。在控制信号的的控制下能实现对锁存器输出端和地址/数据线之间的切换;由两只场效应管组成的输出驱动电路。 P0口的特点P0口是一个双功能的端口:地址/数据分时复用口和通用I/O口;具有高电平、低电平和高阻抗3种状态的I/O端口称为双向I/O端口。P0口作地址/数据总线复用口时,相当于一个真正的双向I/O口。而用作通用I/O口时,由于引脚上需要外接上拉电阻,端口不存在高阻(悬空)状态,此时P0口只是一个准双向口;为保证引脚上的信号能正确读入,在读入操作前

4、应首先向锁存器写1;单片机复位后,锁存器自动被置1; 一般情况下,如果P0口已作为地址/数据复用口时,就不能再用作通用I/O口使用;P0口能驱动8个TTL负载。7、 P1口的结构及特点: P1口结构与运作一个数据输出锁存器,用于输出数据的锁存; 两个三态输入缓冲器,BUF1用于读锁存器,BUF2用于读引脚; 数据输出驱动电路,由场效应管VT和片内上拉电阻R组成。 P1口的特点P1口由于有内部上拉电阻,没有高阻抗输入状态,所以称为准双向口。作为输出口时,不需要再在片外拉接上拉电阻; P1口读引脚输入时,必须先向锁存器写入1,其原理与P0口相同;P1口能驱动4个TTL负载。8、 P2口结构及特点:

5、 P2口结构与运作一个数据输出锁存器,用于输出数据的锁存;两个三态输入缓冲器,BUF1用于读锁存器,BUF2用于读引脚;一个多路开关MUX,它的一个输入来自锁存器的Q端,另一个输入来自内部地址的高8位;数据输出驱动电路由非门M,场效应管VT和片内上拉电阻R组成。 P2口的特点P2口用作高8位地址输出线应用时,与P0口输出的低8位地址一起构成16位的地址总线,可以寻址64KB地址空间。当P2口作高8位地址输出口时,其输出锁存器原锁存的内容保持不变。作为通用I/O口使用时,P2口为准双向口,功能与P1口一样。P2口能驱动4个TTL负载。9、 P3口结构及特点: P3口结构组成一个数据输出锁存器,用

6、于输出数据的锁存;3个三态输入缓冲器,BUF1用于读锁存器,BUF2、BUF3用于读引脚和第二功能数据的缓冲输入;数据输出驱动电路,由与非门M,场效应管VT和片内上拉电阻R组成。 P3口的特点P3口内部有上拉电阻,不存在高阻输入状态,是一个准双向口;P3口作第二功能的输出/输入或作通用输入时,均需将相应的锁存器置1。实际应用中,由于复位后P3口锁存器自动置1,已满足第二功能运作条件,所以可以直接进行第二功能操作;P3口的某位不作为第二功能使用时,则自动处于通用输出/输入口功能,可作为通用输出/输入口使用;作通用输出/输入口使用时,输入信号取自缓冲器BUF2的输出端,作第二功能使用时,输入信号取

7、自缓冲器BUF3的输出端;P3口能驱动4个TTL负载。10、IO口锁存器操作:IO口锁存器值与IO口值不一定一致,应采用读锁存器-修改-写锁存器来进行IO控制。11、MCS-51的中断系统:单片机能及时地响应和处理单片机外部事件或内部事件所提出的中断请求。对事件的整个处理过程,称为中断处理(或中断服务)。12、五个中断请求源:(1)INT0*外部中断请求0,由引脚INT0*输入,中断请求标志为IE0。(2)INT1*外部中断请求1,由引脚INT1*输入,中断请求标志为IE1。(3)定时器/计数器T0溢出中断请求,中断请求标志为TF0。(4)定时器/计数器T1溢出中断请求,中断请求标志为TF1。

8、(5)串行口中断请求,中断请求标志为TI或RI。 由特殊功能寄存器TCON和SCON的相应位锁存。13、复位及中断入口地址表:14、MCS-51中断系统的结构:5个中断请求源;两个中断优先级,可两级嵌套。15、中断控制:a、中断允许寄存器IE CPU对中断源的开放或屏蔽,由片内的中断允许寄存器IE控制。字节地址为A8H,可位寻址。格式如下:IE对中断的开放和关闭为两级控制 总的开关中断控制位EA(IE.7位):EA=0,所有中断请求被屏蔽。EA=1,CPU开放中断,但五个中断源的中断请求是否允许,还要由IE中的5个中断请求允许控制位决定。IE中各位的功能如下:(1)EA:中断允许总控制位0:C

9、PU屏蔽所有的中断请求(CPU关中断);1:CPU开放所有中断(CPU开中断)。(2)ES:串行口中断允许位0:禁止串行口中断;1:允许串行口中断。(3)ET1:定时器/计数器T1的溢出中断允许位(4)EX1:外部中断1中断允许位(5)ET0:定时器/计数器T0的溢出中断允许位(6)EX0:外部中断0中断允许位。MCS-51复位后,IE清0,所有中断请求被禁止。若使某一个中断源被允许中断,除了IE相应的位的被置“1” ,还必须使EA位=1。改变IE的内容,可由位操作指令来实现,即: SETB bit; CLR bit。b、中断优先级寄存器IP两个中断优先级,可实现两级中断嵌套。归纳为两条基本规

10、则:(1)低优先级可被高优先级中断,反之则不能。(2)同级中断不会被它的同级中断源所中断。若CPU正在执行高优先级的中断,则不能被任何中断源所中断。中断优先级寄存器IP,其字节地址为B8H。IP各个位的含义:(1)PS串行口中断优先级控制位1:高优先级中断;0:低优先级中断。(2)PT1定时器T1中断优先级控制位1:高优先级中断;0:低优先级中断。(3)PX1外部中断1中断优先级控制位1:高优先级中断;0:低优先级中断。4)PT0定时器T0中断优先级控制位1:高优先级中断;0:低优先级中断。(5)PX0外部中断0中断优先级控制位1:高优先级中断;0:低优先级中断。由软件可改变各中断源的中断优先

11、级。16、INT0/1相关控制位:IT0/IT1触发方式选择位0:低电平触发方式,-INT0/1低电平时IE0/IE1=0,INT0/1高电平时IE0/IE1=1。1:下降沿触发方式,检测到下降沿,则使IE0/IE1=1,CPU相应中断后自动清除IE0/IE1。三、 实验内容(1)编写程序,用P1.0P1.2口连LED,查询拨盘开关SW1的状态来控制LED的亮和灭(P1.7口接SW1)。(2)编写程序,用P1.0P1.2口连LED ,用按键开关KEY1作为外部中断输入INT0控制LED的亮和灭。(每按一次按键LED状态取反一次)。四、 protel电原理图1、2、五、 程序流程图1、开始初始化

12、开关按下? Y NLED灭LED亮2、主程序流程图开始设置初始状态设置中断控制寄存器中断允许等待中断中断程序流程图中断入口保护现场LED点亮程序恢复现场中断返回六、 程序清单1、ORG 8000H ;硬件仿真程序LJMP MainORG 80F0H ;硬件仿真调试程序Main:JB P1.7,SETLED ;按键没有按下时,跳转到SETLEDCLRLED:CLR P1.0CLR P1.1CLR P1.2 ;P1.0P1.2清零SJMP MainSETLED:SETB P1.0SETB P1.1SETB P1.2 ;P1.0P1.2置1SJMP Main;END2、ORG8000HLJMP Ma

13、inORG8003HLJMP INT0 ;跳转到中断服务程序ORG8100HMain:CLRP1.0 ;给LED一个初态,熄灭CLRP1.1CLRP1.2BACK1:JBP3.2,BACK1 ;等待Key1中断进入,INT0引脚变低SETB TR0 ;为T0的启动做准备SETB IT0 ;指定INT0为边沿触发方式SETB EX0 ;开放INT0中断SETB EA ;开放CPU的中断SJMP $ ;等待中断ORG8200H ;INT0中断服务程序INT0:CPLP1.0 ;LED状态取反一次CPLP1.1CPLP1.2RETI;END七、 实验记录1、 在keil环境下编辑汇编程序,且调试无差错。将程序下载到单片机后,程序运行顺利,实现了预期的功能,即随着开关S0的状态改变,LED 灯D0、D1、D2点亮或熄灭。2、 在keil环境下编辑汇编程序,且调试无差错。将程序下载到单片机后,程序运行顺利,实现了预期的功能,即每按一次按键S0,LED灯D0、D1、D2状态取反一次。八、 实验分析本次实验较为简单,进行的也很顺利,实现了预期的功能。在试验过程中也加深了对I/O口和外部中断尤其是INT0的理解。在中断实验中

温馨提示

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

评论

0/150

提交评论