P1口输入输出实验

合集下载

实验一 P1口输入、输出实验

实验一 P1口输入、输出实验

实验一P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

2.P1口做输入口,接八个拨动开关,以实验机上74LS273做输出口,编写程序读取开关状态,将此状态,在发光二极管上显示出来。

二.实验目的1.学习P1口的使用方法。

2.学习延时子程序的编写和使用。

三. 实验电路及连线实验一时,P1.0-P1.7接L0-L7。

实验二时,P1.0-P1.7接K0-K7,PO0-PO7接L0-L7。

CS273接8300H。

四.实验说明1.P1口是准双向口。

它作为输出口时与一般的双向口使用方法相同。

由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。

因为内部上拉电阻阻值是20KΩ~40KΩ,故不会对外部输入产生影响。

若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。

2.延时子程序的延时计算问题对于程序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五.实验框图程序框图:TP1A.ASM主程序框图TP1B.ASM主程序框图六.附加实验内容1、用P1口的P1.0-P1.3作输出口接4个发光二极管,P1.4-P1.7作输入口接4个拨动开关,将开关的状态读进来并在发光二极管上显示。

七.实验报告要求1、书写实验目的、实验内容、实验连线、以及实验中的观察结果;2、画出流程图、编写实验程序,写出实验的心得体会。

实验3 P1口输入

实验3  P1口输入

实验3 P1口输入、输出实验一、实验目的学习Pl口的使用方法。

学习延时子程序的编写和使用。

二、实验仪器和设备PC机、星研Star16L仿真器系统+仿真头PODPH51(DIP)、EL-Ⅱ型通用接口板实验电路。

三、实验内容:1)P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

2)P1口既做输入又做输出,在P1.0~P1.3口接四个平推开关,通过开关的不同位置向P1.0~P1.3输入不同的状态,然后利用输入指令读取所设开关状态,为验证输入结果的正确与否,将它们输出到P1.4~P1.7,驱动发光二极管。

四、实验原理:P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。

作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。

8031中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写过“0”,在需要时应写入一个“1”,使它成为一个输入。

延时程序的实现。

现常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。

在系统时间允许的情况下可以采用后一种方法。

本实验系统晶振为6.144MHZ,则一个机器周期为12÷6.144us即1÷0.512us。

现要写一个延时0.1s的程序,可大致写出如下:MOV R7,#X (1)DEL1:MOV R6,#200 (2)DEL2:DJNZ R6,DEL2 (3)DJNZ R7,DEL1 (4)上面MOV、DJNZ指令均需两个机器周期,所以每执行一条指令需要1÷0.256us,现求出X值:1÷0.256+X(1÷0.256+200×1÷0.256+1÷0.256)=0.1×10⁶指令(1)指令(2)指令(3)指令(4)所需时间所需时间所需时间所需时间X=(0.1××10⁶-1÷0.256)/(1÷0.256+200×1÷0.256+1÷0.256)=127D=7FH经计算得X=127。

实验4 P1、P3口输入输出

实验4 P1、P3口输入输出

实验四P1、P3口输入输出实验一、实验目的了解单片机准双向口的特性,掌握准双向口的使用方法。

二、实验内容单片机P1口作为输入口,P1口的P1.0~P1.7分别用连线对应接到实验箱(左下角)的拨动开关K0~K7,P3口作为输出口分别对应接到LED发光二极管L0~L7。

编制一段程序,从P1口读入开关状态,当开关为“1”(高电平)时,从P3口输出,使之对应的LED 发光二极管亮,反之则不亮。

三、实验原理单片机除P0口为三态双向口外其余的的P1、P2、P3均为准双向口(作为输入时必须先使口锁存器置“1”)。

编程时,当P1、P2、P3口作为输入口用时,因为电路设计的原因在读入数据前需要先做一次写操作,使得口的每位引脚上的输出驱动器的场效应管处于截止状态,这样才能保证读入的数据的正确性。

程序从P1口读入连接到P1口的K0~K7的开关状态(开关电路如P110图1所示,开关K0~K7为单刀双掷开关,每个开关有2个状态“0”或“1”),由于实验箱上的LED发光二极管的L0~L7接正电源亮(电路如P111图2所示)因此读入后的开关状态可以直接送P3口,控制连接在P3口上的LED发光二极管的亮与灭。

四、实验步骤与要求a、根据实验内容要求连接好P1.0~P1.7与K0~K7、P3.0~P3.7与LED的连接线;b、将多余的线头放到实验箱的附件盒里,确认没有多余东西后再开电源;c、按照实验要求画出程序流程图并根据流程图编制出相应的循环程序,在全速运行的情况下能够从P1口读入K0~K7的状态,并可根据读入状态的情况从P3口输出控制字,使得对应K=”1”的LED亮,K=”0”的LED不亮。

d、记录开关如下表组合时对应P3口的LED发光二级管的状态P1口开关状态P3口LED状态K7 K6 K5 K4 K3 K2 K1 K0 L7 L6 L5 L4 L3 L2 L1 L00 0 0 0 0 0 0 01 0 0 0 1 0 0 01 0 1 0 1 0 1 01 1 1 1 1 1 1 1五、思考题运用所学电路知识并参照教科书P68图4-2P1口每一位的结构示意图,说明在对准双向口进行输入操作前为什么要对需要读入的位进行一次写“1”的操作?。

p1口输入输出实验报告

p1口输入输出实验报告

p1口输入输出实验报告p1口输入输出实验报告引言:计算机科学领域的发展使得我们能够使用各种各样的设备与计算机进行交互。

而在这个过程中,输入输出接口的设计和实现显得尤为重要。

本篇文章将围绕p1口输入输出接口展开讨论,介绍其原理、实验过程以及实验结果。

一、p1口输入输出接口的原理p1口是一种通用输入输出接口,它可以连接各种外部设备,如键盘、鼠标、打印机等。

p1口的原理是通过电信号的传输来实现与外部设备的交互。

具体来说,p1口通过发送和接收电压信号来进行通信,从而实现输入输出的功能。

二、实验过程1. 准备工作在进行实验前,我们需要准备一台计算机和一些外部设备,如键盘、鼠标和打印机。

将这些设备连接到计算机的p1口上。

2. 输入实验首先,我们进行输入实验。

在连接好设备后,我们可以通过键盘向计算机输入一些字符。

计算机会将这些字符接收并进行处理。

我们可以通过编写一个简单的程序来实现字符的显示和处理。

在程序中,我们可以使用相应的函数来获取键盘输入,并将其显示在屏幕上。

通过这个实验,我们可以验证p1口的输入功能是否正常工作。

3. 输出实验接下来,我们进行输出实验。

在程序中,我们可以使用相应的函数来控制打印机输出指定的内容。

通过这个实验,我们可以验证p1口的输出功能是否正常工作。

4. 实验结果通过实验,我们可以得出以下结论:- p1口的输入功能正常工作,可以准确地接收键盘输入的字符。

- p1口的输出功能正常工作,可以控制打印机输出指定的内容。

三、实验总结p1口作为一种通用输入输出接口,具有广泛的应用。

通过本次实验,我们对p1口的原理和功能有了更深入的了解。

p1口的输入功能可以使计算机接收外部设备的输入信号,从而实现与用户的交互。

p1口的输出功能可以使计算机控制外部设备进行相应的操作,从而实现对外部环境的影响。

在今后的学习和工作中,我们可以进一步探索p1口的应用,提高计算机与外部设备的交互效率。

结语:通过本次实验,我们对p1口输入输出接口有了更深入的理解。

P1口输入输出实验

P1口输入输出实验

P1口输入输出实验实验目的:(1)掌握P1口同时做输入/输出口使用方法(2)学习数据输入、输出程序的设计方法方法一:用CJNE A,#DATA,LP指令实现CSEG A T 0000HLJMP START 无条件转移到STARTCSEG A T 4100HSTART:MOV P1,#0FFH 读P1口LP:MOV A,P1 将P1送AANL A,#00000011B 进行”与”运算,屏蔽高六位CJNE A,#00,LP0 比较转移指令,判断A是否等于0否则跳转到LP0CLR P1.2 P1.2口清零LJMP START 无条件转移到START LP0:CJNE A,#01,LP1 比较转移指令,判断A是否等于1否则跳转到LP1CLR P1.3 P1.3清零LJMP START 无条件转移到START LP1:CJNE A,#02,LP2 比较转移指令,判断A是否等于2否则跳转到LP2CLR P1.4 P1.4清零LJMP START 无条件转移到START LP2:CLR P1.5 P1.5清零LJMP START 无条件转移到STARTEND 结束标志方法二:用MOVC A,@A+DPTR指令实现CSEG A T 0000HLJMP STARTCSEG A T 4100HSTART:MOV P1,#0FFH 读P1口LP:MOV A,P1 将P1送AMOV DPTR,#4200H 创建表格的起始地址ANL A,#00000011B 进行”与”运算,屏蔽高六位MOVC A,@A+DPTR 查表指令MOV P1,A A送P1LJMP LP 无条件转移到LPCSEG A T 4200HDB 0FBH,0EFH,0F7H,0DFH 建表END 结束标志定时计数器CSEG A T 0000HLJMP STARTCSEG A T 4100HSTART:MOV A,#0FFH /* 先给累加器A赋一个值*/CLR C /*将进位标志清0*/MOV TMOD,#01H /*设定时器T0工作在方式1*/MOV TH0,#3CH /*设定T0初始值*/MOV TL0,#0B0HSETB TR0 /*开定时器T0*/MOV R0,#4 /*给R0一个初值*/LP1:MOV P1,A /*将A的值送给P1口*/RRC A /*将A的内容带进位标志向右循环移一位*/ LP2:JNB TF0,LP2 /*判断定时器T0溢出了没,没有就等待*/ MOV TH0,#3CH /*重新给定时器T0赋值*/MOV TL0,#0B0HCLR TF0 /*将溢出标志位清0*/DJNZ R0,LP2 /*判断R0等于0了没*/MOV R0,#4 /*重新给R0赋值*/LJMP LP1 /*跳到LP1*/END /*结束*/(此程序利用查询定时计数器的溢出标志位来定时。

单片机 P1口输入输出实验.

单片机 P1口输入输出实验.

实验二 P1口输入输出实验1.实验目的(1)掌握P1口作为IO口时的使用方法。

(2)理解读引脚和读锁存器的区别。

2.实验内容:P1.3脚的状态来控制P1.2的LED亮灭。

3.实验器材:(1)Proteus仿真软件(2)keil C51开发环境软件4.实验原理由8051组成的单片机系统通常情况下,P0口分时复用作为地址、数据总线,P2口提供A15-A8即高8位地址,P3口用作第二功能,只有P1口通常用作I/0口。

P1口是8位准双向口,它的每一位都可独立地定义为输入或输出,因此既可作为8位的并行I/O口,也可作为8位的输入输出端。

当工作在输入方式时,对应位的锁存器必须先置1,才能正确地读到引脚上的信号,否则,执行读引脚指令时,若对应位的锁存器的值为0,读的结果永远为0。

每个I/0端口都有两种读入,即读锁存器和读引脚,读引脚指令一般都是以I/0端口为源操作数的指令,如MOV C,P1.3,而读锁存器指令一般为“读-修改-写”指令,如ANL P1.3,C指令,请同学们在实验中体会。

图示中,P1.2作为输出口,P1.3作为输入口。

5.实验电路原理图6.程序流程图开始7.实验步骤(1)按照“5.实验电路原理图”,用proteus绘制原理图。

(2)用keil C51开发环境软件,按照“6.程序流程图”,编写、调试和运行C51处理程序(提示:可参考A09.C)。

实现当P1.3为低电平时,发光管亮;P1.3为高电平时,发光管灭。

(3)修改程序在执行读P1.3之前,先执行CLR P1.3,观察结果是否正确,分析在第二种情况下程序为什么不能正确执行,理解读引脚和读锁存器区别。

(4)记录在电路正常工作时,“5.实验电路原理图”中R2降低到临界点的阻值和探针电压值。

(将绘制的原理图和编写、调试和运行的处理程序存放在自己所带的USB盘中。

)8.软件清单:(参考MCS51\A09.ASM A09.C);“验证式”实验九 P1口输入输出实验;文件名:MCS51\A09.ASMORG 0000HSETB P1.3 ;为输入,置1。

单片机P1口输入输出实验

单片机P1口输入输出实验

P1口输入输出程序设计
7、实验报告要求
1)实验报告要求有实验目的、要求、设备或仪器、硬件软件设计、步骤、 现象分析、应用分析。现象分析、应用分析填在报告本的原始数据栏。 2)画出实验要求2)硬件设计电路图、程序设计流程图、程序设计清单。 3)写出实验要求3)的程序设计清单? 4)写出实验过程中所遇到的问题与解决的办法。
8、思考题
1)说明单片机各个引脚的功能及作用,比较P0,P3端口的异同? 2)时钟周期、机器周期的关系是什么?在单片机外部晶振为12M时,下面 的延时子程序延时了多少时间?当晶振为6M时呢? DELAY: MOV R5,#08H DL1: MOV R6,#00H DL2: MOV R7,#80H DJNZ R7,$ DJNZ R6,DL2 DJNZ R5,DL1 RET
P1口输入输出程序设计
单片机可靠的复位是保证单片机正常运行的关键因素。 因此,在设计复位电路时,通常要使RST引脚保持10ms以上 的高电平。当RST从高电平变为低电平之后,单片机就从 0000H地址开始执行程序。本电路是上电自动复位。 将8个LED接在单片机P1端口的P1.0-P1.7引脚上,注意 LED有长短两个引脚,分别表示正负极,其中较短的负极接 单片机,较长的为正极,通过限流电阻R与Vcc相连。 本实验只需将8个LED与P1口相连。单片机的P0、P1、 P2、P3端口都可以用来控制LED。(反过去再看设备)
P1口输入输出程序设计
图3
P1端口的一位结构
P1口输入输出程序设计
5、程序设计
P1口输出控制程序的设计主要包括控制输出程序设计与延时程序设计。 (1)输出控制:当P1.5端口输出低电平,即P1.5=0,这时LED亮,反之, LED灭,可以使用P1.5=0指令使P1.5端口输出低电平,同样利用指令使 P1.5端口输出高电平。 (2)延时程序:单片机指令的执行时间是很短的,数量大多是微秒级, 因此,我们要求的闪烁时间间隔为0.2s,相对于微秒来说,相差太大, 因此在执行某一指令时,插入延时程序,来解决这一问题。 开关状态检测过程: 单片机对开关状态的检测相对于单片机来说,是从单片机的端口输入信 号,而输入的信号只有高电平和低电平两种,要能正确输入信号,先使 P1端口P1.0-P1.3置1。可轮流检测每个开关状态,根据每个开关的状态 让相应的二极管指示,也可以一次性检测四路开关状态,然后让其指示。

实验一-P1口实验

实验一-P1口实验

实验一P1口实验一一、实验题目1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

2.P1口做输出口,接八个按钮开关,以实验台上74LS273做输出口,编写程序读取开关状态,在发光二极管上显示出来。

二、实验目的1.学习P1口的使用方法。

2.学习延时子程序的编写和使用。

三、有关说明P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。

作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。

8031中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写过“0”,在需要时应写入一个“1”,使它成为一个输入。

可以用第二个实验做一下实验。

先按要求编号程序并调试成功后,可将P1口锁存器中置“0”,此时将P1做输入口,会有什么结果。

