实验三单片机IO口控制实验
单片机IO口控制实验

单片机IO口控制实验单片机IO口控制实验是一项基础的实验课程,它涉及到单片机的硬件接口和软件编程,是学习单片机的重要环节之一。
本文将详细介绍单片机IO口控制实验的环境搭建、实验步骤和实验结果等方面。
环境搭建1. 单片机开发板:如STC89C52,AT89C52等。
2. 软件集成开发环境:如Keil,IAR等。
3. 通信工具:USB转串口转换器,串口线等。
4. 其他相关组件:电阻、LED灯、导线等。
实验步骤1. 准备工作将单片机开发板进行电源供应,检查是否正常。
在电脑上安装Keil和STC-ISP等软件工具,安装好后打开Keil,新建一个工程。
3. 写入程序进入Keil中,选择打开工程,新建一个文件,并编写程序。
下面是一个简单的程序示例:#include <reg52.h>void delay(int i) //延时函数{while(i--);}4. 烧录程序在编写好程序后,选择编译,生成一个HEX文件。
将单片机开发板接入电脑,选择工具,打开STC-ISP软件。
选择好COM口和需要烧录的HEX文件,连接单片机开发板和电脑,点击下载。
等待下载成功后,即可将程序烧录到单片机中。
5. 实验验证实验时,可以将LED灯和几个外设连接到单片机的IO口,通过程序控制IO口的电平,达到控制LED灯、外设等的效果。
实验结果实验成功后,可以通过单片机控制LED灯的亮灭、外设的工作状态等,验证程序的正确性。
此外,实验成功还可以提高学生的动手实践能力和编程能力,为后续单片机应用开发打下基础。
结论单片机IO口控制实验是单片机学习中的重要实践环节。
通过实验,可以让学生了解单片机的硬件接口和软件编程,提高学生的实践能力和编程能力,培养学生独立思考和解决问题的能力。
实验三流水灯实验(io口和定时器实验)

实验三流水灯实验(I/O口和定时器实验)一、实验目的1.学会单片机I/O口的使用方法和定时器的使用方法;2.掌握延时子程序的编程方法、内部中断服务子程序的编程方法;3.学会使用I/O口控制LED灯的应用程序设计。
二、实验内容1.控制单片机P1口输出,使LED1~LED8右循环轮流点亮(即右流水),间隔时间为100毫秒。
2.控制单片机P1口输出,使LED1~LED8左循环轮流点亮(即左流水),间隔时间为100毫秒。
3.使用K1开关控制上面LED灯的两种循环状态交替进行;4. 用定时器使P1口输出周期为100ms的方波,使LED闪烁。
5.使用定时器定时,使LED灯的两种循环状态自动交替,每一种状态持续1.6秒钟(选作)。
三、实验方法和步骤1.硬件电路设计使用实验仪上的E1、E5和E7模块电路,把E1区的JP1(单片机的P1口)和E5区的8针接口L1~L8(LED的驱动芯片74HC245的输入端)连接起来,P1口就可以控制LED 灯了。
当P1口上输出低电平“0”时,LED灯亮,反之,LED灯灭。
E7区的K1开关可以接单片机P3.0口,用P3.0口读取K1开关的控制信号,根据K1开关的状态(置“1”还是置“0”),来决定LED进行左流水还是右流水。
综上,画出实验电路原理图。
2.程序设计实验1和实验2程序流程图如图3-1实验3程序流程图如图3-2所示。
图3-1 实验1,2程序流程图图3-2 实验3程序流程图实验4程序流程图如图3-3,3-4所示。
实验5程序流程图如图3-5,3-6所示。
图3-5 实验5主程序流程图图3-6 定时器中断服务子程序流程图图3-4 定时器中断服务子程序流程图图3-3 实验4主程序流程图编程要点:(1)Pl,P3口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。
例如:MOV P1,A; P1口做输出MOV P1,#0FFHMOV A,P1;P1口做输入SETB P3.0MOV C,P3.1;从P3.1口读入数据(2)每个端口对应着一个寄存器,例:P1→90H(P1寄存器地址);P3→B0H(P3寄存器地址);寄存器的每一位对应着一个引脚,例:B0H.0→P3.0(3)对寄存器写入“0”、“1”,对应的外部引脚则输出“低电平”、“高电平”。
实验三 单片机IO实验

4、 P3口输出控制继电器: 、 口输出控制继电器: 口输出控制继电器
输出高低, (1)实验要求:利用 )实验要求:利用P3.5输出高低,控制继电器的开合,实 输出高低 控制继电器的开合, 现对外部装置的控制。 现对外部装置的控制。 (2)实验电路及连线: )实验电路及连线:
TP3R程序: 程序: 程序 ORG 0000H LJMP START ORG 0040H START:MOV SP,#60H JD: CPL P3.5 ;继电器状态 吸合 分开 切换 继电器状态(吸合 分开)切换 继电器状态 吸合/分开 LCALL DELAY ;延时 延时 NOP SJMP JD DELAY: MOV R5,# 0AH MOV R6,# 00H DELAY1:MOV R7,# 0B3H : DJNZ R7,$ DJNZ R6,DELAY1 DJNZ R5,DELAY1 RET END
实验仪器: 二、实验仪器
1.C51实验开发板 1块 . 实验开发板 块 2.直流稳压电源(DF 1731 SB 3A) 一台 .直流稳压电源( ) 3.PC机 . 机 一台 1只 只 4.仿真器(EASYPROBE) .仿真器( )
实验内容: 三、实验内容 1、 指示灯循环显示: 、 指示灯循环显示:
实验三 单片机IO口实验

实验三单片机I/O口实验(P3和P1口应用)一、实验目的⑴掌握P3口、P1口简单使用。
⑵学习延时程序的编写和使用。
二、实验内容P3.3口做输入口,外接脉冲,每输入一个脉冲,P1口按十六进制加一,P1口做输出口,编写程序,使P1口接的8个发光二极管L0—L7按16进制加一方式点亮发光二极管。
三、实验原理图四、实验程序框图五、实验步骤⑴按图连接线路:系统扩展区1的P3.3用插针连至K0, P1.0—P1.7用插针连至L0-L7;⑵在闪动“P.”状态,按PCDBG键;⑶单击DVCC图标;⑷在系统设置选项中设定仿真模式为内程序、内数据;⑸在主菜单中选择联接;⑹选择实验指南/实验项目选择/单片机I/O口实验(P3和P1口应用),再选择实验指南/程序,打开该实验源程序⑺再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现;⑻连续运行实验程序(内程序,内数据);。
⑼开关K0每拨动一次,L0—L7发光二极管按16进制方式加一点亮。
六、实验代码ORG 0000HLJMP STARTORG 0100HSTART:MOV A,#00HMOV P1,AHA1S1:JB P3.3,HA1S1MOV R2,#10HLCALL DELAYJB P3.3,HA1S1HA1S2:JNB P3.3,HA1S2MOV R2,#10HLCALL DELAYJNB P3.3,HA1S2INC APUSH ACCMOV P1,APOP ACCAJMP HA1S1 DELAY: P USH 02H DELAY1: PUSH 02H DELAY2: PUSH 02H DELAY3: DJNZ R2,DELAY3POP 02HDJNZ R2,DELAY2POP 02HDJNZ R2,DELAY1POP 02HDJNZ R2,DELAYRETEND七、实验现象及结果分析。
实验三 基本I-O实验

DEL2: DJNZ R2,DEL2
DJNZ R1,DEL1
八、实验报告要求 1、实验内容1、2为必做,内容3为选做; 2、内容1中,每次亮的这个灯,要求每闪10次移位一次,进行程序设 计? 3、每个内容要求有程序框图与程序清单(指令注释); 4、归纳单片机硬件调试的具体操作; 5、完成实验步骤中4、5、6的增设内容,相应程序、实验现象记录; 6.实验报告应包括实验目的、实验内容、实验步骤、记录观察现象、 实验体会等。
三、实验内容
内容1:P1口作输出口,接八只发光二极管(其输入端为低电平时发光二 极管点亮),编写程序,使发光二极管单个的循环轮流点亮。
内容2:P1.0--P1.3作输入口接拨动开关K0—K4;P1.4--P1.5作输出口, 接发光二极管LED1—LED4,编写程序读取开关状态,将此状态在发光二极 管上显示出来。编程时应注意P1.0--P1.3作为输入口时应先置1,才能正 确读入值。
P0口:用作数据总线和低8位地址总线。
P2口:用作高8位地址总线。
P3口:第二功能:
P3.0: RxD
P3.4: T0
P3.1: TxD
P3.5: T1
P3.2: INT0
P3.6: WD
P3.3: INT1
P3.7: RD
因此,在较复杂的系统中,I/O口就不够,必须进行扩展,Intel公 司的许多外围电路都可作为51的扩展口,常见的有:
2、启动计算机,打开伟福仿真软件,进入仿真环境。首先进行仿真 器的设置,选择仿真器型号、仿真头型号、CPU类型。选择通信 端口,点击测试串行口,通信成功便可退出设置,进行仿真。
3、在编辑窗口输入源程序,保存,文件名为T4-1.ASM。对T4-1.ASM 源程序进行编译,编译无误后,执行程序,观察实验现象,分 析结果。
IO口控制实验

单片机实验报告实验名称:I/O口控制实验姓名:黄徐克学号:080403125班级:电科一班时间:2010.11.17南京理工大学紫金学院电光系一、实验目的1、Keil C51软件的介绍;2、学习P1口的使用方法;3、学习延时子程序的编写和使用;4、掌握单片机编程器使用和芯片烧写方法。
二、实验原理1、灯闪烁实验(1)实验电路原理灯闪烁实验电路原理如图1所示。
在P1.0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为秒。
图1 P1.0口闪烁实验电路原理图(2)实验电路连接用连接线把单片机综合仿真实验仪A2区上的P1.0端口(J61)和D1区上的LED1端口(J52)相连。
(3)程序设计流程图本实验程序设计流程图如图2。
图2 流程图2、广告流水灯实验(1)实验电路原理实验电路如图3所示。
图3 P1口广告流水灯实验电路原理图八个发光二极管L1-L8分别接在单片机的P1.0-P1.7接口上,输出“0”时,发光二极管亮,开始时P1.0→P1.1→P1.2→P1.3→┅→P1.7→P1.6→┅→P1.0亮,重复循环。
(2)实验电路连接用连接线把单片机综合仿真实验仪A2区上的P1.0端口(J61)和D1区上的LED1端口(J52)相连,使P1.0对应着L1,P1.1对应着L2,……,P1.7对应着L8。
(3)程序设计流程图本实验程序设计流程图如图4所示。
图4 广告流水灯实验流程图3、开关状态判别实验 (1)实验电路原理把开关K1接在P3.0端口上,P3.0端口接上拉电阻至Vcc ,把发光二极管L1接在单片机P1.0端口上,如图5所示。
L1用来显示开关K1的状态,如果K1合上,L1亮,K1打开,则L1熄灭。
图5 开关状态判别实验原理图(2)实验电路连接用连接线把单片机综合仿真实验仪A2区上的P1.0端口和D1区上的LED1端口相连; 用连接线把单片机综合仿真实验仪A2区上的P3.0端口和D1区上的KEY1端口相连。
单片机io口控制led实验报告

单片机io口控制led实验报告
一、实验背景
单片机是一种集成电路,它可以通过编程来控制各种电子设备。
在这个实验中,我们将学习如何使用单片机的IO口来控制LED灯。
二、实验材料
1. STC89C52RC单片机开发板
2. LED灯
3. 220欧姆电阻
4. 杜邦线
三、实验原理
单片机的IO口可以用来控制数字信号。
当IO口输出高电平时,LED 灯就会亮起来;当IO口输出低电平时,LED灯就会熄灭。
为了保护单片机和LED灯,我们需要使用一个220欧姆的电阻。
这个电阻可以限制电流流过LED灯和单片机之间的连接。
四、实验步骤
1. 将一个杜邦线连接到单片机的P
2.0引脚。
2. 将另一个杜邦线连接到单片机的GND引脚。
3. 将一个220欧姆的电阻连接到P2.0引脚和LED正极之间。
4. 将另一个杜邦线连接到LED负极。
5. 将另一个220欧姆的电阻连接到LED负极和单片机的GND引脚之间。
五、实验结果
当单片机的P2.0引脚输出高电平时,LED灯会亮起来;当P2.0引脚输出低电平时,LED灯会熄灭。
六、实验总结
这个实验展示了如何使用单片机的IO口来控制数字信号。
我们还学习了如何使用电阻来保护单片机和LED灯。
在实际应用中,我们可以使用单片机的IO口来控制各种设备,例如电机、传感器等。
这个实验是学习单片机编程的基础,对于想要深入学习嵌入式系统开发的人来说是非常重要的。
IO口控制实验,单片机,南京理工大学紫金学院实验报告

单片机实验报告实验名称:I/O口控制实验姓名:学号:班级:通信时间:2013.11南京理工大学紫金学院电光系一、实验目的1、Keil C51软件的介绍,Proteus软件的应用,及结合使用。
2、学习I/O的使用;3、学习延时子程序的编写和使用;4、掌握单片机编程器使用和芯片烧写方法。
二、实验原理1、灯闪烁实验(1)电路原理图如图3.1.1所示。
在P1.0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。
电路原理图如图3.1.1所示。
图3.1.1 P1.0口闪烁实验电路原理图(2)系统板上硬件连线把“单片机系统”A2区的J61接口的P1.0~P1.6端口与D1区的J52接口相连。
(3)程序设计流程本实验程序设计可参考程序流程图3.1.2开始P1.0输出“0”LED灯亮延时0.2秒P1.0输出“1”LED灯熄灭延时0.2秒图3.1.2 程序流程图2、广告流水灯实验(1)做单一灯的左移右移,硬件电路如图3.1.3所示,八个发光二极管L1-L8分别接在单片机的P1.0-P1.7接口上,输出“0”时,发光二极管亮,开始时P1.0→P1.1→P1.2→P1.3→┅→P1.7→P1.6→┅→P1.0亮,重复循环。
图3.1.3 P1口广告流水灯实验电路原理图(2)系统板上硬件连线把“单片机系统”A2区的J61接口的P1.0~P1.6端口与D1区的J52接口相连。
要求:P1.0对应着L1,P1.1对应着L2,……,P1.7对应着L8。
(3)程序设计流程本实验程序设计可参考程序流程,如图3.1.4所示开 开R2 开开8开ACC 开开FEHP1=ACC 开开0.2开ACC 开开开开开R2=R2-1开开R2=0开开开开图3.1.4 广告流水灯实验流程图3、模拟开关实验(1)监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。
IO口控制实验

实验名称:单片机I/O口控制实验实验目的:利用单片机的P1口作为I/O口,学会利用P1口作为输入和输出口。
实验原理:一、 C51的IO口系统:P0~P3端口功能总结:(1)P0~P3口都是并行I/O口,但P0口和P2口,还可用来构建系统的数据总线和地址总线,所以在电路中有一个MUX,以进行转换。
而P1口和P3口无构建系统的数据总线和地址总线的功能,因此,无MUX。
P0口的MUX的一个输入端为“地址/数据”信号。
P2口的MUX的一个输入信号为“地址”信号。
(2)在4个口中只有P0口是一个真正的双向口,P1~P3口都是准双向口。
原因:P0口作数据总线使用时,需解决芯片内外的隔离问题,即只有在数据传送时芯片内外才接通;不进行数据传送时,芯片内外应处于隔离状态。
为此,P0口的输出缓冲器应为三态门。
P0口中输出三态门是由两只场效应管(FET)组成,所以是一个真正的双向口。
P1~P3口,上拉电阻代替P0口中的场效应管,输出缓冲器不是三态的-准双向口。
(3)P3口的口线具有第二功能,为系统提供一些控制信号。
因此P3口增加了第二功能控制逻辑。
这是P3口与其它各口的不同之处。
二、C51的中断系统单片机能及时地响应和处理单片机外部事件或内部事件所提出的中断请求。
1.五个中断请求源:(1)INT0*—外部中断请求0,由引脚INT0*输入,中断请求标志为IE0。
(2)INT1*—外部中断请求1,由引脚INT1*输入,中断请求标志为IE1。
(3)定时器/计数器T0溢出中断请求,中断请求标志为TF0。
(4)定时器/计数器T1溢出中断请求,中断请求标志为TF1。
(5)串行口中断请求,中断请求标志为TI或RI。
由特殊功能寄存器TCON和SCON的相应位锁存。
2.中断控制:中断允许寄存器IE:CPU对中断源的开放或屏蔽,由片内的中断允许寄存器IE控制。
字节地址为A8H,可位寻址。
IE对中断的开放和关闭为两级控制。
总的开关中断控制位EA(IE.7位):EA=0,所有中断请求被屏蔽。
2单片机IO口控制实验实验报告

