能不能把单片机的不同管脚放在数组中引用怎么弄

2021-02-25 14:44:52 字数 2760 阅读 4131

1楼:匿名用户

http://zhidao.baidu.***/question/344066293.html?oldq=1

能不能将单片机不同管脚放在一个数组中引用 30

2楼:匿名用户

可以。你可以把不同的口的地址放在一个数组中,然后通过间接引用访问这些地址指向的单元,就可以访问到不同的管脚。

因为不管对于口还是管脚,都对应的有个地址。

这个地址就是访问的单元。希望对你有用。

3楼:

你把问题说明白点,不明白你什么意思啊

想通过数组来控制51单片机p2口的各个引脚如何进行赋值(位定义?)

4楼:匿名用户

sbit定义的是1位变量,p2是整个8位口,本身在sfr里有地址定义的,不知道你想如何专给p2赋值,如果属这样的话:

unsigned char code dat=;

*******

p2=dat[0];就给p2^0赋值1了。

但实在不知道意义何在。

5楼:匿名用户

如:a[0]=00000010

p2 = a[0];

则 p2^1=1.

其他的p2口均为0.

怎么给单片机定义管脚

6楼:匿名用户

用keil 编程时,可以用sbit 指令定义引脚,需要放在程序的前面。如

sbit led=p1^0;

这样,在程序中就可以用led对p1.0引脚进行操作了。

如main()

{led=0;

7楼:匿名用户

单片机管脚已经定义好了的,不能自己定义。

8楼:匿名用户

你要自己定义管脚?单片机出厂时候管脚已经定义了啊

9楼:

使用sbit 标识符=p2^0 定义的就是p20

怎样把单片机的8个不同管脚定义成同一个io口

10楼:匿名用户

每个管脚属于哪个并行口的,不是自己定义的,而是由单片机自身决定的,用户是改变不了,是不可能自己定义什么的。不同的i/o口的管脚,是不可能定义成一个io口的。

在应用单片机时,可不可以在同一个管脚同时实现两个输出?

11楼:匿名用户

应该说不能。

楼上kyzy00238和814414180二位所说的可以“复用”,虽然理论上可以做到,但那必须外加一些复杂的解算电路硬件,或者,采用特殊的用法(例如串行通信时不管数码管显示,允许它乱闪;而不通信时数码管才正常显示)。

我想外加复杂硬件的做法,大概不是您所要的。而允许数码管通信时乱闪的用法也并不理想。

而且严格说,所谓的“复用”并不符合您所要求的“同时”。

12楼:匿名用户

这一点在程序上是可以实现的,不过容易发生混乱,硬件方面识别和显示可能会出现问题。

13楼:匿名用户

io口可以分时复用 不过在程序里要确保不会两者同时应用 但是串口和数码管这种应用还是分开为好

单片机引脚和管脚的区别是什么???

14楼:坠落

三极管二极管数码管的叫管脚呀,有管的才叫管脚

15楼:做而论道

坠落3399 | 一级

三极管二极管数码管的叫管脚呀,有管的才叫管脚----

这位网友回答正确。

集成电路的脚,应该叫做引脚。

有些人,是先学了管脚的说法,改不过来。

也有些人,根本就搞不清楚这两种说法有什么不同。

16楼:匿名用户

引脚就是管脚,没什么区别,个人说法不一

17楼:

就是说法不同,其实是一回事

18楼:神涟复苏

难道不是管脚被引出之后的另一个脚叫引脚嘛?难道他们的关系不是1个管脚可以对应多个引脚嘛???

单片机管脚复用的意义

19楼:惜忆泪情

复用管脚在很多cpu里都存在,这样便于开发者灵活应用有限的管脚资源。一般来说复用管脚有两重用途:

1.是普通用途的io引脚,单纯用来做电平读入或者输出;

2.是赋予一些特殊的用途比如外部中断输入甚至ad/da引脚等等,这类管脚的定义以及使用方法因不同的cpu型号而不同,很难一概而论的。

20楼:anyway中国

1、节约引脚资源,缩小芯片尺寸;

2、方便pcb设计制作;

3、编程灵活。

21楼:匿名用户

就是管脚有多种功能的意思, 例如同一个管脚根据自己的需要可以把它当普通的io使用, 可以是ad通道输入端

单片机中把某个管脚设置为输入模式,还能操作这个管脚输出高低电平吗

22楼:龙之大帝之不死

这个是不行的,因为普通的51单片机管脚的内部结构都是做死的,也就是说管脚功能是由硬件决定的,在制造的时候就已经确定,没法更改了(可以参考一下51单片机的硬件介绍)。不过pic的单片机有这个功能的。