当前位置:文档之家› -单片机报告第一个实验p1口输入输出实验

-单片机报告第一个实验p1口输入输出实验

电工电子实验报告
课程名称:单片机原理及接口技术
实验项目名称:P1口输入、输出实验
实验学生班级:D自集成111
实验学生姓名:吴弟
实验学生学号:233110138
同组学生姓名:
实验指导老师:曾宪阳屈波
孙来业陆红伟
实验时间:2013.4.1
实验地点:B302
工业中心
预习报告
实验目的:
1、学习P1口的使用方法。

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

3、理解读引脚和读锁存器的区别。

主要实验仪器:
1、计算机一台
2、实验箱一台
实验原理及主要工作:
1、P1口是准双向口。

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

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

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

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

2.8051延时子程序的延时计算问题,对应程序
DELAY:
MOV R6,#0H
MOV R7, #0H
DELAYLP:
DJNZ R6,DELA YLP
DJNZ R7,DELA YLP
RET
查指令表可知MOV,DJNZ指令均需用两个机器周期,在6MHz晶振时,一个机器周期时间长度为12/6MHZ,所以该段程序执行时间为:
(256×255+2)×2×12÷6 ≈261ms
实验电路与连线:
实验2 P1口输入输出
P1.0 ●———●LED0 K0 ●———●P1.0
P1.1 ●———●LED1 K1 ●———●P1.1
P1.2 ●———●LED2 K1 ●———●P1.1
P1.3 ●———●LED3 P1.3 ●———●L5
预习中遇到的问题及思考:
1、对延时程序的计算不太熟悉
2、实际应用中对p1口的内部具体性能掌握的不是太好。

实验原始数据记录:
一、实验框图
P1口循环点灯程序框图p1口输入输出程序框图
教师签字:
实验报告
请按以下几个部分完成实验报告。

一、实验步骤
二、实验数据处理及分析
三、结论及讨论
四、思考题及实验体会
一、实验步骤
1、打开WA VE软件,文件,选择新建文件,然后点击仿真器选择仿真器设置,进入仿真器设置窗口,点击仿真器,选择MCS51实验,8031/32,点击好。

2、若用汇编语言,则设置如下:
编译器路径D:\KEIL\C51
编译器选择伟福汇编器
通讯设置选项中,取消选择使用伟福软件模拟器。

通讯方式选择使用USB通讯。

实验箱右上角的拨动开关设为8051
实验2 P1口输入输出
3、点击文件菜单,选择新建文件,我们即可在文件中编写代码如下:
ORG 0000H
LJMP START
ORG 0030H
START MOV P1,A
MOV A,#11111110B
LOOP: MOV P1,A
LCALL Y DELAY
RL A
LJMP LOOP
DELAY: MOV R6 , #0H
MOV R7 ,#0H
DELAYLP:DJNZ R6,DELAYLP
DJNZ R7,DELAYLP
RET
代码写完之经编译没有错误之后,打开实验箱,在仿真器中设置取消使用伟福仿真器,点击运行按钮即可。

二、实验数据处理与分析
在这个实验中,我们除了可以用汇编语言进行操作,我们还可以使用c编写,只是在设置中
编译器路径C:\COMP51
编译器选择keilc51(v5)或更高
最后保存时,若是C 编写,保存为.c 若是汇编,则保存为.ASM.
C编写代码如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,oxbf,ox7f};
V oid delay_ms(uint t)
{
Uchar x,y;
For(t;t>0;t--)
{
For(x=0;x<114;x++)
For(y=0;y<1;y++)
}
}
V oid main()
{ uchar i
While(1)
{ for(i=0;i<8;i++)
{ p1=tab[i];
Delay();
}
}
三、结论与讨论
1、当p1口用作输入时,所有位对应的锁存器必须先置1
2、读引脚和读锁存器区别;第一种方式是将引脚作为输入,那是真正地从引脚读进输入的值,第二种方式是该引脚处于输出状态时,有时需要改变这一位的状态,则并不需要真正地读引脚状态,而只是读入锁存器的状态,然后做某种变换后再输出。

3、8051延时子程序的延时计算问题,计算和估算延时子程序的时间。

四、思考题及实验体会
通过这次实验,对单片机有了更深入的了解。

通过p1口输入,输出实验对延时程序的编写和使用有了实际的体验,巩固了书上学到的知识,熟悉了操作。

相关主题