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

发布者:TechWhizKid最新更新时间:2022-12-08 来源: zhihu关键字:单片机  编程  集成电路芯片 手机看文章 扫描二维码
随时随地手机看文章

一、什么是单片机?

单片机(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创建一个编程项目并使单片机按照代码逻辑运行。


关键字:单片机  编程  集成电路芯片 引用地址:面向单片机编程 (一)- 单片机该怎么学

上一篇:面向单片机编程(二)-开端,点亮第一个LED
下一篇:51单片机还适合作为初学者入门的单片机吗?

推荐阅读最新更新时间:2024-11-06 12:16

MCS-51系列单片机串行接口控制寄存器SCON
MCS-51系列 单片机 串行口控制寄存器SCON是一个特殊功能寄存器,地址为98H,具有位寻址功能。SCON的格式如下:   各位功能说明如下:      1.SM0、SM1:串行口的工作方式选择位。      2.SM2:多机通信控制位。      对于于方式2和方式3,如SM2置为1,则只有接收到的第9位数据(RB8)为“1”,才激活接收中断标志位RI;而当SM2置为0时,则不论第9位数据为“0”还是为“1”,都将前8位数据装入SBUF中,并置位RI产生中断请求。对于方式1,如SM2=1,则只有接收到有效的停止位才会激活RI。对于方式0,SM2应该为0。      3.REN:允许串行接收位。      REN位
[单片机]
MCS-51系列<font color='red'>单片机</font>串行接口控制寄存器SCON
51单片机外围模块——DS1302时钟模块
一.DS1302的主要性能指标 DS1302实时时钟具有能计算2100年之前的秒、分、时、日、日期、星期、月、年的能力,还有闰年调整的能力。 内部含有31个字节静态RAM,可提供用户访问。 采用串行数据传送方式,使得管脚数量最少,简单SPI 3线接口。 工作电压范围宽:2.0~5.5V。 工作电流:2.0V时,小于300nA 时钟或RAM数据的读/写有两种传送方式:单字节传送和多字节传送方式。 采用8脚DIP封装或SOIC封装。 与TTL兼容,Vcc=5V。 可选工业级温度范围:-40C~+85C。 具有涓流充电能力。 采用主电源和备份电源双电源供应。 备份电源可由电池或大容量电容实现。 DS1302采用SPI总线与外结通信
[单片机]
51<font color='red'>单片机</font>外围模块——DS1302时钟模块
XS128单片机实验:在示波器上模拟乒乓球比赛
#include hidef.h /* common defines and macros */ #include derivative.h /* derivative-specific definitions */ /*****************************************************************/ // This progam is the second homework from Fresscale Traning // 本题是电子设计大赛的题目:在示波器上模拟乒乓球的比赛; // 示波器工作在XY李萨如图模式下;设定两路PWM波通过改变占空比, // 在低通滤波器
[单片机]
Atmel推出面向智能联网设备的超低功耗MCU
Atmel推出面向智能联网设备、基于 ARM Cortex M4的全新SAM G系列超低功耗小型MCU Atmel的SAM G系列MCU是各类传感器中枢以及电池供电型应用的理想选择,新系列拓展了公司现有的传感器中枢产品组合,并新增了两个传感器/传感器融合软件合作伙伴 加利福尼亚州圣荷塞市,2014年1月7日– 全球微控制器(MCU)和触控解决方案领域的领导者Atmel® 公司(纳斯达克:ATML)今日宣布推出基于 ARM® Cortex M4的Atmel SAM G系列高性能、超低功耗小型MCU。这个全面的解决方案是传感器中枢以及电池供电型消费应用的理想选择,其中包括面向智能手机、平板电脑、超极本、可穿戴设备、医疗设备、网关
[单片机]
基于PIC的CAN总线超声波测距智能节点设计
1 引言 移动机器人要实现在不确定环境下运行,必须具备自动导航和避障功能。在移动机器人的导航系统中,传感器起着举足轻重的作用。视觉、激光、红外、超声传感器等都在实际系统中得到了广泛的应用。其中,超声波传感器以其信息处理简单、速度快和价格低,被广泛用作移动机器人的测距传感器,以实现避障、定位、环境建模和导航等功能。本文介绍的CAN总线智能节点的设计以Microchip公司的PIC18F2580控制核心。由于PIC18F2580有片上自带的CAN控制器并且为CAN的应用提供了许多专用的硬件功能,因此又将它作为了系统的CAN总线控制器,大大节省了主控系统的资源。CAN总线的收发器采用TJAl040。系统总体结构框图如图1所示。
[单片机]
基于单片机的生活废(污)水处理系统设计
  1 引言   中国是全球人均水资源最贫乏的国家之一,然而在我国,水资源短缺与严重浪费现象长期并存。未来 15 年是我国建设节水型社会的关键时期,国五部委联合发布的《中国节水技术政策大纲》中,对建设节水型社会的规划之一是推广先进实用的节水技术。   学生公寓盥洗室生活用水量大,水池的排水方式普遍为直排式,使具有再次利用价值的生活废水被排入下水道,造成水资源的浪费。本课题设计的是生活废水二次利用装置的控制系统,这一系统地完成有利于推进节水技术的推广,用单片机控制废水处理的设备,从而实现现场的自动化控制。   2 系统总体设计   系统节水装置如图 1 所示,本生活废水处理控制系统主要分为以下几个模块,通过检测浮子开关量来检
[单片机]
RTOS为Energy MCU实现“无时钟节拍”节能模式
Energy Micro宣布Keil RTX实时操作系统(RTOS)已成为其Simplicity Studio提供的软件之一。Keil RTX 是针对ARM Cortex-M 处理器进行了优化的RTOS,可提供灵活的任务调度及进行高速的任务处理。Energy Micro对Keil RTX加以扩展,使MCU在任务处理之间处于超低功耗的深度睡眠模式。 Energy Micro对ARM Keil RTX进行了扩展,实现了“无时钟节拍”模式,该模式下EFM32 MCU只需在必要的时候醒来-即在预定的时间或发生中断时。相比其它使用基于SysTick,即系统定时器,需要不断运行的高速时钟的方案,“无时钟节拍”模式下电流消耗小了几个数量级。
[单片机]
单片机在平衡能力静态测试及动态训练中应用方案
1. 引言 人类的平衡能力是人能够进行各种运动的基础,人的站立、坐卧、行走都需要有平衡能力。一旦人的平衡能力有障碍,则人的行动能力就受制约,给学习、生活带来极大的不便。在现代化的社会,人口老龄化问题突出,老年人因某种疾病而导致脑损伤引起平衡能力降低,行动能力受阻。因此,在临床治疗中,需要一种能对平衡功能检验的设备。我校在上海瑞金医院的协作下,在分析了国际、国内有关资料的基础上,应用先进的计算机控制技术研制成功了多功能的人体平衡康复仪。使用该仪器可以客观、定量地进行平衡功能的测试、分析和训练,可以地进行平衡能力的静态测试和动态训练。为临床研究提供了有效的手段。 2.仪器功能 ·仪器的测量范围:10---360kg ·重心位置
[单片机]
<font color='red'>单片机</font>在平衡能力静态测试及动态训练中应用方案
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved