打印

我的单片机学习历程

[复制链接]
10928|42
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zl0801|  楼主 | 2007-3-24 23:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
讲述老百姓自己的故事
    今天跟大家讲述一下我是如何学习单片机技术的,以及对于初学者应该怎样学习,谈谈自己的看法!
     我是电子系的03届学生,当时进入我们创新院的时候,也是什么都不懂,但是看到有的学长在用单片机做实验,比如数字钟、智能车、LED显示屏等等,觉得这个东西很神奇,爱好这个嘛,所以就问,这个东西怎么学,需要那些基础知识。学长有好心的就告诉我,到图书馆借书,看看,如果一点都不懂的话,给你讲也不明白。大一的第一个寒假,我记得当时回家,带了3本书,2本英语,一本单片机,结果看了一个假期,还是迷迷糊糊。
    大一下学期,开始学习C语言,由于这门课结课早,大概五一的时候就结束了,当时就爱上编程了,到网上开始找资料,编写C程序,调试。但是还不知道单片机怎样学,既然感兴趣就总要动手的,问学长这个东西怎么动手开始学,他们说要编程器什么之类的(当时S系列单片机刚刚出来)我大概在04年6月的时候,从“伟纳”电子上购买了一个编程器,挺好用的,现在偶尔用C51的话,还用它烧写程序,当时画了135元,也是第一次网购。回来之后就开始制作电路板,编程。到期末的时候也没有什么大的进展,也就是编编流水灯之类的。真正有进展的时候,是大一的暑假,一个假期就在创新院度过了,只回家待了7天。通过这一个假期,把单片机内部资源,常用的外设弄得差不多了,做了一个数字钟,有案件可以调试。从大二开始,就一发不可收拾,有时候逃课也要来编程,9月份的时候,参加立项,更加锻炼了单片机的设计和电路的设计能力。05年的4月份,帮着2个大四的学长做毕业设计,其实软件硬件都是我一个人做的,是一个“鱼缸的温度控制系统”那两个学长去了华为,但是不懂硬件,一个去的是销售,一个是市场。所以就是我帮着做的全部,当时采用的是DS1302、DS18B20和LCD1602液晶,还有3路继电器,控制加热和喂食等等。到4月底的时候参加校内的电子设计比赛,参赛的题目是:基于Ds1307的多功能时钟系统,含DS1307、DS18B20、LCD1602,获得了一等奖。这个后来被我整理出来发到电子制作了,好像是去年10月份发表的。
http://www.**/blog/zl0801/15060/message.aspx

5月份参加学校组织的电子设计比赛,题目是波形存储与回放系统,用的时max197 AD采集、hd7279键盘控制、LCD1602液晶显示、max525DA还原信号、AD637峰值有效值转换模块等等,系统实现采集外部信号并存储,外部可以通过按键调出存储的波形数据,包括频率、幅度,并可以通过DA还原,这个也获得了校一等奖。
http://www.**/blog/zl0801/1095/photo.aspx
在以后就是9月份的全国电子设计大赛了,同样的选题还是信号之类的,第一题:正弦信号发生器。
采用的也是51单片机,用了2片,一个的功能不够用了,采用AD9851DDS信号源,最高输出10M信号,并实现了题名要求的调频、调幅等发挥要求,只是在最后的信号输出负载的地方没有达到指标,最终获得了国家二等奖,有点遗憾,但是我们三个参赛的队员都是03届的,当时刚刚上到大三,能拿到这样的成绩也算不错了,现在我们3个人,2个都保送了研究生,另外一个保送本校,他给拒绝了,自己考外校了,但是考的有点不理想,分数有点低,分数线还没有出来,只能住他好运了,我相信,只要能进复试,就没有问题的!
    以上就是我自己学习单片机的一个过程,以及在学习的过程中做过的一些实际的比赛和项目之类的。其间也接触过其他种类的单片机,但是还是习惯于用51系列的,呵呵,有点恋旧吧,但是也打算换avr的了,性价比比较好,msp430系列的也不错,但是都是贴片封装的,开发起来有点不方便。适合做工业级产品。
    下面简单的说一下,初学者如何学习单片机技术,从我自身的角度来讲,我觉得学习单片机的最好的办法就是实践,至于说基础,比如模拟电路和数字电路当然懂得越多越好,如果不是很懂得话,也没有关系,可以慢慢补充,其实单片机不外乎硬件和软件,硬件上呢,了解了最小系统之后就可以设计了,时钟电路、复位电路、电源等等就可以了。都有典型的电路,不用费时间,至于软件呢,现在网上也有,比较流行的都是keil,开发方便,我也写了一篇keil的入门教程,比较详细了。
教程:    http://www.**/blog/zl0801/16744/message.aspx
软件:http://www.**/blog/zl0801/3375/message.aspx

    接下来的话,就是编程,说一下编程的学习过程,一个最好的办法就是模仿,你先找到一个别人的现成的程序,能够编译生成代码,下载进去,看到现象,之后在自己写,如果有错误,对照正确的,比较一下,成功了之后,再往下学习。
