在单片机开发过程中,从硬件设计到软件设计几乎是开发者针对本系统特点亲自完成的。这样虽然可以降低系统成本,提高系统的适应性,但是每个系统的调试占去了总开发时间的2/3,可见调试的工作量比较大。单片机系统的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试中被发现和纠正的。但通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。可见硬件的调试是基础,如果硬件调试不通过,软件设计则是无从做起。本文结合作者在单片机开发过程中体会,讨论硬件调试的技巧。
当硬件设计从布线到焊接安装完成之后,就开始进入硬件调试阶段,调试大体分为以下几步。
1 硬件静态的调试
1.1排除逻辑故障
这类故障往往由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时利用数字万用表的短路测试功能,可以缩短排错时间。
1.2排除元器件失效
造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。
1.3排除电源故障
在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V~4.8V之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。
2 联机仿真调试
联机仿真必须借助仿真开发装置、示波器、万用表等工具。这些工具是单片机开发的最基本工具。
信号线是联络8031和外部器件的纽带,如果信号线连结错误或时序不对,那么都会造成对外围电路读写错误。51系列单片机的信号线大体分为读、写信号线、片选信号线、时钟信号线、外部程序存贮器读选通信号(PSEN)、地址锁存信号(ALE)、复位信号等几大类。这些信号大多属于脉冲信号,对于脉冲信号借助示波器(这里指通用示波器)用常规方法很难观测到,必须采取一定措施才能观测到。应该利用软件编程的方法来实现。例如对片选信号,运行下面的小程序就可以检测出译码片选信号是否正常。
MAIN:MOVDPTR,#DPTR
;将地址送入DPTR
MOVXA,@DPTR
;将译码地址外RAM中的内容送入ACC
NOP;适当延时
SJMPMAIN;循环
执行程序后,就可以利用示波器观察芯片的片选信号引出脚(用示波器扫描时间为1μs/每格档),这时应看到周期为数微秒的负脉冲波形,若看不到则说明译码信号有错误。
对于电平类信号,观测起来就比较容易。例如对复位信号观测就可以直接利用示波器,当按下复位键时,可以看到8031的复位引脚将变为高电平;一旦松开,电平将变低。
总而言之,对于脉冲触发类的信号我们要用软件来配合,并要把程序编为死循环,再利用示波器观察;对于电平类触发信号,可以直接用示波器观察。
下面结合在自动配料控制系统中键盘、显示部分的调试过程来加以说明。本系统中的键盘、显示部分都是由并行口芯片8155扩展而成的。8155属于可编程器件,因而很难划分硬件和软件,往往在调试中即使电路安装正确没有一定的指令去指挥它工作,也是无法发现硬件的故障。因此要使用一些简单的调试程序来确定硬件的组装是否正确、功能是否完整。在本系统中采取了先对显示器调试,再对键盘调试。
(1)显示器部分调试为了使调试顺利进行,首先将8155与LED显示分离,这样就可以用静态方法先测试LED显示,分别用规定的电平加至控制数码管段和位显示的引脚,看数码管显示是否与理论上一致。不一致,一般为LED显示器接触不良所致,必须找出故障,排除后再检测8155电路工作是否正常。对8155应进行编程调试时,分为两个步骤:第一,对其进行初始化(即写入命令控制字,最好定义为输出方式)后,分别向PA、PB、PC三个口送入#0FFH,这时可以利用万用表测试各口的位电压为3.8 V左右,若送入#00H,这时各口的位电压应为0.03 V;第二,将8155与LED结合起来,借助开发机,通过编制程序(最好采用“8”字循环程序)进行调试。若调试通过后,就可以编制应用程序了。
(2)键盘调试一般显示器调试通过后,键盘调试就比较简单,完全可以借助于显示器,利用程序进行调试。利用开发装置对程序进行设置断点,通过断点可以检查程序在断点前后的键值变化,这样可知键盘工作是否正常。
以上讨论了借助简单工具对单片机硬件调试的方法,这些方法如果利用得好,就可以大大缩短单片机的开发周期。
关键字:单片机 硬件调试
引用地址:
利用简单工具对单片机硬件调试的方法
推荐阅读最新更新时间:2024-03-16 15:59
51单片机控制3位共阴数码管
51单片机控制3位7段共阴数码管,P0口控制 abcdefg dp,P2.0-P2.3控制123位。 要使其间隔1s分别显示123,231, 321, 213...........无限循环 给我一个程序 最佳答案: //下列程序,经过仿真,符合要求。 #include #include reg52.h #define uchar unsigned char sbit bit1 = P2^0; sbit bit2 = P2^1; sbit bit3 = P2^2; uchar code dulatab = { //数字编码0-9 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07
[单片机]
51单片机8255驱动C程序
/*---------------------------------------------------------------------------------------------------------------- 库文件名称:driver8155.h 功能描述:驱动8155,不需要了解8255的工作原理,透明操作8255的三个输入输出口PA、PB、PC 读A口只需要调用rd_PA,写则需要调用wr_PA;B、C操作也一样 全局变量: IO_flags,在其它程序中不能对其改写 特殊说明: 无 //---------------------------------------------------------
[单片机]
采用STM32 单片机的太阳能LED街灯解决方案
随着化石类能源的日益减少,以及温室气体的过度排放导致全球变暖问题越来越受到重视,人们一方面在积极开发各类可再生 新能源 ,另一方面也在倡导 节能减排 的绿色环保技术。 太阳能 作为取之不尽、用之不竭的 清洁能源 ,成为众多可再生能源的重要代表;而在照明领域,寿命长、节能、安全、绿色环保、色彩丰富、微型化的 LED 固态照明 也已被公认为世界一种节能环保的重要途径。太阳能-LED街灯同时整合了这两者的优势,利用清洁能源以及高效率的LED实现 绿色照明 。 本文介绍的太阳能-LED街灯方案,能自动检测环境光以控制路灯的工作状态,最大 功率 点追踪(MPPT)保证最大 太阳能电池 板效率,恒电流控制LED,并带有蓄电池状态输出
[单片机]
MCS-51单片机的基本知识
8051是MCS-51系列单片机的典型产品,其特性与我们实验的STC89C52RC完全相同,这里以8051为例简介一下单片机的基本知识。 8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 图1 数据存储器(RAM): 8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它
[单片机]
单片机中断实验4
电路图: 程序代码如下: //交通灯控制程序 #include reg51.h unsigned char t0, t1; //定义全局变量,用来保存延时时间循环次数 //delay0_5s1 //功能:用T1的工作方式1编制0.5s延时程序,假定系统采用12Mhz晶振,定时器1,工作方式1定时50ms,再循环10次即可定时到0.5s void delay0_5s1 () { for (t0=0; t0 0x0a; t0++) { TH1 = 0x3c; TL1 = 0xb0; TR1 = 1; while (!TF1); TF1=0; } } //delay_t1 //功能:实现
[单片机]
FPGA为你免除微控制器停产的后顾之忧
汽车制造商收到了这样一张通知,被告知投资多年开发的,原本计划还将生产10年的微控制器将要停产,而自己还正在使用这款器件,没有什么比这再糟糕的事了。在过去几年里,半导体供应商在整合和削减产品线时,有几款曾经流行一时的微控制器和 微处理器 已被要求停产。 在过去,受到影响的制造商有两个选择:要么停产前一次性购买;要么重新设计产品。一次性购买会造成资金积压的问题。至于重新设计,如果只是单纯的线路板布局调整来支持不同的部件还算简单,但要选择一个新的微控制器系列则需要花费大量的软件编写和测试时间。
选择不同的微控制器系列时,软件兼容性是主要的障碍。大多数公司在软件的开发,测试和验证方面已经做了大量的投入。
[嵌入式]
基于MCU与DSP的双机压电捷联惯导系统
引 言 近年来,广大科研工作者研究了各种减小压电捷联惯导系统的误差方法,使压电惯性器件的精度得到了极大的提高 .本文介绍了一种实用的基于DSP实现的压电捷联惯导系统方案。 1 系统的硬件设计 整个压电捷联惯导系统分为三个部分:压电惯性组合部分;由ADS1251与ADuC834组成的信号接口与模数转换单元;由TMS320C54lO等构成的数据处理单元。系统框图如图1所示。 压电惯性组合采用专用压电陀螺及压电加速度计。由TI公司24位,20 kHz的A/D转换器ADSl251完成六路压电陀螺及压电加速度计的信号精确采样,实际采样速率为500 Hz。采用美国模拟器件公司的8位51 MCU微处理
[应用]
在进行单片机设计时需要注意哪些事项
1.降低外时钟频率 外时钟是高频的噪声源,除能引起对本应用系统的干扰之外,还可能产生对外界的干扰,以8051单片机为例最短指令周期1μs时,外时钟是12MHz。而同样速度的Motorola单片机系统时钟只需4MHz微控制器产生的最有影响的高频噪声大约是时钟频率的3倍。 2.低噪声系列单片机 改进的技术将电源、地安排在两个相邻的引脚上,外部去耦电容在PCB设计上更容易安排。 3.时钟监测电路、看门狗技术与低电压复位 时钟监控有效与省电指令STOP是一对矛盾。只能使用其中之一。 看门狗技术是监测应用程序中的一段定时中断低电压复位技术是监测单片机电源电压,当电压低于某一值时产生复位信号。由于单片机技术的发展,单片机本身对电源电压
[单片机]