单片机IO口控制实验一、实验目的1、熟悉MCS-51的I/O结构;2、掌握MCS-51 I/O的使用方法;3、掌握MCS-51的中断机制。
二、实验原理1、MCS-51单片机的硬件结构片内结构:2、内部数据存储器(字节地址为00H~0FH):3、SFR的名称及其分布:4、I/O端口地址:5、P0~P3端口功能总结:(1)P0~P3口都是并行I/O口,但P0口和P2口,还可用来构建系统的数据总线和地址总线,所以在电路中有一个MUX,以进行转换。
而P1口和P3口无构建系统的数据总线和地址总线的功能,因此,无MUX。
P0口的MUX的一个输入端为“地址/数据”信号。
P2口的MUX的一个输入信号为“地址”信号。
(2)在4个口中只有P0口是一个真正的双向口,P1~P3口都是准双向口。
原因:P0口作数据总线使用时,需解决芯片内外的隔离问题,即只有在数据传送时芯片内外才接通;不进行数据传送时,芯片内外应处于隔离状态。
为此,P0口的输出缓冲器应为三态门。
P0口中输出三态门是由两只场效应管(FET)组成,所以是一个真正的双向口。
P1~P3口,上拉电阻代替P0口中的场效应管,输出缓冲器不是三态的-准双向口。
(3)P3口的口线具有第二功能,为系统提供一些控制信号。
因此P3口增加了第二功能控制逻辑。
这是P3口与其它各口的不同之处。
6、P0口结构及特点:⑴ P0口结构与运作1个输出锁存器,用于进行输出数据的锁存;2个三态输入缓冲器,分别用于锁存器和引脚数据的输入缓冲;1个多路开关MUX,它的一个输入来自锁存器,另一个输入是地址/数据信号的反相输出。
在控制信号的的控制下能实现对锁存器输出端和地址/数据线之间的切换;由两只场效应管组成的输出驱动电路。
⑵ P0口的特点P0口是一个双功能的端口:地址/数据分时复用口和通用I/O口;具有高电平、低电平和高阻抗3种状态的I/O端口称为双向I/O端口。
P0口作地址/数据总线复用口时,相当于一个真正的双向I/O口。
2单片机IO口控制实验实验报告

MCS-51复位后,IE清0,所有中断请求被禁止。
若使某一个中断源被允许中断,除了IE相应的位的被置“1” ,还必须使EA位=1。
改变IE的内容,可由位操作指令来实现,即:
SETB bit;
CLR bit。
b、中断优先级寄存器IP
两个中断优先级,可实现两级中断嵌套。
归纳为两条基本规则:
(1)低优先级可被高优先级中断,反之则不能。
(2)同级中断不会被它的同级中断源所中断。
若CPU正在执行高优先级的中断,则不能被任何中断源所中断。
中断优先级寄存器IP,其字节地址为B8H。
IP各个位的含义:
(1)PS——串行口中断优先级控制位
1:高优先级中断;
0:低优先级中断。
(2)PT1——定时器T1中断优先级控制位
15、中断控制:
a、中断允许寄存器IE
CPU对中断源的开放或屏蔽,由片内的中断允许寄存器IE控制。字节地址为A8H,可位寻址。格式如下:
IE对中断的开放和关闭为两级控制
总的开关中断控制位EA(IE.7位):
EA=0,所有中断请求被屏蔽。
EA=1,CPU开放中断,但五个中断源的中断请求是否允许,还要由IE中的5个中断请求允许控制位决定。
11、MCS-51的中断系统:
单片机能及时地响应和理单片机外部事件或内部事件所提出的中断请求。
对事件的整个处理过程,称为中断处理(或中断服务)。
12、五个中断请求源:
(1)INT0*—外部中断请求0,由引脚INT0*输入,中断请求标志为IE0。
(2)INT1*—外部中断请求1,由引脚INT1*输入,中断请求标志为IE1。
为保证引脚上的信号能正确读入,在读入操作前应首先向锁存器写1;
实验三、单片机IO实验

