一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 6160|回复: 17

[其他综合] 考拉聊单片机5

  [复制链接]
发表于 2010-12-19 00:10 | 显示全部楼层 |阅读模式
本帖最后由 cosine 于 2010-12-24 23:01 编辑

上回聊了如何指挥单片机干活,也就是说说单片机所能执行的指令种类和主要运算/操作等:

https://www.yleee.com.cn/viewthread.php?tid=5168

这回聊聊上哪里获得单片机以及如何写入程序,也就是单片机的来源和编程(还有一种说法叫烧写或烧录)。

聊前多说两句,这两天杂事有点多,手好后忙着恢复网店,又倒了批破烂,一来二去耽搁了。另外前几次说的理论上的东西比较多,也应该说点和实践相关的。再者写那种理论的考拉也确实比较费劲,这回就聊点轻松的换换脑子。

1.从哪里弄单片机

这个问题好象是白说,总不能去偷吧,绝大多数人马上会想起一个字儿:。不过买也有学问的,第一个问题就是去哪里买,多数业余爱好者首先想到的应该是电子市场。一般的城市都会有一个电子市场,规模或大或小,偏远的地方可能会没有,如果您属于这类那可以直接跳过这段看后面。常人多数是看人下菜碟,而电子市场的商人们则是看量下菜碟,不同的量价格不同,往往你问东西后第一句话就是要多少。我等业余爱好者没事玩玩哪里来的那许多量,所以报出的数量不招来BS的目光就应该很是知足,在价格上就不要报有太大的期望了。考拉不大在电子市场出没,万不得以去一两次也说维修或作样品,只要几个。当然也有些朋友运用名片大法,使用某些单位采购人员的名片唬人,有时忽悠来几个“样片”也未可知。不过此等大法如果没那个金刚钻就别弄那瓷器活,我们是享受乐趣的而不是添堵的,所以那些JS的脸色之类都是浮云,直接无视即可买到需要的东西是正经。如果你要的东西比较杂每样东西又不太多,可以到电子市场内稍偏的地方,让那些摊主(找那种摊上东西比较杂而不是很专业的,专业的摊主会专注于批发,不太乐意揽这种小生意)替你汇总采购,记住:名义一定要说开发作样机,说维修也行就是别说业余作实验。虽然这样价格会稍贵一点点(一般不会太离谱,因为谁都知道人家会去问,他们同行有批发价,这个差价足够让他们感到满意),但总好过你一家家的去享受别人的BS。

如果你的附近没有电子市场或是路途太远不值当运费,还有就是实在没时间跑电子市场,那么别忘了我们是生活在21世纪,可以享受电子商务的便利。对业余爱好零买来说最好的去处自然是淘宝,当然一些论坛也可以买到需要的东西,但论坛的便宜东西多数情况是可遇不可求,而专业卖家多数也有淘宝店,因此第一选择仍然是淘宝。记住不要轻易相信淘宝上某种器件标注的价格,很多店家为了排序时位居前列,经常有意把器件的价格标低,因此一定要用旺旺在线问一下当前的价格以及是否有货,同时别忘了说明你的需求量。买东西前不要忘了虽然淘宝东西可能便宜但会有运费的存在,注意卖家标注的运费,同时注意其所选择的快递服务商是否能够送到你那里。为了省事同样可以在一个店家买齐所需要的东西,即使个别东西稍贵点节省下来的时间和运费也是值得的。

以上这些说的都是买全新件,注意全新件买回后要及时测试,一般退换都要求器件不能剪脚沾锡。另外还有一种器件就是拆机件,电子市场卖这些东西要么当新的卖,要么遮遮掩掩。淘宝则不同,经常是公开的叫卖拆机件,单片机尤其多。对于拆机件如果店主承诺保好作为业余使用也大可放心购买,价格要便宜许多。此外就是注意一些带ISP功能的单片机拆机件可能锁了下载,常见的就是AVR被锁下载,这类芯片购前一定要咨询店主是否已经代为解锁,除非你手头有可以解锁的高压并行编程器。还有一种就是业余爱好者或从业人员处理闲置器件,在淘宝上也比较常见,这类器件多数比较便宜,而且可以和店主沟通技术问题,如果遇到不要错过。这类店往往店内东西比较杂,数量也比较少,说明也写得比较业余,很容易识别。

除了花钱就没别的办法吗?当然有的。第一种办法叫,找别的前辈或朋友要几片实验用的单片机多数人会非常热情的支持(考拉单片机入门的第一批元器件就全是朋友友情赞助的),再有就是利用工作环境之便找几个实验用的。不过蹭是要有一定条件的,下面再介绍另一种条件要求宽松得多的办法,那就是。我们身边很多东西里面都有单片机的,如果你能碰到地摊上的或单位报废的,大可弄来拆件实验,但注意不要拆好东西哦,那可太不划算了。下面列一个常见可拆东西的清单,这类东西二手市场上比较常见:

①通讯终端:很多通讯终端设备里都有单片机,但不是每种都适合拆,切记第一次聊说到的型号问题和封装问题。通讯设备里多数可拆的单片机是51,DIP封装比较多,但也有PLCC封装的。一般老的ISDN终端设备(TA/NT1+等)、PHS(小灵通)/GSM接入台等内部多用51,华邦见的比较多,ATMEL和其他厂商的也有。不要去拆ADSL猫还有路由器,内部的芯片不是专用的就是ARM,初学者搞不定的。也不要去拆老的电话线MODEM,拆不到单片机,但能拆到5V继电器什么的;
②税务终端:税务终端设备多是国产,因此基本上用单片机开发,尤其以51居多。这类设备五花八门,常叫采集器/发票录入器什么的,各省用的都不太一样。内部油水多数比较大,可以拆到51、大容量汉字库(一般用EPROM装)、点阵液晶屏、实时时钟芯片等。有的直接就可以利用外壳键盘改其他用途;
③考勤机:可以尝试拆一下射频卡考虑机(就是那种直接刷胸卡的),如果内核为51就可以考虑利用,运气好还可能碰到S51带下载口的,直接就可以当学习板用。这类机一般同时都带键盘和点阵液晶屏,比较适合学习改造。不要去碰指纹考勤机,那芯片一般啃不动;
④售饭机:学校食堂的售饭机可以尝试,内部很多是51核心,还带射频卡读写器,就是有时候外表油叽叽的,呵呵;
⑤银行终端:金融器具内部多有单片机,但很多是比较高级的或是专用的芯片,不适合初学者。有的银行器具可以利用,比如以前曾经流行过一段的银行密码输入器,很多大仙儿都改造过的,碰到了可以留意一下。但注意不要碰POS机(银行卡刷卡机),那类东西我等是啃不动的;
⑥LED点阵屏:点阵屏的控制卡多用51,如果有兴趣可以和屏一起搞回来玩。注意有的点阵屏只有屏没有控制卡,也可以弄回来玩,但控制你就得另外用单片机作控制板了;
⑦保健用品:一些保健器材的控制器内部一般都有单片机,以PIC见的比较多,注意拆时要看一下芯片是不是OTP(一次性编程,就是说片子只能写一次)的,PIC的片子中间一个字母如果是F就可以利用,如果是C就算了。如果是PIC兼容的芯片如义隆的,基本都是OTP的,放弃为妙;
⑧其他:还有一些单位自制的设备象学校的报名采集器等,这类东西内部一般都是用单片机开发的,基本上是51,很有研究利用价值。另外一些生活电器如饮水机上也可能有,但专用芯片多,要碰运气。常见家用电器就不要碰了,油水多数不大,而且芯片为防别人仿造多比较冷门。

以上只能大约列一些常见的可拆的来源,反正碰到旧货充分发扬“见螺丝就拧”的精神,拆就是了,拆多了也就有经验了。最后提醒一点,不要碰医疗设备和生化设备,毕竟由于使用环境的原因,有一定的卫生风险。

2.如何把写好的程序写进去?

上回已经聊过了单片机的指令,怎么用指令编程序后面再说。这回说说已经写好的程序并汇编/编译成了目标代码(就是单片机认识的二进制文件),如何写进单片机里去?也就是说如何把程序灌到单片机的程序存储器里去。这叫作单片机的编程(注意要和给单片机写程序的编程区别)或烧写,有的也叫烧录(象是台湾叫法)。

单片机常见的几种编程方法如下:

