历史上的今天
返回首页

历史上的今天

今天是:2025年03月17日(星期一)

正在发生

2021年03月17日 | 51单片机解决调试过程

2021-03-17 来源:eefocus

对于一个新设计的电路板,调试起来往往会遇到一些困难,特别是当板比较大、元件比较多时,往往无从下手。但如果掌握好一套合理的调试方法,调试起来将会事半功倍。对于刚拿回来的新PCB板,我们首先要大概观察一下,板上是否存在问题,例如是否有明显的裂痕,有无短路、开路等现象。如果有必要的话,可以检查一下电源跟地线之间的电阻是否足够大。


然后就是安装元件了。相互独立的模块,如果您没有把握保证它们工作正常时,最好不要全部都装上,而是一部分一部分的装上(对于比较小的电路,可以一次全部装上),这样容易确定故障范围,免得到时遇到问题时,无从下手。一般来说,可以把电源部分先装好,然后就上电检测电源输出电压是否正常。如果在上电时您没有太大的把握(即使有很大的把握,也建议您加上一个保险丝,以防万一),可考虑使用带限流功能的可调稳压电源。先预设好过流保护电流,然后将稳压电电源的电压值慢慢往上调,并监测输入电流、输入电压以及输出电压。如果往上调的过程中,没有出现过流保护等问题,且输出电压也达到了正常,则说明电源部分OK。反之,则要断开电源,寻找故障点,并重复上述步骤,直到电源正常为止。


接下来逐渐安装其它模块,每安装好一个模块,就上电测试一下,上电时也是按照上面的步骤,以避免因为设计错误或/和安装错误而导致过流而烧坏元件。


寻找故障的办法一般有下面几种:


①测量电压法。首先要确认的是各芯片电源引脚的电压是否正常,其次检查各种参考电压是否正常,另外还有各点的工作电压是否正常等。例如,一般的硅三极管导通时,BE结电压在0.7V左右,而CE结电压则在0.3V左右或者更小。如果一个三极管的BE结电压大于0.7V(特殊三极管除外,例如达林顿等),可能就是BE结就开路。


②信号注入法。将信号源加至输入端,然后依次往后测量各点的波形,看是否正常,以找到故障点。有时我们也会用更简单的办法,例如用手握一个镊子,去碰触各级的输入端,看输出端是否有反应,这在音频、视频等放大电路中常使用(但要注意,热底板的电路或者电压高的电路,不能使用此法,否则可能会导致触电)。如果碰前一级没有反应,而碰后一级有反应,则说明问题出在前一级,应重点检查。


③当然,还有很多其它的寻找故障点的方法,例如看、听、闻、等。“看”就是看元件有无明显的机械损坏,例如破裂、烧黑、变形等;“听”就是听工作声音是否正常,例如一些不该响的东西在响,该响的地方不响或者声音不正常等;“闻”就是检查是否有异味,例如烧焦的味道、电容电解液的味道等,对于一个有经验的电子维修人员来说,对这些气味是很敏感的;“摸”就是用手去试探器件的温度是否正常,例如太热,或者太凉。一些功率器件,工作起来时会发热,如果摸上去是凉的,则基本上可以判断它没有工作起来。但如果不该热的地方热了或者该热的地方太热了,那也是不行的。一般的功率三极管、稳压芯片等,工作在70度以下是完全没问题的。70度大概是怎样的一个概念呢?如果你将手压上去,可以坚持三秒钟以上,就说明温度大概在70度。


如果想要了解更多的调试方法和经验,可以去找一些家用电器维修的书来看看,一个好的设计人员,首先应该是一个好的维修人员。


首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压,例如常用的5V。接下来就是检查复位引脚电压是否正常。分别测量按下复位按钮和放开复位按钮的电压值,看是否正确。然后再检查晶振是否起振了,两种办法:1、一般用示波器来看晶振引脚的波形,注意应该使用示波器探头的“X10”档。2、测18和19腿各自电压,18腿电压2V左右,18腿比19腿电压略高!


另一个办法是测量复位状态下的IO口电平,按住复位键不放,然后测量IO口(没接外部上拉的P0口除外)的电压,看是否是高电平,如果不是高电平,则多半是因为晶振没有起振。另外还要注意的地方是,如果使用片内ROM的话(大部分情况下如此,现在已经很少有用外部扩ROM的了),一定要将EA引脚拉高,否则会出现程序乱跑的情况。有时用仿真器可以,而烧入片子不行,往往是因为EA引脚没拉高的缘故(当然,晶振没起振也是原因只一)。经过上面几点的检查,一般即可排除故障了。如果系统不稳定的话,有时是因为电源滤波不好导致的。在单片机的电源引脚跟地引脚之间接上一个0.1uF的电容会有所改善。如果电源没有滤波电容的话,则需要再接一个更大滤波电容,例如220uF的。遇到系统不稳定时,就可以并上电容试试(越靠近芯片越好)。


推荐阅读

史海拾趣

CINCH公司的发展小趣事

在快速发展的同时,CINCH公司也注重质量管理体系的建设。公司引进了国际先进的质量管理理念和方法,建立了完善的质量管理体系,并通过了ISO9001等质量管理体系认证。这一举措不仅提升了公司的产品质量和服务水平,还增强了客户对公司的信任度和满意度。

ELDECO公司的发展小趣事

面对全球电子记录仪市场的快速增长,ELDECO公司制定了国际化发展战略。公司首先在欧洲市场设立了研发中心和生产基地,通过与当地合作伙伴的紧密合作,成功将产品打入欧洲市场。随后,公司又在美国、亚洲等地设立了分支机构,进一步拓展全球市场。通过国际化战略布局,ELDECO公司不仅提高了品牌影响力,还获得了更多的市场机会和客户资源。

Forge Europa Ltd公司的发展小趣事

Forge Europa Ltd公司深知可持续发展对于企业和行业的重要性。因此,公司在生产过程中始终坚持绿色、环保的理念,致力于减少能源消耗和环境污染。公司采用了先进的生产技术和设备,提高了生产效率和资源利用率,同时加强了废弃物的处理和回收工作。此外,Forge Europa还积极参与各类环保活动,倡导绿色消费和低碳生活,为行业树立了可持续发展的典范。

C-MEDIA公司的发展小趣事

随着公司业务的不断扩展,C-MEDIA开始实施全球化战略,积极寻求与国际知名企业的合作。通过与全球领先的电子企业、内容提供商和媒体平台建立战略合作关系,C-MEDIA成功地将自己的技术和产品推向了更广阔的市场。这些合作不仅提升了公司的品牌知名度和市场份额,也为公司的长期发展奠定了坚实的基础。

以上只是C-MEDIA公司在电子行业中的一些重要发展节点和故事的概括性描述。实际上,公司的发展过程中还涉及到许多其他的细节和因素,包括市场竞争、技术创新、人才引进等等。这些故事共同构成了C-MEDIA在电子行业中的发展轨迹,展示了其不断进取、追求卓越的精神风貌。

Hei Inc Optoelectronic Division公司的发展小趣事
由于无触点设计,减少了电器元件的损耗和更换频率,从而延长了设备的使用寿命。
灿科盟(Ckmtw)公司的发展小趣事

作为一家专注于连接器产品的企业,灿科盟始终注重技术创新和产品升级。近年来,公司在LED连接器部件生产领域取得了重要突破,成功打破了国外技术垄断。这一技术突破不仅提升了公司的市场竞争力,也为客户提供了更加优质的产品和服务。同时,公司还加大了对新能源、智能家居等新兴领域的研究和开发力度,以应对市场变化和挑战。

问答坊 | AI 解惑

(求助,在线等)UCLINUX下开机自动运行HELLOWORLD

刚开始接触ARM,现在用的是S3C44B0的开发板,不知道在uclinux下的rc里该修改哪些东西。 在网上看到应该修改如下第一个地址的rc,而且我照做了,make之后没有报错. uClinux-dist/vendors/Samsung/44B0/rc uClinux-dist/romfs/etc/rc 下面是我uCl ...…

查看全部问答>

各种温度传感器测量范围与优缺点

一、热电偶测温的应用原理     热电偶是工业上最常用的温度检测元件之一。其优点是:         ①测量精度高。因热电偶直接与被测对象接触,不受中间介质的影响。        &nbs ...…

查看全部问答>

哪能找到evc的文件管理器原码?

找到了个vc的: http://www.codeproject.com/kb/shell/seashell.aspx?df=100&forumid=929 应该evc的也有一大堆吧,怎么找不到?…

查看全部问答>

天啊,我这么简单的程序都出现两个警告,难道是我的 keil 没有设置好吗?谢谢!

//#include \"STC12LE5404AD.h\" #include #include #include #include void main() {         while(1)        {          ;        ...…

查看全部问答>

请教单片机的触摸屏人机接口问题

现在老师让我把以前按键和数码管的人机接口改成触摸屏的,我自己看了几篇论文,触摸屏用来输入,然后用液晶输出,触摸屏贴在液晶上,这个输入输出是分开的两个模块,占用IO口太多了,而且其实质上也就是键盘输入液晶输出。请问大家也没有做过类似项 ...…

查看全部问答>

请问驱动程序版本号中各个字段的的意义是什么?

请问驱动程序版本号中各个字段的的意义是什么?比如一个驱动程序的版本号为:5.01.2600.0000,这四段字节的意义分别是什么呢?谢谢!…

查看全部问答>

求购二手三星s2410,本人在武汉

本人求购一台s2410开发板,要求资料和配套设备齐全,本人邮箱是antongliang@yahoo.com.cn 请速与我联系!…

查看全部问答>

询问一下关于STM32操作外部Ram的字节寻址的问题

在项目中使用到STM32,由于内存不够用,通过FSMC连接了一块IS61LV25616的512K的SRAM,但是发现FSMC设置宽度为16BIT宽度后,我没有办法以字节为单位寻址,对内存的一次读写都必须是2byte。 想问一下stm32没有自动在内部用硬件做这样的处理么, ...…

查看全部问答>

STM32不能启动的问题

各位,初学STM32。 我使用的STM32F103RBT6的片子、J-link V8仿真器、Keil MDK3.7开发环境。 之前,可以使用Jlink进行仿真、烧写,也可以通过串口ISP方式下载代码。 但现在,不知为何。Jlink一给目标板上电,Jlink的红灯就开始闪烁,STM32的 ...…

查看全部问答>