实验三单片机I/O及外部中断实验一、实验目的1.学习P1、P3口作为基本I/O口的使用方法,掌握对发光二极管和继电器的程序控制方法;2.学习在单片机系统中扩展简单I/O接口的方法,学习模拟交通灯控制的方法;3.掌握外部中断技术的基本使用方法和中断处理程序的编程方法。
二.实验仪器:1.仿真教学实验机(5196ET)一台2.直流稳压电源(DF 1731 SB 3A)一台3.PC机一台三、实验内容1、P1口做输出口实验(1)实验要求:P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
(2)电路及连线如下:(3)实验说明1.延时子程序的延时计算问题对于程序DELAY:MOV R0,#00HDELAY1:MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知MOV,DJNZ 指令均需用两个机器周期,而一个机器周期时间长度为12/11.0592MHz,所以该段程序执行时间为:((0B3+1)×256+1)×2×12÷11059200=100.002mS(4)实验框图(见TP1A.ASM主程序框图):(5)P1.0~P1.7接DL1.~DL8,运行程序TP1A,观察现象。
TP1A程序:ORG 0000HLJMP STARTORG 0040HSTART:MOV SP,#60HMOV A,#01HROTA TE: MOV P1,A;点亮一个LEDRL A;循环右移LCALL DELAY;延时NOPSJMP ROTA TEDELAY: ;延时子程序(1秒)MOV R0,#0AHDELAY1: MOV R1,#00HDELAY2: MOV R2,#0B2HDJNZ R2,$DJNZ R1,DELAY2DJNZ R0,DELAY1RETEND(6)修改程序TP1A,使指示灯左循环。
* (7)修改程序TP1A,使指示灯两两右循环。
* (8)修改程序TP1A,使指示灯从两边向中间循环。
2单片机IO口控制实验实验报告

ORG 80F0H ;硬件仿真调试程序
Main:
JB P1.7,SETLED ;按键没有按下时,跳转到SETLED
CLRLED:
CLR P1.0
CLR P1.1
CLR P1.2 ;P1.0~P1.2清零
SJMP Main
SETLED:
SETB P1.0
SETB P1.1
SETB P1.2 ;P1.0~P1.2置1
IE中各位的功能如下:
(1)EA:中断允许总控制位
0:CPU屏蔽所有的中断请求(CPU关中断);
1:CPU开放所有中断(CPU开中断)。
(2)ES:串行口中断允许位
0:禁止串行口中断;
1:允许串行口中断。
(3)ET1:定时器/计数器T1的溢出中断允许位
(4)EX1:外部中断1中断允许位
(5)ET0:定时器/计数器T0的溢出中断允许位
1:高优先级中断;
0:低优先级中断。
(3)PX1——外部中断1中断优先级控制位
1:高优先级中断;
0:低优先级中断。
4)PT0——定时器T0中断优先级控制位
1:高优先级中断;
0:低优先级中断。
(5)PX0——外部中断0中断优先级控制位
1:高优先级中断;
0:低优先级中断。
由软件可改变各中断源的中断优先级。
SJMP Main
;
END
2、
ORG8000H
LJMPMain
ORG8003H
LJMPINT0;跳转到中断服务程序
ORG8100H
2单片机IO口控制实验实验报告

(1)低优先级可被高优先级中断,反之则不能。
(2)同级中断不会被它的同级中断源所中断。
若CPU正在执行高优先级的中断,则不能被任何中断源所中断。
中断优先级寄存器IP,其字节地址为B8H。
IP各个位的含义:
(1)PS——串行口中断优先级控制位
1:高优先级中断;
0:低优先级中断。
(2)PT1——定时器T1中断优先级控制位
(3)P3口的口线具有第二功能,为系统提供一些控制信号。
因此P3口增加了第二功能控制逻辑。这是P3口与其它各口的不同之处。
6、P0口结构及特点:
⑴ P0口结构与运作
1个输出锁存器,用于进行输出数据的锁存;
2个三态输入缓冲器,分别用于锁存器和引脚数据的输入缓冲;1个多路开关MUX,它的一个输入来自锁存器,另一个输入是地址/数据信号的反相输出。在控制信号的的控制下能实现对锁存器输出端和地址/数据线之间的切换;由两只场效应管组成的输出驱动电路。
一个数据输出锁存器,用于输出数据的锁存;
两个三态输入缓冲器,BUF1用于读锁存器,BUF2用于读引脚;
一个多路开关MUX,它的一个输入来自锁存器的Q端,另一个输入来自内部地址的高8位;
数据输出驱动电路由非门M,场效应管VT和片内上拉电阻R组成。
⑵ P2口的特点
P2口用作高8位地址输出线应用时,与P0口输出的低8位地址一起构成16位的地址总线,可以寻址64KB地址空间。
SETBIT0;指定INT0为边沿触发方式
SETBEX0;开放INT0中断
SETBEA;开放CPU的中断
SJMP$;等待中断
ORG8200H;INT0中断服务程序
INT0:
CPLP1.0;LED状态取反一次
2单片机IO口控制实验实验报告

