上两次我们做过两个实验,都是让P1.0 这个管脚使灯亮,我们能设想:既然P1.0 能让灯亮,那么其它的管脚可不能呢?看一下图1,它是8031 单片机管脚的说明,在P1.0 旁边有P1.1,P1.2….P1.7,它们是否都能让灯亮呢?除了以P1 开头的外,还有以P0,P2,P3开头的,数一下,一共是32 个管脚,前面我们以学过7 个管脚,加上这32 个这39 个了。它们都以P 字开头,只是后面的数字不一样,它们是否有什么联系呢?它们能不能都让灯亮呢?在我们的实验板上,除了P10 之外,还有P11P17 都与LED 相连,下面让我们来做一个实验,程序如下:
将这段程序转为机器码,用编程器写入单片机中,结果如何?通电以后我们能看到8 只LED全部在闪动。因此,P10P17 是全部能点亮灯的。事实上,凡以P 开头的这32 个管脚都是能点亮灯的,也就是说:这32 个管脚都能作为输出使用,如果不用来点亮LED,能用来控制继电器,能用来控制其它的执行机构。
程序分析:这段程序和前面做过的程序比较,只有两处不一样:第一句:原来是SETB P1.0,现在改为MOV P1,#0FFH,第三句:原来是CLR P1.0,现在改为MOV P1.0,#00H。从中能看出,P1 是P1.0P1.7 的全体的代表,一个P1 就表示了所有的这八个管脚了。当然用的指令也不一样了,是用MOV 指令。为什么用这条指令?看图2,我们把P1 作为一个整体,就把它当作是一个存储器的单元,对一个单元送进一个数能用MOV 指令。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !