• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

我与单片机-----有大量资料下载,看贴请一定要跟帖,跟帖有奖励的

现在就让我来说说我和单片机的不解之缘吧。。。

我在大学里学的是计算机和微电子专业,主要是计算机的应用和信息管理,编程的部分比较多, 我也很有兴趣。单片机不是必须学的课程,但我还是对显示灯产生了兴趣,那显示灯怎么就亮了呢,原来只要编程就行,我很兴奋的选择了这门选修课。

我学的最好的就是C语言了,能考上全班第一名,发奖学金的时候大家都用羡慕的眼光看着我,那时我别提多高兴了,很多人对于程序的绕来绕去,头都大,而我觉得自己在51编程和C语言编程上面有天分, 那些函数和循环我一目了然十分精通, 有时还能自己编几个小游戏自娱自乐。但是相比之下,我学的最差的就是单片机硬件了,学l了四年连8253,8255原理都不清楚,死记硬背也没办法,同一道考题问了很多人,搞懂了最后还是不懂,两次考试都不及格。对于单片机的两大基础来说, 我的成绩真是极大的落差啊。有时候想想自己也蛮奇怪的,为什么会这样呢。自己都觉得自己在硬件上实在太差,居然也没有好方法去解决,也许是我那时没有仔细去研究吧。

在最后一年, 因为毕业设计是进行抽签的,我好希望自己抽到的是我看中的那个企业管理系统,我可以用软件编程征服导师,没想到运气真背,既然被自己抽中了还是单片机的项目,我苦笑着说,我真的和单片机是很有缘。那时要做的是超大屏幕的显示屏,由一个导师带着两个学生一起做。那就是我第一次真实的接触到单片机的项目, 我每天8小时盯着那块板子,觉得自己都有点傻,看都看不明白。散乱在地上的元件,线,屏幕拼块,来回走动的导师, 忙碌的同学,半年的汗水, 复杂的程序,凌乱的心情,我的头都大了。为了让显示屏上的红灯亮,让屏幕能显示出流动的文字,导师也搞了很久,看了很多书,还好指导我们,更何况我基础这么差的,在老师的引导下,连换什么零件都搞不清楚。说句笑话,我至今都不知道那背后的单片机怎么用,用的是什么,原理是什么,只知道忙忙碌碌的跟着导师不停的笔记,木讷的抄着导师讲解的重点,眼睛就随着显示屏上的文字的流动显示而来回盲目的转动,真不知道自己的毕业论文是怎么及格的。到现在,我都回忆不起来, 我到底做了什么。如果要我详细讲解我的毕业设计,我真的一点都想不起来了。 只知道那个项目的标题, 让我困惑了很久。

(待续, 见下, 有大量资料)

全部回复(376)
正序查看
倒序查看
2014-03-12 22:54

大学毕业以后,我找到了一份软件编程的工作,正式开始了我的IT之旅,从最初的兴奋到后来的麻木,每天沉浸在空洞乏味的编程之中,循环,跳转,再循环,再跳转,脑子一昏,就经常出现死循环。加班加点, 累的同时也磨练了我的耐心。

我编程的那个软件也需要单片机的支持,那是一块软件支持启动的板子,那是我真正意义上第一块用手亲自接触到的板子,布满了元件和芯片,我一点都看不懂它。我每天的编程只是拿它作支持,并不是为了它, 但它如果坏了,我就无法编程了,只能去研究它,看看哪里出了问题。记得那时做的最多的就是主任叫我拿酒精反复擦洗。

后来因为机缘巧合, 搞起了电子, 对这个陌生的行业,一切都是新的, 从电子元件,芯片到开关电源,从基本的设计到开关电源的测试,维修,采购。我做电源开发也有几年了, 从一开始看书都看不懂到熟练的使用仪器进行实验,从入门到精心设计,在最初的几年里,都没有什么好的方向感,有时做做设计,画图,有时做做测试,指导,真正接触到核心内容还是在网上学到了高手们在LED的精髓。都说自己独立动手真的是一件非常费力的工作,一定要把独立操作当成爱好,否则真的不行。

开关电源的设计中,看书,查资料, 混论坛,混群,又让我遇到了单片机的东西,一个好的开关电源里居然有单片机,客户说,要那个,老板说,就要那个,使我不得不重新要学起单片机。

0
回复
2014-03-12 22:58

要说起自己学单片机的路途,我想,最多的就是,以一板, 以一书,开始的。

我从网上收集了很多高人的单片机话题,无论是学习方法,还是经验,或者是实例,我都会好好研究一番。

下面就先说说我收集到的东西吧, 对我的影响也是很大的,其中有些是最新的或者是我自己研究的。

***  下面有我学习MSP430的心得

0
回复
2014-03-12 22:58
@山东大汉
要说起自己学单片机的路途,我想,最多的就是,以一板,以一书,开始的。我从网上收集了很多高人的单片机话题,无论是学习方法,还是经验,或者是实例,我都会好好研究一番。下面就先说说我收集到的东西吧,对我的影响也是很大的,其中有些是最新的或者是我自己研究的。*** 下面有我学习MSP430的心得

.

   下面看看大家是怎么学习单片机的

.

学习单片机的八个步骤

学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。

 第一步:数字I/O的使用     

使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。

 .

第二步:定时器的使用   

学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。     

定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。 

.

第三步:中断     

单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某 种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等 。     

中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能使单片机具有吃着碗里的,看着锅里的功能。     

以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。

 .

第四步:与PC机进行RS232通信     

单片机都有USART接口,特别是MSP430系列中很多型号,都具有两个USART接口。USART接口不能直接与PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一个MAX3232芯片进行电平转换。    

USART接口的使用是非常重要的,通过该接口,可以使单片机与PC机之间交换信息,虽然RS232通信并不先进,但是对于接口的学习是非常重要的。正确使用USART接口,需要学习通信协议,PC机的RS232接口编程等等知识。试想,单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实验板上得到显示,将是多么有意思的事情啊! 

.

第五步:学会A/D转换    

MAP430单片机带有多通道12位A/D转换器,通过这些A/D转换器可以使单片机操作模拟量,显示和检测电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速率,转换误差等概念。     

使用A/D转换功能的简单的例子是设计一个电压表。 

.

第六步:学会PCI、I2C接口和液晶显示器接口     

这些接口的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。

.

第七步:学会比较、捕捉、PWM功能      

这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制起功能。     

如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。

.

第八步:学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计      

学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计是非常重要的,因为这是当前产品开发的发展方向。 深圳专业嵌入式、单片机QQ754634522 

到此为止,相当于学会15招降龙十八掌,但还不到打遍天下无敌手的境界。即使如此,也算是单片机大虾了。

0
回复
2014-03-12 23:02
@山东大汉
要说起自己学单片机的路途,我想,最多的就是,以一板,以一书,开始的。我从网上收集了很多高人的单片机话题,无论是学习方法,还是经验,或者是实例,我都会好好研究一番。下面就先说说我收集到的东西吧,对我的影响也是很大的,其中有些是最新的或者是我自己研究的。*** 下面有我学习MSP430的心得

  我是一个平凡的工程师,标准的80后,从事单片机及嵌入式相关工作已经有几年有余。每天忙忙碌碌,上班下班,既有做出产品时的开心,也有调试程序时的痛苦。一个平凡的人,做着一些平凡的事,每天过着平凡的生活。

  有人说做电子工程师是年轻人的活,过了30还不转管理无论是体力上还是精力上都无法胜任了。这句话有一定的道理,但如果兴趣依旧为何不继续追寻自己的梦想呢?从小我就对机械、电子方面的东西感兴趣。听父母说,每次买回的玩具我都要拆开看看里面的结构,美其名曰:看看为啥能动?为啥能工作。到现在有时回到乡下的老房子里,还能看到不少缺胳膊少腿的玩具呢。

  还记得这些吗?当年这些都被我拆得七零八落的。特别是小青蛙,可是研究了好一阵子呢

  真正让我对电子感兴趣的还得从一个著名的玩具开始,它就是经典的任天堂红白机。想当初,把这个东西搬回家时还兴奋了不少时间呢,一个暑假把所有能玩的游戏都玩了遍,接着就在琢磨这东西真神奇,到底里面有啥东西呢?拆开一看发现居然全都是绿绿的板子,上面还有不少黑色的玩意。忽然觉得做这个东西的人好伟大,以后自己也要学会做这个。J

  80后的经典啊,我也是从这里对电的一类东西感兴趣的

  真正开始接触电子、电脑这一块那就到大学了。当时信息太闭塞了,填志愿的时候也不太清楚计算机、电子信息工程、通信专业都有啥区别。只是问了下同乡的几个师兄,都说计算机是今后的发展。既然是这样,那就报呗。于是我把所有能填的地方都填满了计算机专业,功夫不负有心人,最后还真去了个二本的计算机系。(其实现在想起来我最应该去的就是电子信息工程或机电工程专业,毕竟这两个专业学的才是后来我们所说的嵌入式,不过好在该学校的计算机系既不偏软也不偏硬,属于软件也学硬件也学的那一种,所以大学四年还是学到了不少东西的)

  大学4年的时间是短暂的,在这里我还要鄙视下某些所谓的大学老师,记得有一次上微机原理讲到8253、8255我就问:这个东西现在还在用吗?能不能弄个实物来看看?老师当时回答我说:这个芯片已经不用了,所以也不能找到实物,大家只要记住它就好。当时我就无语,既然淘汰的东西为啥要学???不过后来事实证明这些东西老是老了一点,但现在在很多的地方还是在用的。当然也不是说所有的大学老师都是严重脱离实际的,有些老师还是很厉害的,我就有幸碰到了一个,据说以前是某个公司的技术主管,专弄单片机这块。他让我知道了任天堂红白机里面绿绿的东西叫做PCB。有时他上课会给我们带一些小的玩意,比如说让单片机做流水灯,让蜂鸣器唱歌等等,让我们这些人崇拜的不行了。也正是在他的带领下我开始于单片机结下了不解之缘。

  经典的AT89C51单片机,也是我的第一块单片机

  51单片机开发板,我们就是从这里开始的。

  现在想想当时挺有意思的,在用51单片机做完了所有实验后忽然感觉它真是无所不能,所有东西都琢磨着是不是能用51单片机完成,甚至尝试着用51单片机做个手机啥的玩玩(当然,这是无法实现的J),不过还是做了很多好玩的东西,比如说远距离万能遥控器啦,晚上偷偷的遥控对面楼的电视。51大概玩了1年左右,期间还把PCB给画了一遍,学会了用PROTEL。

  在一次偶然的机会听说51过时了,ARM才是现在的老大,于是省吃俭用花了600多大洋弄了块44B0X的板子,拿回来一看傻眼了,比51复杂的多啊,光是引脚就密密麻麻的一排,看都看不清,后来听师兄说居然有人能够徒手焊接,更是佩服得五体投地。

  经典的44B0X板子,还记得吗?据说这块板子是某个高手布的线,所有的44B0X都是参考它的,堪称经典。到目前有人学习PCB走线我还要求他好好琢磨这块板子呢。

  除了主芯片外,其它外围设备也不简单啊,网卡,硬盘接口,FLASH等等应有尽有,既然买了就硬着头皮学呗,不过好在有51的基础,这块板子裸奔的程序很快就搞定了,也琢磨出个味来:不管芯片多复杂,最终到底无非就是配置下寄存器而已,只要配对了寄存器其它一切都好办。在软件方面就相对复杂多了,为了搞这块板子我还特意去买了好几本LINUX方面的书,现在闲暇下来翻翻这些书还是很有感觉的。不过linux太过于复杂了,花了大半年的时间我才把这些书粗略的看了一遍,

  经典的Linux书籍,你看过没有?

  很多精髓的东西都没有弄清楚。这时候已经是大三下学期,刚好老师有个小项目看到我弄得还行就派我过去干了,其实东西现在想起来挺简单:有4~5路模拟信号采集到系统中,再通过AD转换变为数字信号用单片机进行运算,再把结果通过RS232发送给上位机软件。但这毕竟是我接的第一个项目,心里的忐忑可想而知,特别怕搞不定丢了老师的脸。于是在拿完需求后,先自己买了点器件用万用表搭了一个电路先试试。项目最终很成功,我也拿到了第一份报酬。

  丑陋的自搭电路

  大学4年很快就过去了,带着一堆的开发板、书籍和满腹的电子知识我离开了校园。很快我就找到了第一份工作:在一家小公司做技术员,公司主要的产品是为各种电子设备定做测试仪器。由于我学的是计算机专业,所以公司希望招我来做上位机软件。这我可傻眼了,以前所有的时间都花在了电子方面,谈到做上位机软件倒还真的不会。毛主席说过:世上的事最怕“认真”二字。没学过没关系,只要现在开始也不晚。那到底学什么语言和开发工具呢?跑到CSDN晃了一圈,很多人都说C++功能强大,以后发展也好。不过到底是VC还是C++ builder呢?VC难学,但据说学会了以后啥都好办了。既然是这样,那我就弄VC吧。好在公司的任务不紧,有充足的时间看书和学习,再加上有几个前辈指引,学习起来轻松多了。如果有朋友现在还想学习VC和windows程序设计的话,下面几本书可不能错过。这些书都是对应于VC 6.0的,到现在估计应该有对应.net的新版本了吧。

  在这个公司的两年里先后完成了许多小的项目,从一开始的帮别人打下手,到后来的自己负责、带徒弟,感觉自己成长了很多。离开这家公司后,我往北边发展。进入了一家做视频相关系统的公司B,公司不大,但各个都是技术强人,这也给我了不小的压力。还记得入职的第一天,项目经理就和我说:我们这任务比较紧,你今天把入职手续办完就进入项目组吧,最近视频点播系统那边活比较多,你先去那边。于是我就误打误撞进入了视频领域,想想自己对这方面什么都不懂还真是胆大,不过这个选择对我今后的方向有重大影响,这个后面再说。

  搞过视频的朋友应该都知道,这东西对工程师的综合素质要求还是挺高的,硬件方面所用处理器的都是主频比较高,性能比较好的,很多都是用DSP或FPGA来做;软件方面对算法、数据结构要有较深的理解。不过当时我可不知道这些,总觉得无非就是单片机的升级版本,没什么大不了的。到了项目组后,简单的和项目沟通了下,了解到目前上位机这边有个问题:无法获取当前鼠标所指的位置的文字。当时我立马想到金山词霸不是有个屏幕取词功能么?应该和这个类似。于是立即动手查资料,看到到底是什么原理。等我把相关的资料看完后已经到了下午5点多钟,这是大家都陆陆续续准备下班了,正当我犹豫要不要告诉项目经理时,项目经理走到了我身边于是我顺势就把自己的想法告诉了他,只见他两眼“闪光”,说:那个谁。。。还有那个谁。。。都别走了,留下来加个班,我们一起把这个东西解决了。等到完成基本框架已经到了深夜1点多钟,路上已经基本看不到行人了,晚风吹在脸上,心里充满了作为工程师的自豪,像一个得胜而归的将军。

  在这里我特别要感谢项目经理,在B公司的3年时间里是我成长最快的3年,我陆续接触了AT9200,I.MX系列,OMAP,达芬奇系列等各种处理器的开发,特别是达芬奇系列,当时公司里的板子才2块,项目经理居然允许我带一块回家,要知道当时这个板子要好几万呢。当时可把我高兴坏了,像中了500万一样。

  可能在一个地方久了就会厌倦,B公司虽然不错,但几年的光阴已经把我的激情磨灭,而我又是个需要激情的人。所以最终我还是从B公司离职了。离职后并没有立即找工作,当然并不是找不到,而是我需要一段时间放松下自己,整理下心情。恰巧这段时间各个半导体公司在不停的开研讨会,像ARM, TI,ST,Xilinx等等。于是乎,我就免费吃了好几顿大餐:)不过最让我印象深刻的是XILINX的研讨会,它们当时在推Spartan系列FPGA。说实话,我对这个FPGA这个东西只有耳闻,但到底是个什么东西还真不知道。在研讨会上看到了它们公司推出的几个案例,其中一个就是视频监控与模式识别的。由于我本身就是做这个的,所以对这块听得尤为仔细。相比于传统的DSP来做算法,FPGA做算法的速度、效率优势更为明显。

  于是我很快就有了下一次目标----学习FPGA。不过想法是好的,不过FPGA学起来真是相当的麻烦:开发板很贵,完全硬件编程。这对我们软件出生的人真是不小的挑战。好在当时xilinx开研讨会赠送了一块BASYS开发板,于是我就从它开始踏上了FPGA的不归路。

  有人会问:一直学习累不累?有的时候想想确实很累。夜深人静的时候,总是会一个人坐在窗前发呆:为什么我要不停的学习?我到底要什么?其实我并不知道这些东西到底有什么用,或许只是为了实现童年时期的一个梦,就像筷子兄弟说的:梦想这东西和经典一样,永远不会因为时间而褪色,反而更显珍贵!

