文号
t38640
阅读
7453
回复
20
收藏
18
谈谈我自学单片机的经历(看yearn3guns的帖子有感)
2011/12/13
IP:贵州
看到yearn3guns的帖子,感触颇深啊。原帖在这里
https://www.kechuang.org/t/38633

       顺便也谈谈自己学习单片机的经历

    在俺还在初中的时候,就死缠着老爹给俺订了《无线电》和《电子制作》,经历了HIFI和DIY投影仪的热潮,只要是见到旧书摊上的电子书,就必然买回来
不知什么时候起,单片机慢慢登上了电子的舞台,一开始是什么PGOR110等集成自编程控制器,后来,介绍和应用单片机的篇幅在这两本书上越来越多。

    说实话,当时是很讨厌很反感的,因为都是些简单介绍,或是直接上一个电路,根本没有入门级的教程,看不懂。

    偶然一次,从电子制作上看到了LM567单芯片锁相环电路,该电路可以识别某一频率和带宽的信号并转为开关电平输出。于是猛然有一个想法,用俺的小霸王学习机来控制一个小车的自动动作。

    当时,俺对学习机上的Q-BASIC编程已经比较熟练,Q-BASIC中,有个叫SOUND的语句,可以输出一定音阶的频率例如SOUND“C1”就是发出C1的音阶,然后配合一大堆LM567音频解码阵列即可完成程序->开关电平控制。然后俺用一堆INPUT语句 SOUND语句和延时构造了一个小车自动避障的程序,并稳定运行。
    回想起来,这算是俺第一个涉及到程控的作品了。可惜当时没条件照相,现在也没什么保存了。

    从此,对程控技术狂热不可收拾。

    在2000年的时候,俺开始学单片机,这得归功于《无线电》某期的一篇文章,记得叫做[自制AT89C2051]手动编程器。然后俺按照电路做出了作品
就是下面这张图。
自制编程器手动版.jpg

    这个编程器是逐字节逐位地输入单片机机器码并烧写,也就是说如果程序有1KB,那么起码得扳动开关1024X9次。
    这还不算什么,关键是要手工地将汇编语言翻译为机器码,正是因为这样,俺当时觉得俺的汇编学得还算纯熟,为以后的应用打下坚实的基础。

    再后来,忍受不住成千上万次扳动开关,俺又突发奇想回到原始,用两片LM324比较器和红外对管做了一个读卡机,也就类似今天考试用的机读卡。

    俺将一些常用的函数例如延时函数等用特定格式的小方块涂在纸条上,然后纸条在减速电机驱动下逐个被广电探头读取,并烧写到单片机中。

    说实话,俺当时为俺这个复古的折腾兴奋自豪了好一阵子。如下图
自制编程器读纸带版.jpg

    再后来,学习了VB语言,俺干脆就利用PC机的串口输出字节数据,直接代替手动拨开关,这一次,编程效率有了飞速的提升。
在对VB有了更深入的了解后,俺干脆自己做起了编译器,一下子从手工汇编飞跃到了全自动化操作。俺到现在都还沾沾自喜。
下图既是俺的串口编程器和自己写的IDE
3.jpg

自制编程器串口版.jpg   

    2年后,俺接触了网络,才知道世界上其实有个东西叫Keil(很成熟的51单片机开发环境),还有个东西叫TOP851(很成熟的编程器)
俺顿时觉得俺落后太多了,但是并不怎么后悔,因为这些经历,俺学会了许多走捷径学不到的东西。

下面是俺买的第一台成品编程器TOP2K
我的编程器.jpg

    单片机技术发展到今天,俺之前这些编程方式只能说非常落后了,现在的ISP技术已经省略掉了编程器这个环节,对入门者无疑降低
了资金门槛,也方便了调试开发。单片机已经成为我DIY的最大帮手了。

    随便写了这些啰嗦话,只是希望通过这些告诉KC学习爱好电子的朋年轻朋友们,要珍惜现在的大好学习环境和资源,善于利用网络,
多动手勤思考,才会有所突破。
+1
科创币
jrcsh
2011/12/13
来亲一个
+10
科创币
17620462
2011/12/13
单片机能做很多很多,我也正在努力学习
+52
科创币
sukeytang
2011/12/13
努力学习中。
+100
科创币
乖老汉
2011/12/13
原来神是自学的啊,俺还以为是专业呢。
+53
科创币
delete
2011/12/13
支持下
+20
科创币
hefanghua
2011/12/13
俺是来拜汇编大神的
+12
科创币
科学人
2011/12/13
好
+100
科创币
delete
2011/12/13
膜拜汇编帝。。。。
+100
科创币
10班陈大葱22号
2011/12/15
我整个人都震惊了...
+100
科创币
delete
2011/12/15
不加分对不起老大
+50
科创币
justinpiggy
2011/12/16
围观大神
+200
科创币
奇侠
2011/12/17
感慨!
+25
科创币
冲压发动机
2012/01/06
膜拜
+1
科创币
leeqingyang
2012/01/10
at 不习惯 stc大爱
+20
科创币
kokming999
2012/02/05
l厉害
+20
科创币
cqb98
2012/02/06
膜拜!新手路过
+25
科创币
vol2088
2012/02/14
膜拜基础帝,手工很强,拨动编程器很有爱
+10
科创币
frival
2012/04/20
看了老大的经历,深感惭愧,我C++书都买了几年还没入门。
20
2
15年1个月前IP:未同步
344028
1楼
呵呵,经历类似。[s:223]
我小学时看了本“少年晶体管收音机”从此开始发烧无线电。
初中时忙着做火药,中断了。
高三后被保送,然后继续发烧HIFI。
大学后开始研究单片机和编程。
工作后开始对电子电路背后的东西感兴趣,恶补了大学没学明白的电磁学,电动力学,数学变换等等。总结起来,是思维越来越深,创意越来越少。[s:274]
+1
科创币
科学人
2011/12/13
1978年的书
+1
科创币
ehco
2011/12/14
握爪
引用
评论
15年1个月前IP:未同步
344042
2楼
我看了第一张图我才第一次知道 单片机是可以用开关编程的 T T
引用
评论
15年1个月前IP:未同步
344114
3楼
引用第1楼yearn3guns于2011-12-13 13:02发表的 :
总结起来,是思维越来越深,创意越来越少。

这个得顶。
记得初中那会儿什么都不懂,思维贼活跃。
高中一知半懂,思维也很活跃。
到了大学,什么都系统的学,好像没什么创造力了。
引用
评论
15年1个月前IP:未同步
344124
4楼
当年在旧货市场淘了一个编程器,带键盘的,16进制手工输入,拿来给电台写过频。频率到机器码的换算,发动了十几个同学拿计算器按了一晚上,算出来60多个频道。。

那一次我第一次感觉人与人之间有那么多不同,有个同学半小时后就靠心算了,速度就比其他人快~~话说他们以前都没接触过这类计算。

后来搞了一台国产军用电台,用的最老版本的8031,好像是70年代生产的,程序读出来没有一个软件可以反编译。最后我和另一个师兄跑图书馆去翻出来当年的intel手册(灰有1厘米厚),照着表人工反编译了一遍,然后修改了程序(就是调整频率范围,上下边带),重新人工编译。。。结果没过多久在一家国外技术怀旧网站上又找到了一个可以用的编译器,大晕。

从那以后,俺对单片机和电台突然同时没有兴趣了,现在看着程序就头晕。

佩服楼主的高烧程度,就差凿孔纸带了,卡片帝,哈哈。。
引用
评论
15年1个月前IP:未同步
344126
5楼
E局你链接的那些单片机资料,看了半天,俺晕菜了都。[s:274]
引用
评论
ehco作者
15年1个月前IP:未同步
344215
6楼
引用第4楼虎哥于2011-12-13 20:18发表的  :
当年在旧货市场淘了一个编程器,带键盘的,16进制手工输入,拿来给电台写过频。频率到机器码的换算,发动了十几个同学拿计算器按了一晚上,算出来60多个频道。。

那一次我第一次感觉人与人之间有那么多不同,有个同学半小时后就靠心算了,速度就比其他人快~~话说他们以前都没接触过这类计算。

后来搞了一台国产军用电台,用的最老版本的8031,好像是70年代生产的,程序读出来没有一个软件可以反编译。最后我和另一个师兄跑图书馆去翻出来当年的intel手册(灰有1厘米厚),照着表人工反编译了一遍,然后修改了程序(就是调整频率范围,上下边带),重新人工编译。。。结果没过多久在一家国外技术怀旧网站上又找到了一个可以用的编译器,大晕。
.......

哈哈哈哈,其实原型就是打孔的,就是开孔和修改太不方便了,还有减速电机不好卷动,后来才换的涂黑。
引用
评论
ehco作者
15年1个月前IP:未同步
344216
7楼
引用第5楼天易于2011-12-13 20:23发表的  :
E局你链接的那些单片机资料,看了半天,俺晕菜了都。[s:274]

哈哈,是得慢慢啃啊。PS2算简单的协议了
USB1.1协议,俺念大学时硬是用了半年才基本摸清,现在搞火箭又差不多忘了。哎~
引用
评论
15年1个月前IP:未同步
344383
8楼
求楼主那个手动编程器的详细信息和电路图。。。。
引用
评论
15年1个月前IP:未同步
344393
9楼
这个准励志贴比俺想象中要热啊
引用
评论
15年1个月前IP:未同步
344400
10楼
手拨开关让我想起阿莫坛子上一个手写1602显示屏的帖子。。。
引用
评论
15年1个月前IP:未同步
344442
11楼
我现在待的实验室里就有这种编程器...要各种敲按键...都没咋用过就丢柜子里没人管了,so...现在做板子缺芯片就从上面抠,哈哈~
引用
评论
15年1个月前IP:未同步
344447
12楼
膜拜....
我学单片机从来都是要一块成品的开发板才敢下手,因为自己做的老是有问题出错了也不知道到底是程序错还是电路错,搞得很是崩溃
引用
评论
15年1个月前IP:未同步
344468
13楼
强势围观ECHO大神啊。。。
话说最近在玩LEGO的NXT,当然也是工作,眼看就要有入迷的了。。。
前几天做了个8腿蜘蛛,可以前后左右的,手机遥控,当然,手机遥控的JAR是别人做的。。。
说实话,当你在做一个很感兴趣的东西的时候,你所思考的结构会在自觉不自觉的时候进行拼接,到后来就会有不错的方法。等到实际动手的时候就会有很好的参考了。
另,不动手永远不知道实际情况,所以,有条件的感兴趣的都还是想办法动手试试才好。
NXT,学下去必然要搞蓝牙,还要参考控制论相关内容,外加机械设计。。。
引用
评论
15年1个月前IP:未同步
345094
14楼
膜拜ECHO大神…以前我没有信仰,但现在我有了!不是耶稣!也不是基督!而是ECHO!
引用
评论
15年0个月前IP:未同步
347175
15楼
楼主太牛了,佩服!!那个开关编程器确实震精了,顶
引用
评论
14年11个月前IP:未同步
362797
16楼
看来我是幸运的一代人,没有经历过那种手工输入的时代。
引用
评论
14年11个月前IP:未同步
363863
17楼
膜拜!新手路过
引用
评论
14年11个月前IP:未同步
363877
18楼
我初中的时候都啥也不知道呢  当年单片机还是自学的 自己做的洞洞板
引用
评论
14年11个月前IP:未同步
366585
19楼
我第一个编程器也是自己做的,大约是91年吧,只能写EPROM(2716、2732),用按键+4040产生地址,用12个LED显示地址数;八个开关二进制输入数据,也是用LED显示二进制数据。按键输入地址,扳动开关输入指令或数据,再按键写入在按动按钮输入下一个地址,再输入指令。。。。。。
用来学习51单片机。记得编过跑马灯(流水灯)、马达启动自保持电路、星三角转换电路。用起来实在麻烦,92年咬牙花了1250还是1500元买了个江苏启东计算机厂的仿真开发机,当时没有PC机,全靠小键盘操作,偏偏机器的按键老是接触不良,几乎全部更换过。
EPROM擦除器当时也买不到灯管,用的是自镇流高压汞灯打破外壳,用灯芯串个镇流器装木盒里,来擦芯片,后来还用它来晒感光电路板。
当时没有网络,会的人也不多,单片机学起来不容易,学会了还是很有意思的。
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的