51单片机故障分析一个

发布者:自由思考最新更新时间:2016-10-31 来源: eefocus关键字:51单片机  故障分析 手机看文章 扫描二维码
随时随地手机看文章
故障现象:
做了一个单片机温度监测系统,仿真机上一切正常,烧写芯片无法工作。
相关电路框图:
51单片机故障分析一个 - cryinrain_cug - cryinrain_cug的博客
   用51做处理器,外围电路如图,一片双积分转换芯片ICL7135做AD,它的时钟需要125K,用51的ALE经过一片CD4024分频得到。1403提供基准源。另外,一片7660提供7135工作所需要的负压。
   为了省电,把所有模拟电路部分电源用一个晶体管管理起来,由P1.0来控制。(上图为示意图,省去了电阻没画)P1.0为地的时候,模拟系统才上电
  
   现在怪现象如下:
   仿真机正常运行,烧写芯片后无反应。
   仿真正常,说明外围芯片完全正常,电路也没有错误。
   经过检查,晶体正常,复位可靠,EA高,程序堆栈都没有溢出,并排除其它一切低级错误的可能。
   再编写一程序,
   main()
   {
    while(1) {P1.1=0;}
   }
   P1.1和VCC间接有一发光管,开机无反应。
   

   后来,发现更奇怪的现象:
   拔除CD4024,MC1403,ICL7135,ICL7660中的任何一个,系统就可以正常运行!
   
   百思不得其解,茶饭不思,郁闷了N久
   更换全部芯片,如故。
   更换ATMEL/PHILIPS/WINBOND的N款单片机,如故。
   检查,排除电路故障的可能,
   
   后来又发现,只要上电之前把P1.0对地短路,(也就是模拟部分强加电源),上电,系统正常运行。
   但是,如果开机前P1.0不对地短路,上电一定不能运行,此后即使再把P1.0对地接,也不行。

   顺这个思路,应该是和模拟部分有关……
   又是郁闷N久,之后,无意间翻看CD4024内部图,茅塞顿开……
   
   CD4024等TTL/CMOS逻辑芯片,为了防止静电或错误的IO电平,内部都有保护电路  
   51单片机故障分析一个 - cryinrain_cug - cryinrain_cug的博客
   如图2,每个IO口都有如图的2个二极管,集成在芯片内部。保证IO口电压在-0.6~5.6V之间

   复位的过程中,全部IO为高,P1.0和ALE当然也是高。这样模拟部分不上电。
   那么,ALE的输出角就等效于通过一个二极管向这四块模拟芯片供电!!!(如图)
   ALE的输出能力不强,自然,ALE就被拉低了。
   
   在查看51的手册,ALE和/PROG脚是复用的!!
   在复位过程中,ALE如果为低,芯片进入编程状态!!!
  
   也就是说,我的系统在上电复位的过程中就进入了PROG编程模式,难怪一条语句都不能执行
  
   那么,也很好解释为什么四个芯片中拔掉一个就能正常工作了,因为负载轻了,ALE可能还没有被拉到2.5V以下,所以正常复位进入程序。
   
   解决的办法:ALE接2K的上拉,再通过47K电阻接到Cd4024上,上电,一切正常!

   结论:单片机编程模式/ISP模式是通过用户很不容易出现的一个时序来启动的,在一些特殊应用时要小心避开这些非用户代码模式。
关键字:51单片机  故障分析 引用地址:51单片机故障分析一个

上一篇:12864LCD的显示
下一篇:C51液晶显示(LMC1602A)实验2

推荐阅读最新更新时间:2024-03-16 15:18

