当前位置:首页 > 芯闻号 > 充电吧
[导读]这是我的自学经历,希望对初学者有帮助。


  前些天翻出了学单片机以来买元件和书籍的单据。因为我是打算在计算机硬件方面花1万元左右,所以保留了大部分的收据,以便统计金额。到目前为止大概用了3千多元,包括买元件、书籍和上网费。没有计算交通费,也不折算投入的时间精力。
  有必要说说我学习单片机前的知识基础。

  我中学在学校用过286苹果机和IBM 386电脑,学习DOS和Basic语言。我一直想学计算机方面的专业的,但可能是因为打篮球,搞得自己的数学物理很烂。广东是算标准分的,我的数学和物理高考分数一个是584,一个是596,按照正态分布,我属于中等偏上一点点,相当的烂,估计广东那一年有百分之四十多的人比我数学物理成绩好。最后我学了药学,本来以为不用学数学物理,结果却是和工科一样,要学高等数学、线性代数、数理统计,还有大学物理。就这样我有了学单片机的基础!
  我高等数学每次都是补考及格的;至于大学物理,学了没多久,做实验的时候被老师警告我这样肯定考试不能及格。不过还好,物理总算是没有补考,第一学期是六十多分过的。第二学期上课的时候,那个老师打击我们说,六十多分过的都是不及格提分提上去的,不知道是不是针对我说的,这次我考了七十多。我倒不恼那个老师,自己不行,怨不得别人说。学大学物理对我弄明白一些电子的东西还是有帮助的。数理统计别人都考八、九十分,我只考了可怜的七十多。我的线性代数考了七十五,还不算太差。大学二年级学计算机基础,学的是DOS和TrueBasic语言。Dos这个东西别看着古老,搞电脑安装、维修,以及学习Linux的时候还是很有用的。大学我学得最好的就是英语,第三学期考CET4,第四学期考CET6,都顺利通过了。
  到了大学三年级,和下铺合伙买了一台电脑。基本上我们是平均使用的,不过我同学拿来打游戏,我拿来学习各种软件。VB编程、VBA编程、C语言都是那时候开始学的。文字处理软件、图片处理软件也学;甚至学过AutoCad和3DMax,不过没有学会。我们的机子不断安装不同的游戏、不同的软件,加上没有正版杀毒软件,所以平均每个月都重新装一次Win98。后来装双系统学Linux,root身份操作Linux比Win还要容易崩溃。慢慢的在对付电脑故障中学会了安装维护电脑。
  毕业后自己买了电脑,学了很多东西,虽然学的不深。象Win32汇编、Delphi、Visual C++、Java语言都学了。还学了Linux下PHP+Apache+MySQL混合编译,配置服务器之类的,学得很杂。计算机组成原理、计算机系统结构、数据库原理、软件工程概论、计算机图形学、数据结构、微型计算机接口之类的书也粗略的看过一下。
  学单片机前用Delphi写了个软件通过串口控制液相色谱泵启动、停止、改变流速等。

2003/6/7 DP-51S
  经过一段时间在互联网上的资料收集和分析,我购买了一台下载仿真实验仪,随机附送了一份教材和一张资料光盘。在随后的一年多时间,对这台机器的使用、制作原理等的学习研究,经历了有浅至深的过程。其间有两次我都想退掉这台仪器,因为不明白怎么利用这台仪器和附带的资料。开始我甚至不知道这台仪器有下载编程的功能,也不知道有可以下载编程的51单片机。读书百遍,其意自现,为了不浪费我的血汗钱,我还是硬着头皮把教材啃了无数遍,最终啃出了些味道来。
2003/7/19 吸锡器
2003/7/22 万用表 锡丝
2003/8/14 AT90S8515-8PC
《电子技术基础》
《电子技术技能训练》
《电子元器件的选用与检测》
《AVR高速嵌入式单片机原理与应用》
  在网上看贴子,搜索到Guido Socher写的《AVR单片机GCC编程》,觉得下载编程挺好,省了买编程器的钱。于是买了这些东西,另外拆了一台坏掉的显示器上的电子元件。刚开始连VCC,GND是什么都不懂的我最后用万用板制作了一个Linux系统下用的下载编程电路。为此我写了篇《Linux下AT90S8515单片机GCC编程点灯实验纪实》贴到网上了。后来在网上找到资料发现,Widows下AVR的编程环境比Linux的简单多了。
2003/8/21 P89C51RD2BN
  当明白了下载编程是怎么回事的时候,我就买了这个芯片并做了个下载编程电路。
2003/10/15 RESISTOR 1/4W
2003/10/20 SMALL STEPPOR
《电动机的单片机控制》
《机电一体化入门》
  买了个小步进电机,用ULN2803放大功率进行了它的单极二相驱动编程。参考了上面两本书以及《AVR高速嵌入式单片机原理与应用》的程序,以及一些网上的资料。不过我到现在还是对电机的控制不熟悉,还需要继续学习。
2003/10/20 MAX202 AD7705 AD780
《智能仪器与数据采集系统中的新器件及其应用》
买这些元件是为了做一个数据采集器。第一块AD7705可能被我烧了,模拟部分不工作,后来重新买了一片就做成功了。估计是没有考虑到要数字电路先通电的问题。数据采集的汇编代码修改自俄罗斯的论坛上(因为我看不懂的文字与软键盘俄文字母一致)的一片贴子,估计也是个转贴,因为注释都是英文的。
2004/3/6 89C51 89C2051
2004/3/18 89C51
  看了一片国外网站的文章,动手自己做了一个并行编程器。写了篇《89C5x单片机编程器制作》贴到网上。现在看来,还是买性价比高的商用编程器省事。《Protel99使用培训教程》
《电子世界》(2002合订本)
  某个周末,经过太平洋电脑城前面,有书店在买打折书,我买了这两本书。因为舍不得买台激光打印机,我只是在protel画出来,再用油性笔照着画到铜板上,然后再腐蚀,制作起来非常浪费时间。《电子世界》(2002合订本)有很多好的文章,包括Protel 的使用的一些文章、《单片机实用技术讲座》(共11讲)、《自己动手做51系列单片机编程器》、《单片机89C51指令表》、《业余制作高质量PCB的两种新方法》等。
2004/3/23 P89LPC931FDH PDIUSBD12
《PDIUSBD12 USB固件编程与驱动开发》
  将原来数据采集器的RS232串口通讯换成了USB通讯,另外试用了一下P89LPC931FDH。TSSOP28的接脚不能直接用油性笔画,于是我把一片都画了颜色,再把芯片用透明胶固定上去,然后把针装到自动铅笔上,沿着芯片的接脚刮掉油性笔涂的颜料,拿起芯片,再用油性笔和针画出TSSOP转DIP28的图,最后用三氯化铁腐蚀。这样低效率的方法是很耗时间的。最好有激光打印机打印Protel做出来的PCB,然后做光印板或者热转印。我想,把protel的电路图转成AutoCad的格式,然后拿到可以出工程图的打印店打印到硫酸纸上,应该是比较好的办法。

2004/3/23 STEPPER AND DRIVER
  买了一个大的电机以及它的驱动器,只要给驱动器接上大于24V、1A的直流,然后通过单片机给驱动器一定频率的脉冲,接到驱动器的电机就会转起来了。因为买不到便宜的24V直流电源,我就自己动手做,参考了国外网站上电源制作的电路,用了一个220V交流转24V的变压器,4个1N4001做的电桥,一个35V、1000uF的电容。这样的电源肯定是波纹极大的,不过用在那个驱动器是可以了。另外,因为24V变压器转出来的电压没有24V,我把一个9V的电池和我做的直流电源串联起来,居然也可以工作,真的是无知所以无畏,虽然我也感觉到那样很危险。
  从3月到7月,我用了不少时间控制电机。另外买了片AD7714,做出来一个24位精度、USB通讯接口的数据采集卡。USB通讯我参考了《PDIUSBD12 USB固件编程与驱动开发》,不得不说这本书很多都是写的不具体的。后来写出来的代码主要是利用了Philips公司网站上提供的资料,下载这些资料需要在Philips公司网站注册,不过是免费的。由于我用的SPI接口代码是来自一片贴子的汇编代码,而Philips公司提供的USB固件的代码是C语言的,所以我只有用混合编程,将汇编代码部分写成几个函数提供给C语言调用。AD7714和AD7705相比,娇贵程度有过之而无不及,我又搞坏了一片,尽管看了n遍数据手册(datasheet)、应用指南(application note)和AD7714测试板的说明书(Evaluation Board for Signal Conditioning ADC,EVAL-AD7714-5EB),可能是我的电子基础实在太差了吧。后来换了一片,参考了JAMES COOK UNIVERSITY ,SCHOOL OF ENGINEERING,Electrical Engineering专业的一个学生Matthew James Brodie的本科论文WIRELESS TEMPERATURE CONTROL NETWORK,上面有原理图、PCB以及样机照片。这样综合参考了许多资料,我才做出来了24位精度、USB通讯接口的数据采集卡的电路。驱动程序是用Driverstudio生成的,另外它还产生了应用程序的代码。我就是配置一下Driverstudio的设置,然后改了一下驱动程序的源代码以及在生成的应用程序代码上添加了窗体显示数值的代码。将来如果要做产品还是需要再好好完善的。
2004/4/14 微型电钻
2004/4/22 DB-9针、孔接口 DIP20插座
  微型电钻拿来钻孔和切割塑料还是蛮好用。

  2004年1月份考了硕士研究生,被录取了,专业和电子、单片机什么的一点关系都没有。9月份入学后,半年时间里,我基本没有碰过单片机。

2005/3/31 P89C51RA2BN
2005/4/15 P89C51RA2BN
  但是朋友让我做个小东西,于是重新开始搞单片机。这个东西很简单,就是通过RS232串口获得指令然后控制亮灯。这样的实验电路在我的下载仿真实验仪上就可以调试出来,试验成功后重新做了块板子。 2005/5/12 接收、发射模块
2005/5/16 HC00,02,04,373,573, LS00
2005/5/23 无码315发射,3310接收,3400接收
2005/5/23 TOP2004 89C52
2005/5/25 NRF401
2005/5/28 78L05
  有个项目想做无线通讯,结果用了nrf401的模块也没有做出来。浪费了我大量的时间。其间还同时试着做mon51仿真机的电路。自己做的电路不能工作。mon51的资料和代码都是keil上的,把代码写到一片单片机上替换我下载仿真实验仪的仿真芯片,是可以单步调试的,但是却不能全速执行。
2005/6/9 LED
2005/6/21 排阻 按钮 晶振
2005/6/21 CAT24WC64
2005/6/24 TG12232EL
2005/7/12 CAT24WC256
2005/7/29 12232B 1602
2005/8/26 12232A-04
  由于无线通讯不能完成,只好用了个替代的离线方案:用lcd显示,eeprom存储数据。为了配合外壳,换了几片lcd,花了我不少钱。

  总结学单片机的经历,我觉得语文是学习一切知识的基础;英语是扩大知识接收渠道的工具;数学和物理是理解自然科学知识的基础;不要相信做学问要专攻一门,现代科学需要很复杂的知识背景,各学科之间是相辅相成、协同发展的;只要你真正努力学习过,考试成绩差不能说明你不行,考试是很局限的东西:限定时间和地点、不能参考资料、不能借脑、考题基本上只有唯一的答案……,这与完成某个研究是完全不同的。  
 
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