0
回复
2014-03-12 23:06
@山东大汉
要说起自己学单片机的路途,我想,最多的就是,以一板,以一书,开始的。我从网上收集了很多高人的单片机话题,无论是学习方法,还是经验,或者是实例,我都会好好研究一番。下面就先说说我收集到的东西吧,对我的影响也是很大的,其中有些是最新的或者是我自己研究的。*** 下面有我学习MSP430的心得

漫步在繁华的现代化的大都市的大街上,随时都可以看到街上有很多可以用卡取钱的机器(ATM自动柜员机),十字路口的交通灯。我们的手机,我们家里数码电视机、数码音响、遥控器、空调、智能玩具.....    

这些“高科技”看上去是如此的神秘,它到底是怎样构成的,它是通过什么样的程序和什么样的方式来完成这一系列指令的呢?让我们取钱更方便、避免城市的交通混乱和交通阻塞……给我们生活带来了处处方便。其实这也是用单片机来控制的,单片机在我们生活中触手可及,它是如此地贴近我们的生活,单片机给我们的生活带来的有如此多的便利。    

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。科技越发达,智能化的东西就越多,使用的单片机就越多。看来学单片机是社会发展的需求。  

据统计,我国的单片机年容量已达1-3亿片,且每年以大约16%的速度增长,但相对于世界市场我国的占有率还不到1%。特别是沿海地区的玩具厂等生产产品多数用到单片,并不断地辐射向内地, 这说明单片机应用在我国才刚刚起步,有着广阔的前景。培养单片机应用人才,特别是在工程技术人员中普及单片机知识有着重要的现实意义。     

面对着学习单片机一个终生受用的职业,不受年龄的限制。同时面对着生活的现代化,我们衣、食、住、行也就越来越依赖各式各样的“高科技”了,也就有很多地方都用到高集成电路IC和单片机。  

学习单片机,做现代生活的领航人,你还在等什么呢?让单片机自学网伴随着大家一起进步吧!!  

“入门不难,深造也是可以做到的”,只要你有恒心、有决心,跟随着我们的网上课堂一步步的往下学,一定会很快的溶入到单片机的世界里!  

因为本站主要针对0基础的朋友而建设的,在整个网站建设中我们都将以通俗的手法来讲解,同时在网站建设中将不段的穿插一些与单片机相关的电子基础知识。文章结构我们也尽可能的以图例的形式来描述。 将来的单片机发展是以一个系统或一个集成化的模块出现,它将十分方便广大的开发工程师做二次开发,因此在将来的单片机设计行业中没有纯粹的单片机软件工程师,一句话,只懂软件不懂硬件的工程师是站不住脚的,而只懂硬件不懂软件的工程师不是真正的电子工程师,从现在的单片机开发来说,许多项目都是一个人来完成的,这就要求开发人员既要懂硬件又要懂软件,因而我们的单片机网上学堂要求广大的初学者平时要多参考单片机开发的项目实际例子,我们的源程序专区会陆续刊登一些我们已经成功开发过的产品硬件原理图及相应的源程序,如有不明白的问题,请发表到我们的学习论坛,我们将与大家一起交流。  

我们不能保证每一位单片机初学者都能成为设计高手,但我们一定可以保证你们能花最少的钱学到最前沿的单片机技术,我们的单片机网上学堂首先开通了51系列单片机教学,稍后我们将还会推出PIC及AVR单片机的教学课程。  

市场上的开发工具五花八门,且价格都非常高,我真诚劝告广大爱好单片机设计的朋友们,不要走进盲目选择开发工具误区,你首先必须选择适合你的开发工具,因而我们根据自己初学单片机的经验,列出一些工具所适合的应用对象:  

初学者:  

一台价格便宜的烧录器,一两本经典数字、模拟电路的书,选一两本经典单片机汇编教程,一台有源程序及注释的实验板,完全没有必要再用其他的开发工具;  

有一定编程基础的爱好者:  

除了以上配置外,最好找一两本经典单片机51教本,找一些开发模板参考参考,看他的源程序及程序流程图,根据模板的功能自己编一个功能相同的程序,看自己编的程序和模板的源程序有什么不一样,再将源程序中的不好的地方进行修改,加上自己的编程风格,目前很多公司对于新进公司的开发人员都是先将过去的程序给他们,要他们先读懂程序,再在原来的基础上开发新产品或升级产品,这样做的目的有一个明显的优势,就是加快开发人员上手速度,提高工作效能;  

对有一定编程经验的工程师:  

能有一台仿真机最好,没有也没关系,因为仿真机只适合那些程序比较大,变量较多的项目,对于程序较小,几乎没有变量的控制程序,用仿真机实在是没有必要,除非你想学一学仿真机的使用。

0
回复
2014-03-12 23:09
@山东大汉
大学毕业以后,我找到了一份软件编程的工作,正式开始了我的IT之旅,从最初的兴奋到后来的麻木,每天沉浸在空洞乏味的编程之中,循环,跳转,再循环,再跳转,脑子一昏,就经常出现死循环。加班加点,累的同时也磨练了我的耐心。我编程的那个软件也需要单片机的支持,那是一块软件支持启动的板子,那是我真正意义上第一块用手亲自接触到的板子,布满了元件和芯片,我一点都看不懂它。我每天的编程只是拿它作支持,并不是为了它,但它如果坏了,我就无法编程了,只能去研究它,看看哪里出了问题。记得那时做的最多的就是主任叫我拿酒精反复擦洗。后来因为机缘巧合,搞起了电子,对这个陌生的行业,一切都是新的,从电子元件,芯片到开关电源,从基本的设计到开关电源的测试,维修,采购。我做电源开发也有几年了,从一开始看书都看不懂到熟练的使用仪器进行实验,从入门到精心设计,在最初的几年里,都没有什么好的方向感,有时做做设计,画图,有时做做测试,指导,真正接触到核心内容还是在网上学到了高手们在LED的精髓。都说自己独立动手真的是一件非常费力的工作,一定要把独立操作当成爱好,否则真的不行。开关电源的设计中,看书,查资料, 混论坛,混群,又让我遇到了单片机的东西,一个好的开关电源里居然有单片机,客户说,要那个,老板说,就要那个,使我不得不重新要学起单片机。

最近在论坛里看到这篇文章,很是欣赏,大家可以看看的

吴坚鸿风格的C51程序(连载)

http://www.dianyuan.com/bbs/1479866.html

0
回复
HEV骆驼
LV.7
8
2014-03-12 23:12
本科毕业设计竟然有老师真正的去带你,真是好老师呀!!
0
回复
HEV骆驼
LV.7
9
2014-03-12 23:13
@山东大汉
漫步在繁华的现代化的大都市的大街上,随时都可以看到街上有很多可以用卡取钱的机器(ATM自动柜员机),十字路口的交通灯。我们的手机,我们家里数码电视机、数码音响、遥控器、空调、智能玩具.....    这些“高科技”看上去是如此的神秘,它到底是怎样构成的,它是通过什么样的程序和什么样的方式来完成这一系列指令的呢?让我们取钱更方便、避免城市的交通混乱和交通阻塞……给我们生活带来了处处方便。其实这也是用单片机来控制的,单片机在我们生活中触手可及,它是如此地贴近我们的生活,单片机给我们的生活带来的有如此多的便利。    目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。科技越发达,智能化的东西就越多,使用的单片机就越多。看来学单片机是社会发展的需求。  据统计,我国的单片机年容量已达1-3亿片,且每年以大约16%的速度增长,但相对于世界市场我国的占有率还不到1%。特别是沿海地区的玩具厂等生产产品多数用到单片,并不断地辐射向内地,这说明单片机应用在我国才刚刚起步,有着广阔的前景。培养单片机应用人才,特别是在工程技术人员中普及单片机知识有着重要的现实意义。     面对着学习单片机一个终生受用的职业,不受年龄的限制。同时面对着生活的现代化,我们衣、食、住、行也就越来越依赖各式各样的“高科技”了,也就有很多地方都用到高集成电路IC和单片机。  学习单片机,做现代生活的领航人,你还在等什么呢?让单片机自学网伴随着大家一起进步吧!!  “入门不难,深造也是可以做到的”,只要你有恒心、有决心,跟随着我们的网上课堂一步步的往下学,一定会很快的溶入到单片机的世界里!  因为本站主要针对0基础的朋友而建设的,在整个网站建设中我们都将以通俗的手法来讲解,同时在网站建设中将不段的穿插一些与单片机相关的电子基础知识。文章结构我们也尽可能的以图例的形式来描述。将来的单片机发展是以一个系统或一个集成化的模块出现,它将十分方便广大的开发工程师做二次开发,因此在将来的单片机设计行业中没有纯粹的单片机软件工程师,一句话,只懂软件不懂硬件的工程师是站不住脚的,而只懂硬件不懂软件的工程师不是真正的电子工程师,从现在的单片机开发来说,许多项目都是一个人来完成的,这就要求开发人员既要懂硬件又要懂软件,因而我们的单片机网上学堂要求广大的初学者平时要多参考单片机开发的项目实际例子,我们的源程序专区会陆续刊登一些我们已经成功开发过的产品硬件原理图及相应的源程序,如有不明白的问题,请发表到我们的学习论坛,我们将与大家一起交流。  我们不能保证每一位单片机初学者都能成为设计高手,但我们一定可以保证你们能花最少的钱学到最前沿的单片机技术,我们的单片机网上学堂首先开通了51系列单片机教学,稍后我们将还会推出PIC及AVR单片机的教学课程。  市场上的开发工具五花八门,且价格都非常高,我真诚劝告广大爱好单片机设计的朋友们,不要走进盲目选择开发工具误区,你首先必须选择适合你的开发工具,因而我们根据自己初学单片机的经验,列出一些工具所适合的应用对象:  初学者:  一台价格便宜的烧录器,一两本经典数字、模拟电路的书,选一两本经典单片机汇编教程,一台有源程序及注释的实验板,完全没有必要再用其他的开发工具;  有一定编程基础的爱好者:  除了以上配置外,最好找一两本经典单片机51教本,找一些开发模板参考参考,看他的源程序及程序流程图,根据模板的功能自己编一个功能相同的程序,看自己编的程序和模板的源程序有什么不一样,再将源程序中的不好的地方进行修改,加上自己的编程风格,目前很多公司对于新进公司的开发人员都是先将过去的程序给他们,要他们先读懂程序,再在原来的基础上开发新产品或升级产品,这样做的目的有一个明显的优势,就是加快开发人员上手速度,提高工作效能;  对有一定编程经验的工程师:  能有一台仿真机最好,没有也没关系,因为仿真机只适合那些程序比较大,变量较多的项目,对于程序较小,几乎没有变量的控制程序,用仿真机实在是没有必要,除非你想学一学仿真机的使用。
写了这么大呀!有空好好看看!mark一下!嘿嘿……
0
回复
山东大汉
LV.10
10
2014-03-12 23:27

