单片机如何编程?如何写入单片机

教育行业A股IPO第一股(股票代码003032)

全国咨询/投诉热线:400-618-4000

简单地说,单片机就是一个小计算机系统。为了说明清楚这个问题,得要从计算机说起。提到计算机,大家可能马上会想到“显示器、鼠标、键盘”,不过,这不是一个计算机的核心和关键,计算机的核心部分在一边的机箱里呢。打开机箱,可以看到,机箱里有主板、硬盘、光驱等。仔细观察主板,这上面有CPU、内存条、BIOS芯片,通常还有25针的打印机接口等,这些部件都是通过主板上的连线相互连接。

不论计算机复杂程度如何,它总是由运算器,控制器,存储器,输入/输出接口,总线这五个部分组成。通常运算器和控制器被做成一块芯片,也就是CPU(中央处理器)。在计算机主板上,内存条和BIOS芯片就是存储器,25针打印机接口就是输出/输出设备,而总线则被设计在主板上,即各部件相互连接的线路。

在一些应用场合,人们不需要计算机完成十分复杂的运算,但却希望计算机小巧,可靠,价格低。于是人们就把组成计算机的这5个部分全部集成到一块芯片上,也说是一块芯片就能构成一个独立的计算机,在当时的技术条件下,这是一件了不起的事情,于是人们就用这个特征来为之命名,称为“单片机”。

将构成一个计算机所需要的5个部分全部都集成到一块芯片中,这块芯片是否要很大、价格是否很高呢并非如此。如果要把图1所示主板上的所有元件都集成到一块芯片中,那当然非常昂贵,可能技术上也无法实现,但很多单片机中所需要用到的功能完全没必要那么强大,因此很多单片机体积很小,价格也很低。如市场上常见的单片机有8,14,16,18,20,28,40,84等引脚,有些甚至只有6个引脚,如图2所示是微芯公司(Microchip)发布的一款6引脚单片机。而价格从几元到几十、上百元的都有,有些品种在大批量定购时甚至可以低至1元以下。

刚接触到单片机的人往往会有个疑惑:既然人们已经有能力制造功能强大的计算机,为何还要生产些功能不强的计算机其实,功能强弱并不是决定是否生产的决定因素,市场需要才是关键。比如,用来控制一台电箱的计算机显然没必要使用“奔腾”芯片的强大运算能力,只要进行非常简单的计算,作个比较,看一看温度是否在所控制区间之内,然后再做出相应的控制就行了。

单片机在人们的生活中、工农业生产设备中处处有应用,例如各定时装置、自动控制装置等。爱好者学习单片机应该注意观察事物,找到自己周围能够使用单片机的场合,从而将学到的知识应用到实际中去。例如,使用单片机技术改造传统的机电设备、在特定的场合使用单片机替代PLC等就有着广阔的应用前景;又如,使用单片机控制电扇、抽油烟机、空调等,从而制作出具有更强功能、能够通用的控制器,也是可以尝试的。

单片机的工作过程就是一个不断“取指令-分析指令-执行指令”的过程。单片机的程序以一条一条指令的形式存放在程序存储器中,单片机开始工作后,就从程序存储器的特定位置开始取指令,然后由单片机内部的控制器对指令进行分析,根据指令要求,进行“取数、送数、算术运算、逻辑运算、跳转”等基本操作中的一种或几种,这些操作都在一个规定的周期中完成,执行完了以后,到下一个存储器单元中取指令,重复刚才的操作(当然,这些要执行的操作具体内容可能跟上一次不一样了),如此不断重复,直到断电为止。这里所说的“存储器特定位置”、“规定的周期”等与单片机的型号有关,下面以51系列单片机为例来说明。

单片机程序的用途是让单片机“听话”,按人们所预定的设计完成一系列动作,最终实现一个特定的功能。

要让单片机“听话”,就要用单片机能够听懂的语言发布命令,单片机能够听懂的语言称之为“指令”。任何一种型号单片机能够接受的指令都是有限的,51单片机的指令条数为111条,而PIC单片机的指令仅有35条。每一条指令完成一个最基本的动作,人们为了要完成一个特定的功能,就要将这些指令排列组合,成为一个指令序列,这就是程序。

指令的表示形式有两种:机器语言和汇编语言。以51为例,如果要让P1.0引脚变为低电平,用机器语言来表示就是C2H90H,将这两个数放进单片机的程序存储器中,单片机执行后,就可以让P1.0引脚变为低电平了;而要让P1.0引脚变为高电平,用机器语言来表示就是D2H,90H。至于为什么是这两个数字,大家没必要追究,这是设计这块芯片的设计工程师规定的,我们不能更改,只能学习。

C2H,90H就是一条指令,显然这样的指令形式是很难记忆的,编程也非常困难,于是人们使用了“助记符”来代替这些数字。例如C2H,90H的助记符是CLRP1.0,而D2H,90H的助记符是SETBP1.0,由于助记符采用了英语字母的缩写,有一定含义,因此比数字形式的指令易记、易用。使用助记符形式的指令来编写程序就称之为“汇编语言源程序”。但是汇编语言源程序是没有办法直接送到单片机内部去的,使用助记符形式的指令编写的程序最终还是要变成为诸如:C2H,90H,D2H,90H,这种形式的指令才能被送入单片机的程序存储器。将助记符形式的指令变为数字形式的指令的过程称之“汇编”。汇编有两种方法,一种是“手工汇编”,即人们通过查表的形式找到所写汇编指令的数字形式然后写下来;另一种是“机器汇编”,即编写好汇编语言源程序以后,使用一个计算机软件对这些源程序进行处理,从而得到数字形式的指令序列,这个指令序列通常被称为“机器码”,即可以直接被机器所执行的代码。

机器汇编后得到的数字形式的指令序列以一个文件的形式保存在磁盘上,这个文件的扩展名一般是HEX,即人们常说的HEX文件。得到了HEX文件后,就可以将其写入程序存储器中了。要将程序写入芯片,通常需要一个称之为“编程器”的专用设备,在计算机上运行与之配套的编程软件,然后在这个软件中打开HEX文件,即可将其写入芯片中。随着技术的发展,编程方式越来越多,但总的概念是这样的,具体的细节,将在另一个问题“单片机编程器是什么”中回答。

8位、16位、32位是指单片机的“字长”,也就是一次运算中参与运算的数据长度,这个位是指二进制位。以8位为例,8位二进制的表达范围是0000,0000~1111,1111即十进制的0~255,即每次参与运算的数据最大不能超过255。而16位机的字长是16位,其数据表达范围是0~65535,即每次参与运算的数据最大不能超过65535;32位单片机的字长是32位,其数据表达范围是0~4294967295,即每次参与运算的数据最大不能超过4294967295。

单片机编程器是用来将程序代码写入存储器芯片或者单片机内部的工具,当芯片是双列直插形式时,直接插在座子上就可以烧写了。另一种方法是使用下载线。随着技术的进步,越来越多的单片机芯片开始支持“ISP”功能,即InSystemProgrammer,在线可编程技术。利用这种技术,将空白的(尚未编程的)芯片直接焊在印刷线路板上,利用预先留下的几个引脚即可对芯片进行编程,不必将芯片拆下来放到编程器上,因此,这给小批量制作带来了极大的方便,也省去了购买价格昂贵的适配器。

学习单片机,除了需要电脑以外,还需要以下的一些器材。

如果你对单片机还一无所知,那么自制或者购买一块实验板是比较好的选择。通常在实验板上会设计一些开关、LED指示灯、数码管、各种接口芯片等常用器件,通过对这些器件的编程练习,逐步掌握单片机的编程技术。

仿真机的用途是替代电路板上的单片机芯片,仿真机通过串行口、USB接口等方式与与PC机联机通信,接收PC端控制软件发出的指令,以单步、过程单步、全速运行等各种方式来执行程序,以单步或过程单步方式执行程时,每次执行完程序后可以将执行的结果反馈到PC端的控制软件中显示出来。由于单片机编程时必须要明确每一条指令执行完毕后会有什么样的结果,弄清实际运行后的结果是否与设想的结果相符,因此,仿真功能对于单片机的学习和开发可以起到很重要的帮助作用。

其用途是将代码写入单片机芯片内部。对于学习者来说,有了仿真机也可暂时不配编程器或下载线,因为有了实验板、仿真机就可以做实验了。但是建议配置一台,这样可以对单片机开发的各个环节都有所了解。

单片机开发,不是简单的编程,到目前为止,还少有纯粹的“单片机程序员”,通常要求开发者软、硬件方面都要熟悉,因此,这些电子制作工作还是要配备的。

需要说明的是,这里所说的仿真机、实验板、下载线或编程器等都是就一般概念而言的,并不涉及到具体的产品,市场上也有一些产品在设计时将实验板、仿真功能、下载或编程功能等中的一部分或者全部都集成到一块板上,构成一整套的实验系统。

1)80C51系列,这是最基本的系列。包括80C31,80C51,87C51,80C32,80C52,87C52等芯片,虽然这些芯片已基本不再使用,但它们是后续发展的芯片的基础。其中80C31单片机片内没有ROM,80C51内部是一次性可写4K的PROM,87C51内部是4K的EEPROM,这几种芯片内部RAM均为128字节。而后三种芯片其内部RAM均为8K,后两种芯片的片内ROM为8K字节。

