㈠ pic单片机与51单片机有什么区别
1、总线结构不同
MCS-51的总线结构是冯-诺依曼型,计算机在同一个存储空间取指令和数据,两者不能同时进行;而PIC的总线结构是哈佛结构,指令和数据空间是完全分开的,一个用于指令,一个用于数据,由于可以对程序和数据同时进行访问,所以提高了数据吞吐率。
正因为在PIC系列单片机中采用了哈佛双总线结构,所以与常见的微控制器不同的一点是:程序和数据总线可以采用不同的宽度。数据总线都是8位的,但指令总线位数分别位12、14、16位。
2、流水线结构不同
MCS-51的取指和执行采用单指令流水线结构,即取一条指令,执行完后再取下一条指令;而PIC的取指和执行采用双指令流水线结构,当一条指令被执行时,允许下一条指令同时被取出,这样就实现了单周期指令。
3、寄存器组
PIC的所有寄存器,包括I/O口,定时器和程序计数器等都采用RAM结构形式,而且都只需要一个指令周期就可以完成访问和操作;而MCS-51需要两个或两个以上的周期才能改变寄存器的内容。
(1)PIC单片机基础与实例进阶扩展阅读:
单片机的应用
1、单片机在智能仪表中的应用单片机广泛地用于各种仪器仪表,使仪器仪表智能化,并可以提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。
2、单片机在机电一体化中的应用机电一体化是械工业发展的方向。机电一体化产品是指集成机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品。
例如微机控制的车床、钻床等。单片机作为产品中的控制器,能充分发挥它的体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。
3、单片机在实时控制中的应用单片机广泛地用于各种实时控制系统中。例如,在工业测控、航空航天、尖端武器、机器人等各种实时控制系统中,都可以用单片机作为控制器。单片机的实时数据处理能力和控制功能,可使系统保持在最佳工作状态,提高系统的工作效率和产品质量。
㈡ 单片机工作总结
单片机工作总结
总结是对过去一定时期的工作、学习或思想情况进行回顾、分析,并做出客观评价的书面材料,它可以促使我们思考,因此十分有必须要写一份总结哦。我们该怎么去写总结呢?下面是我帮大家整理的单片机工作总结,希望对大家有所帮助。
单片机是一门应用性和综合性很强的学科,它综合了电子技术中的模拟电路和数字电路方面的知识,特别是数字电路,因为数字电路在里面的应用很多。学习单片机最好先从汇编语言入手,虽然汇编语言是低级语言 ,编程效率低,但它比C语言占用内存小,执行速度快等优点,在刚接触单片机时更容易学习。由于单片机涉及的知识很多,所以我们只能循序渐进的学习,逐步的积累,没有什么捷径可循。
刚开始学习的时候,对单片机没有什么认识,不知道什么是单片机,更不知道它有什么作用。通过学习才大体知道了单片机的一些知识。由中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O接口、定时器/计数器以及串行通信接口等集成在一块芯片上,构成了一个单片微型计算机,简称为单片机。它的应用范围很广,在工业自动化中应用有数据采集、测控技术。在智能仪器仪表中应用有数字示波器、数字信号源、数字万用表、感应电流表,自动取款机等。在消费类电子产品中应用有洗衣机、电冰箱、空调机、电视机、微波炉、手机、IC卡、汽车电子设备等。在通讯方面应用有调制解调器、程控交换技术、手机、小灵通等。在武器装备方面应用有飞机、军舰、坦克、导弹、航天飞机、鱼雷制导、智能武器等。刚开始学习是总觉得指令语句太过复杂,怎么也记不住,这时只能多练、多记,刚开始连一个最简单的控制一盏小灯的亮灭的程序都不会写,只能抄写别人做成功的程序,一遍一遍的写,直到能熟练的独自将程序写出来,从简单的入手,逐步的积累,对单片机就会有新的认识,能够自己独立的写一些小的程序,能够将小的程序结合到一起,拼接成较为复杂一些的程序。刚接触KEIL时确实很让人头疼,使用 KEIL不会建项目、不会使用实验板。遇到困难要一件件攻克,不会建项目,就到教学视频里找,仔细看一下,做几次就懂了。然后可以参考已经成功的程序,抄过来,写一个最简单的,让它运行起来,先培养一下自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序,要做的工序不会差多少,总得建个项目,再配置一下项目,然后建个程序,加入项目中,再写代码、编译、生成HEX,刷进单片机中、运行。
我的英文得到了提高,自己也爱上了单片机,下面是我学习单片机中的一些经验总结:
1. 万事开头难,要勇敢的迈出第一步。开始时候是有点难度,但不要为自己找借口,要勇敢的迈出第一步,以后的路就会慢慢地顺起来了。
2. 知识点用到才学,不用的暂时放在一边。这个世界,如果每样东西都学,自己就会太累,但这并不是说有些东西可以不学,像在哪里都可以用到的时序图等就要好好的研究一下了。
3. 程序不要光看别人的而不写,一定要自己看了别人怎么写后自己再写一遍,最好这时什么都不要参考,凭自己的印象去写,遇到错误时再好好看下,可以收到事半功倍效果。
4. 必须学会掌握调试程序的方法,自己的程序遇到错误时一定要自己慢慢的把它调出来,有些人写好程序后发现问题,就到q群里或论坛上发表帖子,等着别人来回答,这对自己是没有好处的。
5. 找到解决问题的思路比找到代码更重要,世界上的事情千变万化,就像不可能找到两片相同的叶子一样,世界上也找不到使用同一个代码的项目,所以要学会自己分析问题,找出解决问题的方案。
6. 开动脑筋,运用多种方法,不断优化自己的程序,这是锻炼你写程序能力的一个很好的方法,这对于提高元器件执行的效率也是很重要的。
7. 看别人的代码,学习别人的思路。这是一种很有用的方法,可以把别人的思路与自己的相比较,发现自己的优缺点。
8. 着重培养自己解决问题的能力,而不是看自己写过多少代码或者做过什么,这个最好的方法就是做一些具体的项目,从中培养自己解决问题的能力。
9. 尝试写一下综合应用的程序,这个是很重要的,因为独立可以的综合在一起后并不一定可以正常工作。
10. 如果有可能,多学习一下计算机专业的课程,例如数据结构,毕竟单片机与程序的设计也是不能分开的,这是一个综合的科目。
11. 面对一个新的项目,要先自己想下怎么做,而不是单单地找别人的代码,这是很重要的,因为只有这样做,自己才能独立去思考一个新的东西,也更有可能创造出一个更好的程序。 有时候单片机的学习很单调,有些知识学起来很抽象,不容易理解,只能慢慢适应,一边学习理论知识,一边编写程序,将程序刷入单片机进行调试,通过这种方式才能更快速的学习单片机。同事也会从学习中体会成功的喜悦。
好了,自己的单片机的学习心得也就这么几句,若有不对的地方,请多包涵,也愿学习单片机的人能学有所成。
作为一个刚刚从事单片机工作不久的我来说,对于单片机我了解了一段时间,但总感觉无从入手,理论性的东西看了几遍也不会把它用到实处,通过这次彩灯控制实验,我也对单片机有了一定的了解。单片机是一门非常重视实践的技术,不能总是看书,但要学习它首先应看书,对单片机引脚、内部结构、寄存器和原理有一定地了解和感官认识,它的是怎样工作的,能干些什么?以前看学长做的流水灯我还不知道原理,现在总算清楚了。
在短短的几周工作时间里,真的学了很多,对我来说,编程是个问题,但我知道这是任重而道远的。我上的第一节课是关于流水灯左右循环移动在实验箱上的实现,这个程序老师教了但还是搞不懂,后来通过同学之间相互探讨,终于理解了,最重要的还是C语言没学好,二进制转换为十六进制是很普通的但我还是不会,现在已经掌握了。‘纸上得来终觉浅,绝知此事要躬行。’在短暂的学习过程中,我深深感觉到自己在实际应用中的专业知识的匮乏,总以为自己还可以,一旦接触到实际,才知道自己知道的是多么少,这时才真正领悟到“学无止境”的含义。
“千里之行,始于足下。”这是一个短暂而充实的话。每看懂一个程序自己试着学人家编,去修改,去记录,终于能略懂,这确实让人深有体会。兴趣是最好的老师,这样才能坚持,要在以后积累很多经验。主要肯不耻下问,那就会学到很多东西。最后一句:基础很重要,实践也同样重要。必须要有学习单片机的热情,这样才能学好单片机。谢谢老师几周以来的指导。
经过一周的课程设计,我收获颇多,有深刻的心得体会。实训让我们受益匪浅。首先是关于单片机方面的。我们学到了许多关于单片机系统开发的知识,从最开始选题到最后的结题,更使我们得到了充分的锻炼。其次,它让我体会到了什么才是teamworkspirit。一如:团队管理的经验、团队意识的提升和协调能力等等,这些都会让我们终身受益。
通过此次课程设计,使我更加扎实的掌握了有关电子线路单片机方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查我终于找出了问题所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践才能出真知,实践才是检验真理的唯一标准,唯有通过亲自动手制作,才能令我们掌握的知识不再是一些纸上谈兵的东西。
在这次的课程设计中,我们遇到了很多困难,过程很艰难,但是我们都克服了,这是对我们自己的肯定。我们不断发现错误,不断改正,不断领悟,不断获取。我们也曾灰心,也曾茫然,也曾不知所措,从一开始的自信满满,到最后的紧张繁杂,所有的这些都令我们回味无穷,这已经成为了我们人生的一个宝藏。我想今后的学习和工作也是这样的,汗水见证着成功,我想十年过后,但我们都已经走入了社会,在某个阳光明媚的夏日,午后醒来,突然想起大学经历的时候,最先映入脑海里的就是这门课程吧,就是这些为了一个共同的目标,相互合作,共同奋斗的日子吧。
不可否认,单片机是一门比较难的专业学科。但是经过这一学期的学习,我们觉得单片机这门课很好,让我们在设计中掌握课程,具有很强的实用性。在社会上,单片机也应用极其广泛。通过这次课程设计,我掌握了常用元件的识别和测试;熟悉了常用仪器、仪表;了解了电路的连线方法;以及如何提高电路的性能等等。我相信在接下来的日子里,我会更深刻地去研究它,发掘它。
在这次的实训里,我觉得过得很充实。实训,不仅培养了我们独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。汗水,是我们努力的过程,更是成功的使者。它是希望的凝聚。
回首此次实训,我们真的学到了很多很多。巩固了以前所学过的知识,将理论与实际结合起来,不断提高自己的实际动手能力和独立思考的能力,并学会去使用知识。当然不仅仅是这些课本上的知识,更重要的是一些课本上没有但是也很重要的知识,像是团队合作精神等。当我们都已经走入了社会,在某个阳光明媚的夏日,午后醒来,突然想起大学经历的时候,回忆起这些泛着汗水的时光的时候,定然会被我们的团队感动。
成功后会很喜悦,但过程一样令我们回味无穷。此次设计也让我明白了思路即出路,学问学问,有学必问。只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识。亲历亲为,亲手实践才是硬道理。希望这样的实训能够继续下去,并不断地前进,帮助更多的学生更好地学习单片机,并能够在使用中发现它的无穷魅力!
从刚开始接触单片机,到现在已经有4年的时间了,在这期间学习和使用了51单片机、飞思卡尔单片机,lpc2138,pic16f887等系列的单片机,每接触一款单片机,都会经历熟悉其基本开发,然后将其用于项目中的过程,对于如何学习一款单片机,自己做了如下的总结。
大家都知道,51单片机是最容易入门的,不仅因为其编程简单,更重要的是网上的资料非常丰富。所以一般学习单片机开发的都将51单片机作为入门开发的首选。我学习51单片机的时候是采用这样的一个步骤进行学习的:
第一步(熟悉的过程):买了一款51单片机开发板,然后就开始了我的学习之旅,刚开始的时候没有去看视频教程,而是对着一本实验教材进行学习,那本实验教材的名字记不清楚了,但是其内容就是围绕单片机的led灯进行控制,将51单片机内部的各个功能部件全部都使用到了,这样就能使我在很短的时间内,通过控制led灯的亮、灭熟悉了51单片机的内部的各种资源,这时对51单片机也就没有感到陌生了。所以,个人觉得,学习单片机,要从实验入手,先熟悉单片机再说,开发语言开始使用的是c语言。
第二步(进阶的过程):有了第一步的基础之后,接下来的便是进阶的过程,当时,我看的是郭天祥十天学会单片机的视频教程,因为这个教程从基础到复杂的编程慢慢深入,讲的比较的全面,而且也生动,所以那一阶段,也是我学习单片机进步最快的阶段,每次听课的时候,按照上面的实验,以及课堂上面调试程序时出现的一些问题,自己认真的在电脑上进行调试,并分析产生故障的原因,让我有了一定的开发基础。在看完了视频教程之后,后面又对基础的知识进行了下补习,主要是看单片机原理性的教材,因为有些细节性的东西还是要从教材上面获得。
第三步(项目实战的阶段):学习单片机的时候,虽然也编写了一些程序,但是那些都是一些很小的模块程序,并没有起到综合应用的目的,所以在这之后,我和另外一个学习硬件的同学一起组成了一个小的团队,进行项目实践开发,那时候,实验室的条件比价好,有很多的器件可以自己使用。所以,我们就设计了我们的第一个作品,基于单片机的`液体点滴监控系统。做这个系统时,就将以前单片机所学的知识,做了一个综合的应用,包括有lcd1602控制,串口的控制等。
经过以上三个步骤的学习之后,对于51单片机的开发基本上就算入门了。而对于其他类型的单片机,如飞思卡尔单片机,lpc2148arm7单片机,pic16f887等,虽然每个系列的功能不一样,但是最基本的编程思想还是一样的,不同的可能就是编译器,程序下载的软件等差别,所以有了51单片机的开发基础之后,学习其他单片机所采用的方法就是一个差异化的学习,学习各种单片机不同的地方,这样,就能很快的熟悉一款新的型号的单片机。
如在学习pic16f887这个系列的单片机时,我首先做的工作不是去阅读数据手册,而是先拿着demo代码,在编译软件中编译、链接、生成hex文件,然后将其下载到开发板中跑起来,这个过程主要就是学习其软件的基本操作,有了这个基础之后,就能自己进行编程、测试。之后就是熟悉其编程的模式,所谓其编程模式,就是寄存器的控制,中断程序的编写,熟悉了这个操作,也就能控制其他的功能模块了,如串口的控制、i2c硬件控制器的控制。这些基本的开发熟悉了之后,接下来便是学习差异的部分,例如pic单片机c语言中,其堆栈深度不能超过8级,超过了之后,将会使得程序出现跑飞的现象。而且内存的分配完全要靠自己来控制,分成了4个bank的数据,bank0,bank1,bank2,bank3等。这些就是每个系列单片机所独有的一些东西,这些东西需要详细的了解,因为它们可能为你的编程带来很大的便利。
以上就是我学习单片机的总结,如果大家有更好的学习方法,希望大家能够提出来,一起讨论,共同进步。
单片机系统学习总结[篇2]
人的一生是一个不断学习、不断成长的过程。转眼间,研究生的学习生涯结束了,走上新的工作岗位。回头看看,发现自己不知不觉已经走过了五年的单片机学习之旅。
在20xx年最初接触单片机的时候,在我心中觉得51就是单片机,单片机就是51,根本不知道还有其他单片机的存在。那时候老师只教会了我们汇编语言,根本不知道用c语言也可以进行单片机开发。幸运的是,我加入了单片机兴趣小组,在老师的指导下,做了一系列实验,有“基于ds18b20的温度采集系统”、“有基于164的移位寄存器的灯光控制系统”、“有步进电机和直流电机的控制系统”。这时候我才发现,这是学习单片机的一个最好途径——在实践中领悟理论,用理论指导实践。在上课的整整一个学期中,虽然老师讲得很详细,但是大部分概念都是到了实际动手做东西的时候才弄明白的。而且在经历了迷惑之后再搞清楚,印象就特别深刻。直到现在我对那些概念和接口都非常清晰。其实我也很庆幸学习和使用了两年多的汇编语言。由于有这些锻炼,我对单片机底层结构和接口时序就弄得很清楚。在使用c语言开发的时候,优化代码和处理中断也就不会太费劲。我觉得,虽然现在绝大部分单片机开发都使用c语言,甚至有些公司还推出了图形化编程的工具,这样对于项目的开展从时间上快了很多,在管理上也规范了不少,但是从学习和想深入掌握单片机精髓的角度来说,还是需要熟练掌握汇编语言的使用。
机会总是青睐于有准备的人。也许有了前面一段时间的理论和实践的积累,我才慢慢得到了一些参加科技竞赛和参与科研项目的机会。在参加第一届浙江省机械设计竞赛的时候,我们设计的由多单片机系统协调控制的“月球车”机器人夺得了唯一的一个特等奖。这个竞赛给我最大的收获是我对单片机的认识改变了,它不再仅仅是一门学科了,它是一个可以让你的创意得到充分发挥的平台。后来参与了“基于视频分划技术的钢卷尺自动切零位机”、“电能表涡杠涡轮啮合深度检测系统”、“基于公共电话网的水表集抄数据路由器”、“高精度电感微位移测量系统”等一些实际的项目。在这些过程中,我发现只是精通单片机技术还不能很好的解决问题。体会最深的是,单片机只有融合到各种应用领域中,才能展现它的最大活力。然而单片机仅仅是一个工具而已,要做好单片机系统还需要各种应用领域的专业知识的支持。例如,在“基于视频分划技术的钢卷尺自动切零位机”中,就需要搞清楚全电视信号的时序,弄明白钢卷尺切零位机的工作原理,懂得怎么利用叠加在视频信号中的横竖线来进行刻度的瞄准等。没有这些专业知识,就算单片机技术再厉害也不可能做好这个项目。脱离应用背景的单片机开发,就像一个没有灵魂的躯体一样。
随着arm的出现,我曾经认为,8位单片机可能在32位单片机的冲击下就此走进历史,可是很快就认识到我是错误的。随着技术的革新和时间的推移,各大单片机公司纷纷将单片机朝着片上系统这个方向发展,集成了现在各种流行的技术和常用的模块。我相信,在当前国内和国外的这个市场中,8位单片机应用的市场仍然是充满生机,活力无限。在市场的不断变化和技术的不断更新过程中,8位单片机也会顺应潮流不断革新。
从我五年走过的路来看,单片机学习的过程应该是一个循序渐进、不断学习、不断积累的过程,可以分为三个阶段。
第一阶段:掌握开发单片机的必备基础知识。首先是熟练掌握单片机的基本原理,其实各家各门的单片机其基本结构和原理都差不多,特别是共有的知识需要好好理解和掌握。例如,内核结构、内存分配、中断处理、定时计数、串行通信、端口复用等一些最基本的概念和原理。除此之外,我们还需要具备模拟电子、数字电子、c语言程序开发知识以及原理图和pcb设计等一些技能。在进行系统开发的时候,进行原理设计、pcb布板、程序编写、系统联调这些工作都是在所难免的。
第二阶段:在掌握好一款单片机原理和应用的基础上,开始学习其他各家单片机的独有技术,学不了那么多也要多了解了解。同时尽可能多地掌握单片机的一些外围器件和常用电路,以备不时之需。有时候客户要求低成本,那我们只好选用合钛、义隆、华邦等这类那个岛芯片;如果客户要求工业级的性能,那么我们就得从pic、nec、飞思卡尔、nxp等这些欧美和日式单片机中选择;若要进行功耗的开发,选用msp430系列应该有一定优势;在进行测量仪器设计的时候,c8051和ac842这类数模混合芯片就显得比较方便。所以说最好每个类型的单片机都会一两款,在实际项目选型中可以更加灵活。另外,要注意平时的技术积累。比如,在项目开发过程中将一些常用的接口程序和控制算法整理成模块或者函数,在其他的项目开发中,有同样或者接近的需求时马上就可以使用,又快又好。
第三阶段:在实际的项目开发过程中,不断深化单片机应用技术,不断积累应用行业的专业知识。例如,我完成了“高精度电感微位移测量系统”,就会对电感传感器的测量机理和信号特性、测量电路的设计、电磁兼容处理、误差修正和非线性处理等测控方面的专业技术有很深的认识。以后碰到类似的项目时,很多东西就可以直接利用了。有了扎实的单片机应用相关的基础知识,并且熟悉掌握了几款不同类型单片机的开发方法,再结合实际的应用背景,那么就可以随心所欲,设计出性能最优、结构最合理的单片机应用系统。这是我最大的奋斗目标,我觉得这也应该是单片机应用的最高境界吧。
在这五年的学习中,有感慨、有遗憾、有憧憬、有希望,更重要的是我对单片机应用这个领域充满热情。由于才疏学浅、涉世未深,希望能与行业里的各位老师多多交流,不断学习,不断成长。
单片机系统学习总结[篇3]
基于本人学习单片机的痛苦经历,特编写本教程,以此献给广大的单片机初学者,希望您能从中受益。
作者提示:本教程乃最通俗易懂之单片机教材也,如果您还是看不懂,请千万不要涉足此行,以免误入歧途,耽误您的前程*_*
拿到这本教程您首先就会想,什么是iap教学法?是不是一种什么全新的教学方法?当然不是,我可没有那么大的本事,其实这只是我杜撰的一个新名词,意思就是inapplicationsprogram(在应用中编程),当然这只是针对单片机教学,说法是否正确,还得您说了算。
至于为什么要提这种说法,那我倒想说几句。大家都知道,学习电子技术是一件非常无聊和枯燥的事情,为什么会有这种想法,就是因为我们传统的教学方法只重理论而忽略了实践,要一个人记住那些空洞而有无聊的理论知识实在不是一件容易的事,好在我们总算熬过来了,不管如何,也多多少少的学习了一些电子基础知识。
接下来我们应该进一步掌握些什么知识呢,凡涉足此行的朋友都知道,那就是单片机。不过这可不是一件容易的事,倒不是因为单片机很难学,而实在是我们身边很难找到一本专为单片机入门者而编写的教材。翻一下传统的单片机教材,都好象是为已经懂单片机的人而写的,一般总是以单片机的结构为主线,先讲硬件原理,然后是指令,接着讲软件编程,再是系统扩展和外围器件,最后举一些实例(随
,很少涉及单片机的基础知识,如果按照此种学习方法,想便说一点:很多书中的实例都是有错误的)
进行产品开发,就必须先把所有的知识全部掌握了才可以进行实际应用。孰不知,单片机不象模拟电路和数字电路那样,只要搞懂了电路原理,再按照产品要求设计好相应的电路就可以了。它是一种以简单的硬件结构,复杂而有灵活的软件系统来完成设计的通用性产品,不同的设计者只会使用其不同的功能,几乎没有人会把它的全部指令都使用起来,所以学习使用单片机只能靠循序渐进的积累,而不可能先把
。它全部掌握了再去做产品开发(当然天才就例外了*_*)
基于以上原因,本人想尝试一种全新的单片机教学方法,打破传统的循序渐进式的教学方法,以单片机的应用为蓝本,结合基本的工业控制系统和实践工作中的具体应用,不分先后顺序,将各条指令贯串于一个又一个的实验中,通过所见即所得的实验来讲解各种指令的编程方法,顺便讲解相关的基本概念,使您尽快地熟悉单片机应用的基本步骤,掌握软件编程的基本方法。
如果您学完了就能成为单片机的入门者,完全可以进行一般产品的开发;下册部分是单片机应用的提高部分,主要学习单片机的系统扩展(比如:rom和ram存储器的扩展,并行口的扩展,串行口的扩展,a/d和d/a与单片机的接口)以及相关开发工具和软件的使用(包括kellc51的应用与调试技巧,硬件仿真器的使用)等等,如果您学完了下册部分,那就得恭喜您成为了单片机开发的高手了,不过单片机的技术是在不断的发展和提高的,您也不要太骄傲哦!
为了尽量把最新的单片机知识和应用成果收录进我们的教程,希望您能不吝赐教,共同来努力把我们的教程不断的改进和完善。还是那句题外话,技术是靠不断的积累和交流才会进步的,固封自守只会更加落后。
由于时间和精力的限制,我还是希望在您学习本教程之前,自己先熟悉一点相关的电子技术知识,特别是数字电路基础,这对您学习中碰到的相关概念会有很大的帮助。
;㈢ 学PIC单片机需要学什么软件
需要:
1、MPLAB IDE,这个是所有PIC单片机的开发平台,目前最高版本是8.83,这个软件是免费的,可以到MICROCHIP公司网站上下载;
2、PICC,这个是PIC 16系列单片机的C编译器,建议直接学C,所以要用它,这个是收费软件,但网上可以找到的最高版本破解版,版本是9.8,上网可以找到;
3、PROTEUS,这个是目前世界上最好的单片机的仿真软件,因为大多数人没有实验条件,用这个最好,这个也是收费软件,网上可以找到破解片,目前最高版本是7.8;
4、要买相应的书,没有书你会学得很辛苦,建议你买北航出版社的《PIC16系列单片机C程序设计与PROTEUS仿真》,这本书介绍上面的所有东东,有很多实例,包括线路图和程序。
㈣ pic单片机timer0怎么用啊
实例说明:
假设时钟周期为4MHZ,每隔50MS点亮LED,每隔50MS灭掉LED。这样的程序要如何做到呢。
这50ms如何做到.
1,得到指令周期
4MHz/4=1MHz
1/1MHz=0.0000001s=1us
2,得到预分频
定时器定时的最大时间要超过这50mS,所以预分频器要选择256
预分频X256=最大的定时时间。256X256=65536us=65.536ms 大于50ms
3, 计算定时器初始值
(定时器最大值+1)- (定时时间/预分频)=定时器的初始值。
255+1=256
50000/256=195.3125
256-195.3125=60.6875 四舍五入 定时器初始值为61.
设置相关的寄存器。
OPTION_REG寄存器中我们一般需要设置三处。
PS<2:0>设置用来设置预分频预分频范围从2 ~256
PSA设置成0 讲预分频器分配给Timer0模块
TMR0CS设置成0 内部指令周期时钟。
实例程序:
/*开发环境 MPLAB X IDE 型号PIC16LF1823*/
#include<pic.h>
__CONFIG(FOSC_INTOSC&WDTE_OFF&PWRTE_ON&MCLRE_OFF&CP_ON&CPD_OFF
&BOREN_ON&CLKOUTEN_OFF&IESO_ON&FCMEN_ON);
__CONFIG(PLLEN_OFF&LVP_OFF) ;
#define LED LATA5/*也可用 #define LED RA5,只是PIC16LF1823 输出电平的时候,直接控制LATA5执行速度更快,因为传给RA5的数据最终也是传给LATA5才执行的*/
void init_fosc(void)
{
OSCCON= 0x68;//时钟设置为4MHz
}
void init_gpio(void)
{
PORTA = 0;
LATA = 0;
ANSELA = 0;
TRISAbits.TRISA5=0; //RA5口设置成输出 用来控制LED
}
void init_timer0(void)
{
OPTION_REG=0x87; //预分频为256
}
int main(int argc, char** argv)
{
init_fosc();
init_gpio();
init_timer0();
TMR0IF=0;//清除TMR0中断标志位
TMR0=61;//设置中断初始值61
while(1)
{
if(TMR0IF==1)//定时时间到了吗??
{
LED = ~LED;//改变LED的状态
TMR0IF=0;//清除TMR0中断标志位
TMR0=61;//设置中断初始值61为下次50ms定时做准备
}
}
}
㈤ 想学习PIC编程要先学习什么
基础--PLC指令,这两者必须要学的
㈥ pic 单片机 参考文献
PIC8位单片机的基本组成
PIC系列8位单片机为适应各种不同的用途,有多种型号可供选用。但是,尽管PIC单片机有不同的档次和型号,但其最基本的组成则大同小异。因此,在这里先从型号PIC16F84的单片机入手,讨论其基本组成。PIC16F84是双列直插式(DIP)塑料封装,最大时钟频率可达4MHz。现为Microchip公司的独家产品,关于其具体技术指标,可查阅该公司的产品手册,或在网址www.microchip.com上查找。
PIC16F84单片机的引脚排列可参阅本期本版的16F8X系列简介一文。本文的附图是该器件的主要组成部分。PIC16F84虽然体积不大,但仍然是一个完整的计算机,它有一个中央处理器(CPU)、程序存储器(ROM)、数据寄存器(RAM)和两个输入/输出口(I/O口)。
和其它品种的单片机一样,CPU是此单片机的“首脑”,它从程序存储器中读取和执行指令。在取指和执行时,还可同时对数据寄存器进行取数(前已介绍PIC16F84采用哈佛结构)。由附图可明显看出,程序存储器和数据存储器各有一条总线与CPU相连。有些CPU将CPU内部的寄存器与其外部的RAM是分开管理的,但PIC单片机不是这样,它的通用数据RAM也归为寄存器,称为File寄存器。在PC16F84中,有68个字节的通用RAM,其地址为0CH~4FH。
除了通用数据寄存器外,还有一些专用寄存器,其中最常用的工作寄存器为“W寄存器”。CPU将工作数据存放在W寄存器中。寄存器W的作用与其它单片机中的“累加器A”相似。此外,还有几个专用寄存器,它们分别以某种方式控制PIC的运作。
PIC16F84的程序存储器是由Flash(闪速)EPROM构成,它可用电来记录和擦除,而在断电时,仍可保留其内容。PIC单片机有些型号的程序存储器用的是EPROM,需要用紫外线来擦除;还有一些型号是一次性可编程(OTP)的产品(一经编程便不能再擦除)。
PIC16F84有两个输入/输出口,即A口和B口。每个口的每个引脚可单独设定为输入或输出。各个口的位是从0开始编号的。当A口为输出方式时,其第4位(即RA4)为开路集电极(或开路漏极)输出,而B口及A口其它各位为常规的全CMOS驱动电路。这些功能必须注意,否则会在编程时出错。CPU对每个端口都按一个字节8位来处理,但A口只有5位引脚。
PIC输入与COMS兼容,所以PIC输出可驱动TTL或CMOS逻辑芯片。每个输出引脚可以流出或吸入20mA电流,即使一次只用了一个引脚亦是如此。
摘 要:在介绍空调室内机控制器功能的基础上,从软件的规划着手,详细介绍了室内机软件的总体设计过程、详细设计过程以及编码的实现,并在此基础上重点给出了空调室内机运行模式的特点和结合这些特点如何用MPLAB集成开发环境去实现各运行模式。
关键词:空调;控制器;单片机;软件设计
单片机软件实现是单片机系统应用的重点,他是在硬件设计基础上实现程序设计的重要环节。单片机程序设计一般包括以下几个步骤:软件规划、流程图编制、代码编写。由于单片机系统具有软硬件紧密结合的特点,因此在基于某种单片机系统的软件开发时,应充分了解该系统实现的硬件环境,同时也应该在系统设计与硬件设计阶段,对软件设计有一个大体的规划。因此,本文在介绍室内机控制器功能的基础上,重点讨论如何用软件实现该室内机的功能。
一:PIC16C71的问题和对策
问题1:在芯片进入低功耗睡眠模式 (SLEEP MODE)后,其振荡脚将处于浮态,这将使芯片的睡眠功耗上升,比原手册中的指标高了10μA以上。
对策:在振荡脚OSC1和地 (GND)之间加一10MΩ电阻可防止OSC1进入浮态,且不会影响正常振荡。
问题2:RA口方向寄存器TRISA目前只是一个4位寄存器,对应于RA0~RA3,并非手册中所言是8位寄存器,对应于RA0~RA4,即RA4并没有相应的输入/输出方向控制位,它是一个具有开极输出,施密特输入I/O脚。
对策:避免使用对RA口进行读-修改-写指令(如BCF RA, BSF RA),以免非意愿地改变RA4的输入/输出状态。对于RA口的操作应采用寄存器的操作方式(MOVWF RA)。
问题3:当CPU 正在执行一条对INTCON寄存器进行读-修改-写指令时,如果发生中断请求,则读中断例程会被执行二次。这是因为当中断请求发生后INTCON寄存器中的GIE位会被硬件自动清零(屏蔽所有中断),并且程序转入中断例程入口(0004H)。当GIE位被清零后,如果这时正好CPU在执行一条对 INTCON的读-修改-写指令(如BSF INTCON等),则 GIE位还会被写回操作重新置1,这样会造成CPU二次进入中断例程。
对策:如果在程序中需对INTCON的某一中断允许位进行修改,则应事先置GIE=0
,修改完成后再恢复GIE=1。
…………..
BCF INTCON, GIE
BSF INTCON, ×××
BSF INTCON, GIE
…………..
图1
问题4:当芯片电压VDD加电上升时间大于100μs时,电源上电复位电路POR和电源上电延时器PWRT可能不能起正常的作用,而使芯片的复位出现不正常(即PC≠复位地址)。一般在这种情况下建议不要采用PWRT。
对策:如果VDD上升时间很长,此芯片一般需较长的电源上电延时,可靠的电源上电延时方法如图1所示,在MCLR端外接复位电路。
问题5:如果在A/D转换中用RA3作为参考电压输入,则最大满量程误差(NFS)要大于手册中的指标。实际情况如表1所示。
表1 A/D满量程误差表
VREF源
(5.12V) 满量程误差
(NFS)
VDD <±1 LSb
RA3 <±2.5 LSb
二:PIC16C84的问题和对策
问题1:PIC16C84的内部的E2PROM数据存储器的E/W周期偶尔会超出最大值(10ms)。
对策:在程序中应该用EECON1寄存器中的WR位来判断写周期的完成,或是启用“写周期完成中断”功能,这两种方法可保证写入完成。
问题2:VDD和振荡频率的关系如表2所示。
VDD 振荡方式 最高频率
2V-3V RC, LP 2MHZ,200MHZ
3V-6V RC,XT,LP 4MHZ,200MHZ
4.5V-5.5V HS 10MHZ
㈦ PIC单片机看门狗
楼上没用过PIC的就不要胡乱猜测发言。PIC10、12、16、18、24、32虽然是Microchip公司的PIC系列单片机。但结构却是完全不相同的:
首先,PIC10/PIC12/PIC16是pic八位中档单片机,汇编指令只有三十多条,没有乘法除法指令(用汇编写乘除,只能循环做移位计算),其芯片的引脚数从六个引脚的到六十四个引脚的不等,引脚多的所集成的外设功能也多……第二PIC18系列也是八位的PIC单片机,较前者高档点,集成的功能也多比如USB、CAN总线等等。汇编指令有八十多条,和前者不同,带乘法除法指令和硬件乘法器。
第三PIC24系列的是16位单片机, 近七十条汇编指令。有硬件乘法器和硬件除法器(有了它就可以在一个指令周期内完成一个17*17或32/16的算法)。内部集成的存储器较大。还有一种芯片上面没提到,就是dsPIC系列,这其实就是集成了DSP(数字信号处理)功能的PIC24单片机,在进行某些信号控制的时候需要用到它,但它功耗较大。
第四种就是PIC32,它是三十二位的单片机,它出现的目的就是MICROCHIP公司为了用它来盒和ARM做市场竞争的。简单点说,它跟ARM是一个级别的。
虽然MICROCHIP公司的PIC芯片都是用RICS指令结构,但其内部结构不尽相同,如果你要学PIC单片机,建议先学PIC16F887,这款芯片几乎包括了PIC10~16系列中的大部分外设。推荐这个系列的最好先学汇编指令。先把这个学懂了,然后再用PIC10~16系列的其他芯片,你只需要从Microchip的网站上下载Datasheet仔细阅读以下和PIC16F887的区别就可以(指令都一样的)。而PIC18和PIC24和dsPIC系列的,你需要在原有的基础上,多看DATAHSEET,主要是看指令集的区别。这三个系列的可以直接学C,但也要了解一下汇编。
而PIC32,现在它还比不过ARM芯片,市场前景很难估计,也没有几个企业用这芯片的。不建议你现在学这个。
你的第一个问题,看门狗用了预分频的话,那定时器0就不能再用预分频了。有的PIC芯片还带有看门口自己独用的分频器,这样的话可以给TIMER0让出一个预分频来(比如PIC16F886)。 看门狗如何设成最优,那只能是从你的指令里计算了,还必须根据你的单片机所运行的环境来看,如果电磁环境很恶劣,最好是较短时间就设置一调喂狗指令。
啊,写了一大堆,如果有不明白的可以网络HI问我。 除了PIC32和PIC10外,其他系列的我都用过一些芯片
㈧ PIC单片机常用模块与综合系统设计实例精讲的目 录
第1章 PIC单片机概述 2
1.1 PIC单片机的特点 2
1.2 PIC单片机的系列产品 5
1.2.1 基本级PIC系列单片机 6
1.2.2 中级PIC系列单片机 6
1.2.3 高级PIC系列单片机 8
1.3 PIC16F87X单片机的硬件
1.3 结构 10
1.3.1 PIC16F87X的主要特色 10
1.3.2 PIC16F87X的内部结构 11
1.3.3 PIC16F87X的引脚功能 16
1.4 本章小结 21
第2章 PIC单片机的CPU和中断系统 22
2.1 PIC单片机的CPU 22
2.1.1 系统配置 22
2.1.2 振荡器配置 24
2.1.3 复位 26
2.1.4 中断 33
2.1.5 监视定时器WDT 33
2.1.6 睡眠模式 35
2.1.7 在线调试 37
2.1.8 程序代码保护 37
2.1.9 用户标识码 37
2.1.10 在线串行编程技术ICSP(In-Circuit Serial Programming) 37
2.2 中断系统 38
2.2.1 中断的基本概念 38
2.2.2 PIC16F87X的中断源及中断逻辑 39
2.2.3 与中断相关的寄存器 44
2.2.4 CPU对中断的处理 48
2.3 本章小结 51
第3章 PIC单片机的指令系统 52
3.1 PIC汇编语言指令格式 53
3.2 PIC16F87X指令集 54
3.3 伪操作指令 60
3.4 寻址方式 64
3.5 本章小结 67
第4章 PIC单片机的开发工具 68
4.1 PIC系列单片机的仿真器 68
4.2 PIC系列单片机的编程器及开发套件 73
4.3 MPLAB-IDE 7.4版集成开发环境 77
4.3.1 MPLAB-IDE 7.4概述 77
4.3.2 MPLAB-IDE 7.4工程创建实例 80
4.3.3 几个常用的菜单项 83
4.4 本章小结 85 第5章 I/O输入输出模块 88
5.1 44扫描键盘设计实例 88
5.1.1 实例说明 88
5.1.2 键盘知识介绍 88
5.1.3 硬件电路设计 90
5.1.4 软件设计 90
5.1.5 实例总结 93
5.2 直接驱动LED显示 94
5.2.1 实例说明 94
5.2.2 LED数码管知识 94
5.2.3 硬件电路设计 94
5.2.4 软件设计 95
5.2.5 实例总结 96
第6章 LCD液晶显示模块:温度测量系统设计实例 97
6.1 实例说明 97
6.2 DS18B20与YMSC-G12864
6.2 IDYEWWD 98
6.2.1 温度传感器DS18B20 98
6.2.2 液晶显示屏YMSC-G12864I-DYEWWD 100
6.3 硬件电路设计 103
6.4 软件设计 105
6.4.1 温度传感器DS18B20的软件设计 105
6.4.2 液晶显示屏YMSC-G12864-IDYEWWD的软件设计 109
6.5 实例总结 116
第7章 定时器模块:用定时器控制端口输出实例 117
7.1 实例说明 117
7.2 定时器Timer0介绍 117
7.3 硬件电路设计 118
7.4 软件设计 119
7.5 实例总结 120
第8章 A/D模块:压力测量系统设计实例 121
8.1 实例说明 121
8.2 A/D转换相关知识 121
8.2.1 A/D转换的原理说明 121
8.2.2 单片机相关寄存器介绍 122
8.2.3 A/D转换操作对时间的要求 124
8.3 硬件电路设计 125
8.4 软件设计 125
8.4.1 程序设计流程 126
8.4.2 程序代码说明 126
8.5 实例总结 128
第9章 存储器模块:基于I2C对EEPROM 24C02的读写 129
9.1 实例说明 129
9.2 24C02与I2C接口介绍 129
9.2.1 24C02简介 129
9.2.2 PIC16F877 I2C接口简介 130
9.2.3 I2C总线规则 130
9.3 硬件电路设计 131
9.4 软件设计 132
9.5 实例总结 136
第10章 比较与检测模块 137
10.1 利用CCP模块控制继电器 137
10.1.1 实例说明 137
10.1.2 定时器TMR1介绍 137
10.1.3 硬件电路设计 139
10.1.4 软件设计 140
10.1.5 实例总结 141
10.2 脉冲频率的检测设计 141
10.2.1 实例说明 141
10.2.2 定时器TMR2介绍 141
10.2.3 硬件电路设计 142
10.2.4 软件设计 143
10.2.5 实例总结 144
10.3 电压测量模块 144
10.3.1 实例介绍 144
10.3.2 硬件电路设计 145
10.3.3 软件设计 145
10.3.4 实例总结 147
第11章 步进电机模块 148
11.1 实例说明 148
11.2 步进电机驱动工作原理 148
11.3 硬件电路设计 149
11.4 软件设计 150
11.4.1 软件设计流程 151
11.4.2 程序代码说明 152
11.5 实例总结 153
第12章 信号发生模块 154
12.1 PWM实现DA转换 154
12.1.1 实例说明 154
12.1.2 PWM模块架构 155
12.1.3 硬件电路设计 156
12.1.4 软件设计程序 157
12.1.5 实例总结 158
12.2 正弦波发生器 158
12.2.1 实例说明 158
12.2.2 TLC5620介绍 158
12.2.3 硬件电路设计 160
12.2.4 软件程序设计 160
12.2.5 实例总结 162
第13章 数字PID控制模块 163
13.1 PID控制概述 163
13.2 位置式PID控制算法 164
13.3 增量式PID控制算法 165
13.3.1 增量式控制算法流程 166
13.3.2 数字PID控制算法的改进 167
13.4 数字PID控制算法代码 168
13.5 实例总结 170
第14章 直流数控稳压电源模块 171
14.1 实例说明 171
14.2 设计思路分析 171
14.2.1 D/A转换器DAC0832 172
14.2.2 步进0.1V实现 172
14.3 硬件电路设计 172
14.3.1 模数转换电路 172
14.3.2 电流放大电路 173
14.3.3 人机接口电路 173
14.3.4 稳压电源电路 174
14.4 软件设计 174
14.4.1 程序设计流程 174
14.4.2 程序代码说明 174
14.5 实例总结 177
第15章 网络通信与数据传输模块 178
15.1 USART串行通信模块实例 178
15.1.1 实例说明 178
15.1.2 打印机并口介绍 178
15.1.3 硬件电路设计 180
15.1.4 软件设计 181
15.1.5 实例总结 182
15.2 I2C总线通信模块实例 182
15.2.1 实例说明 182
15.2.2 I2C总线介绍 183
15.2.3 硬件电路设计 187
15.2.4 软件设计 188
15.2.5 实例总结 195
15.3 SPI总线通信模块实例 195
15.3.1 实例说明 195
15.3.2 SPI模块相关的寄存器 195
15.3.3 硬件电路设计 197
15.3.4 软件设计 198
15.3.5 实例总结 200
15.4 通信模块:CAN总线模块实例 200
15.4.1 实例说明 201
15.4.2 设计思路分析 202
15.4.3 硬件电路设计 206
15.4.4 软件程序设计 207
15.4.5 实例总结 212
15.5 通信模块:USB数据传输模块实例 212
15.5.1 实例说明 212
15.5.2 设计思路分析 213
15.5.3 硬件电路设计 219
15.5.4 USB固件程序设计 220
15.5.5 实例总结 225 第16章 智能手电筒开发实例 228
16.1 系统功能说明 228
16.2 系统工作原理与实现方法 229
16.2.1 系统的供电 229
16.2.2 灯珠和LED点亮或熄灭的实现 229
16.2.3 按键扫描电路和A/D转换电路图原理 230
16.2.4 数据的显示 231
16.2.5 蜂鸣器驱动和背光源驱动 235
16.2.6 电池的自动充电实现 236
16.3 软件设计与代码分析 237
16.3.1 软件设计 237
16.3.2 主程序 239
16.3.3 中断子程序 244
16.3.4 时钟处理子程序 245
16.3.5 2ms到处理子程序 247
16.3.6 A/D中断子程序 252
16.4 实例总结 255
第17章 汽车应急启动器系统开发实例 257
17.1 系统功能说明 257
17.2 系统硬件框图 258
17.3 系统各模块工作原理与实现方法 259
17.3.1 系统电源部分 259
17.3.2 蜂鸣器驱动与系统检测按键扫描电路 259
17.3.3 灯管驱动与灯管按键扫描电路 260
17.3.4 发光二极管驱动与内部电池电压按键扫描电路 261
17.3.5 液晶显示器(LCD)驱动电路 261
17.3.6 内部电池与外部电池连接正确与否检测电路 264
17.3.7 应急启动控制电路 264
17.3.8 轮胎压力检测电路 265
17.3.9 轮胎气泵启动控制与轮胎
17.3.9 充气按键扫描电路 267
17.3.10 加键与减键扫描电路 268
17.3.11 外部电池检测按键扫描电路 269
17.3.12 电池电压检测与电池充电电路 269
17.4 软件设计与代码分析 270
17.4.1 主程序 271
17.4.2 气泵处理程序 280
17.4.3 灯管处理程序 280
17.4.4 外部电池检测程序 282
17.4.5 系统检测程序 283
17.4.6 时钟中断程序 284
17.4.7 内部电池充电程序 288
17.5 实例总结 289
第18章 无功功率补偿控制器设计实例 290
18.1 系统功能说明 290
18.2 系统硬件框图 292
18.3 系统各模块工作原理与实现方法 292
18.3.1 系统的供电 292
18.3.2 按键扫描电路 293
18.3.3 电流和电压相位差检测电路 294
18.3.4 电流和电压的A/D转换电路 297
18.3.5 八段数码管和LED指示灯电路 298
18.3.6 十路电力电容驱动电路 298
18.3.7 EEPROM的驱动电路 300
18.4 软件设计与代码分析 301
18.4.1 初始化、欠流判断和开机按键扫描程序 301
18.4.2 检测电力电容容量程序 308
18.4.3 检测功率因数程序
18.4.3 (主程序) 310
18.4.4 参数设置程序 323
18.5 实例总结 325
㈨ 单片机的学习方法
从刚开始接触单片机,到现在已经有3年的时间了,在这期间学习和使用了51单片机、飞思卡尔单片机,LPC2138,PIC16F887等系列的单片机,每接触一款单片机,都会经历熟悉其基本开发,然后将其用于项目中的过程,对于如何学习一款单片机,自己做了如下的总结。
大家都知道,51单片机是最容易入门的,不仅因为其编程简单,更重要的是网上的资料非常丰富。所以一般学习单片机开发的都将51单片机作为入门开发的首选。我学习51单片机的时候是采用这样的一个步骤进行学习的:
第一步(熟悉的过程):在网上找学习资料,在网上看了很多。印像最深的要数王云老师的云龙51单片机视频教程,因为这个教程从基础到复杂的编程慢慢深入,边讲边写代码,讲的比较的全面,而且也生动,所以那一阶段,也是我学习单片机进步最快的阶段,这时对51单片机也就没有感到陌生了。通过视频让我知道了该怎样学习单片机,学习单片机,要从实验入手,先熟悉单片机再说,开发语言开始使用的是C语言比汇编更好理解。
第二步(进阶的过程):有了第一步的基础之后,接下来的便是进阶的过程,买了一款51单片机开发板,然后就开始了我的学习之旅,每次听课的时候,按照上面的实验,以及课堂上面调试程序时出现的一些问题,自己认真的在电脑上进行调试,并分析产生故障的原因,让我有了一定的开发基础。在看完了视频教程之后,后面又对基础的知识进行了下补习,主要是看单片机原理性的教材,因为有些细节性的东西还是要从教材上面获得。围绕单片机的LED灯进行控制,通过控制LED灯的亮、灭,熟悉了51单片机的内部的各种资源,这样就能使我在很短的时间内,将51单片机内部的各个功能部件全部都使用到了。
第三步(项目实战的阶段):学习单片机的时候,虽然也编写了一些程序,但是那些都是一些很小的模块程序,并没有起到综合应用的目的,所以在这之后,我和另外一个学习硬件的同学一起组成了一个小的团队,进行项目实践开发,那时候,实验室的条件比价好,有很多的器件可以自己使用。所以,我们就设计了我们的第一个作品,基于单片机的液体点滴监控系统。做这个系统时,就将以前单片机所学的知识,做了一个综合的应用,包括有LCD1602控制,串口的控制等。
经过以上三个步骤的学习之后,对于51单片机的开发基本上就算入门了。而对于其他类型的单片机,如飞思卡尔单片机,LPC2148 ARM7单片机,PIC16F887等,虽然每个系列的功能不一样,但是最基本的编程思想还是一样的,不同的可能就是编译器,程序下载的软件等差别,所以有了51单片机的开发基础之后,学习其他单片机所采用的方法就是一个差异化的学习,学习各种单片机不同的地方,这样,就能很快的熟悉一款新的型号的单片机。