学单片机,首先是学C语言,并不难,只要搞懂基本的循环啦,跳转啦,就会了

下面放一个一个LED点灯程序给大家熟悉下,

0
回复
山东大汉
LV.10
11
2014-03-12 23:31
@山东大汉
学单片机,首先是学C语言,并不难,只要搞懂基本的循环啦,跳转啦,就会了下面放一个一个LED点灯程序给大家熟悉下,[图片]

怎样学好C语言呢,虽然我自己还行,但怕误人子弟,所以搞个正规的给大家看看,

0
回复
山东大汉
LV.10
12
2014-03-12 23:33
@山东大汉
学单片机,首先是学C语言,并不难,只要搞懂基本的循环啦,跳转啦,就会了下面放一个一个LED点灯程序给大家熟悉下,[图片]

1.学C语言重要的是你的逻辑思维和坚持学习的恒心,学编程特别是语言就要多看,多思考,多练,也就是多敲代码. 

2.就C语言来说,是编程者应该好好学的一门语言,因为它是你日后要学的其他一些更高级的面向对象的编程语言的基础,学好了C语言,日后学高端语言就相对容易一些,而且在学习C语言的同时你的逻辑思维也开始形成.总之他是你经常听到的VB C++ JAVA .NET等等语言的一个基础. 

3.学习C在学校主要看你们那讲师的水平了,有实际软件开发经验的老师会让你听的很轻松就理解了,要是只会照本喧照的老师那就会把其实不是太复杂的问题将的很复杂并难以理解(在传统学校里是很常见的).其实C语言也并不是非常难学.如果你认真去学把该理解的东西理解了学好C是没有问题的,3个月也够了. 但是这种水平也只是说你把C语言基本学会了,对以后的学习打了个不错的基础.

4.如果你想找编程的工作向软件开发的方向努力的话,那么你应该有一个正确的明确的方向规划.3 4个月把C语言的核心语法和指针 数组等学好 理解了,会用,然后对做些小的程序练习加以巩固.然后随着你学习的接触你会学VB SQL数据库 ORACLE C++ JAVA JSP ASP.NET .NET等等现代所用的高级语言,工作中大都也是用这些高级的面向对象的语言在编程.

总之 编程,编程,再编程...这就是诀窍!

对于初学者来说,自己写程序有点儿困难,那就先按书上的例子来,一定要上机亲手实践,不管这个程序有多么的简单..

0
回复
山东大汉
LV.10
13
2014-03-12 23:37
在学校里看的书,是教科书《C语言。。》书名我忘了,总之是基础的书,说的硬件连接地方也不多,以至于我后来找工作的时候笔试考C语言的时候,遇硬件一律不回答,后来我居然还学了C++, 个人觉得更难了。
0
回复
山东大汉
LV.10
14
2014-03-12 23:43
@山东大汉
在学校里看的书,是教科书《C语言。。》书名我忘了,总之是基础的书,说的硬件连接地方也不多,以至于我后来找工作的时候笔试考C语言的时候,遇硬件一律不回答,后来我居然还学了C++,个人觉得更难了。

给大家看看我收集的资料吧

《C语言程序设计》谭浩强.pdf

0
回复
山东大汉
LV.10
15
2014-03-12 23:44
@山东大汉
给大家看看我收集的资料吧《C语言程序设计》谭浩强.pdf
0
回复
山东大汉
LV.10
16
2014-03-12 23:44
山东大汉
LV.10
17
2014-03-12 23:44
@山东大汉
MSP430系列单片机实用C语言程序设计_张晞.part1.rar
0
回复
山东大汉
LV.10
18
2014-03-12 23:45
@山东大汉
MSP430系列单片机实用C语言程序设计_张晞.part2.rar
0
回复
山东大汉
LV.10
19
2014-03-12 23:45
@山东大汉
可能有误,MSP430系列单片机实用C语言程序设计_张晞.part2.rar
0
回复
山东大汉
LV.10
20
2014-03-12 23:45
@山东大汉
[图片]
0
回复
山东大汉
LV.10
21
2014-03-12 23:45
山东大汉
LV.10
22
2014-03-12 23:46
@山东大汉
MSP430单片机应用系统开发典型实例.part1.rar
0
回复
山东大汉
LV.10
23
2014-03-12 23:47
@山东大汉
[图片]

大家可以看看

【单片机】《MSP430系列单片机实用C语言程序设计》

http://www.dianyuan.com/bbs/1476306.html

是关于MSP430的, 论坛里的高人写的

0
回复
山东大汉
LV.10
24
2014-03-12 23:48
@山东大汉
[图片]
关于这个MSP430, 最近我也看了视频,觉得不错,我有自己的心得,提供给大家
0
回复
山东大汉
LV.10
25
2014-03-12 23:50
@山东大汉
关于这个MSP430,最近我也看了视频,觉得不错,我有自己的心得,提供给大家

给大家看看入门板的开发板

0
回复
山东大汉
LV.10
26
2014-03-12 23:58
@山东大汉
关于这个MSP430,最近我也看了视频,觉得不错,我有自己的心得,提供给大家

最近我特意学习了MSP430,我是看了一些基本的视频

 (1)课程总结

 1,

 MSP430 FRAM培训

 【课程简介】 

FRAM 是指铁电随机存取存储器 (Ferroelectric Random Access Memory)。  这是最新的非易失性存储器技术,它将SRAM 的速度、写入寿命及低功耗与闪存存储能力相结合;将传统器件上的两个存储器替换为一个统一的代码和数据存储空间。  FRAM 的低功耗编程在 1.5V 下进行,而不是像闪存那样需要 10-14V,因此器件上无电荷泵。这也意味着在FRAM上编程无需擦除周期,具备比闪存速度更快、功耗更低的存储优势。 本课程将概括介绍一下德州仪器 MSP430FR57xx 器件系列及FRAM非易失性存储器的新特点和性能优势。 

【课程大纲】

 MSP430  FRAM 

第一部分 MSP430  FRAM  

第二部分 MSP430FR57XX  MSP430 内置 FRAM系列实验

 2, 

MSP430进阶培训—MSP430F5529的使用与开发 

【课程简介】

 MSP430F5529是德州仪器新一代F5xxx系列MCU的典型代表,不但拥有更低的功耗,而且在模拟外设、 数字外设和系统软件开发方面有了很大的改进。

本培训课程包含九个章节,分别从MSP430产品路线、F5xxx系列特点、PMM、UCS、Timer、 ADC12、DMA、USCI、MSP430ware、USB模块开发等方面全面的讲解了F5xxx系列的全新构架和特色应用,结合 MSP430F5529开发板的板载资源和丰富例程,介绍了相关模块的开发应用。 

【课程大纲】 

MSP430处理器现状及F5xx系列产品概述 F5xx的PMM单元/UCS模块及低功耗模式 MSP430定时器模块 ADC12模块介绍 使用DMA和定时器以降低MCU功耗 端口映射功能及USCI通信模块 MSP430ware 软件开发包 MSP430 USB 模块及其工具箱 MSP430开发工具及开发资源的总结 

【关于MSP430F5529开发板】 

SEED-EXP430F5529实验板是 MSP430F5529 器件的开发平台,出自最新一代的具有集成 USB 的 MSP430 器件。该实验板与 CC2520EMK 等众多 TI 低功耗射频无线评估模块兼容。实验板能帮助设计者快速使用新的 F55xx MCU 进行学习和开发,其中 F55xx MCU 为能量收集、无线传感以及自动抄表基础设施 (AMI) 等应用提供了业界最低工作功耗的集成 USB、更大的内存和领先的集成技术。 

3, 

采用MSP430 LaunchPad启动开发工作 

【课程简介】 

本课程基于MSP-EXP430G2 LaunchPad EVM,针对MSP430入门级Value Line,面向MSP430以及MCU的初学者,讲述MSP430的基本知识,包括430内部各个外设,CPU, Basic Clock, Interrupt, GPIO, Timer, ADC以及通讯接口,另外还有关于CCSV5,MSP430的低功耗设计,Grace等章节。通过课程学习,使参加培训者掌握MSP430的基本用法,完成简单的430编程。 

【课程大纲】 

介绍Value Line系列 Code Composer Studio CPU 与基本时钟模块 中断与GPIO Timer_A 与WDT+ MSP430低功耗设计 ADC10 和 Comparator_A+ 串行通信模块 Grace 电容式触摸按键解决方案 

【关于LaunchPad开发板】 

Launchpad开发板是德州仪器于2011年3月份出的一款非常超值的开发板,是一款适用于TI 最新MSP430G2xx 系列产品的完整开发解决方案。其基于USB 的集成型仿真器可提供为全系列MSP430G2xx 器件开发应用所必需的所有软、硬件。LaunchPad 具有集成的DIP 目标插座,可支持多达20 个引脚,从而使MSP430 Value Line 器件能够简便地插入LaunchPad 电路板中。此外,其还可提供板上Flash 仿真工具,以直接连接至PC 轻松进行编程、调试和评估。LaunchPad 试验板还能够对eZ430-RF2500T 目标板、eZ430-Chronos 手表模块或 eZ430-F2012T/F2013T 目标板进行编程。此外,它还提供了从MSP430G2xx 器件到主机PC 或相连目标板的9600 波特UART 串行连接。 

.

(2)给大家增加点经验了--MSP430系列开发调试经验心得

低功耗、流行的SOC结构,适合做智能仪表的MSP430开始吸引我了。

下面我将说说开发至今遇到的一些另类问题,跟大家切磋下.不管是N年前的1.21/1.26版本,还是现在的3.10/3.40版本,IAR一直是我用的最多的一个编译/调试器,玩MSP430不可能不接触到这个 

那我就以MSP430系列的IAR调试为例来说说MSP430系列开发调试的常见问题和经验心得。 

步骤/方法 

首先接上仿真器,发现不能下载,这个问题想必大家都有遇到过,IAR提示找不到目标?

 解决经验心得: 

A 并口驱动能力不足,在电脑的BIOS界面下设置成ECP或者ECP+EPP模式 

B JTAG线太长,一般超过20CM不推荐,而且这个线最好不要交叉缠绕,会影响实时在线调试 

C 你的负载太大,一般功耗相对比较大,电流超过20MA以上的板子,建议用外接电源,要不光靠并口那点驱动能力,那MCU的电压就要被拉低到不能写FLASH了 程序下载到一半,突然告警并报错,说某某地址写不进去? 

解决经验心得: 

A 芯片的复位电路引起的,在写FLASH的时候,会造成系统电压的一些波动,可能导致芯片复位,而为什么都是写到这个地址才错,那是IAR的问题,改用BSL再烧一边,就可以克服了 

B 芯片有可能死机了,给断电,拔掉JTAG没,稍后再试,一般没有问题 

C 如果都不是上述的方法能解决的,告诉你一个更酷的办法,给芯片上电,电压=3.6V,重新写一次,一定OK.为什么,写不进FLASH主要是F1XX系列的写FLASH电压不能低于2.7V,一般2.5V以下才不能真正工作,因此用3.6V电压,什么样的片子都能写回来(BTW,到现在为止,我还没写坏过一片MSP430的FLASH) 

关于3.40以上版本的仿真器设置问题. 

解决经验心得: 

说实在的,真正开发起来,我都不太愿意随便换IAR的版本,有些语法不兼容,有些设置不一样,最近装了3.40的 限制版,一路NEXT,好象没什么特别的地方,装好后发现芯片的选择余地多了很多,包括了F2XX,N多种类,哈哈再上硬件FET接着跑个DEMO看看,居然不成,报错!!原来:在仿真栏目里选好 FET 硬件仿真以后,还有一项是访真器的选择,我倒~ 没仔细看的哥们姐们一定纳闷,为啥还要搞个 LPT || J-LINK || TI-USB ,更滑稽的是IAR居然认为现在大伙都有米买USB的FET,默认选项是 TI-USB,那就是这个问题咯,改成 LPT(并口FET) 就完事了。 

另类级问题 

1, F1611大数组定义,不能正常运行的问题 相信有不少朋友已经用上了F1611,这个RAM大大的MSP,呵呵.那就有可能会遇到 RAM中定义的变量/数组在超过一个极限的时候,MSP程序不能正常运行的现象吧.一般初步判断,可以用I/O输出电平 来 确定程序进程.这样可以非常方便的知道该问题是由于WDT造成的,哈哈 (RAM的初始化时间大于WDT默认的32MS时间,因此MSP复位) 

解决经验心得: 

A对你的数组用 __no init_定义,上电编译器不产生特殊的附加函数去初始化RAM

B修改IAR中Cstartup.S43文件中__program_start子程序,增加一个关闭WDT的操作或者设置WDT时间长度超过32MS 

C在Project--Options--Linker--Config中选择 Override default programe,并将 Entry lib 设置成 __program_start 上述是已知解决1611RAM初始化时间超WDT默认而复位的解决方法,如果用汇编,则没有这个问题 

2,SVS导致MSP "坏死" 问题 

去年开发一款仪表,用上了F425,只怪这个玩意口线太少,只能把能用上的功能模块都赶上了.SVS在F42X里可是个不错的模块,外部设计可以节约一个VD,成本和空间,呵呵 

意外的是,我将这个SVS的电压设置在3.3V,结果一次JTAG写入后,那板子便没有再起来工作,刚开始以为真的写废了这个MSP,后来想判断下MCU是否还能工作,接上电源和电流表,发现电流有周期性跳跃----倒~~该MCU正在被SVS复位中 

解决经验心得:

重新加电压,超过3.3V,修改设置,重写FLASH,一切搞定 希望能给用SVS和SVS+的朋友起个提醒的作用,呵呵,有时这个问题还不太容易被发现 

3,I/O电压供电居然也行? 

解决经验心得:

在设计低功耗设备时,有时我们经常用MCU的引脚给一些IC供电,这个方案我最早用在PIC的单片机上,前人的经验,照着抄没错 MSP430当然也没问题 有兴趣的朋友不仿可以试,DVCC/AVCC不接,直接从某个I/O加电压,MCU照样能跑哦.这个问题大家要注意的,可能是好事,也可能很麻烦 

但是在做硬件设计的时候一定要想清楚了,I/O可以供电给其他IC,当然也能从其他IC中取电,在一些设计中,MCU的静态功耗降不下来,尤其是设计变送器,

4`20MA双线制设备上,要谨慎处理. 

(3)我的心得: 

通过学习MSP430的在线视频, 我得到这样的经验分享给大家,先要找资料,不要觉得MSP430很难学,不要觉得像初学英语那样头疼,要找很多的资料, 即使看不懂资料,也没关系的。在TI在线视频里进行学习,这里的专家讲解的很透彻,分类很清晰,必须先看视频,不要怕难以理解,多看几次, 不要畏惧困难,遇到不懂的一定要马上解决,把自己的基本功夫练好,不懂就多看视频多查资料, TI在线培训不但有视频可以学习,还有资料下载, 这是非常好的地方,通过反复的学习,多看那些典型程序,多总结别人写程序的思路,自己也多多 些程序和仿真, 尽量不走弯路。我相信我一定可以学好。 通过视频学习,我还从专家那里领悟到了一些东西, 要学好单片机开发的入门,还必须要有一块除单片机最小系统外加一些常用模块的开发板,一本单片机C语言编程的书,比如《十天学会单片机和C语言编程》之类,好的学习。最好不要使用和开发板对口的书,不然会养成依赖现有资料的习惯,那样没进步的,好好利用网络资源,好多非常好的电子类论坛和群值得加入。带着创新精神亲手山寨一下前人做的玩意,推出自己的升级版。最后可以独立用单片机做一些玩意,能够有意识的升级自己的作品。 

0
回复
山东大汉
LV.10
27
2014-03-12 23:59

网上看到的,觉得不错,和大家分享一下

必须弄懂的495个C语言问题.pdf
0
回复
山东大汉
LV.10
28
2014-03-12 23:59
@山东大汉
网上看到的,觉得不错,和大家分享一下必须弄懂的495个C语言问题.pdf
0
回复
山东大汉
LV.10
29
2014-03-13 00:00
@山东大汉
51单片机C语言学习(完整).pdf

PIC 单片机的C语言编程教程

pic.pdf

0
回复
山东大汉
LV.10
30
2014-03-13 00:00
@山东大汉
PIC单片机的C语言编程教程pic.pdf
0
回复
山东大汉
LV.10
31
2014-03-13 00:01
@山东大汉
最近我特意学习了MSP430,我是看了一些基本的视频 (1)课程总结 1, MSP430FRAM培训 【课程简介】 FRAM是指铁电随机存取存储器(FerroelectricRandomAccessMemory)。 这是最新的非易失性存储器技术,它将SRAM的速度、写入寿命及低功耗与闪存存储能力相结合;将传统器件上的两个存储器替换为一个统一的代码和数据存储空间。 FRAM的低功耗编程在1.5V下进行,而不是像闪存那样需要10-14V,因此器件上无电荷泵。这也意味着在FRAM上编程无需擦除周期,具备比闪存速度更快、功耗更低的存储优势。 本课程将概括介绍一下德州仪器MSP430FR57xx器件系列及FRAM非易失性存储器的新特点和性能优势。 【课程大纲】 MSP430 FRAM 第一部分 MSP430 FRAM 第二部分 MSP430FR57XX MSP430内置FRAM系列实验 2, MSP430进阶培训—MSP430F5529的使用与开发 【课程简介】 MSP430F5529是德州仪器新一代F5xxx系列MCU的典型代表,不但拥有更低的功耗,而且在模拟外设、数字外设和系统软件开发方面有了很大的改进。本培训课程包含九个章节,分别从MSP430产品路线、F5xxx系列特点、PMM、UCS、Timer、ADC12、DMA、USCI、MSP430ware、USB模块开发等方面全面的讲解了F5xxx系列的全新构架和特色应用,结合MSP430F5529开发板的板载资源和丰富例程,介绍了相关模块的开发应用。 【课程大纲】 MSP430处理器现状及F5xx系列产品概述 F5xx的PMM单元/UCS模块及低功耗模式 MSP430定时器模块 ADC12模块介绍 使用DMA和定时器以降低MCU功耗 端口映射功能及USCI通信模块 MSP430ware软件开发包 MSP430USB模块及其工具箱 MSP430开发工具及开发资源的总结 【关于MSP430F5529开发板】 SEED-EXP430F5529实验板是MSP430F5529器件的开发平台,出自最新一代的具有集成USB的MSP430器件。该实验板与CC2520EMK等众多TI低功耗射频无线评估模块兼容。实验板能帮助设计者快速使用新的F55xxMCU进行学习和开发,其中F55xxMCU为能量收集、无线传感以及自动抄表基础设施(AMI)等应用提供了业界最低工作功耗的集成USB、更大的内存和领先的集成技术。 3, 采用MSP430LaunchPad启动开发工作 【课程简介】 本课程基于MSP-EXP430G2LaunchPadEVM,针对MSP430入门级ValueLine,面向MSP430以及MCU的初学者,讲述MSP430的基本知识,包括430内部各个外设,CPU, BasicClock,Interrupt,GPIO,Timer,ADC以及通讯接口,另外还有关于CCSV5,MSP430的低功耗设计,Grace等章节。通过课程学习,使参加培训者掌握MSP430的基本用法,完成简单的430编程。 【课程大纲】 介绍ValueLine系列 CodeComposerStudio CPU与基本时钟模块 中断与GPIO Timer_A与WDT+ MSP430低功耗设计 ADC10和Comparator_A+ 串行通信模块 Grace 电容式触摸按键解决方案 【关于LaunchPad开发板】 Launchpad开发板是德州仪器于2011年3月份出的一款非常超值的开发板,是一款适用于TI最新MSP430G2xx系列产品的完整开发解决方案。其基于USB的集成型仿真器可提供为全系列MSP430G2xx器件开发应用所必需的所有软、硬件。LaunchPad具有集成的DIP目标插座,可支持多达20个引脚,从而使MSP430ValueLine 器件能够简便地插入LaunchPad电路板中。此外,其还可提供板上Flash仿真工具,以直接连接至PC轻松进行编程、调试和评估。LaunchPad试验板还能够对eZ430-RF2500T目标板、eZ430-Chronos手表模块或 eZ430-F2012T/F2013T目标板进行编程。此外,它还提供了从MSP430G2xx器件到主机PC或相连目标板的9600波特UART串行连接。 .(2)给大家增加点经验了--MSP430系列开发调试经验心得低功耗、流行的SOC结构,适合做智能仪表的MSP430开始吸引我了。下面我将说说开发至今遇到的一些另类问题,跟大家切磋下.不管是N年前的1.21/1.26版本,还是现在的3.10/3.40版本,IAR一直是我用的最多的一个编译/调试器,玩MSP430不可能不接触到这个 那我就以MSP430系列的IAR调试为例来说说MSP430系列开发调试的常见问题和经验心得。 步骤/方法 首先接上仿真器,发现不能下载,这个问题想必大家都有遇到过,IAR提示找不到目标? 解决经验心得: A并口驱动能力不足,在电脑的BIOS界面下设置成ECP或者ECP+EPP模式 BJTAG线太长,一般超过20CM不推荐,而且这个线最好不要交叉缠绕,会影响实时在线调试 C你的负载太大,一般功耗相对比较大,电流超过20MA以上的板子,建议用外接电源,要不光靠并口那点驱动能力,那MCU的电压就要被拉低到不能写FLASH了 程序下载到一半,突然告警并报错,说某某地址写不进去? 解决经验心得: A芯片的复位电路引起的,在写FLASH的时候,会造成系统电压的一些波动,可能导致芯片复位,而为什么都是写到这个地址才错,那是IAR的问题,改用BSL再烧一边,就可以克服了 B芯片有可能死机了,给断电,拔掉JTAG没,稍后再试,一般没有问题 C如果都不是上述的方法能解决的,告诉你一个更酷的办法,给芯片上电,电压=3.6V,重新写一次,一定OK.为什么,写不进FLASH主要是F1XX系列的写FLASH电压不能低于2.7V,一般2.5V以下才不能真正工作,因此用3.6V电压,什么样的片子都能写回来(BTW,到现在为止,我还没写坏过一片MSP430的FLASH) 关于3.40以上版本的仿真器设置问题. 解决经验心得: 说实在的,真正开发起来,我都不太愿意随便换IAR的版本,有些语法不兼容,有些设置不一样,最近装了3.40的限制版,一路NEXT,好象没什么特别的地方,装好后发现芯片的选择余地多了很多,包括了F2XX,N多种类,哈哈再上硬件FET接着跑个DEMO看看,居然不成,报错!!原来:在仿真栏目里选好FET硬件仿真以后,还有一项是访真器的选择,我倒~ 没仔细看的哥们姐们一定纳闷,为啥还要搞个LPT||J-LINK||TI-USB,更滑稽的是IAR居然认为现在大伙都有米买USB的FET,默认选项是TI-USB,那就是这个问题咯,改成LPT(并口FET)就完事了。 另类级问题 1,F1611大数组定义,不能正常运行的问题 相信有不少朋友已经用上了F1611,这个RAM大大的MSP,呵呵.那就有可能会遇到RAM中定义的变量/数组在超过一个极限的时候,MSP程序不能正常运行的现象吧.一般初步判断,可以用I/O输出电平来确定程序进程.这样可以非常方便的知道该问题是由于WDT造成的,哈哈(RAM的初始化时间大于WDT默认的32MS时间,因此MSP复位) 解决经验心得: A对你的数组用__noinit_定义,上电编译器不产生特殊的附加函数去初始化RAMB修改IAR中Cstartup.S43文件中__program_start子程序,增加一个关闭WDT的操作或者设置WDT时间长度超过32MS C在Project--Options--Linker--Config中选择Overridedefaultprograme,并将 Entrylib设置成__program_start 上述是已知解决1611RAM初始化时间超WDT默认而复位的解决方法,如果用汇编,则没有这个问题 2,SVS导致MSP"坏死"问题 去年开发一款仪表,用上了F425,只怪这个玩意口线太少,只能把能用上的功能模块都赶上了.SVS在F42X里可是个不错的模块,外部设计可以节约一个VD,成本和空间,呵呵 意外的是,我将这个SVS的电压设置在3.3V,结果一次JTAG写入后,那板子便没有再起来工作,刚开始以为真的写废了这个MSP,后来想判断下MCU是否还能工作,接上电源和电流表,发现电流有周期性跳跃----倒~~该MCU正在被SVS复位中 解决经验心得:重新加电压,超过3.3V,修改设置,重写FLASH,一切搞定 希望能给用SVS和SVS+的朋友起个提醒的作用,呵呵,有时这个问题还不太容易被发现 3,I/O电压供电居然也行? 解决经验心得:在设计低功耗设备时,有时我们经常用MCU的引脚给一些IC供电,这个方案我最早用在PIC的单片机上,前人的经验,照着抄没错MSP430当然也没问题 有兴趣的朋友不仿可以试,DVCC/AVCC不接,直接从某个I/O加电压,MCU照样能跑哦.这个问题大家要注意的,可能是好事,也可能很麻烦 但是在做硬件设计的时候一定要想清楚了,I/O可以供电给其他IC,当然也能从其他IC中取电,在一些设计中,MCU的静态功耗降不下来,尤其是设计变送器,4`20MA双线制设备上,要谨慎处理. (3)我的心得: 通过学习MSP430的在线视频,我得到这样的经验分享给大家,先要找资料,不要觉得MSP430很难学,不要觉得像初学英语那样头疼,要找很多的资料,即使看不懂资料,也没关系的。在TI在线视频里进行学习,这里的专家讲解的很透彻,分类很清晰,必须先看视频,不要怕难以理解,多看几次,不要畏惧困难,遇到不懂的一定要马上解决,把自己的基本功夫练好,不懂就多看视频多查资料,TI在线培训不但有视频可以学习,还有资料下载,这是非常好的地方,通过反复的学习,多看那些典型程序,多总结别人写程序的思路,自己也多多些程序和仿真,尽量不走弯路。我相信我一定可以学好。 通过视频学习,我还从专家那里领悟到了一些东西,要学好单片机开发的入门,还必须要有一块除单片机最小系统外加一些常用模块的开发板,一本单片机C语言编程的书,比如《十天学会单片机和C语言编程》之类,好的学习。最好不要使用和开发板对口的书,不然会养成依赖现有资料的习惯,那样没进步的,好好利用网络资源,好多非常好的电子类论坛和群值得加入。带着创新精神亲手山寨一下前人做的玩意,推出自己的升级版。最后可以独立用单片机做一些玩意,能够有意识的升级自己的作品。 
0
回复