51单片机程序及调试步骤实战经验

发布时间:2022-12-09  

我刚参加工作的时候,用的是stc 51单片机的,51单片机不像stm32那样可以通过st-link在keil上面在线仿真。


有时候出现bug的时候,非常难找问题,要一段一段屏蔽然后测试。

在刚开始接触开发的时候,我非常不习惯用在线仿真,大概是因为没用过。

记得有一次进了一家公司做行车记录仪,用的台产GRAIN的单片机。

那时候基本上没什么资料,就一个dada sheet和demo程序。

在开发之前,老大安排了给我一个任务,就是把这个仿真环境先给搭起来。

相当于是他们原厂没有的东西,让我去搞定,这个芯片是基于Fa626TE core的32位控制器。

网上的资料太少了,光是测试搭建这个环境花了半个多月,最后还没搭建出来。


那个时候完全是懵逼状态,摸着石头过河,不知道仿真啥原理,反正网上搜到一个我就试一个。


做这个之前基本都是在做51的东西,所以对我来说太难了,加上资料又少,就是跨级打boss。


后面我有点不耐烦,就跟老大说:这个我不用仿真了,以前不用仿真照样也能把产品做出来。


后来老大思考了一下,还是希望能想把仿真搞出来,我有点崩溃,实在想不明白为何他这么固执。


当我后面慢慢接触32位的单片机多了,开发的产品多了,我才真正体会到了仿真的好处。

毫不夸张地说,用好仿真,你的开发效率至少提高3倍,这里说的不是仿真软件。


拿stm32单片机举例,用st-link+keil在线硬件仿真,不但能监控程序怎么跑的,还能监控跑过程中变量的值的变化,指针地址的变化。


用熟了你就知道,特别是做指针的应用,实在太香了,有时候指针指来指去,你的理解可能只是在自己的理论层面上,而用仿真你可以监控到指针的指向变化。


那像51这种,不能像stm32那样用st-link在线仿真怎么办?(现在51好像也有了,具体没用过)


大家别小看51单片机,有些51内核的ROM都有几十K,最终产品程序的大小并不会比stm32的小。


这种如果没仿真,那出现一个BUG,够你调半天了。

在过去的开发中,我也总结了一些经验,大家可以借鉴下。

我一般是借助产品硬件上一切能作为提示的东西,比如说:

1.数码管

2.LCD

3.LED

4.串口


我在开发程序的时候,第一个做的肯定是点亮一个LED灯。

点亮LED能够最快地让你验证硬件核心部分(单片机最小系统)有没有问题,

点亮以后,我再开一个定时器它每秒闪烁1次,直到产品大多数功能完成。

这样做的好处就是可以验证你程序有没有跑着跑着死机之类的问题,如果有,那就及时解决,不然后面程序大了找起来会更难。


如果有数码管和LCD,调试起来会更加得心应手,直接在数码管和LCD上显示要调试的数据即可,虽然没仿真这么方便,但是总比都没有好。


还有就是串口,一般硬件在第一次打板的时候,我都会把串口预留出来,方便调试,特别是做物联网产品,串口调试可以说是必备的。


主要作用就是用来监控MCU和WiFi模组之间的通讯数据。

最后,还有一种情况就是产品啥都没有,连LED都没有,这种情况该怎么办?

这种情况就只能听天由命了,完全靠你的开发经验。

一般第一板硬件设计成这样的,都是初级水平工程师,经验不足。


即便你产品用不到那些资源,好歹把串口或者LED预留出来,把整体功能调试完以后最终一板把它去掉不就行了?


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    工程师需要掌握什么知识? 1.C语言。 C语言是单片机程序开发的工具,必须要掌握。 基本语法,指针,结构体,枚举,回调函数等 都是需要完全掌握,并可以灵活使用。 2.掌握单片机硬件接口的驱动 大家可以灵活的使用单片机......
    找身边做这行的人,甚至找一些培训机构咨询都可以。 我们先了解一下,单片机程序开发的流程。 一个电子产品的开发,一般是由硬件和软件相互配合完成的。 电子线路板的设计,PCB板的制作,焊接,硬件调试都是由硬件......
    处理器最高运行时钟可达 50MHz:具有6个PCM模块.可实现PWM输出;具有1个12位ADC模块,满足电压测量精度要求。 2 硬件设计 整个电路的硬件设计主要包括C8051F410单片机......
    51单片机程序及调试步骤实战经验;我刚参加工作的时候,用的是stc 51单片机的,51单片机不像stm32那样可以通过st-link在keil上面在线仿真。 有时候出现bug的时候,非常......
    学习入门的快慢。 单片机属于数字电路,其概念、术语、硬件结构和原理都源自数字电路,如果数字电路基础扎实,对复杂的单片机硬件结构和原理就能容易理解,就能轻松地迈开学习的第一步,自信心也会树立起来。 一般......
    硬件结构和原理都源自数字电路,如果数字电路基础扎实,对复杂的单片机硬件结构和原理就能容易理解,就能轻松地迈开学习的第一步,自信心也会树立起来。 相反,基础不好,这个看不懂那个也弄不明白,越学......
    STM32单片机中OBG调试接口的介绍;OBG在单片机中的解释STM32单片机的内核(Cortex-M3)含有硬件调试模块,支持多种复杂的调试操作,硬件调试......
    OBG调试接口在单片机中的应用解析;OBG在单片机中的解释STM32单片机的内核(Cortex-M3)含有硬件调试模块,支持多种复杂的调试操作,硬件调试模块允许内核在取地址或者访问数据时停止-这就是我们在单片机......
    这些问题,我们该怎么去处理。 ①通过LED的闪烁效果来锁定问题,怀疑那里有问题就在哪里实现LED的效果 ②通过串口打印来查找问题,这个是我在51单片机程序开发过程中使用最多的调试方法 ③通过单片机硬件......
    -51PROC 单片机综合仿真实验仪和Keil C51 集成开发环境进行仿真调试。如果还有时间,可以把本书的第2 章的2.6 节、2.7 节内容也看一下。 五. 实验步骤1. 用40 针排线把DP......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>