①编程器:也叫烧器写或烧录器。这种方式因为是并行写入数据,所以有时也叫并行编程器。又因为很多芯片在并行编程时需要高压(相对正常工作时的VCC电压而言,我们一般业余常用的VCC是5V),所以有的也叫高压编程器。商品编程器(指工厂生产的,不是那种DIY后又批量出售的)基本都是这种。这种编程器一般要外接电源,机器上有一个ZIF座(Zero Insertion Force ,零插拔力插座,有时也叫测试座),用来编程DIP封装芯片,编程其他封装芯片时需要适配器(也就是一个转换器,把其他封装转成DIP插针)。编程器早期多用串行口或并行口与PC通讯(也有插卡直接走计算机内部总线的),新型编程器基本都用USB口与PC连接。编程器适应性强,性能稳定,可靠性好。商品编程支持的器件很多,但一般价格较高,业余的DIY品比较便宜,但支持的器件种类较少,有时甚至只支持一类单片机如51;
②ISP:ISP是In System Program的缩写,意思是在系统编程。早先单片机都是在编程器上写好了再插或焊到应用系统板上,但当需要升级系统时就非常不方便。后来就发展出来了ISP技术,单片机可以不离开应用系统电路板就进行编程,这就是在系统编程的含义。我们平时所说的下载指的就是ISP,但有时IAP也可以被理解为下载,详细的区别就不说了,我们重点不在这里,只要在编程时芯片的正常系统功能停止了就理解为ISP即可。ISP一般使用串行方式传转数据,常用232串行口/SPI串行口或专用数据串行接口进行。通过ISP进行编程需要一条下载线,多数下载线只是提供电平转换或总线隔离的功能,本身不进行数据的管理,数据下载的具体过程由上位机(指编程时运行下载程序的那台PC机)软件(指下载软件)管理完成。有的下载线因为要进行USB口到ISP串行口的数据转换,内部会有一个单片机。下载线可以使用计算机的串行口/并行口/USB口进行通讯,一般由上位机或目标板供电,不需要单独供电;
③IAP:IAP是In Applicatin Programming的缩写,意思是在应用编程,与ISP的区别是这种方式不用停止单片机在系统中的正常功能。在这种方式下,编程已经成为系统的一项功能,升级时不需要停机。主要的用途就是在线升级固件,这种方式甚至都不需要到机器边打开外壳,远程就能完成,典型的例子是路由器升级固件。IAP可以自己编写程序实现,但一般初学用不到,所以目前不需要了解太多,有兴趣的可以参考相关厂商的文档(由于IAP实现的方式不同,所以不同厂商芯片的IAP实现也不太一样);
④JTAG:JTAG(Joint Test Action Group;联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试。也就是常说的仿真。使用JTAG也可以实现编程,不过JTAG口只有比较高级的单片机才有,低档型号一般没有。而且我们业余能用到的单片机如果支持JTAG多数也就支持ISP,所以除非你对JTAG仿真有兴趣,否则没必要在这上面下太大功夫。

业余尤其是初学,只要掌握第1、2种手段中的一种即可。但注意第2种需要芯片硬件的支持,如果芯片不支持(比如AT89C51),那还是只能用第1种方法编程。根据你选择的单片机类型和具体获得的型号选择合适的即可。

3.编程器材从哪儿来?

和芯片一样,首先是商品编程器一般都比较贵,但二手市场上经常能见到便宜的,入门级的有时百元左右就可以买到。但二手商品编程器多数由于生产时间比较早,因此只支持一些比较老的芯片,对最新型号的芯片往往支持不了。但商品编程器一般工作稳定可靠,如果编程器能够支持你学习所选择的单片机型号,买一个还是不错的选择,学完了可以再转手出售,一般损失不了多少价值,入门低档型号尤其如此。购买二手编程器首先要注意的是所支持的芯片型号,其次要注意编程器与电脑通讯的端口在你电脑上是否具备(新笔记本很多没有并口或串口,这会带来些麻烦,用其他方式如USB来转会增加成本以及出问题的机率),最后注意编程器的软件你的电脑是否可以安装(有的老编程器软件是DOS的,新电脑未必能够正常运行)。买前还要询问附件是否齐全,尤其注意电缆和电源,很多编程器电缆可能是专用的,如果自制会遇到意想不到的困难,电源如果实在没有一定要确认相关参数以便购买配备。还要注意有的编程器就是写普通的DIP芯片也需要适配器,比如有的编程器的ZIF座是32脚的,如果要写普通的89C51(40脚)就需要适配器,买前一定要问清楚。另外市面上还有一些型号的编程器是针对手机维修的,这类编程器主要面向存储芯片的编程,对单片机支持不好,如非万不得已尽量不要选择这种编程器。业余DIY编程器现在在网上很多,也有些非专业的公司亦批量制作销售,这类编程器一般都是新的,多数没外壳,有时也销售套件或空PCB。这种类型的编程器对器件的支持比较少,制作工艺参差不齐,稳定性也差异比较大,有的根本就是ISP下载线(区别编程器和下载线就看是否能够编程不支持ISP的芯片如AT89C51,或是否能够实现下载线所不能支持的功能如解锁了下载功能的AVR芯片)。购买这种产品一定要多看多查,购买方案比较成熟久经考验的,多注意网友的评价。另外购买时注意要连接的端口,一般需要串行口或USB口,如果是串行口多问一下是否一定要标准串行口(就是PC上本身带的那种),使用USB转出来的串行口是否能正常工作。还有就是这种编程器的供电方式五花八门,很多直接就用USB口供电,如果需要自备一定要问清楚电源参数。ISP下载线网上卖的也很多,很多以编程器的名义销售,空PCB也有卖的,多是一些通行的方案。下载线因为不同厂商的下载方式不同所以一般只适合指定的芯片,购买前一定要问清楚。一种型号的下载线经常可以在很多种下载软件上使用,购前问清楚在下载软件里如何选择具体的下载线型号。买时挑口碑好工艺好的,价格倒是其次,有时运费倒比价格更需要操心。

如果不想买也可以自制(DIY)。不建议初学者上手就作并行编程器,难度高且出了问题不易排除。我们是要学单片机,而不是学作编程器,尽量不要把时间花在这个上面。如果有了一定的经验且有特别的需要(如解锁了ISP的芯片,如AVR),可以尝试制作,但一定是在有了一定的单片机基础和经验以后再干,因为这类东西往往内部就需要一片写好了程序的单片机。ISP下载线可以尝试一下,但如果不是特别必要考拉也建议购买,理由同前。而且自己一开始就制作这类器材往往会陷入一个困境,就是如果出了问题会搞不清楚是自己制作的下载线出了问题,还是程序或是电路的毛病。更不说有些下载线(如USB-ASP)本身就需要一片写好了程序的单片机,这更成为一个先有鸡还是先有蛋的问题。所以强烈建议初学者购买成品编程器/下载线

如果有一定基础了想要制作,网上能找到很多相关资料。S51和AVR可以用同样的下载线,STC/NXP(飞利浦)的51下载线就是一个232-TTL电平转换器,PIC到网上搜索JDM(空一格加上PIC作关健词),你可以找到数不清的资料。选择时首先考虑你电脑具备的端口,然后挑方案比较完善的,切记不要挑过于简单的,那些方案有时隔离不好容易带来问题(比如并口直接或串电阻连S51的方案),烧个把单片机事小,把你电脑的端口烧了就不划算了。考拉以前也作过S51/AVR的下载线,现在用的就是自己作的,前一段聊第一篇时有些朋友就着急想要方案,就转贴上来了,链接:

http://web.crystalradio.cn/bbs/thread-154852-1-1.html

今天就先说到这里了,下次聊聊单片机内部的大致结构,了解了这个就可以开始准备写程序了,且听下回分解。

https://www.yleee.com.cn/viewthread.php?tid=5325
 楼主| 发表于 2010-12-19 00:10 | 显示全部楼层
本帖最后由 cosine 于 2010-12-19 10:14 编辑

占一层楼预留。
回复

使用道具 举报

发表于 2010-12-19 02:35 | 显示全部楼层
谢楼主啊,很适合我这种初学者的。
回复

使用道具 举报

发表于 2010-12-19 15:34 | 显示全部楼层
已经到地板了......
一次买了50片拆机AT89S52,怎么着也够用了~~~
回复

使用道具 举报

 楼主| 发表于 2010-12-19 15:40 | 显示全部楼层
已经到地板了......
一次买了50片拆机AT89S52,怎么着也够用了~~~
199003326 发表于 2010-12-19 15:34 https://www.yleee.com.cn/images/common/back.gif



    你牛,多少银子买的?便宜的话这次发货匀俺俩片,俺就测试用,测试好了还是上89C51,哈哈.{:3_466:}
回复

使用道具 举报

发表于 2010-12-19 16:28 | 显示全部楼层
好用的编程器给推荐一下,初学者是否有必要买个好的开发版还是叫仿真版的玩意
回复

使用道具 举报

 楼主| 发表于 2010-12-19 16:56 | 显示全部楼层
好用的编程器给推荐一下,初学者是否有必要买个好的开发版还是叫仿真版的玩意
wp0527 发表于 2010-12-19 16:28 https://www.yleee.com.cn/images/common/back.gif



    俺一直用的二手商品编程器,还真没买过开发板,仿真器也是二手的,都没买过新的,呵呵.
回复

使用道具 举报

发表于 2010-12-19 17:47 | 显示全部楼层
你有搞二手东西的优势,我们不行牙,我的意思是在你的圈子呢,帮偶们咨询看看
回复

使用道具 举报

 楼主| 发表于 2010-12-19 17:52 | 显示全部楼层
你有搞二手东西的优势,我们不行牙,我的意思是在你的圈子呢,帮偶们咨询看看
wp0527 发表于 2010-12-19 17:47 https://www.yleee.com.cn/images/common/back.gif



    俺确实没买过这类东西的说,无法提供相关信息.记得快活丞好象作过这类板,你可以联系他看看.
回复

使用道具 举报

发表于 2010-12-19 17:57 | 显示全部楼层
前排就坐
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-11-4 15:22 , Processed in 0.037072 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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