amobbs.com 阿莫电子技术论坛
标题:
关于开发产品的一些个人看法,我现在使用51和AVR单片机
[打印本页]
作者:
JAMESKING
时间:
2005-10-28 21:15
标题:
关于开发产品的一些个人看法,我现在使用51和AVR单片机
本人原来使用过的芯片有:AT89C51、2051、PIC16C711、16F84、LPC76X、ADuC812/834
但是看到AVR以后觉得AVR有不少优点:
1.带10位A/D,一般满足工业控制的基本要求;
2.带FLASH和EEPROM,特别是EEPROM,可以放逻辑炸_弹,防止某些人用上了不付钱;
3.引脚少,没有外扩总线,抗干扰性能还可以;
4.开发容易,开发硬件成本低(我现在采用的是汇编语言,我不用C语言,C语言对于高速实时控制太慢了),采用汇编语言来说,写一个比较复杂的控制程序(比如大功率焊接设备SCR调压器控制器),连键显、PID、触发和保护一起,4K*16位足够了,就算开发很复杂的工控系统,16K*8位的ATmega16都绰绰有余,关键在于你的编程水平够不够;
5.加密性能比较好;
6.价格便宜,对于大功率工业控制的设备而言(至少1万元以上的),那点成本根本不算什么;
7.原来想采用uPD7810或者68HC11A8,开发系统的价格实在太高了,受不了,而且没有几天工夫你根本不可能使用它的。
所以,现在我还在用51,主要是软件仿真和专用仿真器一起上,AVR我用软件仿真,因为JTAG口实在太占用资源,而且修改程序不如ISP来得快捷方便。
AVR就是我现在想要的片子,基本功能全都有了,没有外部总线,被别人破解的可能性也远远比51小,PIC我实在看不惯它的分页,实在太讨厌了,AVR的工作温度范围也能很好满足我的工业控制要求,所以,现在在继续搞51的同时,学习AVR。
DSP对于真正的工业控制来说,除了空间矢量变换和复杂的信号解算,其余根本就是无用的东西,还浪费钱钱和国家资源:)而且加工不容易,量不大根本划不来,所以我不用320LF3407/2812、ARM等等。
看一种芯片是否有用,我认为主要看以下几点:
1.能不能满足市场对你的产品的要求;
2.成本比较低;
3.开发费用低;包括硬件成本和软件成本;
4.印刷板设计容易;
5.加密性能优良;
6.有一定的升级余地;
7.可以放逻辑炸_弹(没办法,适合中国这种“欠钱的是老子,讨债的是孙子”国情);
8.引脚驱动能力大,可以尽量少的外扩器件;
9.开发语言可以很容易加入软件抗干扰,而且占用的代码资源少;
10.工作温度范围宽,电源适应能力强。
我不是开发火星车或者“神舟”号宇宙飞船,我最多只接触到军用电子设备中的一些简单的设备(可不是相控阵雷达火控系统或者声纳处理设备),所以根本用不着VXworks或者uC-OSII什么“花里胡哨”的东西,程序的移植其实对于一个好的汇编语言系统而言,只要你把程序模块化,仔细分配资源,并不难实现,但是,我现在倒还没看到哪位大虾能把C51直接移植到AVR上的,移植很多时候的意思是指对本系列芯片的兼容性而言,可不是对于不同MCU而言的,可能以后会统一,但是现在至少还没统一,所以忍忍吧,呵呵。而且对于一个自己的公司来说,比如说你原来是做手机的充电器,而现在突然要你去做250KW的大功率焊接设备,好像没有3年5载的你是根本入不了门的,更别说赚钱了,开公司的或者给公司打工的,如果什么都做,那肯定什么都不能做到最好,就像中国的海尔电器。
所以,我现在依然使用汇编语言,依然不用C语言,依然搞大功率电子设备控制,虽然开发速度慢一些(比C语言),但是至少不会让用户把我发的货退掉了,这就是市场生存法则,不是学术骗子们的生存法则。
作者:
benladn911
时间:
2005-10-28 21:27
好!!!!!!!!透彻,支持先!!!!!!
看来都好好努力才行,要定个方向!!!
作者:
jackiezeng
时间:
2005-10-28 22:13
哦, 各有不同 ,各有所长 , 各有千秋 ,各有利弊 ,各有特色, 各有所爱 ~~~~~!
作者:
iccavr
时间:
2005-10-28 22:16
好文
作者:
onorg
时间:
2005-10-29 00:00
可以放逻辑炸_弹(没办法,适合中国这种“欠钱的是老子,讨债的是孙子”国情);
这个我可是第一次听说,我从没做过财权保护什么的,写程序连加密都没用过,哈哈
请大虾明示。。。。。。。学习一下,顶一个。。。。。。。。。
作者:
JAMESKING
时间:
2005-10-29 00:10
楼上的,放逻辑炸_弹也是实在没办法的事情,原来做项目时,个别人总是用了我的设备,用好了,质量保证金10%就不付给我了,催了好几年,实在没办法了,给了一点,后来痛下决心,内部没有EEPROM的MCU一概不用,编一个定时程序放在EEPROM里面,用实时时钟控制,到了时间还不付钱钱,对不起,程序锁死,不能使用,变成一堆废铁,款子打到我的帐上了,电话通知密码,一切OK。
作者:
JAMESKING
时间:
2005-10-29 00:24
onorg 自由之神
你也是湖南湘潭的????
作者:
szthf
时间:
2005-10-29 06:48
放逻辑炸_弹,好象法律上不允许,有过这样的案例。
作者:
baplmqj
时间:
2005-10-29 08:36
工控产品,放逻辑炸_弹。是很正常的东东。大家心知肝明,给别开发产品,就是没有放也说放了!
没有放的人,。。。。。。????
作者:
chenbin0011
时间:
2005-10-29 11:11
我还没做过商品性的项目,这招很。不过始作俑者是中国人(老美的对他国的手段呀),我有些不忍对中国人这样。
作者:
IFine
时间:
2005-10-29 12:13
JAMESKING:能否发个逻辑炸_弹程序参考以下?
email:IFine123@126.com
作者:
JAMESKING
时间:
2005-10-29 12:33
逻辑炸_弹其实道理和软件的试用版与正式版一样,比如PROTEUS和ICCAVR,这段时间功能很正常,但是过了一段时间以后,通过程序修改EEPROM中的关键几个字节,使其整个应用程序锁死,并不是所谓的“格式化”,这种方法,并不涉及法律上的任何问题,否则PROTEUS或者ICCAVR根本就无法在市场上立足,这有点像序列号,付的钱不够,只能使用LITE版本或者DEMO版,付够了钱钱,才可以使用完全版。任何国家的法律好像都不反对这一点的。
另外,由于涉及到本人产品和公司的一些机密问题,无法给出逻辑炸_弹具体的程序,希望楼上的和跟贴的同志们谅解,另外,请不要在本网站留什么邮件来索取资料,本人一概不回信,因为OURAVR论坛是大家学习的自由论坛,不是你自己家里的网站,所以有什么问题在论坛上交流比较好,不要私下里交流,我认为人多才好办事情。
谢谢!!
作者:
jack
时间:
2005-10-29 16:05
用这款时,市面的有这方面的资料吗
ADuC834
作者:
JAMESKING
时间:
2005-10-29 18:58
ADuC834我直接参考的是ADI的DATASHEET和APPNOTE,也可以看看北航出版的和西电出版的ADuC812的书。
作者:
zhanying
时间:
2005-10-29 21:45
这个不能算逻辑炸_弹,只能算是有限授权而已,这是很多软件商保护自己产权的一种基本方式。
比如很多证券商使用的钱龙软件,每年都要支付一笔可观的“使用费”然后才能得到下一年度的升级软件,如果不交钱,到日子软件就不能运行。
根据双方的合同,软件使用到一定期限后应当支付剩余款项,如不支付等于是违约,软件的著作权所有者收回使用权是合法行为,这里的前提是不破坏用户已经付款的硬件设备。
作者:
szthf
时间:
2005-10-30 07:56
14楼的说法是对的。
作者:
myhk007
时间:
2005-10-30 20:01
要简单的也有,我就放过,其实就是在初始化的时候网EPROM里面读个数据,再加1或者减什么的(具体情况看你了),然后与某个常量比较,比如50次什么的,如果一样的话,嘿嘿。。。
作者:
AVR-MEGA128
时间:
2005-10-30 20:52
支持 楼主
作者:
ilikemcu
时间:
2005-10-31 19:35
关于这种逻辑炸_弹的做法,可是要小心应用哦!
我单位曾经有一个开发工程师,因为老板单方面违反了双方的口头协定,一气之下,在开发的产品中加入了楼主所说的逻辑炸_弹,其实就是个计数器,待累计到一定数值时,停止工作。结果被老板告上法庭,被以妨碍生产的罪名,蹲了大概2年大狱!
所以,这种方法可以用,但是一定要注意火候和地方,不可滥用,否则,最后倒霉的还是自己哦:)不过那位工程师,后来因祸得福,出来后反而名声大噪,现在自己开了公司,生意非常不错。
作者:
AA55
时间:
2005-10-31 21:41
那工程师的作有些欠妥。
如果是自己的老板违反了协定,你可以搜集的证据去告他。如果当初就没有有意识从证据角度保护自己,那只能说这是交学费了;
如果是自己的用户违反了协定,你按照在签订合同时候约定责任去追究它(包括我下面说到的措施)。如果简单采用逻辑炸_弹就是违法的。即使采用逻辑炸_弹,也不能损害老板的合法权利和第三方的合法权利。
所以,正确的做法是:在合同或者用户手册上写明:试用版仅用于测试,到期后将自毁或者转入功能限制模式,然后实施您的逻辑炸_弹。有了免责条款,在法律上就主动了。
我们做工程师的比较沉溺于技术,往往忽略了技术之外的知识。结果采取的防范技术措施往往是违法的。
作者:
JAMESKING
时间:
2005-10-31 21:54
呵呵我在军工产品中倒是没有放过什么逻辑炸_弹,但是工业品中间就放过,你需要在说明书中详细介绍软件附带的使用条件以及可能造成的后果就可以了,在法律上免责就行,具体可以参考那些软件开发商的做法。
再说了,放逻辑炸_弹也要保证使用者的安全和设备安全,不要使设备或者人身出现事故,比如锁死输出,使机器处于原始安全状态就可以了,反正机器不动作,是绝对不会出什么事情的,但是一定要确保机器根本不动作才行,否则容易导致危险。
这种方法,不适合于医疗设备和关键的通讯设备,也不适合于矿井中辅井(提人的)提升机和电梯中,有关人身安全和必须连续操作的设备上都不适合,自己看着办哈。
作者:
fish_avr
时间:
2005-11-1 08:36
楼主说逻辑炸_弹的程序放在内部EEPROM中,
请问:比如AVR单片机,程序放在flash中的,你怎么把部分程序(炸_弹程序)放在EEPROM中啊?
作者:
JAMESKING
时间:
2005-11-2 00:51
读关键字,判断即可。
作者:
ccdzdpj
时间:
2005-11-2 08:55
呵呵,请问JAMESKING:是判EEPROM中的数据然后调用相应程序?
作者:
onorg
时间:
2005-11-2 16:50
回【6楼】 JAMESKING
我是的
作者:
JAMESKING
时间:
2005-11-2 16:58
回onorg:
我也是。现在在成都。
回23楼:
正确!!
作者:
gbmate
时间:
2005-11-2 17:01
EEPROM方法有以下几种:
1。累计数(增加或减少)
2、时间到
3。出现预设异常……
4。配以密码
……
作者:
wqhe
时间:
2005-11-3 21:41
当数累计数方法较多,看具体应用环境和使用方法.
作者:
contactor
时间:
2005-11-4 09:54
我顶^^
作者:
langke2891
时间:
2005-11-21 20:45
放逻辑炸_弹最好先自己找个单片机实际做一下最好,不会的想放的慢慢来。一次不行,多做几次就好了。等技术成熟了再运用在自己开发的产品中。
至于密码就要个人自己想办法了。我提醒大家一句,要防止别人用逐个对照的方法解密。具体的方法我就不说了,不要发短信问我怎么设置密码,我一律不回。
作者:
xafyf
时间:
2005-12-7 14:10
我也是习惯用汇编,比较直观
作者:
yongjun
时间:
2005-12-11 17:37
说得非常好。我也是在C与汇编的过渡徘徊。作为单片机,汇编足够了。
作者:
JAMESKING
时间:
2005-12-13 14:17
其实,如果高级语言能够输出很清晰的结构化汇编语言,那么当然在慢速控制(〉10uS)可以使用高级语言啦,但是现在的高级语言中,只有FASTAVR(basic语言编译器,想不到吧?)才能真正很好的做到结构化、清晰化的ASM输出,所以查错非常方便,而且可以很清楚的知道到底高级语言调用了哪些指令和资源,心里就有底了,用混合编译也不会造成资源冲突,现在我正在检测FASTAVR可不可以用于快速控制和高速计数,如果可以,当然高级语言还是比较方便的,但是,高级语言也有个毛病,就是抗干扰指令不容易加入,需要技巧。
从各种语言的角度来看,应该这么说,汇编语言的灵活性最大,其次算C语言,然后再算basic语言,但是有个问题就是,灵活性大了,对于高手来说很好,但是对于只要简单应用的人来说,会变得无所适从,更加没有头绪,在此,我比较赞成马潮老师的观点,就是:对于GPS控制、温度控制与显示、逻辑(类似于PLC)、不是很复杂的算法(比如插值法、递推、PID等)可以用BASIC或者C语言,如果要求快速控制,比如说激光测距机、TCP/IP、LAN等要求数据量传输很大或者要求处理速度非常快(《1uS)的场合,需要采用C语言甚至ASM来实现,目标不同,所用的语言应该也有所不同,这样可以达到多快好省的目的。
但是,作为查错的基本功,汇编语言必须要掌握,在程序出错的的时候就比较容易发现到底是编译器的BUG还是资源冲突的问题,这是个最后的最有效的手段。
作者:
avrboy
时间:
2005-12-13 21:40
楼上的,放逻辑炸_弹也是实在没办法的事情,原来做项目时,个别人总是用了我的设备,用好了,质量保证金10%就不付给我了,催了好几年,实在没办法了,给了一点,后来痛下决心,内部没有EEPROM的MCU一概不用,编一个定时程序放在EEPROM里面,用实时时钟控制,到了时间还不付钱钱,对不起,程序锁死,不能使用,变成一堆废铁,款子打到我的帐上了,电话通知密码,一切OK。
******************************************
算你狠!!!
作者:
zwcwy
时间:
2005-12-14 15:48
没有付款时产权没有转移,仍归生产厂家所有,所以加逻辑炸_弹没什么问题,如果客户已经付清了款项仍有逻辑炸_弹就有法律问题了。如果是延期付款或分期付款,在合同中注明一下产权的转移事项就更好了。
作者:
whoami
时间:
2006-1-6 18:12
怎么那么多湖南湘潭的啊
俺也是的哦
在上学哈哈
作者:
DIYer
时间:
2006-1-6 18:30
看了诸位大侠的讨论真是长见识
作者:
eagle_soar
时间:
2006-1-9 11:59
湘潭哪个学校啊?我也湘潭的
作者:
zy99
时间:
2006-1-9 17:19
yue 过~、
eeprom就是好阿
作者:
changeyh
时间:
2006-1-9 20:47
楼主是个工夫很深的人,无论软硬件。向他表示敬意!
关于AVR与其它MCU的关系、汇编与C的关系,楼主的观点我基本上都赞同。
但能用C的情况下尽量用C,能用OS的尽量用OS。
如果接触的项目各种各样,或者项目太大需要分工合作的,更能体现C与OS的价值。
作者:
JAMESKING
时间:
2006-1-9 21:48
呵呵其实搞单片机开发,很多时候不是协作完成,而是一个人软件硬件合同售后都要全部揽下来(工业控制),这个情况跟PC机或者上位工控机开发有很大区别,PC机等等是软件一帮人、硬件一帮人,售后是另一帮人,当然家电控制中,售后和软件硬件开发是分开的。
单片机中放一个OS,我不赞同,失去了单片机真正的优势,还不如ARM或者DSP,况且放一个操作系统还要N多外设才能支撑。
单片机的项目一般不是很大,特别是编写程序的量不是很大,如果到了32K了,就很大很大了,或者说编译效率很低了。单片机项目要么量很大,要么工况控制很难缠,否则不会赚钱的,就像打铃器。
硬件是基本,看到很多项目就是由于硬件不过关完蛋的,这种情况下软件怎么编写都是浪费表情。
用户只关心结果,不关心过程,你用微电脑电饭煲绝对不会关心它是采用C语言还是汇编语言还是basic语言编写的吧?你只关心它能不能煮熟你的午餐,这就是这个道理。满足用户要求,才是单片机学习和应用的王者之道。
-----
此内容被JAMESKING于2006-01-09,21:53:49编辑过
作者:
baplmqj
时间:
2006-1-10 09:14
看了JAMESKING 的发言。
有一种知已的感觉。共同点太多了,大脑里一直有看到你(我的第六感很强),带微笑的面容。
真的想和你见上一面,聊聊天,吹吹牛,吃顿饭。
如果没猜错的话:JAMESKING 的情商很高。至少大于自己的智商!
情商高,智商好的人可以做老板,有一个自己的团队。
老板三大要素:演讲,团结,用人。
这是我第一个老板给我上的课(想培养我),现在人家是上亿家产。
智商高,情商一般的人,只能在一个专业技术领域,有作为。
作者:
HJJourAVR
时间:
2006-1-10 09:17
这句话,我赞成.
[用户只关心结果,不关心过程,你用微电脑电饭煲绝对不会关心它是采用C语言还是汇编语言还是basic语言编写的吧?你只关心它能不能煮熟你的午餐,这就是这个道理。
满足用户要求,才是单片机学习和应用的王者之道。 ]
作者:
989898
时间:
2006-1-10 10:20
单片机项目要么量很大,要么工况控制很难缠
这个不错,搞单片机主要在控制方面的问题~
作者:
JAMESKING
时间:
2006-1-10 13:36
呵呵菜菜抬举我了,我的情商不高,智商也很一般,你看看我的帖子就知道了。有上述这个感触是因为被别人_大脚踢多了,踢出来的想法。开公司的时候首先面临生存问题,市场的规则很残酷也很有意思,如果只有小小资本或者白手起家,最好别做通用产品,如果做了,肯定被大鱼吃掉,应该做比较特殊的难整的玩意才好一点,呵呵这叫做有特色;如果资金多了,就要整通用的产品,那样你的地位就稳固了,一般小个子是扳不倒你的,呵呵呵这就叫做资本优势。
-----
此内容被JAMESKING于2006-01-10,13:45:08编辑过
作者:
biaozhi007
时间:
2006-1-15 20:42
我本来是搞51的,也只会汇编,不过51的抗干扰能力和内部资源都太不行了,所以我看上了AVR!至于C和汇编,我的看法是可以用C的话应尽量用C,毕竟项目的时间是有限的,用汇编可能初次开发时时间不会很长,不过要有大的改动或者维护优化时就有可能浪费不止一倍的时间了!效率和速度是不能忽视的,要知道时间就是金钱啊!所以我现在正努力学C语言.
作者:
mr.luo
时间:
2006-1-16 19:55
欠款不还个人认为全世界里中国最严重,国内东北、西北最严重,十几年来我的产品不是被仿造,就是欠款,多亏心脏尚可,否则早就给气死了。现在手机欠款停机国人都习惯了,所以搞个欠款停用因该合乎情理。设限容易,如何让用户解限还没有好方案,不知能否指点一二?
作者:
lan_guo
时间:
2006-2-15 20:28
大力支持此类总结性文贴。
大家在“仁者见仁,智者见智”中能学到更多的东西
作者:
kaiwenavr
时间:
2006-2-27 15:48
我算是新手的新手
看完各个高手的讨论,心里只有两个字“佩服”
现在我还没有在技术上发表什么评论的资格
不过,我会努力的学习
将上下而求索!!1
作者:
zhuolongzl
时间:
2006-2-27 16:49
不错,学到了好多东西!
作者:
myjnj
时间:
2006-2-27 19:20
有同感,正在改用汇编
作者:
zhangfly
时间:
2006-3-2 17:22
楼主是成焊所的吗?我也用AVR做焊接电源,有机会交流一下zhangfly@163.com
作者:
JAMESKING
时间:
2006-3-2 21:16
我不是成焊所的,我是交大的,只不过成焊所同我们有点联系。
作者:
alisha
时间:
2006-3-3 11:41
佩服楼主,请问你的实时时钟怎么做的啊?
作者:
JAMESKING
时间:
2006-3-3 12:22
不一定要用实时时钟,可以计数、计次数与实时时钟相结合。具体自己把握。
作者:
alisha
时间:
2006-3-6 11:29
计数不好把握,我以前用的是上电加一。结果不理想。
举个例子,我牵的合同是2个月款清,头15天90PERCENT,我怎么准确控制2各月呢?
菜鸟被定时器搞的晕乎乎的,一直都没搞清楚,做设计的时候能绕过就绕过去,自己鄙视自己啊。基础没打好,老天还安排我做这行,虽然我很喜欢,可年龄大了,脑子不好使啊。
作者:
zy99
时间:
2006-3-6 14:50
可年龄大了,脑子不好使啊。 --脑子不好使,多喝脑白金啊~!哈哈。
作者:
fzying_528
时间:
2006-3-8 10:15
楼主真是聪明,好佩服哦
作者:
cjqrui
时间:
2006-4-4 11:31
大家说华帮的78系列芯片与AVR哪个更好,用在工控领域?
作者:
wattslee
时间:
2006-4-11 11:12
我湘潭江麓上过班,现在在深圳
作者:
JAMESKING
时间:
2006-4-11 11:25
呵呵呵江麓厂。。。。。
作者:
jamlee
时间:
2006-4-17 16:46
计时器可以作为简单的“逻辑炸_弹”。把软计时器放在循环体最前面,没有超时,程序继续运行,超时就“STOP”,程序停止。由于是软计时,时间可以任意长短。计数值不存EEPROM,仅限制不断电工作时间,断电后重新计时。若计数值存EEPROM则可以控制总的使用时间。加入密码控制可以使计数器失效。
偶曾经也做过一次:与一个公司签约做一个小程序,提供一定数量的写好程序的芯片。待我按合同经过测试,按时按量交货后,他不付尾款了,要我额外再给他们烧同样数量的芯片才付款。没办法,我只好在程序中加了计时器,让它只能运行1小时,缴芯片收钱。后来他们知道上当也没再来找我,因为我并没有违约。
作者:
jamlee
时间:
2006-4-17 16:47
计时器可以作为简单的“逻辑炸_弹”。把软计时器放在循环体最前面,没有超时,程序继续运行,超时就“STOP”,程序停止。由于是软计时,时间可以任意长短。计数值不存EEPROM,仅限制不断电工作时间,断电后重新计时。若计数值存EEPROM则可以控制总的使用时间。加入密码控制可以使计数器失效。
偶曾经也做过一次:与一个公司签约做一个小程序,提供一定数量的写好程序的芯片。待我按合同经过测试,按时按量交货后,他不付尾款了,要我额外再给他们烧同样数量的芯片才付款。没办法,我只好在程序中加了计时器,让它只能运行1小时,缴芯片收钱。后来他们知道上当也没再来找我,因为我并没有违约。
作者:
yongjun
时间:
2006-4-17 18:28
我现在用ICC来做项目了,汇编ASM用了20年。得改了!硬件有了,软件也可以了。主要是价格可以了。
作者:
liqu
时间:
2006-4-18 07:56
"汇编ASM用了20年",yongjun网友,86年开始作单片机,你太厉害了。
作者:
minshg
时间:
2006-4-18 09:19
这个更绝:
原来在GZ一个IC卡公司上班,老板和老板娘对员工........所以一个老兄离职前做
了这么一件事:给GZ某高校的售饭机修改了点东西,新卡第一次刷卡消费,均有加100元的“优惠”。这么一折腾,该校当天的亏损多达十几万。
作者:
CODIER
时间:
2006-4-18 14:38
感谢楼主好文
作者:
yanfeng106
时间:
2006-4-18 23:00
原来在GZ一个IC卡公司上班,老板和老板娘对员工........所以一个老兄离职前做
了这么一件事:给GZ某高校的售饭机修改了点东西,新卡第一次刷卡消费,均有加100元的“优惠”。这么一折腾,该校当天的亏损多达十几万。
×××××××××××××××××××××××××××××××××
这样也行,够狠
作者:
JAMESKING
时间:
2006-4-19 02:24
60楼的,华邦78E58我用过,还算可以,AVR我用basic的了,通过电磁兼容了,其实用什么芯片和语言真的不是很重要,主要是外围硬件设计的问题,当然,我见过FPGA由于脚距太小,造成相邻连接引脚干扰的现象,所以一般脚距我选比较大的,这样同时加工性比较好。
67楼的说法可能会涉及到一些法律上的麻烦,因为直接造成经济损失了,而且那样严重违法了,不算是个好方法。
现在基本上我以asm为辅,basic为主,对我从事的行业来说够用了,本身basic可以到uS级别,虽然有些限制,但是可以避免这些限制。但是,个人认为,没有asm和软件抗干扰的基础概念,无论用什么语言、怎样编写程序,都不会是“久经考验”的好程序。
软件抗干扰,推荐周航慈先生的四本51-asm语言大作:
1。《单片机程序设计基础(修订版)》
2。《单片机引用程序设计技术(修订版)》
3。《单片机程序应用设计技术》第一版,7.25元
4。《PHILIPS51LPC系列单片机原理及应用设计》
与AVR编程以及其他MCU编程原理相通。
作者:
atommann
时间:
2006-4-19 13:59
JAMESKING
不知现在能不能买到你所推荐的4本书?很想读读。
作者:
JAMESKING
时间:
2006-4-19 15:41
1、2、4书店有售,第三本需要邮购。
-----
此内容被JAMESKING于2006-04-19,16:10:42编辑过
作者:
walen
时间:
2006-4-19 21:01
回楼主
我也是成都的,现在大四,刚接触AVR单片机,毕设做了一个项目开发,也算是入门了,不过要想提高还得向你们请教!以后我会常来论坛里交流的,咱们就算是认识了,^_^!
作者:
alisha
时间:
2006-5-19 15:22
没有asm和软件抗干扰的基础概念,无论用什么语言、怎样编写程序,都不会是“久经考验”的好程序。
------------------------------------
楼主请指点下软件抗干扰的概念吧,推荐本书也可以,我ASM看了就头大,只能忽悠C,麻烦您了!
作者:
JAMESKING
时间:
2006-5-19 15:25
用的书上面说了呀!!
贴出来占篇幅,方法很多。
作者:
xwyjianghu
时间:
2006-6-23 13:24
顶一下
作者:
xidongs
时间:
2006-6-27 08:48
很不错!
作者:
killerls
时间:
2006-6-28 14:44
avr新手,支持一下
作者:
redfoxen
时间:
2006-7-1 10:44
软件滤波和抗干扰毕竟会占用很多资源,最好还是在外围电路上多打主意;俺拆过几个板子,软件原理很简单,使用在现场电机控制上的,就用了个2313,可外围的元件多了,凡输出端都用了光耦,5v的电源端愣是用了两级滤波,有两个输入端用的光耦结构挺有意思:红外发射管和接受管间有100毫米长的有机玻璃棒外面镀铝膜,呵呵,超级diy光耦!
整个电路板有两层屏蔽网,外面还有个铸铝外壳,还配有内外压力平衡膜盒!这一套东西也该卖得贵!1万七千五!号称防水防震防腐蚀防爆!标准四防!
至于盗版!俺也遇到过,做好样品送过去就没有下文而市场不久就有了同样的产品!这家小公司的老板还敢再来找!俺们鬼火,鉴于关系问题也没办法,只好在测试样板板子上用了极易氧化的东西,拆开样品固封外壳就直接对重要ic电源反向通24v电!付玩全款才给正式样品和软件!。。。。
作者:
JAMESKING
时间:
2006-7-1 11:15
呵呵呵狐狸也是成都的?西南石油局还是其它地方的?
100mm有机玻璃棒你用于高压隔离???
呵呵石油行业确实需要IP65哈。
作者:
maxking
时间:
2006-7-3 15:22
呵呵,看来湖南湘潭出来很多高手啊。那里是不是有学单片机的传统的?
作者:
linjpxt
时间:
2006-7-3 16:31
這里誰是 湖南湘潭 來的啊?有沒有 湖南科大 來的?
作者:
feixuesky226
时间:
2006-8-23 17:26
看完楼上的讨论,真的是受益匪浅啊,在这方面我还是个新手,所以只能顶一下...
作者:
zhaoxiongxiang
时间:
2006-10-8 11:37
看完真的是感慨万千啊。
以后一定要好好学习。
作者:
donkey
时间:
2006-10-8 17:01
>>>>>在测试样板板子上用了极易氧化的东西,拆开样品固封外壳就直接对重要ic电源反向通24v电
____________________
这个最NB,是我见过最NB的,我只搞过整体固化,他撬开了,我也没办法,你这个怎么搞的?
作者:
gushifu
时间:
2006-10-18 15:55
好 举双手赞成哈
其实在做单片机开发的过程中 的确会遇到很多很多的问题 不过我们得去好好的克服
就想我前段时间里 一直没有找到自己的感觉 在发展的过程中 感到了茫然 不过看了前面几个好心人的提醒 我现在打算钻进AVR当中去 以前经常用到的是51单片机,其实也瞒不错的哟
作者:
AD827AQ
时间:
2006-10-18 18:25
现在的51,性能不比AVR弱的大把的有。
做产品还得看维护。以前的老产品要升级,用的是51,难道你只因为看不起51而从新写一边程序?
作者:
xyy1xyy
时间:
2006-10-23 13:03
学到了很多啊,呵呵.了解了很多新的概念.在学校里学不到的.
作者:
focus1128
时间:
2006-12-15 05:03
搂主真是高手,佩服啊
我有个项目不知楼主有没有兴趣,和你目前的项目也是比较接近的,准备外发。
可以的话可以和我联系,我的QQ号3231214 MSN:focus1128@hotmail.com
作者:
luoyiming1984
时间:
2006-12-15 12:33
原来在GZ一个IC卡公司上班,老板和老板娘对员工........所以一个老兄离职前做
了这么一件事:给GZ某高校的售饭机修改了点东西,新卡第一次刷卡消费,均有加100元的“优惠”。这么一折腾,该校当天的亏损多达十几万。
————————————————————————————————————
我怎么没有碰上这样的好事?
作者:
shgdd520com
时间:
2006-12-31 09:47
hehe,咱湖南原来有这么多的MCU高手啊?近来这里看了才知道.以后一定常来这里看看,向高手们请教.我也是湖南常德的.
作者:
siway2006
时间:
2007-1-20 17:50
放逻辑炸_弹
唉,我们工程师都是太善良啦,早些时间给一个客户开发了套步进电机的控制系统,刚开始就收了500块的材料费,刚刚够,就给他开发了,花了20天时间才弄好(因为是业余的,所以时间有点长),给他交了3套板,结果到现在开发费都收不回来,一直打电话都不接听。真是没良心的鬼东西,还枉了我给他费了这么大的心血。早知道这样就给他来个放逻辑炸_弹就好啦,现在好后悔呀,为了大家不再上当受骗,我把这奸商供诸于世,就是:广州市芳村鹤蕫大桥附近的‘欧阳印机’厂,兄弟们,那真的是骗子厂商,小心小心,唉.........我的开发费呀...................哇.........................
作者:
char
时间:
2007-1-20 22:29
"程序的移植其实对于一个好的汇编语言系统而言,只要你把程序模块化,仔细分配资源,并不难实现"
呵呵
作者:
pcs3
时间:
2007-1-21 20:16
shgdd520com你是常德哪儿的?我鼎城区的
作者:
renwoxing
时间:
2007-1-30 20:41
看来以后我也要学一下定时炸_弹,呵呵
作者:
lgl08
时间:
2007-3-13 22:10
还是不要用什么"定时炸_弹"之类的东西.我碰到过二次.
一次是一家公司的副总辞职前在生产的产品(织机控制器)上加了个"计数"控制程序跳转.使产品在出厂后大批量的维修!!(他自己另开了一家公司,生产类同的产品.)
还有一次是在一个用PLC做控制的产品(制砖机)上,我一朋友买来后由于质量问题没付款.三个月后停了.
-----------结果都是没完没了的官司+产品失去信誉.陪钱又丢信誉
还有一点,当你真的用好了OS,你不会再去用汇编写程序!!!当然汇编是基础,用OS也离不开汇编.
作者:
szxw
时间:
2007-3-31 16:52
偶也说几句吧,望指正...
1. 51,抗干扰性太差,基本不用了.不过有时候弄些小东西还是很方便的...
2. Ti的430,好东西啊,16bit的RISC芯片,速度没说的,超低功耗,抗干扰性也好.IAR编译器优化程度很高,非常喜欢.但是接口是3.3V的,与5V器件连接时要费点心思.不过编程仿真都很方便,喜欢这个MCU,呵呵. 最大的缺点是价格太贵了...用不起啊.
3. Nec的78k/os系列,用过uPD78F0078, 类似51内核,8bit的,速度不快,一般吧,比51当然快些. 资源丰富.上面这个芯片是60KB的FLASH ROM,1K SRAM.UART,10bit A/D,三/四线I2S...很齐全了,HK代理报价好像才2个多美金! 抗干扰性好.车载收音&音响上面用得很多. 开发工具不好弄,后来偶根据编程时序用51单片机自行开发了一个编程器,用串口调试编程,哈哈,非常方便.编程器还用于量产. 后来韩国的KRS(软件外协公司)还要了几台去,毕竟编程器太贵太大了. 不过棒子始终想不到用串口调试来编程,每次都是硕大的仿真器,连线数十根.也许是有钱吧,B4~
...扯远了. Nec的C编译器比较RZ,可能是版本较旧的关系~ 不知道IAR的如何.
编程算法很复杂,保密性强.没有什么熔丝保密位的,内部4KB的编程监控程序对编程和校验机制保证了吧~
4.AVR刚刚接触,感觉就是熔丝位配置太繁杂了,远不如430和Nec方便...网络上公开的资料让初哥看得不知所措,譬如我...是并口还是串行下载?还是买网络上销售的编程器? 编译环境用哪个? 55555,太啰嗦!
看中它主要是便宜,功能相对不少...芯片功能和Nec的差不多,不知抗干扰性如何,有待体会... 从以往使用Atmel MCU的体会来看,Atmel的编程算法(时序)似乎有问题,可能是时序太简单了吧,容易造成内部FLASH数据改写,或者芯片报废.当然这有可能是编程器的问题...希望在未来的使用中别给我下马威...
作者:
pcj203
时间:
2007-3-31 21:53
引用楼主的话:我现在倒还没看到哪位大虾能把C51直接移植到AVR上的,
个人认为从C51直接移植到AVR上,是不可能的,,但能做到只要很少的改动就可以移植了,,毕竟硬件不是完全一样,,
比方说 keilc51 的 sbit e=P2^4; e=1; if(e) your code
在 avr中 #defione e B,4 set(e); if(r_bit(e)) your code
这样改动就比较小了,,, 如果你自己写个小编译器,也许可以做到C51直接移植到AVR上
呵呵。。。。。。。。。。。。
作者:
JAMESKING
时间:
2007-4-1 01:02
承蒙朋友们关爱,97、98楼都是高手了,我仅仅是菜鸟一个,当时是菜鸟,现在还是,没任何长进,望朋友们谅解。
51的抗干扰能力个人觉得还可以,除非是8031,只要总线在芯片内部的,抗干扰能力都不会差到姥姥家,当时选择使用AVR主要是为了做到真正的SoC,后来看到AT91ARM7SXXX系列的ARM,也能做到完全真正的SoC,所以有些动心,但对我来说,语言和系统本身有很大程度上限制,所以一直不敢用。本来我也就是搞一点最简单的控制,比如说电机正反转起动停止什么的,比不得诸位那么复杂,所以不好用ARM7,怕被人骂成盗世欺名。
430和MSC1210见过但是没用过,不敢妄下断言,78XX用于变频器似乎比较多,虽然以前用196做过一个不成气候的变频器,但却也没尝试过用7811做。
97楼怕AVR熔丝位繁杂,可以理解,现在全部都改进了,用双龙并口1527,基本上不会有那些麻烦了。
98的高手,能写出c语言,在下佩服(在下不才,只会使用basic和asm)。不过,似乎keil调用51的头文件没有avr那么麻烦,其实cvavr与keil算是最接近的了,当时认识不足,认为高级语言在avr中速度比较慢,承蒙朋友们大力指正,现在终于认识到以前是有些认识问题的,在此给大家赔个不是了。。。。。。。。
用了avr也有点年头了,但到现在为止,还不敢妄言avr能够取代51、pic和其他MCU,只是作为我个人而言(现在搞机械设计),能够很快产生需要的效果,就可以了,我本不是专业编程人士,程序也说不得什么结构化,硬件更加一塌糊涂,一点浅见,让方家见笑了。
作者:
yerdak
时间:
2007-4-1 02:00
热烈祝贺JAMESKING兄的贴子盖到100楼!
占位学习。
作者:
yaxi1984
时间:
2007-4-1 11:46
晕…被楼上的抢了100…
我也来说说我的认识吧:
1. 51, 以前在大学时主要用的就是Atmel的,也玩过高档的51(电子设计大赛上用的就是uPSD32xx的一款,反正功能是很强,flash 256K,云云…不过就是下载程序超级麻烦,而且价格暴贵,所以只在大赛上用过, 毕竟不是自己掏钱买的,呵呵…因为当初本来用AT89S52的,结果程序编译下来12K,空间不够,才改用这款的…结果嘛,呵呵,还行,全国二等,本来可以拿一等的,只是由于某些因素…)
2. ARM,我的毕业设计就是用的这个东东,自己买的开发板,三星的S3C44B0,买了以后自己再在上面扩充(自己买的万用板焊接扩充的),花了1个半月,最后用它做了一个智能温度监视系统,3个CPU协同工作(ARM, 51, AVR), 用串口通讯,通讯协议是自己写的…就是这个东东,让我找到了现在的工作…
3. AVR,自从那个ARM开发板坏了以后,就没啥玩的了(最近正在用skyeye模拟ARM),加上上班了,也没那么多的时间搞自己的东西了,所以AVR只是业余玩玩了,当成第二选项了…用的GCC编译器…
总结:
个人感觉, 对单片机而言, 如果不会汇编,那跟瞎子摸象没啥区别…但是C语言也是必需要掌握的,因为也要考虑到开发效率的问题…所以个人感觉,作为业余玩时,可以用汇编;但是一旦上班以后,最好还是用C语言…关键的是后期维护和移植性,不是像楼上有些人(没有针对的意思哈)所说的51移植到AVR之类的问题…因为公司的东西不是换一个新的单片机就从头重新写新的代码(公司肯定希望能用以前的代码经过简单修改就能使用),而且如果全部都是用汇编写的话, 那一旦当初写这个代码的人一走, 那这个代码岂不是基本没人维护了?加上是汇编的, 可阅读性差,相信没几个人认为看汇编比看C语言好理解吧? 加上现在的C编译器编译出来的汇编已经跟自己写的汇编没多大差距了,所以我建议,能不用汇编的地方就不用汇编,但是需要用到汇编的地方就一定要用汇编,而且你一定要知道某段C代码编译成汇编的大概样子,这样才是达到高效率,高移植性,高维护性的作用…对单片机用不用OS也要看情况,如果功能很简单完全没必要用OS,否则就最好用OS,当然OS也要有所选择(具体选择我就不说了哈)…
对32位CPU而言,如ARM, MIPS, PowerPC等,这种情况下,不用C语言开发的肯定是脑子有问题…当然初始化代码用汇编是少不了的…而且这种情况下,不用OS也是几乎不可能的…
对于楼主所说的软件抗干扰问题,其实有一本书写的非常好(<<单片机系统实用抗干扰技术>>,强烈推荐给各位),不过这方面我也说两点, 对于像51这样的CISC CPU,最好能加软件抗干扰的地方就加软件抗干扰,对于C语言软件抗干扰,周立功写了一本相关的书(书名忘了);对于RISC CPU, 像AVR, 其实除了开启看门狗外,大多数情况下完全没必要软件抗干扰(除非用于环境极其恶劣的情况下),因为都是精简指令集了,基本上不会出现PC乱跳的问题(这点就是RISC出现的最主要的原因之一),即使有乱跳的情况出现(假设哈),看门狗也会捕捉到并重启系统的…
所以综上,可以得出以下几个结论(仅个人观点):
a. 对单片机(指16位以下),汇编是必须要掌握的…
b. C语言也是必须要掌握的,除非你不想到或不会到正规的公司工作…
c. 能用C语言的地方就用C语言,但是要用汇编的地方就一定要用汇编…
d. 对于CISC CPU,最好加上所有的抗干扰方法;对于RISC CPU,多数情况下,只需要开启看门狗就可以了…
欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/)
Powered by Discuz! X3.4