我记得刚接触单片机是在2002年的时候,那时候我唯一知道的和使用的单片机就是AT98C8051、AT98C8052。就是后来的华邦、飞利浦、SST的51类单片机也只是听说也没有见过。那时候开发先要把程序写好,然后需要在DOS下使用编译器把程序编译出来,在通过编程器烧写到芯片里面。那时候非常渴望有一台“仿真器”。可是公司不舍得给买。我和一个老师傅(也就四十岁左右)学习编程,主要是汇编程序。那时候才知道怎么做规范的程序流程图。因为没有流程图汇编程序很难看懂的。画PCB是用一个叫'TANGO'的软件,那时有一个中科院的工程师会用,好像很复杂,反正我的智商弄不明白。2004年的时候公司把我从北京调到了石家庄。我到石家庄之后接触到其它公司的工程师,他们编程用C、画PCB用Protel 99。我当时看到这些软件真是很震撼!公司的开发模式是:软件是一个组(我和师傅两个人),硬件是一个组(三个人)。但是自从见到这些软件之后,我好象一下子就成为了‘绝世高手’,仿佛可以‘以一当十’把整个公司的所有硬软件都能拿下!于是从市场上买来了万能板,购置了编程器、万用表、电烙铁、吸锡器...开始天天向上。兴奋的还没有退烧,结果上来就是一桶凉水!电路焊好之后,芯片取来用编程器烧写好程序,通上电,板子就是不亮。芯片的电压用万用表量了后和资料上说的一模一样。检查电路与原理图也没有错误。可就是LED不亮。心里灰灰溜溜的,看着这板子发呆,想想这一个星期的功夫就成了这样?我也没心情做饭,就泡了一碗面。正当我吃面的时候,忽然发现板子上的LED在缓慢的闪动,真是老天有眼啊!差点我就要放弃了,看来有救。我把电源断掉,在次上电,板子还是不行!我怀疑是不是我焊的不牢固出现虚焊了。于是我就有把板子在桌子上敲了敲在检查,好象不是虚焊。我就又焊了一块板子结果还是一样。板子多数的情况都是不工作只有偶尔能工作。我没有放弃,找了一个在大学教书的朋友,想用他公司的示波器看看是不是晶振的问题,和朋友约好到他们公司用示波器去测试板子问题。那时候示波器是非常贵重的仪器,一般是由专人操作。板子拿给朋友同事测试,他看看了板子说:“怎么你的31脚为什么不接高电平呀!”。我用朋友公司的烙铁把芯片的31接高电平,用示波器反复的测量了波形发现没有什么异常。而且板子工作很稳定。事后查明8051的31脚是用来设置程序从内部flash或是从外部存储启动。
不是这个朋友的帮助我可能就不会从事单片机开发了!!!再次感谢我的朋友张老师。
这是我收藏的一块8031的板子。可以看到ram和rom芯片就好几块。