2)80C51兼容系列

这些芯片通常都与51系列单片机在指令一级兼容,但都扩充了诸多的新功能。常见的主要有以下一些。

STC89系列单片机,其主要特点有:直接通过串口对单片机编程;可编程为倍速运行;超低功耗;内置看门狗;内部FLASHROM可作为EEPROM作断电保存数据之用。

STC12系列单片机,其主要特点有:单时钟周期,工作频率0~35M,相当于普通80C510~420M;宽电压范围;低功耗;芯片内置E2PROM功能;内置硬件看门狗;通用I/O口可以设置为四种工作模式,在强上拉模式时可以“吐出”电流。

菲利普的LPC系列,其主要特点有:内置RC置振荡器,选择RC振荡器时不需外接振荡器件;所有口线均有20mA的LED驱动能力;有较宽的工作电压范围。

C8051F系列,其主要特点有:一个机器周期仅为一个时钟周期;增加了中断源;有内部独立的时钟源或接外部时钟,并能在程序运行时实现内、外部时钟的切换。每个I/O口引脚都可以设置为推挽或漏极开路输出,C8051F系列单片机I/O口最为独特的是增加了数字交叉开关,利用数字交叉开关可将内部数字系统资源定向到P0、P1和P2端口I/O引脚。这个系列很多型号的芯片具有ADC、DAC、PCA等功能。

PIC单片机的发展思路与51单片机不同,它不搞单纯的功能堆积,而是从实际出发,重视产品的性能与价格比,依靠发展多种型号来满足不同层次的应用要求;精简指令使其执行效率大为提高。目前有PIC10、PIC12、PIC16、PIC18系列数百个品种。以PIC16F676芯片为例,该芯片内置1K字FLASHROM,128字节EEPROM,64字节RAM,8路10位AD转换器,内置精度高达±1%的振荡器,极低功耗,宽工作电压范围,这样一款高性能的14脚芯片,价格不到¥7,性价比相当高。

AVR系列单片机是增强型RISC结构的单片机,其主要特点是:速度快,一个机器周期仅为一个时钟周期;品种丰富,与PIC系列类似,依靠发展多种型号来满足不同层次的应用要求;支持ISP、IAP功能,可在线编程,方便远程维护;工作范围宽、抗干扰能力强。以ATMEGA8芯片为例,该芯片内置8KFlashROM,512字节EEPROM,1K字节的RAM,8路10位AD,内置RC振荡器。这样一款高性能28引脚的芯片,价格仅在¥7左右,性价比也相当高。

其他常用的单片机包括:ST、EMC、摩托罗拉、三星等等。这些单片机有些市场用量很大,但我们并没有重点介绍,因为我们介绍的内容主要针对业余爱好者,有些芯片虽然功能强大、性价比也很高,但其并不针对业余爱好者,小批量的芯片很难买到,仿真机、C编译器等开发工具价格极其昂贵,所以这里不作介绍,有兴趣可以在网络上搜索有关资料。

单片机的价格相差很大,从小于1元到几十元,上百元不等。下面就大致介绍一下常用单片机的价格。

不同的型号的单片机需要不同的开发软件。我们以80C51系列、PIC系列和AVR系列为例分别说明。

单片机程序的编写不需要任何特殊的软件,只要是文本编缉软件就可以了,如WINDOWS自带的记事本,WORD等,不过这些软件编写并不方便,有一些更好的文本编缉器可供选择,如UltraEdit,PE2等。当然,人们最常用的还是使用开发软件自带的编缉器来进行编写。以80C51系列单片机为例,最为流行的软件是Keil软件。Keil软件是一款综合开发工具,内置了编缉器,ASM汇编器,C51编译器,调试器等部分。

市场上单片机类书极多,作为初学者入门一般还是以选择80C51系列为宜,如果你有明确的工作对象,那另当别论。

THE END
1.互联网时代的阅读方式电商购物1、便捷性,网络阅读打破了时空限制,读者可以随时随地通过网络获取书籍、文章等阅读资源,无论是公交车、地铁站还是咖啡馆,读者都可以利用碎片时间进行阅读。 2、多样性,网络阅读资源丰富多彩,包括文字、图片、音频、视频等多种形式,读者可以根据自己的兴趣和需求选择适合自己的阅读方式,享受阅读的乐趣。 http://www.aa0.cn/post/5683.html
2.从零基础入门到精通,从看这篇开始!网络渗透技术自学三、精品网安学习书籍 当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。 四、网络安全源码合集+工具包 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中https://blog.csdn.net/libaiup/article/details/131271012
3.计算机学习总结(通用15篇)这次培训的时间虽然短暂,但全体参加学习的教师通过学习,认识到计算机的重要性,我们会在今后的工作中会更加努力,不断学习新的计算机信息技术,充分利用所学到的知识进行教育教学。 计算机学习总结 2 时间匆匆而过,在计算机系学生会工作半个学期了。在这段时间里,我发现我学到了许多从书本上无法学到的东西;并且,我收获https://yjbys.com/xuexi/zongjie/3471302.html
4.什么是PLC?一文快速了解PLC基础知识参加PLC培训课程是学习的另一个好方法。在培训中,你可以学习到更多的专业知识和技巧,与其他学习者交流经验,并且有机会接触实际案例和项目。 学习PLC的资源 学习PLC的过程中,可以利用以下资源: 1.教材和参考书籍 有许多PLC的教材和参考书籍可供选择。这些书籍往往包含了基本概念、编程语言和实践案例等内容,对初学者非https://www.eefocus.com/e/1594897.html
5.综合实践活动教案(15篇)请大家今回去以后,到你们生活的小区去找一找,有没有需要提示或提醒的地方,如果有,请你运用你今天学习的知识和创作标志的方法,也为自己的小区设计一些标志,把我们的所学所知服务于社会,做社会的小主人。 综合实践活动教案2 一、教学活动目标 知识目标: https://www.9136.com/jiaoyufanwen/jiaoan/176601.html
6.电子商务学习总结(通用20篇)电子商务是一个多学科交叉,复合型的新兴学科,牵涉到经济学,管理学,计算机学,信息管理学等众多学科。 然而,网络营销所带来的问题也着实让电子商务人士头疼的。 网络提供的只是一个交易平台,双方无需见面,实质依赖的.就是社会信用。 由于电子商务涉及多个交易主体和中介机构,其信用就转化为参与各方的信用。 https://www.wenshubang.com/xuexizongjie/505706.html
7.限时分享三天,被抓到了就删!黑客电脑里总结的全套学习资料网络安三、精品网安学习书籍 当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。 四、网络安全源码合集+工具包 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中https://zhuanlan.zhihu.com/p/686989634
8.开展读书活动的总结15篇为充分利用网络新媒体,营造爱读书、读好书、善读书的校园读书氛围,4月15日至24日,我们依托新浪微博为载体,举办“暨南微书评”书评大赛,同学将书评凝练成140个字以内,通过@暨大图书馆官方微博参加比赛,几天内,共收到书评195条,#暨南微书评#话题也成为暨南学子的微博中高关注度的活跃话题。 https://www.yuwenmi.com/fanwen/zongjie/4007156.html
9.微推荐超星移动图书馆好书推荐文字的尽头,是自我发现的起点还等什么,快跟随本书拓宽文化与历史视野,一同探查一棵小小的植株背后,庞大而丰富的故事吧! 03《科学作为天职》 [德]马克斯·韦伯等 著 李猛 编 生活·读书·新知三联书店 真正的强大在于保持那份不为外界所动的定力与内心的富足。 https://mp.weixin.qq.com/s?__biz=MzIyNTE3NDU3NA==&mid=2650541166&idx=1&sn=8876e0841400475960e3b799810dd3b9&chksm=f1433836d4bd50026a4464c24a46e15e0abeda8304701cd7f02e1d9b8f9c50726f36a413a1c7&scene=27
10.学习日语从何开始?日语学习方法指南在学习日语的过程中,我发现网络资源是一个非常好的学习工具。通过利用网络资源,我们可以找到各种各样的学习资料,*自己的日语水平。 在学习日语的过程中,我经常上一些学习网站和论坛。在这些网站和论坛上,我可以找到很多关于日语学习的资料和经验分享。通过阅读这些资料和分享,我可以学到很多新的知识和技巧。 https://www.iopfun.cn/newArticle/detail/19241
11.教师研修培训总结(通用32篇)三、把培训学习所得充分利用在以后的教学工作中 现在素质教育精神的教育观念,是提倡教师“活用教材”、“用活教材”。通过培训学习,让我对自己的教材有了更深的了解,也学到了许多宝贵的经验,在以后的教学工作中可以根据自己学生的实际,对教材内容有所选择,科学地进行加工,探寻恰当的教学方法,合理地组织教学过程。在https://www.jy135.com/peixunzongjie/1082511.html
12.学校心理降教育工作总结(15篇)二、推荐阅览相关书籍:学校广泛利用图书室,学生借阅了有关课外书籍,了解了有关热爱生命、善待生命的健康知识,做好读书笔记。 三、创编黑板报:每班创编一期以““走进幸福的成长季节”为主题的黑板报。 四、开展主题班会:各班以““走进幸福的成长季节”为主题,召开了一次主题班会活动课。通过活动课,让学生懂得了我https://www.gdyjs.com/shiyongwen/gongzuozongjie/513005.html
13.阅读书籍心得体会(通用20篇)当我们有一些感想时,可以记录在心得体会中,通过写心得体会,可以帮助我们总结积累经验。那么好的心得体会都具备一些什么特点呢?下面是小编帮大家整理的阅读书籍心得体会,希望对大家有所帮助。 阅读书籍心得体会 1 我从小到大读过许许多多的书,由小时候读的儿童漫画,到现在读的儿童文学、三国演义等书籍。 https://www.unjs.com/fanwenwang/xdth/20221128105518_6027600.html
14.四年级美术教学总结(精选24篇)同时将美术课程内容与学生的生活经验紧密联系在一起,强调了知识和技能在协助学美化生活方面的作用,使学生在实际生活中领悟美术的.独特魅力。于是,我选择了绘画基础较好的学生上黑板来做示范,利用同桌协助一些不会绘画的同学,使他们在美术学习过程中,逐步体会到美术学习的特征,激发局部学生学习美术的兴趣,形成他们应有的https://www.oh100.com/kaoshi/jiaoxuezongjie/653988.html
15.10本关于机器学习(AI)的必读书籍尽管该方法是统计方法,但重点是概念而不是数学,并且是统计学家和对科学或工业中的数据挖掘感兴趣的任何人的宝贵资源。本书涵盖的范围很广,从监督学习(预测)到无监督学习,其主题包括神经网络,支持向量机,分类树,boost,图形模型,随机森林,集成方法,最小角度回归和路径算法。套索,非负矩阵分解和频谱聚类。http://www.duozhishidai.com/article-86538-1.html
16.输出式阅读法:把学到的知识用起来腾讯云开发者社区通过分享信息,让信息更容易整理。我通过写作、发表读书记事,向更多读者分享自己读书的过程、感受,方便读者对相关书籍有一个大体上的把握 可操作性。在当今社会,只要我们把信息分享到网上,自己也可以在任何地方进行访问 第二章 怎样阅读一本书才更合适 06任何书都可以用10分钟读完的小技巧 https://cloud.tencent.com/developer/article/2029929
17.自学机器视觉需要什么书籍(自学机器视觉需要什么书籍呢)朋友们,如果你想自学机器视觉,记住要选择有趣、易懂的书籍,多实践,多动手。相信我,你一定能够在机器视觉领域取得成就!加油! 3、学机器视觉需要用到什么知识 学机器视觉需要用到什么知识? 嘿,朋友们!今天咱们来聊一聊学机器视觉需要哪些知识。机器视觉是个炒鸡酷的领域,它让机器能够“看”懂图像和视频,就像我们人https://www.0755vc.com/16835.html
18.小学班级安全教育记录内容总结(精选30篇)5、组织一次上街宣传活动。有的学校编排了精彩的安全教育文艺节目,利用3月28日安全教育日上街宣传演出,赢得了社会的好评。 小学班级安全教育记录内容总结 篇4 为切实增强学生的安全防范意识和避险能力,保障学生安全,x月xx日7:20我路桥1002班全体同学在本班教室召开了“安全教育”主题班会。会议由团支书陈韵同学主持。https://mip.ruiwen.com/zongjie/4874152.html
19.怎么能查到双色球大乐透数据分析帆软数字化转型知识库对于想要深入学习彩票数据分析的用户,可以考虑购买一些专业的彩票书籍。这些书籍通常涵盖了彩票的历史、玩法、数据分析技巧等多个方面。读者可以学习到: 基础知识:了解双色球和大乐透的基本规则和玩法。 数据分析技巧:学习如何使用统计学和概率论分析彩票数据。 https://www.fanruan.com/blog/article/457219/
20.有了小i(iEnglish),我们的英语学习不一样!1,海量(19000册+)原版英文绘本,书籍,内容覆盖包含政治,历史,天文,地理,艺术,哲学,医学等内容,不仅仅学英语,而是用英语学其他学科! 2,400位欧美外教真人发音领读,纯正发音! 3,专机专用,拒绝玩游戏,随时随地可学习,无需父母接送培训机构! 4,0基础可学,一直到英语专八(150级),也不需要家长会英语,再小学阶段https://www.meipian.cn/2np532qj