学习单片机需要做什么?

发布者:boyatang最新更新时间:2014-01-27 来源: dqjsw关键字:单片机  JTAG接口  EDA软件 手机看文章 扫描二维码
随时随地手机看文章

单片机是大专学校电类专业的一门普通课,有些学校甚至把它列为选修课,在众多课程中,没有显出它有多么重要。为什么要学习它呢?电类专业有很多专业课,这些专业课非常重要,是各个专业存在的必需课程,学完这些课程可以使学习者成为大学者的继承人,市场对学者继承人的需求太少,大量需要的是产品的研发者,研发产品是需要干实际事情的,需要研发工具,而单片机课程就是学习研发工具使用的课程。学习单片机课程与理论课程不一样,不能只做作业,而是要实际使用单片机,下面就如何准备学习单片机的条件和学习步骤简述一些不成熟的想法。
1. 硬件
   (1)编程硬件
所谓编程就是把单片机运行的程序烧写到单片机的存储器中,目前大部分单片机都是使用FLASH存储器,这些存储器的写入次数一般是1000次左右,也有1万次或是10万次的。编程也叫程序下载或是烧写。
   (2)实时仿真硬件
实时仿真是使用PC机,用软件监视在单片机中实际运行的程序,也就是当程序下载到单片机中后,实时运行程序,在程序中设置断点,通过仿真接口,监视和控制程序的运行。这个过程其实就是调试程序(实际验证程序的正确性)。
编程器和仿真器可以是一个装置,也可以是各自独立的装置。
2. 软件
   单片机开发需要单片机开发软件的支持,软件分为:
(1)编程软件
该软件支持编程器工作,帮助编程器把程序写入单片机。
(2)实时仿真软件
该软件可以在仿真接口的支持下,调试单片机程序。
(3)虚拟仿真
该类软件支持在没有单片机硬件情况下的单片机程序调试。
(4)支持C语言
所有的单片机开发软件都支持汇编语言编程,但是目前人们更喜欢C语言编程,主要是C语言功能强大,可以缩短开发时间。
目前就有支持上述功能的软件,例如51系列的Keil 51、PIC系列的MPLAB,MSP430系列的IAR等。
3. 学习单片机的手段
   按照经济实力,学习单片机的手段分为如下几种:
(1)买本单片机书,仔细研究。
(2)网上下载一个具有仿真功能的单片机开发软件(最好支持C语言),在计算机上对单片机虚拟仿真。
(3)购编程器(支持编程器的下载软件有编程器商提供)和实验板(又称为演示板或是目标板),网上下载开发软件。在开发软件的支持下对单片机虚拟仿真,确认单片机程序正确后,用编程器将程序下载到单片机中,观察程序的实际运行。
(4)购仿真接口和实验板,在网上下载单片机开发软件(支持编程、虚拟仿真、
实时仿真和C语言),在虚拟仿真完成后,将程序下载到单片机中实时仿真。
对于个人学习单片机,具有上述(4)的条件已经是很好了。
4. 学习单片机过程中的困扰
     单片机种类很多,各个公司提供的单片机、开发硬件和软件功能、价格都不一样,对于初学单片机有很多困惑。
   (1)单片机问题
     目前单片机很多,学哪一个,其实学哪一个都可以,单片机虽然型号不同,但是芯片内部的资源种类都差不多,而且这些资源的使用方法也大同小异,可以说学会一种,其他种将融会贯通。究竟学哪一种,主要看具备的条件。
51系列是老型号,书多、资料多、软件开放和硬件支持还可以,特别是Atmel公司的产品AT89系列,很多人就是学习这款单片机发家致富的。
AVR90系列,该系列也是Atmel公司的产品,指令少,学起来容易,芯片种类多,适合各种场合和需要,根据有关资料显示,目前该单片机芯片的使用数量很大,大有超过51系列芯片数量的趋势。
PIC系列,该系列是Microchip公司的产品,种类多,芯片抗干扰能力强,使用的人很多,特别是PIC 16F877芯片,由于适合学校使用,在该公司大学计划的支持下,免费赠送开发器和实验板,因而使用该芯片的人群大增,也是可以和51系列单片机抗衡的单片机。
MSP430系列,是TI公司的产品,最近几年才被杭州利尔达公司引进,是16位、超低功耗单片机,特别适合手持设备等低功耗设备的开发,实际上,由于该系列引脚多,内部资源多(具有硬件乘法器),所以在很多产品开发上都有用武之地,据有关人士预测,该系列是最具前途的单片机。
还有很多单片机型号,由于不太了解,不敢妄加评论,但可以想象,一定是不错的单片机,否则就不会在竞争激烈的市场中存在。
   (2)开发软件问题
       不同种类的单片机都配套有相应的开发软件,这些软件很多都是专业软件公司开发的。
51系列,目前开发软件是Keil 51,该软件支持C语言,但是在网上下载的版本,只支持2K程序。
PIC系列的开发软件是MPLAB,在HI-TECH公司C语言支持软件PICC的支持下,该软件很好用,但是PICC是需要激活密码才能运行的。

MSP430系列的开发软件是IAR,该软件有开放1个月的全功能限期版本和C语言4k支持版本,可见该系列的软件开放是最好的。
哪种单片机的开发软件开放的好,就会引起人们对该单片机的兴趣,单片机提供商也深谙此道,所以网上经常可以找到更开放版本的软件。
(3)仿真接口
       仿真接口,又称为仿真器,老式单片机由于没有FLASH存储器,所以仿真编程难度很大,新型号的单片机,几乎都有FLASH存储器的芯片,这样的芯片都支持在电路编程(在系统编程),所谓在电路编程,就是用3~5根线就可以将程序写入单片机,并能够将单片机内的程序运行情况、寄存器内容等信息传输到PC机上。 这种编程方法需要在单片机与PC机之间安装一个仿真接口,该接口一般需要购买。
AT89S51、PIC16F877就是具有这种能力的单片机,但是,对于初学者来说,支持该单片机编程和仿真的接口需要购买,而且简单接口在仿真时会占用芯片资源,给单片机系统开发带来不便。
MSP430系列单片机也是具有这种能力的单片机,但是该单片机采用标准JTAG接口,JTAG是一种标准(IEEE 1149.1),是为测试芯片而制定的,目的是用TCK、TDI、TDO和TMS四个信号来测试芯片的内部状态,为什么测试芯片还需要专门制定标准呢?这是因为复杂芯片引脚太多,特别是还有些芯片一旦安装到多层电路板上就无法看到引脚,更不要说测量了,这时就可以在计算机软件的支持下通过JTAG接口,对芯片进行测量,如果各个公司的芯片都符合该标准,就可以将各个芯片的JTAG口串联起来(外国人称为菊花链),无论在电路板上有多少芯片,只需4个引脚,就可以测量电路板上的所有芯片。既然可以测量芯片,当然可以将数据写入芯片,在可编程逻辑器件的数据下载中也使用JTAG接口,出现了在系统编程(ISP)的概念,也就是,即使可编程逻辑器件安装到了系统中,也可以对其内部电路进行修改,
JTAG技术和EDA软件的进步,使可编程逻辑器件的开发与使用得到快速发展。单片机也是在向这个方向努力,前几年出现在市场上的C8051单片机就是使用JTAG接口的单片机,不幸的是该单片机JTAG接口装置和开发软件很贵,阻碍人们使用该单片机。
使用JTAG口,必须在计算机与芯片JTAG接口之间连接一个接口装置,该装置随芯片而异,实际上JTAG接口装置都是很简单的(就是一个缓冲器),但是由于各个公司的早期产品不完全支持JTAG接口,而JTAG接口装置又必须兼容这些早期产品,就使得JTAG接口装置变的复杂了。
目前,TI公司的MSP430系列芯片就是支持JTAG接口的单片机,该公司称该JTAG接口装置为FET,通过FET就可以对该系列单片机编程与仿真。特别是该接口非常简单,适合自制,网上很多该单片机爱好者就是使用自制的FET开发该系列的单片机,非常成功。
(4)实验板
       实验板是学习单片机所必须的,实验板又称为演示板、目标板,其实就是具有单片机的电路板,实验板可以购买,各个单片机的供应商都提供多种多样的实验板。实验板也可以根据需要自制,自制实验板是具有挑战的,需要学会画电路板图。[page]
(5)选择单片机类型
软件:支持C语言,免费下载。
仿真器:用于仿真编程的JTAG接口装置可以自制(很重要,可以节省开支)。
单片机:型号多、功能强、资源多、功耗低,程序存储器容量大。
资料:书多、资料多,特别是网上资料多。
满足上述条件的单片机只有MSP430系列。

5. 如何学习单片机
学习就是迎接挑战、解决困难的过程,没有挑战,就没有人生的乐趣。
下面以MSP430系列单片机为例,解释一下学习单片机的过程。
(1)获取资料
       购买有关书籍,并到杭州利尔达公司网站和TI网站获取资料,例如,在网上可以找到FET使用指导、MSP430 F1xx系列、F4xx系列的使用说明和具体单片机芯片的数据说明,可以找到仿真器FET的电路图、实验板电路图、芯片封装知识等大量的实际应用参考电路,当然有些资料是英文的,看懂英文资料是个挑战,学会4、6级英语就是为看资料的。英语难学,但是看资料容易,只要下决心,看完一本资料,就可以看懂所有的相关资料。
(2)购买仿真器FET和实验电路板
     如果经济条件不错,可以直接购买。
(3)自制仿真器FET和实验电路板
       自制仿真器FET,首先要到网上找到FET电路图,然后就可以使用画电路板软件画电路图和电路板图,这又是个挑战。FET电路非常简单,但要把它制作出来还是需要下一番工夫的,找一本有关书,然后练习画原理图,画完原理图后,就学习认识元件封装,再购买元件,这时就可以画电路板图了,一旦画好,将形成的PCB文件交给电路板制作公司,10天后,就可以得到电路板,焊上元件和电缆,等实验电路板做好后,就可以与实验电路板一起调试了。
自制实验电路板,需要单片机芯片内部工作原理的知识、封装知识,清楚的知道每一个引脚的功能,还需要数码管、按钮、排电阻、三端稳压器、二极管、散热器、电解电容、普通电容、电阻、钮子开关等元件的知识,对于初学者,可以做一个只有3个数码管、8个按钮、8个发光二极管的简单实验板,这样的实验板,虽然简单,但足可以帮助初学者入门单片机。自制实验电路板与自制FET一样,首先画电路图,然后买元件,再画电路板。由于MSP430系列芯片是扁平封装,焊接起来有一定难度,这好象是个挑战,但实际上很简单,方法如下:首先在焊盘上涂上松香水,在松香水未干的情况下,将芯片放在焊盘上,注意芯片第一引脚的位置,并使引脚与焊盘对齐,将擦干净的电烙铁(不能有任何焊锡)接触引脚,引脚只要一热,焊盘上的焊锡就自动将引脚焊住了,千万注意电烙铁上不能有焊锡,焊接时最好配备一个放大镜。焊接电路板时,每一个元件都要核对参数,可以用万用表测量的元件一定要测量。
(4)从网上获得IAR软件
       到利尔达公司或TI公司的网站下载IAR软件,并安装到计算机上。
(5)调试FET和实验板
           将FET的一端与PC机的并行口相连,另一端连接实验板的JTAG接口,上电后,检查FET芯片、实验板上的单片机芯片是否发热(用手模),PC机是否工作正常后,运行IAR软件,找个C语言或汇编语言的例子,编译成功后下载到单片机中,如果能够下载,说明一切成功。否则还需要仔细研究,一般情况下,只要电路板上的电路正确,元件参数准确,没有不成功的。
(6)分步骤学习单片机
         学习使用单片机就是理解单片机硬件结构,在汇编或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接口、各种工业总线的硬件与软件设计是非常重要的,因为这是当前产品开发的发展方向。
