单片机是大学电类专业的一门普通课,有些学校甚至把它列为选修课,在众多课程中,没有显出它有多么重要。为什么要学习它呢?因为,市场对学者继承人的需求太少,大量需要的是产品的研发者,研发产品是需要干实际事情的,需要研发工具,而单片机课程就是学习研发工具使用的课程。学习单片机课程与理论课程不一样,不能只做作业,而是要实际使用单片机。很多想学单片机的人问的第一句话就是:“怎样才能学好单片机”?今天和大家讨论对于如何开始学单片机、如何开始上手、如何开始熟练这些问题。

No.1

硬件

编程硬件

所谓编程就是把单片机运行的程序烧写到单片机的存储器中,目前大部分单片机都是使用FLASH存储器,这些存储器的写入次数一般是1000次左右,也有1万次或是10万次的。编程也叫程序下载或是烧写。  

实时仿真硬件

实时仿真是使用PC机,用软件监视在单片机中实际运行的程序,也就是当程序下载到单片机中后,实时运行程序,在程序中设置断点,通过仿真接口,监视和控制程序的运行。这个过程其实就是调试程序(实际验证程序的正确性)。编程器和仿真器可以是一个装置,也可以是各自独立的装置。

No.2

软件

单片机开发需要单片机开发软件的支持,软件分为:

  • 编程软件:该软件支持编程器工作,帮助编程器把程序写入单片机。

  • 实时仿真软件:该软件可以在仿真接口的支持下,调试单片机程序。

  • 虚拟仿真:该类软件支持在没有单片机硬件情况下的单片机程序调试。

  • 支持C语言:所有的单片机开发软件都支持汇编语言编程,但是目前人们更喜欢C语言编程,主要是C语言功能强大,可以缩短开发时间。目前就有支持上述功能的软件,例如51系列的Keil51、PIC系列的MPLAB,MSP430系列的IAR等。

No.3

学习单片机的手段

学习单片机的手段分为如下几种:

  • 买本单片机书,仔细研究。

  • 网上下载一个具有仿真功能的单片机开发软件(最好支持C语言),在计算机上对单片机虚拟仿真。

  • 购编程器(支持编程器的下载软件有编程器商提供)和实验板(又称为演示板或是目标板),网上下载开发软件。在开发软件的支持下对单片机虚拟仿真,确认单片机程序正确后,用编程器将程序下载到单片机中,观察程序的实际运行。

  • 购仿真接口和实验板,在网上下载单片机开发软件(支持编程、虚拟仿真、实时仿真和C语言),在虚拟仿真完成后,将程序下载到单片机中实时仿真。对于个人学习单片机,具有上述(4)的条件已经是很好了。

No.4

学习单片机过程中的困扰

单片机种类很多,各个公司提供的单片机、开发硬件和软件功能、价格都不一样,对于初学单片机有很多困惑。

单片机问题

目前单片机很多,学哪一个,其实学哪一个都可以,单片机虽然型号不同,但是芯片内部的资源种类都差不多,而且这些资源的使用方法也大同小异,可以说学会一种,其他种将融会贯通。究竟学哪一种,主要看具备的条件。

  • 51系列是老型号,书多、资料多、软件开放和硬件支持还可以,特别是Atmel公司的产品AT89系列,很多人就是学习这款单片机发家致富的。

  • AVR90系列,该系列也是Atmel公司的产品,指令少,学起来容易,芯片种类多,适合各种场合和需要,根据有关资料显示,目前该单片机芯片的使用数量很大,大有超过51系列芯片数量的趋势。

  • PIC系列,该系列是Microchip公司的产品,种类多,芯片抗干扰能力强,使用的人很多,特别是PIC16F877芯片,由于适合学校使用,在该公司大学计划的支持下,免费赠送开发器和实验板,因而使用该芯片的人群大增,也是可以和51系列单片机抗衡的单片机。

  • MSP430系列,是TI公司的产品,最近几年才被杭州利尔达公司引进,是16位、超低功耗单片机,特别适合手持设备等低功耗设备的开发,实际上,由于该系列引脚多,内部资源多(具有硬件乘法器),所以在很多产品开发上都有用武之地,据有关人士预测,该系列是最具前途的单片机。

还有很多单片机型号,由于不太了解,不敢妄加评论,但可以想象,一定是不错的单片机,否则就不会在竞争激烈的市场中存在。

开发软件问题

不同种类的单片机都配套有相应的开发软件,这些软件很多都是专业软件公司开发的。

  • 51系列,目前开发软件是Keil51,该软件支持C语言,但是在网上下载的版本,只支持2K程序。

  • PIC系列的开发软件是MPLAB,在HI-TECH公司C语言支持软件PICC的支持下,该软件很好用,但是PICC是需要激活密码才能运行的。

  • MSP430系列的开发软件是IAR,该软件有开放1个月的全功能限期版本和C语言4k支持版本,可见该系列的软件开放是最好的。

哪种单片机的开发软件开放的好,就会引起人们对该单片机的兴趣,单片机提供商也深谙此道,所以网上经常可以找到更开放版本的软件。

  

仿真接口

仿真接口,又称为仿真器,老式单片机由于没有FLASH存储器,所以仿真编程难度很大,新型号的单片机,几乎都有FLASH存储器的芯片,这样的芯片都支持在电路编程(在系统编程),所谓在电路编程,就是用3~5根线就可以将程序写入单片机,并能够将单片机内的程序运行情况、寄存器内容等信息传输到PC机上。这种编程方法需要在单片机与PC机之间安装一个仿真接口,该接口一般需要购买。AT89S51、PIC16F877就是具有这种能力的单片机。但是,对于初学者来说,支持该单片机编程和仿真的接口需要购买,而且简单接口在仿真时会占用芯片资源,给单片机系统开发带来不便。MSP430系列单片机也是具有这种能力的单片机,但是该单片机采用标准JTAG接口,JTAG是一种标准(IEEE1149.1),是为测试芯片而制定的,目的是用TCK、TDI、TDO和TMS四个信号来测试芯片的内部状态,为什么测试芯片还需要专门制定标准呢?这是因为复杂芯片引脚太多,特别是还有些芯片一旦安装到多层电路板上就无法看到引脚,更不要说测量了,这时就可以在计算机软件的支持下通过JTAG接口,对芯片进行测量,如果各个公司的芯片都符合该标准,就可以将各个芯片的JTAG口串联起来(外国人称为菊花链),无论在电路板上有多少芯片,只需4个引脚,就可以测量电路板上的所有芯片。既然可以测量芯片,当然可以将数据写入芯片,在可编程逻辑器件的数据下载中也使用JTAG接口,出现了在系统编程(ISP)的概念。  也就是,即使可编程逻辑器件安装到了系统中,也可以对其内部电路进行修改,JTAG技术和EDA软件的进步,使可编程逻辑器件的开发与使用得到快速发展。单片机也是在向这个方向努力,前几年出现在市场上的C8051单片机就是使用JTAG接口的单片机,不幸的是该单片机JTAG接口装置和开发软件很贵,阻碍人们使用该单片机。  使用JTAG口,必须在计算机与芯片JTAG接口之间连接一个接口装置,该装置随芯片而异,实际上JTAG接口装置都是很简单的(就是一个缓冲器),但是由于各个公司的早期产品不完全支持JTAG接口,而JTAG接口装置又必须兼容这些早期产品,就使得JTAG接口装置变的复杂了。

实验板

实验板是学习单片机所必须的,实验板又称为演示板、目标板,其实就是具有单片机的电路板,实验板可以购买,各个单片机的供应商都提供多种多样的实验板。实验板也可以根据需要自制,自制实验板是具有挑战的,需要学会画电路板图。  

选择单片机类型

  • 软件:支持C语言,免费下载。

  • 仿真器:用于仿真编程的JTAG接口装置可以自制(很重要,可以节省开支)。

  • 单片机:型号多、功能强、资源多、功耗低,程序存储器容量大。

  • 资料:书多、资料多,特别是网上资料多。

扫码入群扫码添加管理员微信

加入“电子产品世界”粉丝交流群

↓↓↓↓点击,查看更多新闻

51单片机下载完程序后不亮_为什么要学习单片机?如何开始上手学习单片机?...相关推荐

  1. 51单片机下载完程序后不亮_程序如何下载到单片机中?单片机常用的四种烧写程序方式介绍...

    单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计.方便了逻辑的设计.丰富了逻辑的输出.不同厂家的单片机需要不同编程IDE来实现编 ...

  2. 怎样让MDK下载完程序后直接就可以运行,而不用手动复位或重新上电等操作

    设置:options for target->Debug->Use->Setting->Flash Download->Reset and Run. 如下图:

  3. TIA西门子博途下载HMI程序后,画面中文字体显示乱码的处理对策

    TIA西门子博途下载HMI程序后,画面中文字体显示乱码的处理对策 大家在使用或更换精简屏或精智屏时可能会碰到,组态好的项目下载到HMI后,出现了中文字体显示乱码等异常情况,这时,我们需要注意字体的使用 ...

  4. Keil用ST-LINK下载STM32程序后不自动运行

    Keil版本是MDK533,Debugger是ST-LINK,MCU是STM32L151RCT6. 下载程序后,MCU不会自动运行程序,必须要在调试模式下运行,而且MCU重新上电后程序也不运行.在调试 ...

  5. 为什么要学习单片机?如何开始上手学习单片机?

    No.1 硬件 编程硬件 所谓编程就是把单片机运行的程序烧写到单片机的存储器中,目前大部分单片机都是使用FLASH存储器,这些存储器的写入次数一般是1000次左右,也有1万次或是10万次的.编程也叫程 ...

  6. inno setup打包的安装包如何在卸载完程序后可以继续安装_这两个方法就够了!快速制作Python程序Windows安装包...

    点击关注州的先生 编程应用.实战教程,不容错过 /00/ 前言 我们使用Python可以编写很多提高工作和学习效率的小工具,在编写完之后,如果我们想将其分享给更多的人使用,那么最便捷的方法就是将其打包 ...

  7. 为什么java下载安装程序很慢_【关注】微信小程序开发和APP开发的10种区别!

    在移动互联网大火的时代,APP和微信小程序已经成为了企业从移动端获取用户流量,实现盈利的重要端口. 因为微信小程序体积小,操作方便,省去了下载安装这一操作,导致这两年微信小程序的势头是越来越猛,甚至有 ...

  8. 单片机长时间程序跑飞_单片机程序跑飞的三种现象、原因及解决方法

    今天在编写单片机程序的时候,由于中断服务程序写的不好,导致单片机程序总是跑飞,最后费了好长时间,花了很大功夫才找到问题原因,由此总结了单片机程序跑飞的三种现象.原因及解决方法. 一.数组越界(数组溢出 ...

  9. 软件工程学完java后干_软件工程学习后的一些体会--------两周

    软件工程这门课在印象中就是一门理论课,因为以前没有接触过,想象中的场景是:老师打开ppt,然后照本宣科的开始念经.在第一节课上,作为见面礼,老师开场赠送的一波营养丰富的鸡汤确实很是鲜美,听后信誓旦旦的 ...

最新文章

  1. 数据库及页面乱码问题
  2. 起底华为计算战略:十五年研发下苦功,三年连发10芯加速,目前2万工程师奋战...
  3. js 根据所输内容生成助记码
  4. 【面试必备】静态路由与配置相关知识点详解
  5. python鼠标拖拽功能_selenium鼠标移动、拖拽、双击、长按等操作
  6. hibernate 序列_Hibernate身份,序列和表(序列)生成器
  7. js获取当前日期星期几
  8. FTP多用户权限 linux环境 一站式解决方案(基础篇)
  9. 信息学奥赛一本通C++语言——1019: 浮点数向零舍入
  10. 4013-基于深度优先搜索的两顶点路径存在与否的判断(C++,附详细思路)
  11. 【Flink】FLink 写入kafka 中关于 Exactly-Once 的一些思考
  12. 动态代理 aop切面实现事务管理
  13. 剑指offer: 两个栈实现一个队列
  14. 基于AChartEngine绘制股票走势图----分时图二(五日,涨跌涨跌幅)
  15. wow3.13大脚插件
  16. 投资理财之基金四:指数基金
  17. Vue3 异步组件 suspense
  18. 互联网创业公司是否需要技术外包?
  19. 搭建机器人电控系统——PID算法——位置式、增量式、模糊式PID
  20. ppt里插入python(code)代码高亮

热门文章

  1. oracle中匹配函数怎么用,Oracle中的正则表达式(及函数)详解
  2. MATLAB的MEX文件编写和调试
  3. 什么是ui设计师:ui设计学什么内容
  4. itchat微信好友信息统计(性别区域)
  5. 如何参与linux 内核开发
  6. 基于hexo使用github.io免费域名搭建个人博客记录
  7. Task 3: Subword Models (附代码)(Stanford CS224N NLP with Deep Learning Winter 2019)
  8. 计算机组装 仿真交互,《计算机硬件组装》仿真交互系统设计与实现.doc
  9. 基于深度学习的遥感影像语义分割数据预处理
  10. [SDOI2018]旧试题 题解