历史上的今天
返回首页

历史上的今天

今天是:2025年12月09日(星期二)

正在发生

2022年12月09日 | 51单片机程序及调试步骤实战经验

2022-12-09 来源:zhihu

我刚参加工作的时候,用的是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预留出来,把整体功能调试完以后最终一板把它去掉不就行了?


推荐阅读

史海拾趣

ESTEK公司的发展小趣事

ESTEK公司自创立之初,就专注于电子产品的技术创新。在早期的市场竞争中,公司研发团队通过不懈努力,成功研发出一款具有革命性意义的电子元件。这款元件不仅性能卓越,而且成本远低于同类产品,使得ESTEK公司迅速在市场上脱颖而出。随着这款元件的广泛应用,ESTEK公司的知名度逐渐提升,为公司的后续发展奠定了坚实基础。

Dean Technology公司的发展小趣事

在激烈的市场竞争中,Dean Technology公司始终保持对技术创新的追求。他们不断投入研发资金,引进先进技术和设备,提升产品的技术含量和附加值。同时,公司还注重与高校、科研机构的合作,共同开展科研项目,推动行业技术的进步。这些努力使得Dean Technology的高压二极管产品始终保持在行业的领先地位。

Fairchild (ON Semiconductor)公司的发展小趣事

2016年,Fairchild Semiconductor被ON Semiconductor收购。这一收购标志着Fairchild Semiconductor的发展进入了一个新的阶段。ON Semiconductor是一家全球领先的半导体公司,拥有广泛的产品线和强大的技术实力。通过整合Fairchild Semiconductor的技术和资源,ON Semiconductor进一步巩固了其在半导体行业中的领导地位,并继续为全球客户提供优质的半导体产品和服务。

Able Systems公司的发展小趣事

随着国内市场的逐渐饱和,Able Systems公司开始将目光投向国际市场。通过参加国际展览、建立海外销售渠道等方式,公司成功将产品推向了全球范围。同时,公司还积极与国际知名企业合作,共同开发新产品,进一步提升了公司在国际市场的竞争力。

EMS GmbH公司的发展小趣事

为了进一步提升公司的规模和实力,EMS GmbH公司积极寻求并购和资源整合的机会。通过并购其他具有技术优势和市场资源的公司,EMS GmbH公司能够快速扩大生产规模、提升技术水平和市场份额。同时,公司还注重与被并购公司的资源整合和协同发展,以实现双方的优势互补和互利共赢。这些并购和资源整合的举措使EMS GmbH公司在电子行业中的竞争地位得到了进一步巩固和提升。

请注意,以上故事仅为框架性描述,并未包含具体的细节和数据。在实际撰写时,您可以根据具体情况进行补充和完善。

CTS [CTS Corporation]公司的发展小趣事

面对日益激烈的市场竞争和不断变化的客户需求,CTS始终坚持技术创新和数字化转型。公司投入大量资源进行研发,不断推出具有竞争力的新产品和解决方案。同时,CTS还积极拥抱数字化技术,通过云计算、大数据和人工智能等技术手段提升生产效率和服务质量。

问答坊 | AI 解惑

正弦波信号转TTL信号问题

输入为80MHz的正弦波时钟信号,要转换为无相位差的TTL时钟信号,请问采用什么方式?…

查看全部问答>

研究过OpenSparc这款芯片能否进来赐教?

这款芯片的价值如何?各位对其有什么心得?…

查看全部问答>

Power Manage和关闭窗口的问题

问题是这样的: 我创建了一个窗口, 打开这个窗口, 这时点击Power Key, 屏幕暗下去, 同时向我的窗口发送一个消息去关闭窗口. 再次点击Power Key, 点亮屏幕, 窗口没有被关闭, 过了1~2秒钟, 窗口才被关闭, 请问是什么原因呢? 以下是相关的代码, 麻烦 ...…

查看全部问答>

ST应该弄一个好用的ISP程序或工具了!

近日即将完成第一个STM32设计的产品,调试时用的万利的开发板,产品板上留有UART ISP接口,打算正式生产时由客户自己通过串口ISP烧录,昨天下载ST网站上的闪存加载演示程序,试用后发现很难用,首先是功能简单,仅有擦除写入和读出的功能 ...…

查看全部问答>

【无线节点】参DIY人员分工

(注:具体分工见12楼,如有不当,请及时联系) 根据EE网站公布的DIY小组成员名单,希望小组成员分工协作,每人主要负责一部分的工作,但并不妨碍做其它部分及全部的工作。 以下部分请大伙报名(可以多项)。谢谢大家 编译器我提意用IAR,如果有 ...…

查看全部问答>

System and Chip Architect (系统架构工程师)--芯片

国内大型ic设计公司招系统架构师(芯片),工作地点深圳,五天八小时,福利丰厚,年薪面议,欢迎自荐或则推荐,简历投递至icy.wu@careerco.cn Responsibilities: Interpretation of marketing term in featureFea ...…

查看全部问答>

【小梅哥FPGA进阶教程】MC8051软核在FPGA上的使用 下

2.2 MC8051 core 的组装 到现在为止,MC8051核RTL级实现的所有模块都已经具备了,接下来就使用将这些模块组装到一起,得到一个含完整mc8051核的Quartus· II工程,在新建工程之前我们还要对一些 mc8051 core 的源文件进行更新修改,使之符合我们的 ...…

查看全部问答>

EE V7.9.5 导出 ASCII问题

我安装的ee v7.9.5  在file--export  里面没有 ASCII 导出选项,大神们帮忙解惑一下。是不是破解安装出了问题 还是需要安装什么插件啥的 想导出文件转换下PADS 可以打开的文件     转换工具论坛有资源下 ...…

查看全部问答>