单片机程序为什么不能烧入?最近在设计一个新的电子产品时,发现程序经常不能正常烧入。测量芯片的reset脚,发现一直维持在2.5V左右,正常应该是5V,相当于芯片一直在复位,单片机里面是没有程序的,却反复在复位,最后发现单片机有不可屏蔽中断脚NMI,接了外部负载,烧写程序时,NMI被外部负载拉低,反复进入复位状态,造成通信失败。
1、51单片机有几个引脚无法复位
51单片机有2个引脚无法复位,如S22复位键按下时:RST经1k电阻接VCC,获得10k电阻上所分得电压,形成高电平,进入“复位状态”当S22复位键断开时:RST经10k电阻接地,电流降为0,电阻上的电压也将为0,RST降为低电平,开始正常工作。51内核的单片机有个比较恼人的特性就是复位期间,IO口呈高电平状态,万一IO口控制的设备是使用高电平触发的话,在复位的瞬间会造成设备触发。
2、使用反相驱动,MCU输出低电平反相成高电平再去控制设备。复位时的高电平反相后变成低电平,不会触发。这是比较常用的方法,稳定,但布线复杂了不少。3、使用光耦隔离。光耦隔离后MCU也是输出低电平打开光耦再驱动被控设备,复位时的高电平不会打开光耦,不会造成误触发。
2、单片机复位引脚状态?
pic单片机在复位时,引脚状态如下:1.不管单片机在什么状态,只要你的io是高电平,那么mos管就会导通;2.pic单片机在复位时引脚呈高阻态,不会输出高或低电平,就不会导致mos导通;3.如果用其它的51单片机好像不行。从AT89S52芯片官方资料提供说明四种端口的复位值全为高电平,如果芯片无问题就要看外围电路的逻辑情况,是否干扰了,你不会只有一块单片机吧,试试其他的用替换法,P2口是数据和地址复用,内部有输出缓冲器驱动4个TTL,你要看是否被锁存器锁住了,一旦锁住不管你怎么变它的电平都是那样,检查你的电路,单片机的第30引脚(E/PROG)的情况,该引脚为高电平时锁存低8位地址的输出脉冲,反正你要注意P0和P2口都是数据地址复用。