再来看一下延时程序的实现。

现常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。

在系统时间允许的情况下可以采用后一种方法。

本实验系统晶振为6.144MHZ,则一个机器周期为12÷6.144us即1÷0.512us。

现要写一个延时0.1s的程序,可大致写出如下:MOV R7, #200 (1)DEL1: MOV R6, #X (2)DEL2: DJNZ R6, DEL2 (3)DJNZ R7, DEL1 (4)上面MOV、DJNZ指令均需两个机器周期,所以每执行一条指令需要1÷0.256us,现求出X值:1÷0.256+(1÷0.256+X×1÷0.256+1÷0.256)×200=0.1×106指令(1)指令(2)指令(3)指令(4)所需时间所需时间所需时间所需时间经计算得X=126。

代入上式可知实际延时时间约为0.100004s,已经很精确了。

四、连线方法执行程序1时:P1.0~P1.7接发光二极管L1~L8。

执行程序2时:P1.0~P1.7接按钮开关K1~K8;74LS273的S00~S07接发光二极管L1~L8;74LS273的片选端CSU8\接CS0五、程序1CSEG AT 0000HLJMP STARTCSEG AT 4100HSTART: MOV A,#0FEHLOOP: RR AMOV P1,ALCALL DELAYJMP LOOPDELAY: MOV R1,#127DEL1: MOV R2,#200DEL2: DJNZ R2,DEL2DJNZ R1,DEL1RETEND机器码与源程序对比LOC OBJ LINE SOURCE1 NAME T1_12 CSEG AT 0000H0000 024100 3 LJMP START4 CSEG AT 4100H4100 74FE 5 START: MOV A,#0FEH4102 03 6 LOOP: RR A4103 F590 7 MOV P1,A4105 12410A 8 LCALL DELAY 4108 80F8 9 JMP LOOP10410A 797F 11 DELAY: MOV R1,#127410C 7AC8 12 DEL1: MOV R2,#200410E DAFE 13 DEL2: DJNZ R2,DEL24110 D9FA 14 DJNZ R1,DEL14112 22 15 RET1617 END六、程序2NAME T1_2 ;P1口输入实验OUT_PORT EQU 0CFA0HCSEG AT 0000HLJMP STARTCSEG AT 4100HSTART: MOV P1,#0FFH ;复位P1口为输入状态MOV A,P1 ;读P1口的状态值入累加器AMOV DPTR,#OUT_PORT ;将输出口地址赋给地址指针DPTRMOVX @DPTR,A ;将累加器A的值赋给DPTR指向的地址 JMP START ;继续循环监测端口P1的状态END。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一P1 口输入输出
一.实验目的
(1)进一步熟悉51单片机外部引脚线路连接;
(2)验证常用的51指令;
(3)学习简单的编程方法;
(4)掌握单片机全系统调试的过程及方法;
(5)学习P1 口的有关功能作用以及使用方法。

二•实验说明
P1 口由于有内部上拉电阻,没有高阻抗输入状态,称为准双向口。

作为输出口时,不需要在片外接上拉电阻,P1 口“读引脚”输入时,必须先向锁存器写1;
三•实验内容
P1 口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

P1.0、P1.1作输入口接两个拨动开关,P1.2、P1.3作输出口,接两个发光二极管,编写程序
读取开关状态,将此状态,在发光二极管上显示出来
四•实验原理
以实验机上74LS273做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

循环时间由定时器控制。

