单片机的经验之谈


记得在大学期间做了几个AT89S52单片机的东西,都是很基础的东西,呵呵,遇到一些很诡异的问题,今天刚好有点时间,想把一些经验和大家分享一下,希望能够为正在单片机一线战斗的战友们送去一点希望和帮助!


一、单片机不能下载程序的原因


1.硬件连接是否正确,电源,是否连接正常,在正确的基础上,板子是否有断线以及是否虚焊?注意P1.5,P1.6,P1.7,RST引脚和下载接口是否正确连接了,对了,如果P1.5,P1.6,P1.7用作其他用途也有可能下载不成功,俺就在P1.7上挂了个ds18b20,结果总是检测不到器件,并且在下载线插在板子上的时候,ds18b20无法测温,总是显示0000000.


2.电源波纹是否过大,过大别忘了加旁路电容,一个100uf的电解电容和一个104的磁片电容并联即可 有机会的话可以在电源输出的地方加一个电感。


3.单片机复位电路是否正确,是否能够保证复位电路在上电的时候能够复位一次单片机,如果复位电路是正确的,那么请检查一下复位电路的电阻阻值,这个千万不能忽视,因为我前几天就犯了这个错误,复位电阻不能小于1K因为,太小了电容放电太快,在单片机RST引脚上高电平持续的时间太短,造成单片机上电复位失败,从而导致无法下载程序,前几天我把120欧姆的电阻当成10K的(因为两者的色环没有区别)结果检查了N次才知道怎么回事,嘻嘻,别嘲笑我菜鸟


4、如果没有晶体能不能下载还没有试过。


5、外部有大负载,比如电机驱动电路,即使不共电源,但是有时候也造成下载程序失败。


6.还有一个更加大意的东西,就是单片机没有插紧,呵呵,这个是最郁闷的问题了。


设计主要是采用单片机对气体质量浓度的测量系统。利用单片机控制技术和传感器技术,AD转换技术等,去收集粉尘浓度。把模拟量转换成数字量,经过单片机的处理计算后,在显示屏上显示出结果后,如果超出预设值就发生声光警。

7、电脑静电电压太高,导致单片机不工作,自然下载不了了,俺的电脑静电好猛,把俺电痛了



二、单片机可以下载程序,但是不能执行程序的原因


1.极有可能单片机的EA管脚没有接VCC,没有接是可以下载程序的,(并且ALE也会输出二分之一的晶体频率)——这是我写错了,估计是太累了,晕了,不好意思,下面有位大哥说了,一般情况下是六分之一的————为什么我总是粗心大意?!EA接VCC代表执行内部代码,不接执行外部ROM程序,我们现在很少用外部EEPROM,肯定要接EA到VCC的



三、单片机抗干扰设计


1.我们在用单片机定时器测一个方波的频率的时候,当单片机没有烧写程序的时候,方波很好,很标准,但是烧写程序之后,方波的形状就找不到了,多了很多噪声,很郁闷吧,建议你加个4.7K上拉排阻试试,并且注意前面的电源滤波旁路。要求不高的这两招都可以解决,要求高的那么就是这两个模块通过光电耦合器件隔离,使用独立的电源,不共同地就可以减小干扰了。对了P0口必须加上拉电阻。


2.驱动外部较大功率器件的时候一定要用光电耦合器件隔离,使用独立电源,否则单片机会死机。以前有个师兄参加广西电子设计竞赛做液位测量吧,不用光电耦合器件隔离,还使用同一个电源,结果,单片机不停的死机,数码管一亮一灭,结果没有出线。


不过菜鸟建议想搞单片机的朋友,最好先把最小系统搭建起来,同时写一个小程序,点亮led,如果成功恭喜您,你的单片机最小系统搭建起来了,如后才一个一个的添加自己的外围设计,循序渐进,一步一步来,这样出现问题也好查询。


> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >

很多初学者最初接触单片机时较为苦恼的就是如何入门,也就是从哪一部分,按照怎样的步骤进行学习。在摸索学习步骤的过程浪费时间的同时也会造成学习兴趣的降低。信盈达小编为了帮助大家解决这种情况。

生成海报
点赞 0

钟, 广林

我还没有学会写个人说明!

相关推荐

单片机zp20221128

点击职位即可进入: 单片机软件工程师 11-28 1-1.8万,厦门-同安区 | 3-4年经验 | 大专,厦门呼博仕智能健康科技股份有限 ...

基于8051单片机实现电子时钟+数字秒表设计

概述 电子时钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显 示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许

OV7670摄像头模块资料

OV7670摄像头模块资料 一、实物图和原理图 二、模块简介 OV7670 是 OV( OmniVision)公司生产的 CMOS VGA 图像传感器。该传感器体积小、工作电压低,提供单片 VGA

汇编实现LED点亮

汇编点亮一个LED MCS-51单片机 也许C语言人人都会,但使用汇编语言就不一定了。 使用汇编语言点亮一个LED灯 程序: ORG 0000H MAIN:CLR P2.0 LJMP MAINEND 注释如下&#