天天招生网
您的位置:首页 >> 职业技能 >> 单片机 >> 名师讲堂 >> IO知识培训

IO知识培训


电子工程世界 2010-7-25 11:44:07 点击: 次  发表评论

单片机的IO口控制是单片机初学者最为关心的问题,如何快速学会使用IO是初学者最为困难的地方。

  众多的教科书上面介绍了很多IO的原理,这些长篇大论让很多初学者看起来难以理解,同时也会止步于单片机门外。我们现在所要学习的使用IO就是很简单的使用就可以了,IO无非就是4种状态,输出为高、输出为低、输入为高、输入为低。

  我们只要把握这四个方面就可以了,先看看我们的单片机接口,单片机共有32个io。分别为P0、P1、P2、P3口,P0口如果当作IO来使用时,必须要使用上拉电阻,因为51单片机内部没有上拉这一功能。

在这个学习板上面,大家可以看到40个io对应的位置,并且在数码管下面就增加了上拉电阻,使得io可以实现。

现在我们以P1口接的led指示灯来说明输出高低电平的功能,当我们使用汇编程序:

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: MOV P1,#00H

JMP MAIN

END

  这样,P1口的led就会变亮,因为P1口赋值#00h以后,就是将led的所有io都设置为低电平了。

  如果将MOV P1,#00H改成MOV P1,#0FFH,那么io就设置成了高电平,led就会被熄灭。当然C51中也比较简单。

#include

Main()

{

P1=#00H;

While(1)

{;}

}

  这个同样的道理,如果P1=#0FFH,就是熄灭led。

  当我们对键盘的程序如下图解释:

这个就是我们板子上面的键盘的接线图,当我们单独使用键盘的时候,我们要将P3.4置低电平,此时,我们也是根据前面led设置io的方式进行设置。

  如下程序:

ORG 0000H

JMP MAIN

ORG 0100H

MAIN: CLR P3.4

MOV P1,#0FFH

JNB P2.7, MAIN

MOV P1,#00H

JMP MAIN

END

C51中:

#include

Main()

{

P3^4=0;

While(1)

{

P1=0FF;

while(P2^7==0)

{

P1=00;

}

}

}

  从这2个程序都可以看出io为低电平和高电平的效果。



阅读上一篇:C程序的内存分配简介
阅读下一篇:定时器中断培训

专题推荐

三百六十行,欢迎各培训机构加盟

您想拥有一个全功能动态的独立网站吗