对于长期玩单片机的朋友都知道,程序运行BUG在所难免,重复性的调试过程永远是痛苦的,加入你对所使用的IDE应用还不是很熟悉,对于他的在线仿真调试工具使用不是很顺手,那么下边的方法可能会帮到你哦。
为了可以更好地帮助到哪些处于困难阶段的朋友,我特此针对于通用型单片机和AVR系列单片机的特点,总结了两种可以调试程序的方法,仅供于大家参考使用! If you have a better way, please leave a comment below.
方法一:通用方法:想知道程序执行到那里或者是不是到达了这里,可以在该处加上流水灯的闪烁程序。一目了然。代码实现方法如下:
开头定义一下
#define DEBUG_HERE_PROGRAM 1
unsigned char PB1 = 0;
中间的部分省略。。。。。。。
需要测试地方如下
if DEBUG_HERE_PROGRAM == 1
if (PB1=0)
{
PORTB &=~( 1<
PB1=1;
}
else
{
PORTB |=( 1<
PB1=0;
}
delayxms(100);
#endif
方法二:AVR专用方法 : 通过初始化串口以后,利用寄存器的设置,向缓冲区发送数据传送到串口!!
while(!(UCSR1A&(1<
UDR1=0xff;//此处的0xff为自己想要看到的数据(可自定义);
好了,以上我自己用到的两种调试方法
关键字:调试 AVR 单片机
引用地址:
超实用的两种调试AVR单片机的方法
推荐阅读最新更新时间:2024-11-04 14:43
51单片机+8*8点阵实现的贪食蛇源代码
电路图和单片机仿真文件下载: http://www.51hei.com/bbs/dpj-20604-1.html 下面是源代码: #include reg51.h #define uchar unsigned char #define SNAKE 20 //最大长度 #define TIME 50 //显示延时时间 #define SPEED 71 //速度控制 //#define keyenable 1 sbit keyenable=P3^6; //方向使能 /*sbit keyx=P0^1; //左右 sbit keyy=P0^2; //上下 */ //s
[单片机]
针对Motorola微处理器的BDM调试系统的设计
目前应用Motorola微处理器开发嵌入式系统时基本上都是使用Motorola公司提供的开发系统或者CodeWarrior公司的开发系统等付费昂贵的调试工具。最近由于Flash技术的发展,特别是一些CPU(如CPU12/16/32/32+,PowerPC5xx/8xx,ColdFire等)可以用JTAG口在背景模式下调试,故仿真器已可以省去。而且随着BDM调试模式逐渐标准化,自制BDM调试工具变得越来越容易,特别是对于支持BDM调试模式的多种类型的CPU,自己设计的BDM调试系统只需少量的改动即可移植使用,而不必重复购买价格昂贵的调试开发系统,这样做可以节省大量的成本。 1 BDM调试模式介绍 Motorola微处理器的调试模块
[工业控制]
集成电路中真正单片化的单片机解析方案
随着集成电路技术和工艺的飞速发展,真正单片化的单片机已经成为主流产品。它的绝在部分资源都在单片机芯片内部;过去需要用外部扩展器件才能实现的功能,如 ROM、RAM、A/D、D/A、数字量I/O、显示驱动等功能,现在在单片机内部就可以完成。单片机真正单片化,省去了大量的硬件开发调试工作,大大地提高了工作效率;系统先天的可靠性、抗干扰能力得到了显著的改善。经实验测试,实现同样功能的系统,采用单片方式比总线扩展方式具有更多的优点。系统不仅功能强、性能可靠、成本降低,而且进一步微型化和便携化。因此,使用电池作为系统的电源也越来越普遍。系统的最小电源消除和最大的电池寿命就成为主要的技术要求。例如1999年的多国仪器仪表展览会上,不止一家国外
[单片机]
MCS-51单片机指令系统的寻址方式
1、寄存器寻址 寄存器寻址方式可用于访问选定寄存器区的8个工作寄存器R0~R7。由指令操作码的低3位指示所用的寄存器,寄存器A、B、DPTR和C位(位处理机的累加器)也可作为寻址的对象。 2、直接寻址 直接寻址是访问特殊功能寄存器的唯一方法。它也用于访问内部RAM(低128个字节)。采用直接寻址方式的指令是双字节指令,其中第一个字节是操作码,第二个字节是内部RAM或特殊功能寄存器的直接地址。 3、寄存器间接寻址 寄存器间接寻址方式可用于访问内部RAM或外部数据存储器。这种寻址方式是由指令指定某一寄存器的内容作为操作数的地址。 访问内部RAM或外部数据存储器的低256个字节时,可采用R0或R1作为间址寄存器。 4、立即寻址 采用
[单片机]
89C51单片机+X25045构成的看门狗电路
采用89C51单片机和X25045组成的 看门狗电路 ,X25045硬件连接图如图1所示。X25045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。在看门狗定时器预置的时间内若没有总线活动,则X25045将从RESET输出一个高电平信号,经过微分电路C2、R3输出一个正脉冲,使CPU复位。图1电路中,CPU的复位信号共有3个:上电复位(C1、R2),人工复位(S、R1、R2)和Watchdog复位(C2、R3),通过或门综合后加到RESET端。C2、R3的时间常数不必太大,有数百微秒即可,因为这时CPU的振荡器已经在工作。
[电源管理]
盛群:和代工厂签订长单 Q4起大幅增加32位MCU产量
MCU大厂盛群发言人Armstrong Tsai表示,由于与代工合作伙伴签订了长期的产能供应合同,该公司预计从2022年第四季度开始大幅增加其32位MCU芯片的产量。 据《电子时报》报道,Tsai指出,盛群为32位MCU生产所确保的代工产能将在2022年第四季度翻倍,使公司能够更好地履行客户从IDM转移来的订单,后者正在将生产重点转移到汽车MCU。 Tsai表示,盛群正在让客户对其32位MCU进行验证,以获得他们转移的订单,并将在通过验证后看到更长的订单可见性,因为客户将订单转回IDM的可能性并不高。他表示,预计从2022年第四季度开始,该公司将大幅增加用于远程电表读取、5G通信和摩托车GPS应用的32位MCU的出货量。 财报显示
[手机便携]
基于MSP430单片机的CCD相机调光电控系统设计
MagTek刷卡器阅读芯片21006450应用广泛,对于它的研究将有助于刷卡器阅读芯片驱动程序在实际中的应用。这里所研究的Android系统架构、芯片工作原理及接口调用是刷卡器阅读芯片驱动程序设计的理论基础,对驱动程序的实现做指导。 0 引言 Google公司在2007年11月5日推出了开源的An-droid操作系统,它是基于Linux内核的开源手机操作系统。目前,Android应用商店Android market已经拥有超过70 万个应用程序,有超过10 万名软件开发人员为Android开发应用程序,Android系统已经广泛运用于便携式移动设备。 移动POS机又称无线POS,是一种RF-SIM卡终端阅读器,通过CDMA,GPR
[电源管理]
单片机在起重机工况安全监控系统中的应用
汽车起重机具有移动快捷便利的特点,因此应用非常广泛。其操作虽然简单,但是工况却十分复杂,操作员往往不易发现潜在的危险,安全生产形势十分严峻,尤其是车载移动式起重机,常常出现侧翻事故,以至人员伤亡。 本文开发了一种汽车起重机安全监控系统,针对起重机在各种工况下的操控特性曲线,实时监测和报警,并带有安全操作提示,包括侧方位安全性提示,并在紧急状态下自动切断超载项目,从而集工况监测、控制、报警、记录系统于一体。与进口设备“力矩限制器”相比,本系统具有功能齐全、经济实用的特点。本系统经过近10年的实际应用和改进,能够杜绝安全隐患,确保安全生产,并且可以通过简单改装和修改计算参数在其他类型的起重机上使用,能够简单快捷地完成设备的安装调试
[工业控制]