P1口输入、输出实验

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

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

一、实验要求

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

2. P1.0、P1.1作输入口接两个拨动开关,P1.2、P1.3作输出口,接两个发光二极管,

编写程序读取开关状态,将此状态,在发光二极管上显示出来。编程时应注意P1.0、P1.1作为输入口时应先置1,才能正确读入值。

二、实验目的

1. 学习P1口的使用方法。

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

三、实验连线

实验1: P1口循环点亮 实验2: P1口输入输出

四、实验说明

1. 8051延时子程序的计算

延时程序的实现常用两种方法,一种用定时器中断来实现,另一种是用指令循环实现。在系统时间允许的情况下可以采用后一种方法。

本实验系统晶振频率为6MHz ,执行一个机器周期时间为12/6MHZ=2µS,现在写一个延时0.1S 的程序如下:

查指令表可知MOV 需要一个机器周期,DJNZ 指令需用两个机器周期,所以执行该段程序所需时间是:

[ 1 + ( 1 + 2 × 200 + 2 ) X ] × 2×10-6

= 0.1S 指令(1) (2) (3) (4) 所需时间 所需时间 所需时间 所需时间

求出X =124,将X =124代入上式可知实际延时约0.099946≈0.1S 。

2. P1口准双向口

它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用为

Delay :MOV R6,#X (1) DE1: MOV R7, #200 (2) DE2: DJNZ R7,DE2 (3)

DJNZ R6,DE1 (4)

输入口时,必须先对它置“1”。若不先对它置“1”,读入的数据是不正确的。

六、硬件电路

1、LED电平显示电路

图1:LED电平显示电路

2、逻辑电平开关电路

实验仪上有8只开关K0―K7,并有与之相对应的K0―K7引线孔为逻辑电平输出端。

开关向上拨相应插孔输出高电平“1”,向下拨相应插孔输出低电平“0”。

图2:逻辑电平开关电路

七、思考题

1、用软件实现延时有哪两种方法?各有何特点?

2、区分时钟周期、机器周期、指令周期。当晶振的振荡频率为6MHz时,一个机器周期为多少微秒?

系统晶振频率为6MHz,执行一个机器周期时间为12/6MHZ=2µS

3、P1口作为输入时有什么要求?

由准双向口结构可知当P1口用为输入口时,必须先对它置“1”。若不先对它置“1”,读入的数据是不正确的。

相关文档
最新文档