⑴ 51单片机继电器自动下载原理
首先,先断开,再上电,然后下载程序,这是STC的单片机,并不是传统的51单片机。
其次,这种开发板上是自带USB转串口的芯片,PL2303,才能做到这一点。如果是用USB转串口就没有这个功能了。
最后,当在电脑上点击下载程序,这也必须是STC-ISP软件,点击下载后,电脑就会发出一串的数据流,来查询单片机,准备开始下载程序,也就是联络信号,当PL2303收到这一串的联系信号后,就会在RTS_N引脚输出一个低电平的联系信号,加到三极管8550上,使三极管导通,继电器吸合,断开常闭触点,则断开VCC-VIN的电源电路,而VCC就是去单片机的电源,单片机被断电。当联系信号结束,三极管恢复截止,继电器再度断开,单片机恢复上电了。
⑵ 求51单片机控制继电器程序
程序就免了,给你几个建议。
你最好把按键的程序和逻辑控制分开写,这样比较清晰,按键驱动的结果就是消抖以后的按键状态,处理完清除,最好用固定时钟驱动少用延时,按键驱动看着容易做好了还是不容易的。
逻辑控制无非就是if else。。。用全局量记录之前的状态,最好有个简单明了的逻辑状态图否则很容易乱套,然后操作继电器就是两个io口就是了。
你用的这个和89c都是stc比较老的型号了,建议你到官网看看,很多新型号跑得更快,程序上能不能通用注意两点,死等延时的时间和硬件上的区别。
stc很多型号都用3.0和3.1口下载程序,所以按键会有影响,建议换个io口
继电器的常开和常闭是接线决定的,按键常开和常闭可以用上下拉电阻来控制,硬件上处理一下,主要是要保证系统刚上电之前的这段时间的状态是对的。
51和stm32是完全不同的cpu,如果要移植到stm32上初始化和寄存器操作是不一样的,c语言的层面上大概只有逻辑控制这块儿能用,而且stm32是3.3V硬件上也要处理。
这个做成并不难,做好就要花些心思,自己做才有意义解决问题就是学习的过程。
⑶ 51单片机控制继电器
你的仿真图有问题,继电器是不会吸合的。发光二极和串联的电阻阻值也大,LED不能亮。
仿真应该如下图这样画
汇编程序
RELAY BIT P2.0 ;继电器控制位
RESET:LJMP MAIN
ORG 000BH
MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R2 ,BACK
MOV R2 ,#20 ;中断20次,1秒到,继电器吸合或断开一次
CPL RELAY
BACK: RETI
MAIN: MOV TMOD,#01H
MOV TH0,#3CH; 晶振频率为12M,定时50ms
MOV TL0,#0B0H
MOV IE ,#82H
SETB TR0
MOV R2 ,#20
CLR RELAY
AJMP $
请采纳
⑷ 用蓝牙串口通信使用51单片机控制两个继电器的源程序怎么写请教
蓝牙模块发送数据到单片机,然后单片机作出对应的开关控制三极管,三极管带动继电器动作。
⑸ 51单片机P0口可以控制继电器吗
51单片机的所有口都不可以直接控制继电器,需加电流或电压放大器。
但P0口比较特殊,不能输出高电平,需外加上拉电阻,或用低电平驱动,再加放大器。
⑹ 51单片机接继电器的原理图如下,能不能帮我解释一下原理
R1、DS1是指示用的,没有控制意义,可以去掉,分析的时候不用管。
Q1受CPU控制,R4是基极限流,CPU输出低电平时Q1导通,继电器线圈有电流,继电器吸合。
CPU输出高电平时,Q1截止,继电器线圈电流消失,继电器释放。
由于继电器线圈本身相当于是一个电感,电流跳变的时候,线圈两端会产生有反电势,为了避免反电势对电路中其他器件造成损坏,在线圈两端加上续流二极管D1,对反电势电压进行续流。
使用这个电路的时候应注意Q1的射极电压不能高于CPU的电源电压,否则Q1不能完全截止,控制会失效。
⑺ PC通过485与51单片机通讯去控制继电器,如何编单片机C语言程序
51对于继电器的控制,只用高低电平就可以了。关键是,你在你的程序里要有一个判断子程序,判断单片机从PC机(通过RS485)穿过来的是什么数据,从而对单片机的某位置位或者复位。比如:你可以用一个if语句,如果收到的数据时11111,在置位,如果收到的数据时00000,则复位,相应的继电器就会动作了。