矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 18718|回复: 31

抛石:单片机的灵魂

[复制链接]
发表于 2007-7-18 15:16:03 | 显示全部楼层 |阅读模式
上面零零散散说了个大概,总而言之,单片机的硬件就是具有CPU,存储器,外部接口和其他应用单元的一个完整的小计算机,虽然它不如电脑CPU那么高速,可是它几乎不依赖其他硬件就可以独立运行,当然电脑运行靠程序,单片机也是一样,不装任何程序的裸芯片是做不了什么的,要想它发挥作用,必须给它灌入“思想”:程序。
    程序的基础,就是单片机的“指令”。所以要想学单片机,在弄清楚了它的硬件结构以后,下一步,首要的就是了解它的指令系统,然后学习用最接近机器指令的“汇编语言”在“汇编器”这个编程平台上面进行编程---得到.asm文件,程序编好了,检查调试无误,就可以利用汇编器转换生成.hex文件,再利用编程器或下载线把这个文件灌入单片机的ROM中,让单片机能够“起跑”,于是可以说单片机的开发过程基本完成了。
    不同结构的单片机,如51,PIC,AVR,430指令的格式和16进代码完全不同,所以从学指令开始,就要有针对性地学习了,如果你下决心是非得亲手搭建一个简单的单片机系统,那么就要选择用什么芯片了。51资格最老,大学一直在教,学的人很多;PIC用户最广销量第一,AVR性能不错,写片容易;430耗电最小,适用于电池供电。。。总之各有特点,要入门,不妨在51和PIC中选一样,学得差不多了,再学其他品种也不困难,而且市面上这两种单片机的书籍很多。编程平台也在网上容易找到,性能好,容易使用。至于AVR,有关的书籍相对少些,个人体会它的编程平台,免费的总是有臭虫,好用的又有版权限制。。。最引人之处就是对于入门者,往片子里面灌装程序简单,学习几乎是0成本。
     可以自学吗?怎么不可以,东西做出来就是为了让人学让人用的,有老师指教当然好,没有老师,多看书,多看例子程序,多实践也可以解决问题的。
     没有仪器可以吗?有当然最好,有示波器(当然是2踪的)会方便不少,有能看多路信号的逻辑分析仪当然更好,可是如果不搞专业开发,也不要一下子投入那么多,这些高级仪表暂时放一放;那,调试?可以采取小口多咬的办法,就是把程序分解成一下,不要一次都装进单片机去,比如一个程序有数码管显示部分,有按键处理部分,有输出部分,则先装入显示部分好了没问题再加入按键部分,一步步来,那一部分有问题也好分析解决,还可以临时在关键部位加一点东西,例如让它点亮一个临时的LED,在试运行时就能直观判断程序能否到达这里。
     还有一个学习办法就是纯软件模拟,但是你首先得搞清软件的用法(如PROTEUS),和相关的编程平台(如KEIL),还要把两者结合起来,得到模拟运行结果。
     不管采用什么方法,都是要花费一点精力,(打麻将还要动脑子呢),而且重点是学习编程,先汇编,后C。
     怎么样?ARE U READY?不要征求内务部长批准吧?
     砖,瓦,灰,沙,石头子儿就抛这么多,只是开个头儿,我也技穷了,说的不好,大家炮轰火烧,下面。。。就看你的了

[ 本帖最后由 wey05 于 2007-7-18 15:27 编辑 ]
     
发表于 2007-7-18 17:14:33 | 显示全部楼层
再抛点钢筋木材什么的吧
回复 支持 1 反对 0

使用道具 举报

     
发表于 2007-7-18 17:23:45 | 显示全部楼层
拜读了,谢谢!
楼主一定是个专业的 C++ Builder! 抛了砖,瓦,灰,沙,石头,期望能再抛泥...继续等待中
敬礼!
     
发表于 2007-7-18 18:05:18 | 显示全部楼层
呵呵,不错.抛了这么多了,都给加精华.
 楼主| 发表于 2007-7-18 23:57:35 | 显示全部楼层
回julie,遗憾的是前几年企图学习VC++,还没入门,VC++++又出来了,没办法赶不上趟了,从前学VB到底容易些,特别是正版的VB3,就3张软盘,VB基本东西都有了,还加上操作手册和编程指南,可惜是用于WIN3.1的。VC++3.0出来时,微软还有学习版卖,一套也包括手册、指南和MFC表,不到300元,后来随着版本升级,再也没有学习版了,天价正版搞不起,加上这个东西本身的确不好掌握。后来BOLAND出的C++BUILDER好一点,不过这个公司据说又不行了。单片机不同,硬件有发展,基本架构没怎么变,编程软件也基本稳定,比学VC++容易多了,不过年轻人还是要下点力气把它搞懂,因为可以开发上位设备。吾等是没戏了。
    回斑竹,多谢多谢!
     
发表于 2007-7-19 09:25:19 | 显示全部楼层
PC编程不需要跟得那么紧,会几门基本的语言绝大部分都能应付了。目前来看就是两三种:C、C++还有JAVA。基本上都够用了。要是想用到现成的控件,就去研究它,否则就自己写。早期我也是以BCB为主的,后来它真的不太行了,于是研究了一段时间的VC++,太麻烦。现在用的又回归到当初,什么C#了之类的基本不去看它了。目前主要是BCB写省事的东西,想精一点的用GCC(DEV CPP)加上WinAPI,C++都不用,用纯C来写才精练,手头基本上就看MSDN里的SDK部分。
发表于 2007-7-19 19:42:43 | 显示全部楼层
抛的全是好东西
休息休息有时间再抛些吧
期待中............
发表于 2011-4-1 08:59:41 | 显示全部楼层
看着眼馋哦,我只是早期学习了一下BISIC语言,现在都忘了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-4-6 11:53:07 | 显示全部楼层
老帖都翻出来晒晒太阳,一晃几年就这么过去了。学单片机的人一茬又一茬,不断有人学会了基本方法,又不断有人探头探脑想破门而入。那么我等虽不才也来滥竽充数,不过只是就自己学习的体会说道说道,希望能对想玩这个又犹疑不定的朋友有所帮助,以免暗中摸索的苦恼。好了,准备就一个实例仔细分析下这个单片机怎么个玩法,内容,还是从电子钟说起吧
回复 支持 反对

使用道具 举报

发表于 2011-4-6 22:37:51 | 显示全部楼层
我觉得能有一些简单的硬件推荐才好,能够完成学习需要的前提下,越便宜越好,这个单片机还是要动手做实验,有了感性认识才好.
纯软件模拟,从来没碰过硬件的,总是感觉没入门.
回复 支持 反对

使用道具 举报

发表于 2011-4-19 16:05:24 | 显示全部楼层
好老师啊~!
回复 支持 反对

使用道具 举报

发表于 2013-4-4 14:05:02 | 显示全部楼层
杨一 发表于 2011-4-1 08:59
看着眼馋哦,我只是早期学习了一下BISIC语言,现在都忘了。

单片机也有basic,叫bascom,很容易上手!
回复 支持 反对

使用道具 举报

发表于 2013-4-4 14:07:20 | 显示全部楼层
用basic上手学单片机不难,只要会刷程序就差不多了,高级语言一看就明白
回复 支持 反对

使用道具 举报

发表于 2013-4-4 14:09:27 | 显示全部楼层
如果说单片机有灵魂的话那一定是应用!
回复 支持 反对

使用道具 举报

     
发表于 2013-9-2 17:31:31 | 显示全部楼层
这个要学习一下哟。打酒的路过
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-5-4 00:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表