从51开始——我的嵌入式学习之路小感

作者: liunian__92
上传时间为: 2014-11-28 09:29 AM
2014-11-28
阅读:

其实想介绍一下这个51单片机的开发板,并不是因为它功能多么的强大,也不是因为它是一个比赛的单片机组的硬件开发平台,只是想回忆一下自己一路走来学习的过程,希望能跟大家做个分享。  大家入门嵌入式这个殿堂,用的第一款单片机大概都是51吧,一般都是STC89C52 吧。

51这个内核也属于三四十年前的产物了,想想intel的80x86平台就是51,大学里《微机接口原理及技术》讲的就是80x86平台,总感觉讲80x86还不如讲51呢,80x86都那么遥远了,只是一个CPU而已,最起码51虽小,但五脏俱全,ROM,RAM各种有,还有一些外设。

自己学习单片机用的是STC89C52,当时感觉5块钱一块好便宜,几经周折才知道原来还有STC12系列,当时看到内部10位的AD采样,和两路PWM瞬间也是惊呆了,顿时感觉51好强大(当然后面也知道了还有STC15这个系列,都可以不用外部晶振了,就是内部RC温漂有点大,并且引脚不兼容与以前的系列)。

    

上面就是51的内部的框架图,51虽小五脏俱全。

上面就是89C52的特性和资源了。

下面就来看一看这个开发板吧。

51的板子基本都是一样的资源:

矩阵键盘、数码管(动态扫描)、LED、继电器、蜂鸣器、红外、18B20、DS1302、AT24C02、红外收发、128*64LCD、1602LCD、74HC138、74HC573、UL2003、步进电机控制等

高端的的会带TFT液晶屏、超声波、红外感应,SD卡什么的。

我学第一款单片机的时候跑的第一个程序就是IO口输出高电平,点亮LED,然后是定时器流水灯,中断,IIC总线,18B20 1wire、SPI。。。。。

有时候总是听到有人问自己想学习单片机,该买个什么开发板,动不动淘宝搜个好几百的,我每次都是建议买个评估板,便宜,资源虽然没有开发板多,但都是比较重要的资源,绝对够你学会这个单片机的大部分功能了,对整个单片机有个性能的评估。

后来上课,做课设用了c8051F系列的竟然发现带PLL,才发现以前自己用的有点弱了性能。后来又学习了XS128才算进入了16位机的世界,在后了用了TI的以低功耗著称的MSP430,再后来用了STM32F407,接触了arm的cortex-M,这个以前感觉好高上的东东。到今年暑假接触到了BeagleBone Black,慢慢的算是步入了linux的世界。回望以前的曾经感觉自己慢慢的走进了嵌入式这个行业。

学了那么多,感觉计算机从提出这个概念,到如今,无论哈佛结构还是冯诺依曼结构整个大的框架并没有多大的变化,单片机当然也是如此。51是最好学,也是最精髓的一款,学会了一款单片机基本到以后碰到的东西都是势如破竹,轻车熟路。无论什么单片机归根到底都是硬件层,无非是配置寄存器,完成相应的功能。当慢慢接触了RTX51tiny操作系统,再到STM32F407的固件库,感觉自己的学习的人生有经历一个很大的变化,不再是以前的一个main函数里面放满了各种东东。学会了如何结构化编程,如何将不同功能的函数放到不同的文件中。再到后来接触了CC2530的ZigBee协议栈Z-Stack,在之后编译linux内核,写linux驱动。慢慢才算对整个嵌入式的世界有个浅显的了解。

回顾过去吧,还是因为高中的时候我们的计算机老师比较好,教会了我C语音,以至于我在这个道路上走都不是那么辛苦,每次想起都还是蛮感谢我们高中的计算机老师。用单片机做东东,先写底层的驱动,一定要模块化的便成就,然后最好通过上层操作系统完成调用,或者自己写状态机。。。

说了那么多,我也不知道自己说了写什么,只是胡乱说说而已,里面如果有错误的地方,还请大家多多指点。

全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示