MCS-51复位后,IE清0,所有中断请求被禁止。
若使某一个中断源被允许中断,除了IE相应的位的被置“1” ,还必须使EA位=1。
改变IE的内容,可由位操作指令来实现,即:
SETB bit;
CLR bit。
b、中断优先级寄存器IP
两个中断优先级,可实现两级中断嵌套。
SETBIT0;指定INT0为边沿触发方式
SETBEX0;开放INT0中断
SETBEA;开放CPU的中断
SJMP$;等待中断
ORG8200H;INT0中断服务程序
INT0:
CPLP1.0;LED状态取反一次
CPLP1.1
CPLP1.2
RETI
;
END
七、实验记录
1、在keil环境下编辑汇编程序,且调试无差错。将程序下载到单片机后,程序运行顺利,实现了预期的功能,即随着开关S0的状态改变,LED 灯D0、D1、D2点亮或熄灭。
一个数据输出锁存器,用于输出数据的锁存;
两个三态输入缓冲器,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口结构组成
一个数据输出锁存器,用于输出数据的锁存;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三单片机I/O口控制实验
一、实验目的
利用单片机的P1口作I/O口,学会利用P1口作为输入和输出口。
二、实验设备及器件
PC机一台
单片机仿真器、编程器、实验仪三合一综合开发平台一台
三、实验内容
1.编写一段程序,用P1口作为控制端口,使D1区的LED轮流亮。
2.编写一段程序,用P1.0~P1.6口控制LED,P1.7控制LED的亮和灭(P1.7接按键,按下时LED亮,不按时LED灭)。
四、实验要求
学会使用单片机的P1口作为I/O口,如果有时间用户也可以利用P3口作I/O口来做该试验。
五、实验步骤
1.用导线把A2区的J61接口与D1区的J52接口相连。
原理如图所示。
2.先编写一个延时程序。
3.将LED轮流亮的程序编写完整并使用TKStudy ICE仿真器调试运行。
4.使用导线把A2区的J61接口的P1.0~P1.6与D1区的J52接口的LED1~LED7相连,另外A2区J61接口的P1.7与D1区的J53的KEY1相连。
原理如上图所示。
5.编写P1.7控制LED的程序,并调试运行。
(按下K1看是否全亮)
6.A2区J61接口的P1.7与D1区的J54的SW1相连。
然后再使用TKStudy ICE仿真器运行程序,查看结果。
六、实验预习要求
仔细阅读实验箱介绍中的各个接口内容,理解该实验的硬件结构。
还可以先把程序编好,然后在Keil C51环境下进行软件仿真。
七、实验参考程序
程序1:
ORG 0000H
LJMP Main
ORG 0100H
Main: MOV A,#0FFH
CLR C MainLoop:
CALL Delay
RLC A
MOV P1,A
SJMP MainLoop Delay:
MOV R7, #0 Loop:
MOV R6, #0
DJNZ R6, $
DJNZ R6, $
DJNZ R6, $
DJNZ R7, Loop
RET
END
程序2:
ORG 0000H
LJMP Main
ORG 0100H
Main: JB P1.7,SETLED CLRLED:
CLR P1.0
CLR P1.1
CLR P1.2
CLR P1.3
CLR P1.4
CLR P1.5
CLR P1.6
SJMP Main SETLED:
SETB P1.0
SETB P1.1
SETB P1.2
SETB P1.3
SETB P1.4
SETB P1.5
SETB P1.6
SJMP Main
END
八、实验思考题
(1)请同学们思考一下,还可以用哪些其它的方法编程能够实现以上功能。
(2)请思考,第二个程序中如果使用KEY1作为外部中断控制LED的亮和灭时,程序应如何修改。