51单片机-IIC总线与时序
IIC总线是飞利浦公司上世纪80年代设计出来的一种总线通信方式,主要用来连接整体电路,它可以一个总线结构上连接多个设备。 很多人听到IIC总线、SPI总线、485总线什么的就会晕,其实,数据传输的接线方式,大体上就是两种:一种是并行接口,一种是串行接口。 并行接口是什么?用并行方式来传输数据的接口。假如我想传输几个8位的数据,那好,单片机上用8个IO传送数据,每次就能传送一个。假如想传输几个16位的数据呢?那就要用16个IO!优点是速度快,缺点是占用的IO太多了。 串行接口是什么?是指数据在有限的几个IO上按照顺序,一位一位的进行传输。这类有很多:UART、IIC、SPI、CAN、USB等等
[单片机]
学<font color='red'>51单片机</font>-IIC总线与时序
逻辑运算与51单片机的位操作指令
一个单片机逻辑电路题目,要求编一程序实现下面逻辑电路的逻缉功能。 逻辑图: 悬赏分:20 | 解决时间:2011-1-2 22:53 ;------------------------------------------------------------ 最佳答案: 先把逻辑图写成如下的表达式:(用“P1.6\” 代表“P1.6 的非”,其它的也雷同) P3.0 = ((P1.0 * P1.1)\ * (P1.4 + P1.5)\) + P1.6\)\ 再反复应用摩根定理化简: P3.0 = ((P1.0 * P1.1)\ * (P1.4 + P1.5)\)\ * P1.6 P3.0 = ((P1.0 * P1
[单片机]
逻辑运算与<font color='red'>51单片机</font>的位操作指令
51 单片机串行通讯中波特率的自动检测
本文介绍一种在 80C51 串行通讯应用中自动检测波特率的方法。按照经验,程序起动后所接收到的第1个字符用于测量波特率。 这种方法可以不用设定难于记忆的开关,还可以免去在有关应用中使用多种不同波特率的烦恼。人们可以设想:一种可靠地实现自动波特检测的方法是可能的,它无须严格限制可被确认的字符。问题是:在各种的条件下,如何可以在大量允许出现的字符中找出波特率的定时间隔。 显然,最快捷的方法是检测一个单独位时间(single bit time),以确定接收波特率应该是多少。可是,在 RS-232 模式下,许多 ASCII 字符并不能测量出一个单独位时间。对于大多数字符来说,只要波特率存在合理波动(这里的波特率是指标准波特率)
[单片机]
51 单片机串行通讯中波特率的自动检测
从零开始51单片机教程——9:单片机寻址方式与指令系统
什么是单片机寻址方式与指令系统 通过前面的学习,我们已经了解了单片机内部的结构,并且也已经知道,要控制单片机,让它为我们干学,要用指令,我们已学了几条指令,但很零散,从现在开始,我们将要系统地学习8051单片机的指令部份。 一、概述 1、指令的格式 我们已知,要让计算机做事,就得给计算机以指令,并且我们已知,计算机很“笨”,只能懂得数字,如前面我们写进机器的75H,90H,00H等等,所以指令的第一种格式就是机器码格式,也说是数字的形式。但这种形式实在是为难我们人了,太难记了,于是有另一种格式,助记符格式,如MOV P1,#0FFH,这样就好记了。 这两种格式之间的关系呢,我们不难理解,本质上它们完全等价,只
[单片机]
HC-SR04超声波测距模块电路设计
超声波测距模块参数 超声波测距模块内部电路图 超声波测距模块与51单片机连接电路图 51单片机C语言参考程序 #include //调用单片机头文件 #define uchar unsigned char //无符号字符型宏定义 变量范围0~255 #define uint unsigned int //无符号整型 宏定义 变量范围0~65535 #include #include eeprom52.h sbit c_send = P3^3; //超声波发射 sbit c_recive = P3^2; //超声波接收 //这三个引脚参考资料 sbit
[单片机]
51单片机学习之陆 —— 1.5 数码管的动态显示
1 学习回顾,上节课学习了静态显示    我们显示了第一位数码管,并让其显示了8    现在我们试着多一些花样   1 点亮所有数码管让其显示6     编程     代码          注意上面已经写好了函数leddata     P0 = ox00;让所有数码管都打开     P0 = leddata ;让数码管显示三     这时就达成了我们的目的了   2 让数码管从0到9循环显示间隔500毫秒     编程     代码:      #include reg52.h // 52系列单片机头文件 2 #define uint unsigned int 3 #define uchar unsigned char
[单片机]
<font color='red'>51单片机</font>学习之陆 —— 1.5 数码管的动态显示
UPS故障原因详细分析
下面我们详细列出这些影响UPS运行的因素:    蓄电池   据资料分析,在返修的UPS中,由于蓄电池故障而引起UPS不能正常工作的比例大约占三分之一。所以,我们要特别注意蓄电池是否出现故障。   由于电池问题引起的故障现象大约有下面几种:   1.UPS不能启动。   因为Smart-UPS是由直流启动的,所以当没有接电池、电池低电或电池有问题等情况下UPS就不能启动。下面还有几种类似的情况:   第一种情况:新安装的UPS不能启动。   如果UPS是SUA1000ICH这种机型,请检查UPS后面板的电池连接插头是否连接。如果是SU3000RMI3U这种机架式的UPS,请打开前面板检查电池是否连接。   由于新的电池
[电源管理]
89C51单片机定时/计数器、P1口编程举例
在89C51单片机的P1.0端口上接有一个发光二极管,P1.0输出低电平时发光二极管点亮,输出高电平时熄灭。P1.7接有一个开关,开关闭合时,P1.7为低电平,断开时为高电平。请设计一个控制程序,当开关闭合时,发光二极管每秒钟闪烁一次,当开关断开时,发光二极管每秒钟闪烁两次。已知系统使用12MHz的晶体。 LED BIT P1.0 ;发光二极管控制信号输出端口 KEY BIT P1.7 ;开关状态检测端口 CLOK EQU 20H ;时钟单元(单位:1/16秒) SEC BIT CLOK.3 ;秒闪烁控制位 DSEC BIT CLOK.2 ;半秒闪烁控制位 ORG 0000H LJMP MAIN ;至主程序 ORG
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved