打印

设备开发——51单片机篇

[复制链接]
1343|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yybj|  楼主 | 2011-10-28 14:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大学里面学MSC-51,当时没当回事,以为跟汇编、C语言一样,当成一种语言来学习,也当成一门和马哲,毛概一样的取得学分的课程,没有见过单片机实物,更无从实验、设计了。
       到工作中,头一次看到51单片机实物是当时需要做一个曼彻斯特编解码设备,有一个同事毕设可能就是单片机相关的内容,算比较熟悉51单片机,便申请购买了一个教学试验箱,用的是AT89C51吧,包括仿真器,开发板,烧录器等。现在回想起来,或许是需求分析都没有做好,没有留有余地,便开始动手做了,后来需求上稍微改变了一点,呵呵,整套设计就得推翻了。
      后来这个同事辞职了,整套单片机试验箱就给我了。头一次接触单片机,一个全新的世界。先是安装keil,然后**,打开例程,编译。搞了半天,大概熟悉了这个程序的编译,连接。知道了单片机的烧写,能让开发板上的LED一亮一灭,还是兴奋了很久。当时到网上下载了一堆资料,凡是和51有关的,不管有用没用,先下载下来。可能先入为主吧,一直认为软件应当是keil,单片机应当是AT89C51才正宗,与之无关的,又删除了一大堆。当时我周围一片科技书较少,刚来也不熟悉,好不容易找到个科技书店,看到51的书,也买了好几本,后来发现这些书都和我大学教材差不多,没用太多实用的。
        再后来要设计一个方波占空比检测及显示的模块,便自然而然想到用51了。逻辑上并不复杂,只要计数高电平,低电平,然后再以转换成七段码便可。网上有不少现成的例子,花半天拼凑个程序,那电阻分压后可以直接接上发板试了,试了下,还行,只是数值不停变化。软件上设置了每秒求次平均,再刷新数码管一次,又花了半天,也可以了。这些过程中,没有调试,其实当时即不太会也不需要调试。
       不能把开发板做到设备里面,得重新做块51板子。现学现用protel dxp,花了一个星期。原理图照抄网上现成的开发板的,自动布线,幸亏是低频,除了晶振是12M,其它都是K量级的。等了一个星期,板子做好了,把晶振,单片机,电阻电容都焊接好,就是不行。开发板上是好的,但自己做的板子找来找去就是找不出原因。后来有同事说有没有上拉电阻,某些引脚必须要有上拉才行。还好板子做的大,背面焊上上拉电阻,呵呵,可以了。回头看看那个我千挑万选找出如获至宝的原理图,太垃圾了,网上的东西不全是对的,得有能力鉴别才行。资料无需多,有一两本好用的就可以了。
       再后来知道可以用C语言编写51,用汇编做个除法我都得想半天,早知如此,直接从C语言编写单片机程序得了。但用汇编入门是对的,要不然那些寄存器什么的,C语言虽然可以define,但毕竟不如汇编了解得好。实际工程上,C语言开发速度远比汇编灵活方便快速。
       会了51之后,就有控制1K以下数字电路的信心,万事开头难嘛,从0到1远比从1到100的意义大,如果会了FPGA和DSP,便有了100M以下数字电路的信心,如果会了晶体管电路设计以后,技术层面上整个电子电路方面再无大碍,如果精通算法以及系统分析,那便可以横行电子界了,呵呵。

相关帖子

沙发
无冕之王| | 2011-10-28 15:12 | 只看该作者
的确是万事开头难

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

175

主题

2496

帖子

1

粉丝