最烦的就是一种人,把别人的程序拿过来,直接编译,下载了之后,以为自己就会了,但是要让自己动手写的时候,又写不出来了,哪怕是抄写,也要熟悉一下的。这是一个必须的过程,最后需要达到一个什么程度呢,那就是单片机最基本的定时器、中断、I/O口可以直接拿过来就写,不需要再翻书或者找别人的代码了。
    至于编程语言,我还是建议C语言,怎么说呢,开发方便吧,有的人说汇编的直接易于理解,但是你要是写100行的汇编可以,1000行以上呢? 做一个乘除法,汇编就不行了,C语言通用,移植方便,你学汇编,51单片机一套,avr单片机又是一套,msp430还不一样,但是C语言都是一样的,算法拿过来就可以了,改一下I/O口就可以用了,开发方便。
    最后,给大家算一下,现在学习单片机的成本,以前我学习的时候,需要购买编程器等等,现在不用了。入门来讲,51单片机最好了,资料多,通用,简单。市场上现在比较好的有S系列的,C51系列的,STC系列的,当然了还有各个公司的增强型的。从学习的角度讲,推S系列和STC系列,可以ISP下载,我现在用的STC系列,最小开发系统:
    单片机一个        6元
    Max232一个    3元
    串口线一根        5元(可以自制,就是3根线)
    阻容元件        2元
    晶振            1元
    发光二极管        1元
    万能板            2元
加起来一共20元,当然了这些只是最基本的,如果自己开发的话,还需要有电烙铁、电源、焊锡等等。其他的资源,比如数码管、蜂鸣器、液晶等等可以慢慢在扩充,软件呢,就更方便了,keil可以直接在网上下载,我的网站就有,下载软件,网上也有。
    总之,现在资源已经很丰富了,学习单片机已经不是什么难事了,只要用心学,我相信一个月的时间应该可以差不多的了。

    最后,再为我的Study-3 开发板做一下广告:(如果你没有时间和工具自制的话,可以考虑)
100元,你可以购买到以下东西:
1.    Study-3 51单片机开发板一块
2.    串口下载线一条
3.    USB电源线一条
4.    开发光盘一张
5.    LCD1602液晶一块
包韵达快递,详情:
http://www.**/blog/zl0801/18868/message.aspx
    开发板的 接口模块板已经马上就要到货了,届时折款开发板的功能就将会变得强大了!
http://www.**/blog/zl0801/19010/message.aspx


作者:赵亮 
Email:zhaoliang_0801@dl.cn
Qq已经不加好友了,有问题到我的网站留言,email留言也可以,当然如果买了板子的朋友,可以给我email,我加你,可以提供技术支持!

2007年3月24日
评分
参与人数 1威望 +1 收起 理由
PowerAnts + 1

相关帖子

沙发
computer00| | 2007-3-25 00:26 | 只看该作者

原创的吧?奖励一条裤子鼓励一下~~~~~~~~

使用特权

评论回复
板凳
zl0801|  楼主 | 2007-3-25 07:41 | 只看该作者

能得到00的奖励,真实荣幸

我跟你比起来,还差得远呢,也在不断的学习ing...

使用特权

评论回复
地板
tyw| | 2007-3-25 08:46 | 只看该作者

学习别人程序的好方法

学习别人程序的好方法就是试着给每一行程序写解释,好处在于:
1. 你还不熟悉,有中文解释可以帮助**,提醒你(裤带上打个结!)
2. 你若写不出解释,就得翻书,考证,需要什么,就学什么,急用先学,积少成多.
3. 当你写完全部,再连起来看几遍,若不明白人家在做什么,说明自已的理解还有问题,继续逐句推敲,同时还得结合硬件,有可能还要引伸扩大你的学习范围,弄懂诸如中断,定时,查表,间址存储等概念.
4. 不要怕烦,这样,你的雪球也就逐渐滚大了.
5. 弄懂全部后,你就可以试着修改一些参数,运行后察观有什么变化.接着你就可以活学活用了.踩着别人肩膀你不觉得自已很高吗?
哈哈,希望俺的一些话对你有用.

使用特权

评论回复
5
lcx_3344| | 2007-5-13 18:34 | 只看该作者

11



请教一个问题

不知道是否做过 LED字符点阵显示屏

如果用164来控制的话

时钟问题如何解决呢

使用特权

评论回复
6
cj_win| | 2008-12-24 10:45 | 只看该作者

学习一下

使用特权

评论回复
7
06hewei| | 2009-1-16 22:41 | 只看该作者

学习 了 

使用特权

评论回复
8
LingTian| | 2011-2-12 16:27 | 只看该作者
不错!

使用特权

评论回复
9
pjs1985| | 2011-3-3 20:00 | 只看该作者
不错

使用特权

评论回复
10
sunlg| | 2011-3-5 11:39 | 只看该作者
不错,自己一个人每句代码都去写的话,太累了。

使用特权

评论回复
11
lying01| | 2011-3-5 20:20 | 只看该作者
走过的路,我正在起步,像高手一样努力

使用特权

评论回复
12
toto1222| | 2011-8-11 11:48 | 只看该作者
学习

使用特权

评论回复
13
枫恋00| | 2012-3-9 16:51 | 只看该作者
很不错,我也正在学习单片机

使用特权

评论回复
14
gs170701a| | 2012-3-10 14:29 | 只看该作者
兴趣决定能走多远,走多深

使用特权

评论回复
15
kmyft| | 2012-3-10 19:50 | 只看该作者
不错  鼓励人

使用特权

评论回复
16
迷途小羔羊| | 2012-3-10 22:38 | 只看该作者
学习了

使用特权

评论回复
17
fushaoguang999| | 2012-3-24 19:20 | 只看该作者
顶下!

使用特权

评论回复
18
Wwilliam| | 2012-3-30 20:17 | 只看该作者
学了啦

使用特权

评论回复
19
灰色的鱼| | 2012-3-30 22:21 | 只看该作者
学习了

使用特权

评论回复
20
supreme42| | 2012-3-31 14:37 | 只看该作者
学习

使用特权

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

本版积分规则

3

主题

4

帖子

0

粉丝