如何学习单片机
- 格式:doc
- 大小:49.50 KB
- 文档页数:9
单片机编程设计的学习方法和步骤6篇第1篇示例:单片机是现代电子技术中非常重要的一个组成部分,它应用广泛,包括家电、汽车、工业控制等领域。
学习单片机编程设计是非常有必要的。
下面将介绍一些学习单片机编程设计的方法和步骤。
一、基础知识的学习学习单片机编程设计首先要掌握一些基础知识,比如数字电路、模拟电路、数字信号处理等。
这些知识是学习单片机编程的基础,只有掌握了这些知识,才能更好地理解单片机的工作原理和编程方法。
还要学习一些相关的编程语言,比如C语言、汇编语言等。
这些编程语言是单片机编程的主要工具,只有熟练掌握了这些语言,才能写出高效、可靠的单片机程序。
二、选择合适的单片机在学习单片机编程设计之前,需要选择一款合适的单片机。
目前市面上有很多种单片机,比如51单片机、AVR单片机、ARM单片机等。
每种单片机都有自己的特点和应用领域,因此需要根据实际需求选择一款合适的单片机进行学习。
三、学习开发工具的使用学习单片机编程设计还需要掌握一些开发工具的使用,比如Keil、IAR、CodeWarrior等。
这些开发工具能够帮助我们进行单片机程序的编写、调试和下载,是单片机编程设计的重要辅助工具。
四、实验练习学习单片机编程设计不能脱离实际,需要进行大量的实验练习。
可以选择一些经典的单片机实验,比如LED闪烁实验、数码管显示实验等,通过这些实验来巩固所学的知识,并且可以更好地理解单片机的工作原理和编程方法。
五、参考书籍和资料在学习单片机编程设计的过程中,还可以参考一些相关的书籍和资料,比如《嵌入式系统设计与开发》、《单片机原理与应用》等。
这些书籍和资料能够帮助我们更加深入地理解单片机的工作原理和编程方法。
六、多交流多实践学习单片机编程设计过程中,可以多与同行交流,多参加一些相关的技术讲座、学术会议等。
还可以利用一些开源项目,多实践,多尝试新的编程方法和技术,从而不断提高自己的单片机编程设计水平。
学习单片机编程设计是一个需要不断学习和实践的过程。
零基础的单片机教学大纲零基础的单片机教学大纲在当今科技日新月异的时代,学习单片机编程成为了越来越多人的选择。
单片机作为一种嵌入式系统,广泛应用于电子设备、通信、汽车等领域。
然而,对于零基础的学习者来说,如何系统地学习单片机编程却是一个挑战。
本文将提供一份零基础的单片机教学大纲,帮助初学者快速入门。
第一阶段:基础知识的学习在学习单片机编程之前,我们需要先了解一些基础知识。
首先,我们需要了解什么是单片机以及它的工作原理。
单片机是一种集成电路,内部包含了处理器、存储器、输入输出接口等功能单元,可以实现各种任务。
了解单片机的基本组成结构对于后续的学习非常重要。
其次,我们需要学习C语言编程基础。
C语言是单片机编程的主要语言,熟悉C语言的语法和常用函数对于理解和编写单片机程序至关重要。
可以通过参加C语言培训班或者自学相关教材来掌握C语言的基础知识。
第二阶段:单片机的入门实践掌握了基础知识后,我们可以开始进行单片机的入门实践。
首先,我们可以选择一款适合初学者的开发板,如Arduino等。
开发板提供了丰富的资源和简化的开发环境,方便我们进行实验和学习。
在实践中,我们可以从简单的实验开始,如LED闪烁、按键控制等。
通过这些实验,我们可以熟悉单片机的输入输出接口,了解如何控制外部设备。
同时,我们还可以学习如何使用开发板的库函数和API,简化编程过程。
第三阶段:深入学习单片机编程在掌握了基础知识和入门实践后,我们可以进一步深入学习单片机编程。
首先,我们可以学习更高级的单片机编程技术,如中断、定时器、串口通信等。
这些技术可以提高程序的效率和响应速度,使我们能够实现更复杂的功能。
同时,我们还可以学习如何使用外部设备和传感器与单片机进行交互。
例如,学习如何使用温度传感器、光敏传感器等监测环境参数,并通过单片机进行数据处理和显示。
这些实践将帮助我们更好地理解单片机的应用场景和工作原理。
第四阶段:项目实践与拓展在掌握了单片机编程的基础知识和技术后,我们可以开始进行项目实践和拓展。
单片机编程设计的学习方法和步骤6篇第1篇示例:单片机编程设计是现代电子科技领域的一门重要课程,也是电子工程师必备的技能之一。
掌握单片机编程设计,不仅可以帮助我们更好地理解电子技术的原理,还可以应用到各种电子设备的开发和控制中。
下面我们将介绍关于单片机编程设计的学习方法和步骤,希望能够帮助初学者快速上手。
一、理论基础的学习在学习单片机编程设计之前,首先需要了解一些基础的电子知识和计算机知识。
比如了解数字电路、模拟电路、计算机组成原理等方面的知识,这些知识将帮助我们更好地理解单片机的工作原理和编程方法。
还需要掌握一些常用的编程语言,如C语言、汇编语言等,这些语言将是我们进行单片机编程设计的基础。
二、选购开发板在学习单片机编程设计时,需要一块单片机开发板来进行实践操作。
开发板通常包含了单片机芯片、外围电路、IO口、通信接口等,可以直接连接到电脑上进行编程调试。
选择一款适合自己学习的开发板是非常重要的,可以根据自己的学习需求和预算来选择。
三、学习相关资料在学习单片机编程设计之前,可以通过阅读一些相关的书籍、教程、视频资料等来了解单片机的基本知识和编程方法。
还可以参加一些单片机培训班或者在线课程,通过系统的学习来提高自己的技能。
四、实践操作学习单片机编程设计最重要的就是要进行实践操作,通过编写程序、调试代码来加深对单片机编程的理解。
可以从简单的LED灯闪烁、按键控制等小项目开始,逐渐增加难度,挑战更复杂的项目。
通过实践操作可以更好地掌握单片机编程设计的技巧和方法。
五、参与项目实践除了自己进行实践操作外,还可以参与一些项目实践,比如参加一些单片机比赛、电子设计大赛等活动。
通过参与项目实践,可以锻炼自己的动手能力和解决问题的能力,提高自己的实战经验。
通过以上几个步骤的学习和实践,相信大家能够快速提高自己的单片机编程设计能力,逐渐成为一名优秀的电子工程师。
希望大家在学习单片机编程设计的过程中,不断积累经验,勇于探索,不断挑战自己,相信你一定能够取得成功!第2篇示例:单片机编程设计是电子技术领域的一项重要技能,对于想要从事硬件开发或嵌入式系统开发工作的人来说,掌握单片机编程设计是至关重要的。
单片机学习计划
为了提升自己在单片机领域的技术水平,我制定了以下学习计划:第一阶段:入门基础知识
在这个阶段,我将学习单片机的基本概念,包括单片机的定义、工
作原理、常见的单片机芯片类型等。
我计划通过阅读相关书籍和教程,掌握单片机的基本知识,为后续学习打下坚实的基础。
第二阶段:学习编程语言
单片机的程序设计是十分重要的一环,我打算学习单片机常用的编
程语言,比如C语言、汇编语言等。
通过编程实践,我将掌握单片机
程序设计的基本技能,能够实现简单的功能。
第三阶段:学习硬件设计
单片机的硬件设计是单片机工程师必须掌握的技能之一。
在这个阶段,我将学习如何设计单片机系统的硬件,包括电路原理、元器件的
选择和搭建等。
通过实际操作,我将掌握硬件设计的基本技能。
第四阶段:项目实践
在此阶段,我将通过完成一些简单的单片机项目来巩固所学的知识。
比如LED灯控制、蜂鸣器驱动等。
通过实践项目,我将能够将理论知
识应用到实际项目中,提高自己的实战能力。
第五阶段:深入应用
在单片机学习的最后阶段,我将学习一些高级应用,比如电机控制、通信协议、无线通信等。
通过深入应用的学习,我将提高自己在单片
机领域的技术水平,为将来的工作做好准备。
通过以上学习计划的执行,我相信我将能够在单片机领域取得长足
的进步,提升自己的技术水平,为将来的发展打下坚实的基础。
让我
们一起加油!。
学习单片机的八个步骤学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编写。
第一步:数字I/O的使用使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。
每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。
第二步:定时器的使用学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。
数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。
定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。
第三步:中断单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。
要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。
中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等。
如何学习单片机范文学习单片机是电子工程领域的基础课程之一,也是实现各种电子设备的核心技术之一、下面是一个详细的学习单片机的指南,帮助你系统地掌握这门技术。
一、了解单片机的基本概念1.什么是单片机:单片机是一种嵌入式微型计算机系统,拥有处理器、内存、输入输出接口等基本组成部分。
2.单片机的工作原理:了解单片机的工作原理,包括指令执行、时钟控制、输入输出等。
3.单片机的分类:了解不同厂商的单片机系列,如8051单片机、PIC单片机、AVR单片机等。
二、学习单片机的基础知识1.学习C语言:C语言是单片机编程的主要语言,掌握基本的C语言语法和编程技巧。
2.计算机原理:了解计算机的基本原理,包括逻辑电路、存储器、输入输出等。
3.电路基础知识:了解电子电路的基本知识,如电压、电流、电阻、电容、电感等。
三、学习单片机的编程技巧1. 熟悉单片机的开发环境:安装单片机的开发环境(如Keil、IAR 等),了解IDE的基本使用方法。
2.学习单片机的指令系统:熟悉不同单片机的指令系统,了解常用指令的功能和使用方法。
3.学习单片机的编程技巧:学习单片机的编程技巧,包括位操作、时间控制、中断处理等。
4.学习单片机的外设编程:掌握单片机的各种外设编程,如输入输出口、定时器、串口等。
四、进行实践项目1.小型项目:从简单的LED闪烁、数码管显示等小型项目开始,逐步掌握单片机的基本编程技巧。
2.大型项目:尝试设计和实现更复杂的单片机项目,如遥控器、温度控制器等,从原理设计到硬件调试都要参与。
3.自主创新:在掌握了基本的单片机知识之后,可以尝试自主创新,设计并实现自己的单片机应用项目。
五、深入学习单片机的高级知识1.学习单片机的底层编程:了解如何使用汇编语言编写单片机程序,理解底层编程的原理和方法。
2.学习单片机的硬件设计:学习如何进行单片机的硬件设计,包括原理图设计、PCB设计等。
3.学习单片机的系统级开发:了解嵌入式系统的开发方法,包括系统框架设计、操作系统的使用等。
初学者怎么入门单片机许多初学者想学习单片机,但是却不知道怎么入门,该从何学起。
下面依据本人的阅历说说看法,入门之后学习起来并不是很难,反而是一件很好玩的事情,可以依据自己的想法实现许多功能,自己动手DIY设计项目。
第一、学习单片机需要一些相关的基础学问:1)要有电路、模拟电路基础,可以不精通,但起码对这些学问有个概念,熟识一些常用的基础元器件的用法,比如电阻、电容的作用,了解二极管、三极管的基本用法,能够理解单片机最先系统电源电路、晶振电路和复位电路的工作原理;2) 数字电路基础,单片机本身就是依据数字电路原理运行的,起码理解数字电路的"0"、和"1"概念,了解数字电路的门电路,把握真值表;3)C语言学问,目前市场上的单片机几乎都是用C 语言开发的,已经很少人应用到汇编语言,除非一些特别的要求,所以必需把握C语言的程序结构和基本语法。
其次、有了上面的基础学问之后,选择一款单片机平台进行入门,目前市场上的单片机类型有51单片机、MSP430单片机、AVR单片机、飞思卡尔单片机、STM32单片机、PIC单片机等,51单片机始终是教学入门的主流单片机,个人建议还是从51单片机开头入门。
选择好单片机之后就是安装单片机开发环境,51单片机的开发环境推举2个,(1)可以使用keil开发环境(首选),keil是最早、功能最强的51单片机开发环境,对以后使用MDK更简单上手;(2)也可以使用IAR开发环境,IAR为主流的单片机通用开发环境(支持51、MSP430、AVR、PIC等几乎全部主流单片机)。
第三、购买单片机开发学习板进行实践,最好选择功能较全资料、具体的开发板,刚开头时根据例子程序自己实践一遍,熟识单片机软件、下载器、开发板的使用,熟识到肯定程度之后自己更改软件代码实现自己想要的功能,单片机入门一般都从点亮LED灯,实现流水灯灯简洁功能开头,把单片机的IO口、计数器/定时器、中断、ADC、SCI、SPI等功能全部熟识一遍,这时单片机已经基本学习得差不多了。
单片机学习方法和步骤学习单片机的动机不外乎有四种:一是为兴趣爱好而学,二是为专业而学;三是为饭碗而学;四是在工作中被逼而学。
不管是哪种动机,因主修专业的不同以及电子基础的深浅不同,对于不同的人可能采用不同的学习方法,根据笔者的亲身学习经验和教授徒弟学习的感受,提出笔者的学习方法和步骤。
第一步:基础理论知识学习基础理论知识包括模拟电路、数字电路和C语言知识。
模拟电路和数字电路属于抽象学科,要把它学好还得费点精神。
在你学习单片机之前,觉得模拟电路和数字电路基础不好的话,不要急着学习单片机,应该先回顾所学过的模拟电路和数字电路知识,为学习单片机加强基础。
否则,你的单片机学习之路不仅会很艰难和漫长,还可能半途而废。
笔者始终认为,扎实的电子技术基础是学好单片机的关键,直接影响单片机学习入门的快慢。
有些同学觉得单片机很难,越学越复杂,最后学不下去了。
有的同学看书时似乎明白了,可是动起手来却一塌糊涂,究其原因就是电子技术基础没有打好,首先被表面知识给困惑了。
单片机属于数字电路,其概念、术语、硬件结构和原理都源自数字电路,如果数字电路基础扎实,对复杂的单片机硬件结构和原理就能容易理解,就能轻松地迈开学习的第一步,自信心也会树立起来。
相反,基础不好,这个看不懂那个也弄不明白,越学问题越多,越学越没有信心。
如果你觉得单片机很难,那就应该先放下单片机教材,去重温数字电路,搞清楚触发器、寄存器、门电路、COMS电路、时序逻辑和时序图、进制转换等理论知识。
理解了这些知识之后再去看看单片机的结构和原理,我想你会大彻大悟,信心倍增。
模拟电路是电子技术最基础的学科,她让你知道什么是电阻、电容、电感、二极管、三极管、场效应管、放大器等等以及它们的工作原理和在电路中的作用,这是学习电子技术必须掌握的基础知识。
一般是先学习模拟电路再去学习数字电路。
扎实的模拟电路基础不仅让你容易看懂别人设计的电路,而且让你的设计的电路更可靠,提高产品质量。
单片机的学习方法学习步骤单片机是指具有一定计算能力和处理器能力的微型计算机系统,它通常是由CPU、内存、IO接口等部分组成,适用于各种嵌入式系统和设备中。
随着单片机的应用范围的不断扩大,许多人开始尝试学习如何使用和编程单片机。
但是,对于初学者来说,单片机学习还是比较困难的,因为其需要具备一定的硬件原理和编程知识。
为了帮助大家更好地学习单片机,本文介绍一种简单、易行的单片机学习方法和学习步骤。
一、学习前的准备在开始学习单片机之前,需要准备一些基础知识和学习工具,这些将有助于确保学习效果和提高学习效率。
具体包括以下几个方面:1.基础知识单片机的学习需要一定的电子学和计算机原理知识,包括数字电路的基础知识、计算机的硬件结构、操作系统的原理、编程语言的常识等。
2.硬件工具学习单片机需要购买一些学习设备,例如开发板、编程器、传感器、LED等等,这些设备将有助于了解单片机的工作原理和编程实践。
3.软件工具单片机学习需要一些编程软件,例如Keil C51、IAR等,这些工具将有助于编写程序代码和调试代码。
二、学习步骤1.学习单片机基础概念单片机学习的第一步是学习基础概念和基本原理。
这包括了解单片机的结构、寄存器的作用、I/O口的操作、定时器和中断的使用等基础知识。
2.熟悉单片机开发工具单片机开发工具通常包括开发板、编程器、调试工具等,学习者需要了解这些工具的功能和使用方法,例如如何连接开发板、如何编译和下载代码、如何使用标准模板库等。
3.学习程序设计和调试单片机的程序设计是单片机学习的重点和难点,学习者需要掌握如何编写程序代码、如何调试程序等。
一些经典的程序实例和程序模板将有助于了解程序设计和调试的方法和技巧。
4.实验和实践学习单片机需要不断地进行实验和实践,例如LED灯的闪烁、按键控制电路、温度和湿度的检测等等。
实验和实践的过程中,学习者可以加深对单片机的理解和使用。
5.案例分析和项目开发单片机学习的终极目标是能够应用于各种嵌入式系统和项目中,因此,学习者应注意案例分析和项目开发。
学习单片机----我们该做什么?学习单片机也已经有几年了,藉此机会和大家聊一下我学习过程中的一些经历和想法吧。
也感谢一线工人提供了这个机会。
希望大家有什么好的想法和建议都直接跟帖说出来。
毕竟只有交流才能够碰撞出火花来^_^。
“卖弄”也好,“吹嘘”也罢,我只是想认真的写写我这一路走来历经的总总,把其中值得注意,以及经验的地方写出来,权当是我对自己的一个总结吧。
而作为看官的你,如果看到了我的错误,还请一定指正,这样对我以及其它读者都有帮助,而至于你如果从中能够收获到些许,那便是我最大的欣慰了。
姑妄言之,姑妄听之。
如果有啥好的想法和建议一定要说出来。
几年前,和众多初学者一样,我接触到了单片机,立刻被其神奇的功能所吸引,从此不能自拔。
很多个日夜就这样陪伴着它度过了。
期间也遇到过非常多的问题,也一度被这些问题所困惑……等到回过头来,看到自己曾经走过的路,唏嘘不已。
经常混迹于论坛里,也看到了很多初学者发的求助帖子,看到他们走在自己曾走过的弯路上,忽然想到了自己的那段日子,心里竟然莫名的冲动,凡此总总,我总是尽自己所能去回帖。
很多时候,都想写一点什么东西出来,希望对广大的初学者有一点点帮助。
但总是不知从何处写起。
今天借一线工人的台,唱一唱我的戏一路学习过来的过程中,帮助最大之一无疑来自于网络了。
很多时候,通过网络,我们都可以获取到所需要的学习资料。
但是,随着我们学习的深入,我们会慢慢发现,网络提供的东西是有限度的,好像大部分的资料都差不多,或者说是适合大部分的初学者所需,而当我们想更进一步提高时,却发现能够获取到的资料越来越少,相信各位也会有同感,铺天盖地的单片机资料中大部分不是流水灯就是LED,液晶,而且也只是仅仅作功能性的演示。
于是有些人选择了放弃,或者是转移到其他兴趣上面去了,而只有少部分人选择了继续摸索下去,结合市面上的书籍,然后在网络上锲而不舍的搜集资料,再从牛人的只言片语中去体会,不断动手实践,慢慢的,也摸索出来了自己的一条路子。
当然这个过程必然是艰辛的,而他学会了之后也不会在网络上轻易分享自己的学习成果。
如此恶性循环下去,也就不难理解为什么初级的学习资料满天飞,而深入一点的学习资料却很少的原因了。
相较于其他领域,单片机技术的封锁更加容易。
尽管已经问世了很多年了,有价值的资料还是相当的欠缺,大部分的资料都是止于入门阶段或者是简单的演示实验。
但是在实际工程应用中却是另外一回事。
有能力的高手无暇或者是不愿公开自己的学习经验。
很多时候,我也很困惑,看到国外爱好者毫不保留的在网络上发布自己的作品,我忽然感觉到一丝丝的悲哀。
也许,我们真的该转变一下思路了,帮助别人,其实也是在帮助自己。
啰啰嗦嗦的说了这么多,相信大家能够明白说的是什么意思。
在接下来的一段日子里,我将会结合电子工程师之家举办的主题周活动写一点自己的想法。
尽可能从实用的角度去讲述。
希望能够帮助更多的初学者更上一层楼。
而关于这个主题周的最大主题我想了这样的一个名字“从单片机初学者迈向单片机工程师”。
名字挺大挺响亮,给我的压力也挺大的,但我会努力,争取使这样的一系列文章能够带给大家一点帮助,而不是看后大跌眼镜。
这样的一系列文章主要的对象是初学者,以及想从初学者更进一步提高的读者。
而至于老手,以及那些牛XX的人,希望能够给我们这些初学者更多的一些指点哈~@_@我们为什么要学单片机?单片机是大专学校电类专业的一门普通课,有些学校甚至把它列为选修课,在众多课程中,没有显出它有多么重要。
为什么要学习它呢?电类专业有很多专业课,这些专业课非常重要,是各个专业存在的必需课程,学完这些课程可以使学习者成为大学者的继承人,市场对学者继承人的需求太少,大量需要的是产品的研发者,研发产品是需要干实际事情的,需要研发工具,而单片机课程就是学习研发工具使用的课程。
学习单片机课程与理论课程不一样,不能只做作业,而是要实际使用单片机,下面就如何准备学习单片机的条件和学习步骤简述一些不成熟的想法。
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)实验板实验板是学习单片机所必须的,实验板又称为演示板、目标板,其实就是具有单片机的电路板,实验板可以购买,各个单片机的供应商都提供多种多样的实验板。