到此为止,相当于学会15招降龙十八掌,但还不到打遍天下无敌手的境界。即使如此,也算是单片机大虾了。顺便说一句,MSP430单片机的技术支持是非常好的,负责任的工程师大虾会在关键时候,挺身而出,使你化险为夷。
6. 达到理想境界
           达到理想境界是困难的,在知识爆炸的年代里,即使天天学习,也很难跟上科学技术的发展,更何况每天还要为找工作、提职称、写论文、搞科研经费、政治学习、买房、购车、柴、米、油、盐、酱、醋、茶等忙活,那么,还需要学习吗?回答是肯定的,人就是为兴趣而活,爱好单片机才能学会单片机,不为什么目的,只为学习的乐趣,当然要是兴趣也能赚钱,则是一举两得。
学会使用单片机其实是学会了使用工具,充其量是个补锅、锔碗的匠人。如果再要进步,就需要在信号识别、控制理论、数字信号处理理论、通信理论等方面下工夫,只有这样,才能开发出高水平、高附加值、具有知识产权的产品,达到熟练运用降龙十八掌,打遍天下无敌手的至高境界。
单片机是DSP、嵌入式操作系统等高级硬件产品开发的基础。如果想要进一步的发展,必须学会单片机的开发。
如果在学会单片机的基础之上,学会CPLD和FPGA的开发以及硬件描述语言,就可以在高速产品的开发方面获得一杯羹。

关键字:单片机  JTAG接口  EDA软件 引用地址:学习单片机需要做什么?

上一篇:单片机矩阵键盘扫描的两种方式
下一篇:单片机I/O口与寻址方式

推荐阅读最新更新时间:2024-03-16 13:34

基于DS1620和AT89C2051的数字温度计
1 DS1620芯片介绍      DS1620是一片8引脚的片内建有温度测量并转换为数字值的集成电路,他集温度传感、温度数据转换与传输、温度控制等功能于一体。测温范围:-55~+125℃,精度为0.5℃。该芯片非常容易与单片机连接,实现温度的测控应用,单独做温度控制器使用时,可不用外加其他辅助元件。   引脚功能及排列如图1所示。   其中:RST,CLK/CONV及DQ为三线串行通信线;DQ为数据输入输出端。当RST保持高电平,对应CLK/CONV时钟脉冲的上升沿处,DQ可按位输入各种控制指令及数据,在CLK/CONV时钟脉冲的下降沿处开始按位输出9 B温度值,分2个字节输出,最低位(LSB)在最先输出,先输出的
[应用]
SPMC65单片机在CAN总线智能节点中的应用
1 Can总线概述   CAN, 全称为“Controller Area Network”,是国际上应用最广泛的现场总线之一。20世纪80年代初,德国Bosch公司为了解决现代汽车中众多的控制与测试仪表之间的数据交换问题,开发出 CAN总线。CAN总线能有效支持分布式控制或实时控制的串行通信网络,具有抗干扰性强和使用可靠等优点,最初主要应用汽车工业,现在广泛应用于汽车工业、航空工业和工业控制等自动化领域,如分布式环境监测系统、温室环境监控系统、变电站变监测系统等。   CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对数据的成帧处理,用户可在其基础上开发适应系统实际需要的应用层通信协
[单片机]
SPMC65<font color='red'>单片机</font>在CAN总线智能节点中的应用
51单片机-LCD1602
1.硬件设计 1.1.LCD1602介绍 LCD1602是由字符型液晶显示屏(LCD)、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容元件和结构件等装配在PCB板上而组成。 LCD1602主要用来显示数字、字母、图形以及少量自定义字符。可以显示2行16个字符,拥有16个引脚,其中8位数据总线D0-D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节V0和背光源AK 关于LCD的工作原理,结构堆叠等的介绍,可参考如下链接:https://lishiyi.blog.csdn.net/article/details/124106767?spm=1001.2014.3001.550
[单片机]
51<font color='red'>单片机</font>-LCD1602
#51单片机#RS-485通信的功能和特点
RS-485通信常用于工业控制、电力通信和智能仪表等领域。 该通信方式主要具备以下5种能力: ①适应复杂施工现场 ②抗电磁干扰 ③联网 ④较远的传输距离 ⑤允许多个收发设备连接到同一总线 RS-485具备以下特点: ❶采用差分信号。可抑制共模干扰。RS-485采用2条通信线,通常用A和B或D+和D-来表示。逻辑‘1’,表示为两线间电压差为+(0.26)V,逻辑‘0’,表示为两线间电压差为-(0.26)V。这是一种典型的差分通信。 ❷通信速率快。最大传输速率达10Mb/s以上。 ❸采用平衡驱动器和差分接收器的内部物理结构组合。增强了抗干扰能力。 ❹传输距离远。最远可达1200m。ps:传输
[单片机]
如何画出STM32系列单片机的原理图
关于STM32F1系列单片机的一个常识: 看上图得知,根据Flash存储器的大小,把STM32F1分为了4种类型,分别是“低密度”“中密度”“高密度”“超高密度”,然后还有一种“互联型”。我们使用的STM32F103VET6的FLASH大小是512K,所以属于“高密度”型的。 我们这次要做的,就是把单片机STM32F103VET6的原理图画出来。 画的时候,要看STM32F103的datasheet。这个datasheet可以在ST的官网上找到。记住,是数据手册,不是参考手册。ST的官网是支持中文的,方便英文不好的朋友浏览。 打开ST的官方网站,看上图第一个红色矩形框里面的路径,依次到这一页。然后点击“数据手册”: 文
[单片机]
如何画出STM32系列<font color='red'>单片机</font>的原理图
嵌入式基于C8051F单片机的气流仪
  引 言   本课题研究的棉花气流仪是根据GB6468-1992棉纤维"马克隆值"测试方法的有关规定,结合目前的微电脑监控系统技术,采用单片机C8051F,具有测试速度快、容易维修、费用低、效率高等特点。   马克隆值为在特定条件下一团棉花的透气性的度量。实践经验表明,马克隆值与纺纱有着密切的关系,马克隆值过高或过低,其棉纤维可纺性能都较差,只有马克隆值适中的棉纤维才能获得较全面的纺纱经济效益。   1气流仪的基本原理   本仪器是气流式的马克隆值测定仪。马克隆气流仪的基本原理是以一定压力的气流通过固定容积内的定质量的纤维塞,由于纤维的表面积不同,对气流的阻力大小不同,在纤维塞两端产生的压力差或流量大小也不同。表面积小的
