面向单片机编程(一)- 单片机该怎么学

news/2024/11/27 8:47:35/

面向单片机编程 (一)- 单片机该怎么学

标签: 单片机 C51
单片机该怎么学?应该从哪里入手?要怎么使用单片机实现一个(大)目标?
下面我也来和大家一起分享一下初学单片机应该怎么开始。
首先我们先来了解一下单片机是什么,都有哪些类型。

一、什么是单片机?

单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解与结构的最佳选择。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

单片机开发板与封装样式


二、单片机能做什么?

在这里插入图片描述
单片机主要用于嵌入式应用,大量用于自动控制的电子设备,如手机,照相机,微波炉,洗衣机等。同时单片机也可用于任何需要决策或系统监控的应用程序。有许多单片机可用于集成到产品中。单片机通常具有模拟和数字输入/输出功能。用户可以使用各种编程语言对微控制器进行编程。可以开发这些软件程序来监视和获取某些输入,执行高速计算和分析并生成输出以控制各种设备,例如LCD屏幕,电机驱动器等。

1、单片机可用于从计算器到高端复杂(如心脏监测器)的基本仪器。几乎所有电子医疗设备,如血压计,血糖仪和血氧饱和度计都有先进的单片机。

2、国防部门使用的复杂电子武器也包含单片机。反坦克导弹,地对空导弹以及现在军方使用的一些枪支都会在其电子电路中装有单片机。

3、日常生活中的电子玩具也包含单片机。由于单片机的集成,玩具变得更加有趣并且已经为孩子们提供了一个巨大的教育平台。迷你机器人玩具,遥控车,直升机和飞机是使用单片的产品。

4、厨房和家里使用的设备,如冰箱,电视,收音机,洗衣机,洗碗机甚至加湿器,都存在单片机。单片机在改善我们日常生活质量方面具有巨大的影响力。


三、学习单片机要从哪里入手?

学习单片机首先我们要先了解单片机的种类,型号,然后怎么选择适合的单片机开展项目。
单片机从当初的4位发展到8位、32位,甚至更高,到现在可以说种类繁多而且齐全,数量庞大,在不同的领域主流的单片机有不同,很多设计开发有时候要面临很多选择。下面介绍几种常用的单片机:

1、51系列单片机
51单片最初是由Intel始创的8051单片机开始,这是8位的单片机,特点是:寄存器少,很多功能需要外部扩展,像AD转换、PWM专门输出信号等、I/O口输出能力不强、运行速度慢、抗干扰能力差、功耗高、不具备自编程能力。但是它的外围电路相对简单,上手容易,适合入门级,很多高校单片机都是以51单片机教学为主,在工业测控系统应用很广泛。目前生产51单片机的厂家有:英特尔、艾德梅尔、西门子、华邦以及国产的宏晶等

2、AVR系列单片机
AVR单片机是由Atmel公司最初提出,也是8位单片机,后来也有16位的,但是与51不一样,它内部指令大大简化,同时内部结构精简,因此速度更快,功能更加强大,驱动能力比51的强,功耗也很低,抗干扰能力更强,内部有强劲的Flash程序存储器,烧录快捷方便,内部集成多种频率的RC振荡器、PWM输出、AD转换、看门狗、上电自动复位等功能。

AVR单片机有三种系列:
 tiny AVR,这种主要被用于需要性能不是很高、效率低下以及在小封装中使用;
 mega AVR,这种主要是针对需要加额外外围电路设计的理想选择,自编程能力强;
 Xmega AVR,这种主要是在高集成度和低功耗使用;
 AVR单片机主要应用在打印机、空调、电表等控制电路板当中;

3、STM32系列单片机
STM32系列单片机是有ST公司推出的,表示ARM Cortex-M内核的32位微控制器,这个芯片功能就更强大了,光是学习起来就有厚厚的一本书,这还不包括实际操作实践,从事软件开发的网友,特别是设计大型系统对这个芯片一定不陌生。这是一款高性能高性价比的芯片,特点是拥有双12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻转速度,待机功耗低至2μA,复位电路、低电压检测、RC振荡器等电路高度集成化。到目前为止,ST已经推出了基本型、增强型、USB基本型系列、互补型等一系列芯片,功能越来越强大,主要交通运输、UPS电源、充电桩、功率转换器、计算机等方面。

4、MSP430系列单片机
MSP430单片机TI德州仪器公司推出的,有时候也成为混合信号处理器,这种单片机是16位超低功耗芯片,它的内部指令集也极具精简,内部集成了较为丰富的片内外设,有各类定时器各种通讯协议、液晶驱动器、高精度数模转换、USB控制器等,这种单片机特点是运算速度快、处理能力强、功耗低等。这种芯片主要是针对实际应用需求场合应用,主要应用在智能电子锁、键盘门禁、读取器、电梯轿厢呼叫按钮、无线扬声器、可视门铃等

5、PIC系列单片机
较为出名的莫过于Microchip公司(中文名:微芯半导体)的PIC芯片,这家公司PIC系列出货量居于业界领导者地位。PIC芯片的指令集也较为精简。Microchip8位、16位和32位单片机,拥有功能强大的架构、灵活的存储器技术、通讯方式涵盖SPI、I2C、UART、CAN、USB、以太网等、内部集成了图形以及触摸传感控制器等电路、各类比较器、A/D转换器等应有尽有,目前Microchip的PIC单片机8位的典型代表有: PIC10 PIC12 PIC16 PIC18,PIC系列单片机主要是用来开发和控制外围设备的一种芯片,对于庞大的系统,有些场合如果用此芯片控制可以进行高度集成化,减少外围电路。主要应用在电机、医疗、家电、有限连通、汽车领域、电池管理方案、智能能源等

6、M68HC系列单片机
这是MOTOROLA推出的单片机,摩托罗拉作为单片机最大生产商之一,它的M68HC系列单片机特点是速度快、功能强大、功耗低等,带flash重复擦写且供电电源单一、支持在线编程,最主要的额是它内部采用的时钟频率很低,抗干扰能力很强,因此很适合在工控领域使用。

除了上述这几种其实还有很多单片机,比如NXP 51系列单片机、WINBOND51系列单片机、台湾义隆单片机、松翰单片机(SONIX)、Atmel的AT89系列单片机、华邦W78系列单片机、EPSON单片机、Scenix单片机等。

其实选择哪一种单片机要根据实际情况同时结合自身条件以及要求,一般来说,对于控制系统不是很复杂,I/O数量不是很多,可以采用精简指令集的单片机,这种单片机在读取指令和数据时候分开进行,因此单片机速递不是很高,例如可以用例如PIC系列单片机、SONIX单片机等;而对于系统较为复杂一点的可以采用速度快一点的,例如STM32系列等。

对于我们初学者学习单片机,可以选择从STC系列的 51单片机开始学起,至于为什么要从51单片机开始学起呢,原因就是一句话,因为51系列单片机简单,学习起来也简单。51系列单片机虽然简单,但是这并不代表它功能少,51单片机虽然简单,但体系是完备的。所以当你学会51单片机,会非常快速入门其它单片机学习。这就和我们小时候学习数学都是从1+1开始学习加法的,简单+坚持我们就能学习下去,就能更好的理解。


四、学习单片机编程的准备

学习单片机,始终包含两个部分软件硬件
1、首先硬件方面,需要准备一个完整的单片机最小系统(包括 时钟电路、复位电路和电源),最好能有几个按键和LED的,方便后续学习);
在这里插入图片描述STC51单片机开发板

在这里插入图片描述
时钟电路
在这里插入图片描述
复位电路

2、然后软件方面,要有一个程序编辑、编译调试的环境,一般选择Keil软件安装在我们自己的电脑上,可以到Keil官网 https://www.keil.com/ 下载最新版的Keil (C51版本);
在这里插入图片描述Keil 5

3、之后,还要准备一条连接电脑和51单片机的数据线,用来烧写程序,建立起电脑和51单片机的联系,目前常用的有串口线,USB接口线等,可以根据你选择的最小系统预留接口选择,或者也可以自己制作一条下载线,
在这里插入图片描述USB串口

4、再之后要有一个将Keil软件生成的“HEX”文件烧写在单片机内的烧录软件,如stc-isp-xx型号烧录软件,STC-ISP下载路径:STC的官网: http://www.stcmcu.com

下载最新版本
在这里插入图片描述

在这里插入图片描述

五、单片机编程环境的搭建

1、下载Keil 到官网 https://www.keil.com/
在这里插入图片描述
下载C51版本
在这里插入图片描述

点击下载最新版本
在这里插入图片描述

下载完成后双击安装包,进行安装,根据提示点击 Next>> 下一步即可。安装完成后会在桌面生成软件图标:
在这里插入图片描述

首次启动运行我们需要先注册软件,Keil软件不是一个免费软件,如果不进行注册的话,我们能编译的代码长度就不能超过(0x800)字节也就是2048字节,大约200多行代码,如果超过这个限制那么编译就会报错。
在这里插入图片描述

那么这时候我们就需要用到注册机这类破解限制的办法了,这里建议大家购买使用正版软件,破解等办法仅作为学习使用。(特别声明:仅限用于个人学习,如果用于商业活动,后果概不负责)
1、首先下载keil5注册机
在这里插入图片描述
2、运行注册机
鼠标右键以管理员身份运行
在这里插入图片描述

在这里插入图片描述

3、点击菜单栏File,然后点击License选项
在这里插入图片描述

4、将注册界面的“CID”复制到注册机中,然后点击“Target”修改为"C51",继续点击Generate,生成注册码
在这里插入图片描述
在这里插入图片描述

5、将注册码粘贴到 License Management的LIC编辑框内,点击AddLIC,即可注册成功(如果弹出一个带乱码的窗口,先确认是否使用了管理员权限打开Keil),可以看到过期时间是2032年,足够我们用了。
在这里插入图片描述
以上配置完成后,接下来就可以开始使用Keil5进行C51单片机代码的编写了,下一章中我们再来详细学习怎么使用Keil5创建一个编程项目并使单片机按照代码逻辑运行。


http://www.ppmy.cn/news/126970.html

相关文章

j2ee模拟购物车业务源码与JavaBean相关讲解(第十二天学习j2ee)

2022.5.2 第八个war包相关实验记录与内容问题的回答 其实第八个war包早就开始写了,但是因为中途配置了一下STS4,想要了解STS4的框架,但没有成功,所以这次最后还是回到了之前用的eclipse,因为这个早就以及配置好了 那么…

国开电大 广告心理学 形考任务

形考任务1 题目顺序随机,请使用键盘上CtrlF组合键查找题目 题目:“AIDA说”包括以下哪几个因素? 记忆 行动 注意 兴趣 欲望 题目:“宾馆的档次等级”、“员工的能力等级”等这一类型变量属于( )。 命名变量…

洗碗机超越战

“洗碗机是真的香”,享受完丰盛的年夜饭后,看着洗菜池里堆积起来的碗碟们,越来越多的人开始意识到洗碗机的魅力。 同扫地机器人一样,洗碗机是居民消费升级的产物,也是“懒人经济”的一环。“下厨可以,洗碗…

addon.MediaStream,erizo::MediaStream 还有addon.MediaXXX,erizo::MediaXXX

9. MediaStream 和erizo::MediaStream 类的继承关系 erizo::MediaStream source/agent/webrtc/rtcConn/erizo/src/erizo/MediaStream.h source/agent/webrtc/rtcConn/erizo/src/erizo/MediaDefinitions.h erizo::MediaSource source/agent/webrtc/rtcConn/erizo/src/erizo/…

洗碗机,加速中国化才能更适合中国厨房

“目前我们拓展海外市场的策略就是四处出击,哪里有市场哪里就有我们!”2004年,美的洗碗机出口部的部长向媒体表示。 中国一开始是外向型经济,家电产业往往是制造先行、市场后醒,以承接全球产业转移做出口业务起步&…

OOP(面向对象)

大纲 1.面向对象的基本概念 1).客观存在的任何一种事物,都可以看做为程序中的对象 2).使用面向对象思想可以将复杂的问题简单化 3).将我们从执行者的位置,变成指挥者 2.类与对象类是对现实生活中一类具有共同属性和行为的事物的对象对象是能够看得到摸得…

京东价格战闹剧悄悄收场,战场盘点初探

电商价格大站鸣金收兵 网上已悄悄提价 “整整5天,我一点都没有睡觉。24小时备战,全面布控,就怕慢一步就成了炮灰。”电话那头,国美人士情绪有些激动,我现在可以说的是,“我们这几天产生了巨大的销售额&…

使用HTML5和CSS3开发电子商务网站——第一章,课后作业

1.制作聚美优品常见问题页面&#xff0c;页面标题和问题使用标题标签完成&#xff0c;问题答案使用段落标签完成&#xff0c;客服温馨提示部分与问题列表之间使用水平线分隔。 <head><meta charset"UTF-8"><title>聚美优品的常见问题</title&g…