i0口输入输出实验报告文档格式.docx
- 文档编号:13881235
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:5
- 大小:18.28KB
i0口输入输出实验报告文档格式.docx
《i0口输入输出实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《i0口输入输出实验报告文档格式.docx(5页珍藏版)》请在冰豆网上搜索。
编程时应注意p1作为输入口时应先置1,才能正确读入值。
五、实验电路连线
p0.0----LeD0p1.0-----s0p0.1----LeD1p1.1-----s1p0.2----LeD2p1.2-----s2p0.3----LeD3p1.3------s3p0.4----LeD4p1.4------s4p0.5----LeD5p1.5------s5p0.6----LeD6p1.6------s7p0.7----LeD7p1.7------s8
实验1:
p0口循环点灯实验2:
p1、p0口输入输出
ag
fba
bcdefgh(dp)
e
h(dp)
实验2:
LeD数码管各段与I/o的连接d
c
p2.0p2.1p2.2p2.3p2.4p2.5p2.6p2.7
六、程序框图及程序
p0口循环点灯
oRg0000h
moVA,#07FhLp:
moVp0,ARRALcALLDeLAYLcALLDeLAYsJmpLp
DeLAY:
moVR2,#0FAhL1:
moVR3,#0FAhL2:
DJnZR3,L2DJnZR2,L1ReT
;
设定程序汇编起始地址;
设置初始值01111111;
点亮LeD0
将A里面的值循环右移一位;
调用延时子程序;
循环点亮LeD灯;
0.25s的延时程序;
2*250=500us
500*250*2=250000us;
返回主程序
p1口输入/输出
oRg0000Loop:
moVA,p1cJneA,0FFh,LeDsJmpLoopLeD:
moVp0,AAcALLDeLAYmoVR5,#00hLoop1:
RRcAJncLoop2IncR5sJmpLoop1Loop2:
moVDpTR,#TAbmoVA,R5
设定起始地址;
读p1口
查询是否有按键按下
等待
有键按下,将值读入p0;
置计数初值=0;
输入右移1位;
若cy=0,则数码显示;
cy=1,则计数加1;
跳回继续移位;
所查表的首地址赋给DpTR;
计数值做偏移量
moVp1,#0FFh;
p1口置1
moVcA,@A+DpTR
moVp2,A;
显示相应按键值sJmpLoop
TAb:
Db60h,0DAh,0F2h,66h;
Db0b6h,0beh,0e0h,0Feh;
DJnZR3,L2
DJnZR2,L1ReT
七、思考题
1、实验1欲改变LeD循环的方向程序应如何修改?
循环的时间间隔由什么决定?
写出间隔时间为1秒的延时程序并说明计算方法。
答:
改变LeD循环的方向仅需要将(RRA)改成(RLA)即可。
循环的时间间隔由单条语句执行的时间和执行次数共同决定。
;
1s的延时程序DeL:
moVR7,#20DeL1:
moVR6,#246DeL2:
moVR5,#100
DeL3:
DJnZR5,DeL3;
2*100=200μs
DJnZR6,DeL2;
(200+1+2)*246=49938μsDJnZR7,DeL1;
(49938+1+2)*20=998820us
2、51单片机I/o口的输入/输出逻辑电平是多少?
其负载能力有多大?
若用I/o口控制一个继电器(工作电压12V,工作电流100mA)电路该如何设计?
51单片机I/o口的输入/输出逻辑电平是5V。
若要用I/o口控制一个继电器,可串接一个100欧的降压电阻实现驱动。
篇二:
I0口控制实验
单片机实验报告
实验名称:
姓名:
学号:
班级:
时间:
I/0口控制实验
刘影090401206电信
(2)班20XX.12.25
南京理工大学紫金学院电光系
1、学习I/o口的使用;
2、学习延时子程序的编写和使用;
3、掌握单片机编程器使用和芯片烧写方法。
二、实验原理
1、灯闪烁实验
(1)在p1.0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间
隔为0.2秒。
(2)系统板上的硬件连线
把“单片机系统”A2区的J61接口的p1.0~p1.6端口与D1区的J52接口相连
(3)程序设计流程
灯闪烁实验电路原理如图3.1.1所示。
图3.1.2程序流程图
2、广告流水灯实验
(1)做单一灯的左移右移,硬件电路如图3.3所示,八个发光二极管L1——L8分别接在
单片机的p1.0~p1.7(:
i0口输入输出实验报告)接口上,输出“0”时,发光二极管,开始时p1.0→p1.1→p1.2→。
。
→p1.7→p1.6→。
→p1.0亮,重复循环。
实验电路如图3.1.3所示。
吧单片机系统“A2区J61接口的p1.0~p1.6端口与D1区的J52接口相连。
要求:
p1.0对应着L1,p1.1对应着L2~~~。
图3.4广告流水灯实验流程图
3、模拟开关实验
(1)监视开关K1(接在p3.0端口上),用发光二级管L1(接在单片机p1.0端口上)
显示开关状态,如果开关合上,L1亮,开关打开,L1灭。
(2)系统板上硬件连线
把“单片机系统”A2区的p1.0端口用导线连接到D1区的LeD1端口上;
把“单片机系统”A2区的p3.0端口用导线连接到D1区的KeY1端口上;
图3.1.5开关状态判别实验原理图
图3.6程序设计流程
三、实验内容
1.灯闪烁实验
利用单片机的I/o引脚控制一发光二极管,在p3.0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。
1)c程序代码如下:
#include"
reg51.h"
voiddelay(void){
unsignedchari,j;
for(i=0;
i 篇三:
实验一I0口实验单片机实验自编教案
实验一I/o口实验
一、实验内容
1、p1.2做输出口,点亮LeD。
2、p1口做输入口,接八只发光二极管,编写程序,使发光二极管循环点亮。
二、实验目的
l、学习p1口的使用方法。
2、学习延时子程序的编写和使用。
三、有关说明
p1口为准双向口,p1的每一位都能独立地定义为输出线或输入线,作输入的口线,必须首先向锁存器相应位写入“l”,该位才能作为输入。
8031中所有口锁存器在复位时均置为“l”,如果后来在口锁存器写入过“0”,在需要时应写入一个“1”使它再成为一个输入。
可以用第二个实验做一下试验。
先按要求做好程序并调试成功后,可将p1口锁存器中置“0”,此时将p1作输入口,会有什么结果。
再来看一下延时程序的实现。
现常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。
在系统时间允许的情况下可以采用后一种方法。
本实验系统晶振为12mhZ,则一个机器周期为12÷
12us即1us。
现要写一个延时的程序,可大致写出如下:
moVR7,#255
(1)
De1:
moVR6,#255
(2)
De2:
DJnZR6,De2(3)
DJnZR7,De1(4)
上面moV.DJnZ指令均需两个机器周期,所以每执行一条指令需2us,现求出x值:
(255×
2+2+2)×
255+2=0.13×
106
指令(3)
(2)(4)
(1)
所需时间需时间需时间需时间
可知实际延时约0.131072s。
比较c程序
voiddelay(unsignedchartmp)
{
i=tmp;
while(i){i--;
j=255;
while(j){//延时子函数
}j--;
LeD产生流动,可以使用c51的内部函数InTRIns.h实现。
函数unsignedchar_crol_(unsignedchara,unsignedcharn)可以使变量a循环左移n位,如果我们先给p1口赋00000001那么当n为1时,便会产生流动效果。
#include
voidDelay(unsignedchara)
unsignedchari;
while(--a!
=0)
for(i=0;
i }
}
voidmain(void)
unsignedcharb,i;
while
(1)
b=0xfe;
i {
p1=_crol_(b,1);
b=p1;
Delay(250);
InTRIns.h函数中unsignedchar_cror_(unsignedchara,unsignedcharn)右移也可以实现同样的效果
四、连线方法
执行程序2时:
p1.0—p1.7接发光二极管L1—L8
五、实验电路
电路图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- i0 输入输出 实验 报告