五•实验流程
ORG 0000H ;程序入口
AJMP RIGHT ;跳向标号RIGHT处
ORG 0030H ;程序
RIGHT: MOV R0,#08H ;置移位次数
MOV A,#0FFH ;置全 1 CLR C
;将Cy 清零
RIGHT1: RRC A
;由于进位Cy=0 ,所以带进位的循环右移会出现灯的亮灭
MOV P1,A ;输出至P1 口,控制LED CALL DELAY ;调用延时子程序
DJNZ R0,RIGHT1 ;R0-1,不为0则转移到标号 RIGHT1处 AJMP
RIGHT
;绝对转移至RIGHT 处
・*****************************************************************************
5
; /*延时子程序*/
・*****************************************************************************
DJNZ R5,DELAY1 ;R5-1,不为 0 则转移至 DELAY1,执行 2*10us RET ;退出子程序执行 END
七•硬件设计
(1) P1 口某一 I/O 口线反转输出电路
(2) P1 口输出电路
DELAY: MOV R5,#10 DELAY1: MOV R6,#50 DELAY2:
MOV
R7,#250 DJNZ R7,$
DJNZ R6,DELAY2
;R6-1,不为0则转移至 DELAY2,执行2*200*10us H-5V
+5V
Vcc
P1.0
Pl 1 EA
XI
PL 2 Pl .3
Pl XS
Pl.5 Pl.6
Pl .7
R.ST Vss
;使用不停的跳转来实现延时,
30 P 80CS1
LED 360fi
+ 5V
YCC尸0血尸1. 1 XI Pl. 2
Pl. 3 X2
Fl- 4
Pl- 5
Pl, 6 PST FL. 7
Vss
十.仿真器的设置步骤:
仿真模式设置:8752模式。

仿真存储器模式选择:内程序存储器外数据存储器。

仿真器P3.6/P3.7 短路块设置在WR/RD 状态。

1) 启动计算机,打开仿真软件,进入仿真环境。

首进行仿真器的设置,选择仿真器型 号、仿真头型号、CPU 类型。

选择通信端口,点击测试串行口,通信成功便可退出设置,进 行仿真。

2) 在编辑窗口输入源程序,保存,文件名为 T1.ASM 。

对T1.ASM 源程序进行编译,编
译无误后,执行程序,观察
LED 变化,分析此现象。

3) 编写内容源程序,按以上步骤调试该程序,观察实验现象并分析。

4)实验连线… I ^一•实验仿真结果
:
九•实验原理图
Mun-
Pfl IWI
vujffica
PQMOG fO.V.AKi pp
IPQMCF
AST
F :沖強 rr 畑 P7
S/fill
rid -a r-»E* B
EA
P2伽2
Pl
P7㈣曙 P1J F1 1 PILE
nJUHMD F3 IHTD *3 ]OTT
Pl^Tl P3 FfRD
11
P1I.J
™n
嘶,
-C-
r.
-D1
D4 ; ■ C5 MIR
-D6
DC
-DS i
_SZi TEU
-D3 L D 斗 .I
发光二极管会依次由上而下发亮,并且循环。

十^一•实验总结:
通过这次实验,我分析和解决问题的实际工作能力得到了提高, 它的一个重要功能,在
于运用学习成果,检验学习成果。

运用学习成果,
把课堂上学到的系统的理论知识,常识性
的应用于实际设计工作, 检验学习成果,检查出课堂学习与实际工作到底有多大距离,
并通
过综合分析,找出学习中存在的不足, 以便完善学习计划,改变学习内容与方法提供实践依 据。

・ ___F^! ■-
>XTAL1 ^TAE?
POJ/AOD PU.UAOl PD.2/AD2 rlJ ■W H UJ PD.4/AD4 RSt
PD.5/AD5 PD.7/AD7
陆Df 烤
PSEN
P2JiW
P2.2/A1D F2.3/AH ME
P2.4/A12
EA.
p?
rz .。

丿PJ P1jJ mi
F2.7/A15
ni/Dvm
r 1.11
rJ. 1J I.JUJ
P3J/INTD
P1.3 P1.4 P15
尸孑.J/l n 11 P3.4TD P3.&T1
P1J&
P3.8^R
P17
F3.7/RO
i
巫HP
• ■ 33DR-
& 336R-
"inflR - tui -
9
IS
H
'U1 ・’ IQ
4"
5 ■
S" 7" !■
2 ■ ■11
■1.2 ■13
-14
■却-36■竝■23-M。

相关文档
最新文档