什么是单片机?单片机的原理你搞清楚了么?单片机都有哪些应用
单片机概述
单片机定义: 片半导体硅片集成:中央处理单元(CPU)、存储器(RAM、ROM)、并行I/O、串行I/O、定时器/计数器、中断系统、系统时钟电路及系统总线。用于测控领域的单片微型计算机,简称单片机。
单片机体积小、成本低,嵌入到工业控制单元、机器人、智能仪器仪表、汽车电子系统、武器系统、家用电器、办公自动化设备、金融电子系统、玩具、个人信息终端及通讯产品中。
单片机分类:
(1)通用型单片机就是其内部可开发的资源(如存储器、I/O等各种外围功能部件等)可以全部提供给用户。
用户根据需要,设计一个以通用单片机芯片为核心,再配以外围接口电路及其它外围设备,并编写相应的软件来满足各种不同需要的测控系统。通常所说的和本书介绍的是指通用型单片机。
(2)专用型单片机是专门针对某些产品的特定用途而制作的单片机。
30页内容详细介绍单片机(文末有获取)
1000G机械必备设计资料内容详情
这1000G资料涉及的范围很广,具体来说包括机械设计、机械原理、模具、机械加工、材料类、电气行业、各种零件模型和非标等等领域,具体内容有:上千份文档类(各类机械设计手册、液压类手册、自动化类手册等等,所有历史文章的PPT源文件等)、常用的设计工具(一些自动计算表格)以及各类视频教程类,我相信这1000G资料对于提升你的能力一定会有很大的帮助。同时在你工作中遇到相关问题的时候,这些资料也能提供很好的指导作用。
获取方式
单片机简介
单片机简介
数字电路简介
在一个控制系统中, 单片机是电路的一部分, 单片机中的程序是针对其所在的电路编写
的。因此,要对单片机编程并实现一定的功能,必须了解整个系统的电路图。单片机编程是
针对某个特定的电路进行的单片机编程是针对某个特定的电路进行的, 这一点和普通的编程不一样。 编程时很可能要经常参照电路图。与单片机直接相关的电路大都是数字电路。 数字电路各部分的功能十分明确, 因此相对比较容易掌握。
简单地说,数字电路就是只有“0”和“1”两种信号的电路。判别信号究竟是“0”还
是“1”是通过电压的大小(常称作“电平” )来判断的。不同的数字器件的电平判断标准是
不一样的。常用的数字器件以高电平(超过某一阈值的电平)作为逻辑“1” ,以低电平(低
于某一阈值的电平)作为逻辑“0” 。其中高电平阈值大于低电平阈值,处于高电平阈值与低
电平阈值之间的电压是无效的。 高电平阈值与低电平阈值的具体值与数字器件的供电电压有
关,如 AT89S51 单片机的高电平阈值为(0.2Vcc+0.9)V,低电平阈值为(0.2Vcc-0.1)V,
其中 Vcc 为单片机的供电电压。 早年常用的数字器件的额定供电电压为 5V, 现在 3.3V、 1.8V
等电压的数字器件已经大量使用了。在 Easy 51 Kit Pro 中,我们仍使用 5V 供电的单片机。
另外,还有一种 RS-232 电平标准,以-12V~-5V 作为逻辑“1” ,以 5V~12V 作为逻辑“0” 。
电脑上的串口都符合 RS-232 标准。还有一个“地”的概念。在电路中“地”并不是通常意义中的地,而是指电路中的一点,这一点的电压被人为地规定为 0V。
MCS-51 单片机简介
目前生产单片机产品的公司非常多, 当中较有影响力的有 intel 公司推出的 MCS-51 系
列等。很多公司的产品都是与 MCS-51 架构兼容(MCS-51 compatible)的。本资料中采用的
atmel 公司的 AT89C51/52 或 AT89S51/52 单片机,就是兼容 MCS-51 架构的单片机。
Atmel 公司的 AT89C51( 以后简称“C51”)、AT89C52( 以后简称“C52”)、AT89C2051
( 以后简称“C2051”)以及 C51、C52 的换代产品 AT89S51( 以后简称“S51”)、AT89S52
( 以后简称“S52”)容易上手、价格低廉(不超过 10 元/片)、资料丰富,是初学者入门
时广泛采用的单片机。
C51 拥有 4096 字节(1 字节=8 位)的片内程序存储器、128 字节的 RAM、32 个 I/O 口、
两个定时器、6 个中断源、一个串口等。C52、C2051 的资源与 C51 差别不大,其中 C52 的片
内程序存储器为 8192 字节、RAM 为 256 节、定时器有 3 个,其它与 C51 一样; C2051 的片
内程序存储器为 2048 字节、I/O 口只有 15 个,另比 C51 多了一个模拟比较器,工作电压范
围比较宽,为 2.7V~6V(C51/52、S51/52 为 4.5~5.5V),其它与 C51 一样。
I/O、 定时器、 中断、 串口等资源的用法在后面有详细介绍。 这里只对程序存储器与 RAM
作一下说明。单片机程序代码经过编译(C 程序)或汇编(汇编程序)后,要把编译或汇编
得到的代码文件(一般来说编译得到 hex 格式文件、汇编得到 bin 格式文件)烧写到单片机
内,存放这个程序的地方就是程序存储器。显而易见,单片机的程序存储器越大,我们就可
以把越大、越复杂的程序放进去。如果我们编写的程序太大,那么单片机的程序存储器就有
可能会放不下这个程序。这时,解决办法就只有精简代码、外接程序存储器(前提是所用的
单片机支持使用外部程序存储器)或采用程序存储器容量更大的单片机。RAM 是单片机程序
运行时存放变量的地方,常量也可以放在 RAM 中。C51 中的 RAM 大小为 128 字节,这就是说
单片机程序中最多只能同时存在 128 个 unsigned char 型的变量或 64 个 unsigned int 型的
变量(在 Keil 环境中,int 型变量的长度为 16 位,这与 VC 的 32 位不一样)或者是相应的
中国科学技术大学业余无线电协会 各种不同类型变量的组合。 可以看出, 单片机程序所允许的规模比 Windows 或其它操作系统环境下的程序要小得多。编写单片机程序时一定要注意不要滥用资源。
S51 与 S52 分别是 C51、C52 的换代产品。从用户的角度看,S5x 单片机比相对应的 C5x
单片机多了看门狗与在线编程 (ISP) 功能, 另外最高运行速度有所增加 (C5x 最高支持 24MHz
的时钟频率, 而 S5x 最高支持 33MHz 的时钟频率, 但市面上比较容易买到的 S5x 单片机仍只
最高支持 24MHz 的时钟频率)。看门狗的使用在后面会有详细介绍,我们来看看单片机的在线编程(ISP)功能。要把程序烧写到 AT89C 系列单片机中, 最常用的做法是把单片机插入专用的编程器中, 通过编程器把程序烧到单片机里。 这样做的麻烦之处是在调试程序时, 编程者对程序作出的每次修改,都要把单片机从电路中拔出来,插到编程器,烧好后又要把单片机重新插回电路板。可以想
象,这种工作是吃力不讨好的。利用 S5x 单片机的 ISP 功能,我们就无须来回插拔单片机,
只要在电路中把单片机的 ISP 编程引脚接出来, 并且这几个引脚所接的外围电路对 ISP 没有
影响,就可以用 ISP 编程器对单片机进行烧写了。另外,支持 AT89C 系列单片机的编程器成
本要比 ISP 下载线高最少几倍。一根并口 ISP 下载线的成本仅几元钱。
除了 S 系列、C 系列外,atmel 公司的 MCS-51 兼容产品也有其它系列,它们的主要区
别在于供作电压范围,在此就不作介绍了。
值得注意的是,一片单片机可以反复擦写的次数是有限的,atmel 的 C 系列、S 系列单
片机的声称可重复擦写次数为 1000 次。
下面以 S52 为例,对其引脚功能一一作出说明。C51、C52 以及 S51 的引脚功能与 S52
大致相同,如有遇到不同的地方会用 粗斜体字 特别说明。
单片机程序指令的执行是以振荡器的振荡来驱动的。在MCS-51架构中,每12个振荡器
周期组成一个指令周期(或称机器周期)。单片机执行指令的时间是以指令周期为单位的。
不同指令的执行时间可能是不同的,一条指令的执行时间最短为一个指令周期。
在MCS-51架构中,每12个振荡器
周期组成一个指令周期(或称机器周期)。单片机执行指令的时间是以指令周期为单位的。
不同指令的执行时间可能是不同的,一条指令的执行时间最短为一个指令周期。因此,单
片机所接的振荡器频率越高,它执行指令的速度就越快。
型号同样为AT89S52的芯片,在其后面还有频率编号,有24MHz和33MHz等可选。读者在
购买和选用时要注意了。 如AT89S52 24PC就是最高振荡频率为24MHz,40P6封装的普通商用芯
片。单片机芯片后缀的详细含义可见相应单片机数据手册的Ordering Information。
复位 RST 9
复位
在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将
使单片机复位,只要这个引脚保持高电平,单片机便一直处于复位状态。复位后P0~P3口均
置1,引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位引脚由高电平
变为低电平时,芯片从ROM的00H处开始运行程序。复位操作不会对内部RAM有所影响。常用
的复位电路如图2.4所示。当单片机上电时,由于电容的作用,RST引脚会处于短暂的高电平
状态,直到电容充电到一定程度时,RST引脚的电平会被8.2K的电阻拉低,单片机开始运行
程序。图中的按键为手动复位按键,当按下复位按键后,RST引脚会被1K的电阻上拉至高电
平, 单片机复位, 按键松开后, RST恢复低电平, 单片机重新从程序存储器的00H处运行程序。
手动复位按键在单片机的最小系统中并不是必须的,但对单片机的复位控制会方便些。
常用的复位电路
输入输出引脚
(1)P0端口[P0.0~P0.7] P0是一个8位漏极开路型双向I/O端口, 端口置1 (对端口写1)
时作高阻抗输入端端口置1 (对端口写1)时作高阻抗输入端。作为输出口时能驱动8个TTL。 P0端口要外接上拉电阻。
(2)P1端口[P1.0~P1.7] P1是一个带有内部上拉电阻的8位双向I/0端口。 输出时可驱
动4个TTL。 端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存
储器编程时,接收低8位地址信息。除此之外P1端口还用于一些专门功能,
3)P2端口[P2.0~P2.7] P2是一个带有内部上拉电阻的8位双向I/0端口。 输出时可驱
动4个TTL。 端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存
储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口
送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。
(4)P3端口[P3.0~P3.7] P2是一个带有内部上拉电阻的8位双向I/0端口。 输出时可驱
动4个TTL。 端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存
储器编程时,接控制信息。除此之外P3端口还用于一些专门功能,
其它的控制或复用引脚
(1)ALE/-PROG 30 访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的
低位字节。 即使不访问外部存储器, ALE端仍以不变的频率输出脉冲信号(此频率是振荡器频
率的1/6)。在访问外部数据存储器时,出现一个ALE脉冲。对Flash存储器编程时,这个引脚
用于输入编程脉冲PROG。
(2)PSEN 29 该引脚是外部程序存储器的选通信号输出端。 当S52由外部程序存储器取
指令或常数时,每个机器周期输出2个脉冲即两次有效。但访问外部数据存储器时,将不会
有脉冲输出。
(3)-EA/Vpp 31 外部访问允许端。当该引脚访问外部程序存储器时,应输入低电平。
要使S52只访问外部程序存储器(地址为0000H-FFFFH),这时该引脚必须保持低电平。当使
用内部的程序存储器时,此引脚应与Vcc相连。当使用内部的程序存储器时,此引脚应与Vcc相连。对Flash存储器编程时,用于施加Vpp编程电压。
C2051 的引脚功能与 C51 相仿,在此不另外介绍了
相关问答
如何理解 单片机 ? 单片机 开发是一个什么概念?1、单片机就是指那一片含有CPU的芯片。2、由单片机再加上一些外围电路比如D/A、A/D或内存或程序扩展,叫单片机系统。3、单片机开发就是指采用单片机(包括硬...
单片机 还可以称为什么?单片机的称谓仅在中国流行,对应的英文词语----SingleChipComputer----在国际上很少使用。不少专家试图以国际通用的Microcontroler(微控制器)称谓替代单片机...
急急急!!!什么是 单片机 开发?[回答]单片机是一块芯片,而由其和其他的外围芯片或器件就构成了一个单片机系统了,通常所说的最小系统就是某个单片机和一些如晶振、复位电路等单片机工作...
谈谈你对 单片机 的认识?从大一的时候在大学图书馆看到关于AVR单片机的书籍,到参加竞赛、工作,我和单片机已经打了六七年的交道了吧。其间我都是在做产品的软件开发,与硬件工程师合作...
单片机 如何 定义 数码管?单片机控制数码管分两种。1、静态数码管,控制比较简单,只送段码就可以了。比如:P1=0xc0,共阳极的话,将显示02、动态数码管,控制就比较复杂一些,需要先...单...
单片机 与其他常见微机(如PC机)有什么不同?单片机是一块芯片,而电脑是一台机器,一套硬件系统的集合;单片机的内存在芯片内部,即指的是ram,当然有的单片机也可以外接ram,像51系列的一些芯片就可以。通...
单片机 的位数是怎么 定义 的?单片机的位数指的是数据总线的宽度,8位机即指单片机的数据总线为8位,总线上一次能并行传送8位数据,也就是RAM的位数。有8位单片机,有16位单片机,有32位单片...
帮忙讲解一下 单片机 可以吗?这里讲解的单片机仅仅只是大轮廓的一个概念,具体要详细学习单片机最好是网上购买单片机入门至制作,才可以真正意义上...帮忙讲解一下单片机可以吗?★实话实说,...
单片机 标准函数和自 定义 函数概念?单片机标准函数有非常多的寄存器,导致了开发困难,所以为此ST公司就为每款芯片都编写了一份库文件,也就是工程文件里stm32F1xx……之类的。在这些.c.h文件...
单片机 负载的 定义 ?1是指单片机在运行过程中所承担的工作量或任务量。2单片机负载的大小取决于单片机所执行的程序的复杂程度和所需处理的数据量。当单片机负载较高时,表示单片...