如何用单片机I/O

如何用单片机I/O口控制继电器?
为什么我这样接线不行?
单片机是STC89C51,我是想用两个继电器控制电机正反转,在protues上实现了,但是焊到板上发现I/O口控制不了继电器。刚我试了用3.3K的电阻,还是不行啊?

你这种画法,是期望P2.0输出高电平,继电器吸合。

但是,51单片机,输出高电平的电流有限,吸合,未必可靠。

解决的方法是加个3.3K的上拉电阻。

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-01-10
首先你所选用的继电器的规格要清楚,是否符合你的电路设计(功耗、有的继电器控制端也是分正负的、驱动电路是否能驱动它,控制端电压,输出端最大电流等),再检查你的硬件电路。
第2个回答  2010-01-07
单片机的第二功能,是需要设置的,如果没有设置刚P3口就像其它的P0-P2口一样,作为普通的I/O口线..
如果设置后,有些就不能当普通I/O口用了..
P3.0,P3.1是串行通信用的...串行通信时需要设置波特率,就不能当一般的I/O口用了..当然,当你关闭波特率后,就可以当普通I/O口用了..
P3.2,P3.3是两个中断口,如果设置了中断,就不要当I/O口用了..关了中断,就和普通I/O口一样了..
P3.4,P3.5是两个定时器用的口,如果设置了计数器的话,就不要当I/O口用了..不用计数器,就和普通I/O口一样了..
P3.6,P3.7是读写控制口,主要用于对外部存储器的读写,是不用设置的..如果程序中的MOVX指令的话,那这两个口是会有相应该动作的...没有MOVX的话,也和一般I/O口一样用...
一般来说,片内外统一编址是对程序存储器来说的,因为统一用PC计数。至于你说的“单片机的I/O口和外部RAM统一编址”意思是MOVX送出的地址是由p2和p0口上的数据决定的。

在XBYTE[]中括号里的 地址如何确定?
答:要按照电路实际情况决定,XBYTE 的作用,可以用来定义绝对地址,即P0口和P2口共同决定的地址。
如 XBYTE[0x1234] = 0x35;
则等价于
mov dptr,#1234h
mov @dptr,#35h 。
在电路设计时,地址的分配不可能总是连续的,因为各种选通器件的电路不同,将导致出现离散的地址,这是就要用到XBYTE来决定绝对地址了。比如p2决定外部地址的高八位,它的一些引脚是选通器件的,所以对外部器件而言的地址跟单片机内部的地址是不一样的,这要根据经验来决定电路设计和绝对地址的分配。
这就是使用 XBYTE的一个原因。
第3个回答  2010-01-06
S8050不好用,单片机上电复位后I/O输出高电平,会启动继电器
用S8550驱动就不会
单片机I/O接一个3.3K-10K的电阻连到S8550的基极(即中间那只管脚)
第4个回答  2010-01-06
单片机是什么型号的啊?三极管是放大作用还是开关管的作用啊?假如是51单片机的话就直接用IO输入输出 不用配置寄存器 假如是AVR的话记得配置DDRX和PORTX这两个寄存器,PIC的没使用过 假如是ARM的话,先下载BOOTLOAD 然后再当32位单片机或者跑系统。不过我只是用过S3C44B0
第5个回答  2010-01-08
如做而论道的方法,加上拉电阻就OK。

单片机的I\/O口是什么意思?
1. 准双向口输出:这种模式的I\/O口既可以作为输入也可以作为输出。它们通常具备三个上拉晶体管,分别提供强上拉、极弱上拉和弱上拉功能,允许根据具体需求调整I\/O口的状态,无需重新设置输出状态。2. 推挽输出:这类输出模式利用两个互补的三极管,一个导通时另一个截止,从而能够驱动电流较大的负载...

单片机的I\/O口是什么意思?
单片机的I\/O口的意思是:I\/O是 input\/output的缩写,即输入输出端口。每个设备都会有一个专用的I\/O地址,用来处理自己的输入输出信息。CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I\/O接口,而后者则被称为存储器接口。

单片机怎么用c语言设置I\/O口输入或输出
例如:P3M0=0;P3M1=127;\/\/0-6推挽输出 P1M0=0;P1M1=255; \/\/all 推挽输出 而51单片机的所有IO引脚,在启动后默认都是1。因此,如之前没有对此引脚进行过置0操作的话,可以直接读该引脚。但为了保险起见,也为了使程序通用、可移植,最好在读取之前对此引脚置1。

如何用单片机普通I\/0检测电平跳变
while(PinStD)\/\/检测低电平{;}ShortDelay(5);\/\/模拟上升沿时间while (!PinStD)\/\/检测高电平{;}其中PinStD在头文件中以定义为单片机的某一I\/O口,该程序用来检验I\/O口上的正跳变,在仿真软件中取得了很好的效果。

单片机如何用c语言来设置I\/O口,使I\/O口进入到输入或输出模式?
单片机的IO口缺省时一般都是双向,既可以是输入又可以是输出,C语言中判断这个口是输入还是输出要看表达式的形式,比如:sbit key=P1^0;if(key==1)...这里是作为输入的,因为是读入,再判断值 key=1;这里是作为输出,因为直接给其赋值。

单片机4个并行I\/O口的功能和使用注意事项
D锁存器:构成一个锁存器,通常要用一个时序电路,时序的单元电路在学数字电路时我们已知道,一个触发器可以保存一位的二进制数(即具有保持功能),在51单片机的32根I\/O口线中都是用一个D触发器来构成锁存器的。大家看上图中的D锁存器,D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q...

单片机I\\O口使用---急急急急---在线等,有追加
单片机用P1口作为输入、输出口模拟控制转弯灯显示;P1.0、P1.0分别连接拨动开关SW1、SW2;P1.2、P1.3、P1.4、P1.5分别连接LED1、LED2、LED3、LED4指示灯。SW1作为左转弯开关,SW2作为右转弯开关,LED1、LED2作为左转弯灯,LED3、LED4作为右转弯灯。实现 只有SW1为高电平时LED1、LED2...

急求~~单片机如何通过i o端口控制发光二极管的亮灭?
首先把IO端口设为输出模式,若IO端口接led的正极,led负极接地,让单片机输出高电平led就能亮,输出低电平led就灭了。当然还要考虑led两端电压和流过led的电流要合适。

“MCS-51单片机I\/O”数据传送的控制方式是什么?
1,无条件送方式 无条件传送也称为同步程序传送.只有那些一直为数据I\/O传送作好准备的外部设备,才能使用无条件传送方式.因为在进行I\/O操作时,不需要测试外部设备的状态,可以根据需要随时进行数据传送操作.无条件传送适用于以下两类外部设备的数据输入输出:(1)具有常驻的或变化缓慢的数据信号的外部设备....

程序是怎样使单片机的I\/O口输出高低电平的
两个方法:一是直接用置位指令比如:SETB P1.0 二是用传送指令送“1”。MOV P1,#0FFH 或 SETB C MOV P1.0,C

相似回答