[单片机]
嵌入式基于C8051F<font color='red'>单片机</font>的气流仪
8051单片机教程第十课:数据传递类指令
单片机教程第十课数据传递类指令指令 累加器A与片外RAM之间的数据传递类指令 MOVXA,@Ri MOVX@Ri,A MOVXA,@DPTR MOVX@DPTR,A 说明: 1)在51中,与外部存储器RAM打交道的只可以是A累加器。所有需要送入外部RAM的数据必需要通过A送去,而所有要读入的外部RAM中的数据也必需通过A读入。在此我们可以看出内外部RAM的区别了,内部RAM间可以直接进行数据的传递,而外部则不行,比如,要将外部RAM中某一单元(设为0100H单元的数据)送入另一个单元(设为0200H单元),也必须先将0100H单元中的内容读入A,然后再送到0200H单元中去。 要读或写外部的RAM,
[单片机]
单片机中最小二乘方滤波器的向量测量和功率计算
    摘要: 提供了一种每周波四点采样的最小二乘方滤波器,通过整型变换和查表求根等优化算法,可在单片机中实现相量的快速测量。分析了滤波器中相量的相位关系,并提供了两线制功率的计算方法。     关键词: 最小二乘方滤波器 向量 单片机 功率 目前,以单片机为基础的数字式电气测量、保护装置已成为主流形式。交流信号直接采样也已成为一种普通的方法。快速傅立叶算法是其中的主要算法,而最小二乘方算法,计算量很大,特别是在单片机的处理能力有限的情况下,既要保证实时性,又要保证计算速度,不经过精心设计和程序优化,很难保证二者的统一。 通过减少采样次数、使用每周滤四个采样点拟合的滤波器和一套优化措施,使该算法计算速度大大
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved