1.1 单片机的结构组成、特点和指标
微型计算机由运算器、控制器、存储器、输入/输出接口4个基本部分和输入/输出设备等组成。如果把运算器与控制器封装在一小块芯片上,则该芯片称为微处理器。如果将CPU与大规模集成电路制成的存储器和输入/输出接口电路在印制电路板上用总线连接起来,再配以适当的输入/输出设备(如磁盘存储器、键盘和显示器等),就构成了微型计算机。如果在一块芯片上,集成了一台微型计算机的4个基本组成部分,则这种芯片就称为单片微型计算机(single-chip microcomputer),简称单片机。以单片机为核心的硬件电路称为单片机系统。
1.1.1 微型计算机的基本结构
微型计算机的基本结构如图1-1所示。
图1-1 微型计算机的基本结构
1.控制器
控制器(controller)是计算机的控制核心,它的功能是负责从内部存储器中取出指令,对指令进行分析、判断,并根据指令发出控制信号,使计算机有条不紊地协调工作。
2.运算器
运算器的核心部件是算术/逻辑单元(ALU),主要完成算术运算和逻辑运算。
3.存储器
存储器(memory)是具有记忆功能的部件,用于存储程序和数据。存储器根据其位置不同可分为两类:内部存储器和外部存储器。内部存储器(简称内存)和CPU直接相连,存放当前要运行的程序和数据,故称主存储器(简称主存)。它的特点是存取速度快,基本上可与CPU处理速度相匹配,但价格较高,存储容量较小。外部存储器(简称外存),主要用于保存暂时不用但又需长时间保留的数据和程序。存放在外存的程序必须调入内存才能运行。外存的存储容量大,价格较低,但存取速度较慢。
4.输入/输出接口
输入/输出接口(Input/Output,I/O)又称I/O接口,是CPU与外设相连的逻辑电路,外设必须通过接口才能和CPU相连。不同的外设所用接口不同。每个I/O接口有一个地址,CPU按照地址通过对不同的I/O接口进行操作来完成对外设的操作。
5.输入和输出设备
输入和输出设备(如键盘、鼠标、显示器、打印机等)用于和计算机进行信息交流的输入和输出操作。
6.总线
总线(bus)是控制器、运算器、存储器、I/O接口之间相连的一组线。数据总线(Data Bus, DB)是用于传送程序或数据的总线;地址总线(Address Bus,AB)用于传送地址,以识别不同的存储单元或I/O接口;控制总线(Control Bus,CB)用于传输控制信号,这些控制信号控制计算机按一定的时序有规律地自动工作。
1.1.2 单片机的基本结构
单片机的基本结构可用图1-2所示的框图描述。图1-2与图1-1的对应关系是:中央处理器(CPU)包含了控制器和运算器;只读存储器(ROM)和随机存储器(RAM),ROM存放程序,RAM存放数据;I/O对应输入接口和输出接口。另外,在单片机内部还集成了定时/计数器(T/C)、中断控制器和系统时钟电路等。单片机用总线实现CPU,ROM,RAM, I/O各模块之间的信息传递。其实,具体到某一种型号的单片机,其芯片内部集成的ROM和RAM的大小、I/O端口的多少、定时/计数器的多少和位数都不尽相同,但CPU只有一个,各模块的功能大致相同。
图1-2 单片机的基本结构
1.中央处理器
中央处理器(CPU)是单片机的核心单元,由算术逻辑运算部件和控制部件构成。
2.程序存储器
程序存储器采用ROM,用来存放用户程序,可分类为EPROM,Mask ROM,OTP ROM和Flash ROM等。
3.数据存储器
数据存储器采用RAM,用来存放程序运行中的工作变量和数据。
4.并行输入/输出端口
并行输入/输出端口通常为独立的双向I/O口,一般既可以用做输入方式,又可以用做输出方式,通过软件编程设定。I/O口是单片机的重要资源,也是衡量单片机功能的重要指标之一。
5.串行输入/输出端口
串行输入/输出端口用于单片机和串行设备或其他单片机系统的通信。串行通信有同步和异步之分,可用硬件或通用串行收/发器件实现。
6.定时/计数器
定时/计数器(T/C)用于单片机内部精确定时或对外部事件进行计数,有的单片机内部有多个定时/计数器。
7.系统时钟
系统时钟通常需要外接石英晶体或其他振荡源提供时钟信号输入,也有的使用内部RC振荡器。系统时钟相当于PC中的主频。
以上只是单片机的基本结构,现代的单片机又加入了许多新的功能部件,如模拟/数字转换器(ADC)、数字/模拟转换器(DAC)、温度传感器、液晶驱动电路、电压监控、“看门狗”电路、低压检测电路等。
1.1.3 单片机的特点
单片机除了具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性高等优点外,它与通用微型计算机相比,在硬件结构和指令功能方面还具有以下独特之处。
1.存储器ROM和RAM严格分工
ROM用做程序存储器,只存放程序、常数和数据表格;而RAM用做数据存储器,存放临时数据和变量。这样的设计方案使单片机更适合用于实时控制(也称为现场控制或过程控制)系统。配置较大的程序存储空间,将已调试好的程序固化(即对ROM编程,也称为烧录或者烧写),这样不仅掉电时程序不会丢失,还避免了程序被破坏,从而确保了程序的安全性。实时控制仅需容量较小的RAM,用于存放少量随机数据,这样有利于提高单片机的操作速度。
2.采用面向控制的指令系统
单片机的指令系统有很强的端口操作和位操作能力,在实时控制方面,尤其是在位操作方面单片机有着不俗的表现。
3.I/O端口引脚具有复用功能
I/O端口引脚通常设计有多种功能,以充分利用数量有限的芯片引脚。在应用时,究竟使用多功能引脚的哪一种功能,可以由用户编程确定。
4.品种规格的系列化
属于同一个产品系列、不同型号的单片机,通常具有相同的内核、相同或兼容的指令系统。其主要的差别仅在于片内配置了一些不同种类或不同数量的功能部件和容量大小不同的ROM或RAM,以适用于不同的被控对象。
5.硬件功能具有广泛的通用性
单片机的硬件功能具有广泛的通用性。同一种单片机可以用在不同的控制系统中,只是其中所配置的软件不同而已。换言之,给单片机固化上不同的软件,便可形成用途不同的专用智能芯片。
1.1.4 单片机的重要指标
1.位数
位数是指单片机能够一次处理的数据的宽度,有1位机(如PD7502)、4位机(如MSM64155A)、8位机(如MCS-51)、16位机(如MCS-96)、32位机(如IMST414)。
2.存储器
存储器包括程序存储器和数据存储器。程序存储器空间较大,字节数一般从几KB到几十KB(1 KB = 210 B = 1 024 B),另外还有不同的类型,如ROM,EPROM,EEPROM,Flash ROM和OTP ROM。数据存储器的字节数则通常为几十字节到几百字节之间。程序存储器的编程方式也是用户选择的一个重要因素,有的是串行编程,有的是并行编程,新一代的单片机有的还具有在系统编程(In-System-Programmable,ISP)或在应用编程(In-Application re-Programmable,IAP)功能,有的还有专用的ISP编程接口JTAG口。
3.I/O端口
I/O端口即输入/输出端口,一般有几个到几十个,用户可以根据自己的需要进行选择。
4.速度
速度指的是CPU的处理速度,以每秒执行多少条指令衡量,常用单位是MIPS(百万条指令每秒),目前最快的单片机可达到 100 MIPS。单片机的速度通常是和系统时钟(相当于PC的主频)相联系的,但并不是频率高的处理速度就一定快,对于同一种型号的单片机来说,采用频率高的时钟一般比频率低的速度要快。
5.工作电压
单片机的工作电压通常是5 V,范围是±5%或±10%,也有3 V/3.3 V电压的产品,更低的可在1.5 V工作。现代单片机又出现了宽电压范围型,即在2.5~6.5 V内都可正常工作。
6.功耗
低功耗是现代单片机所追求的一个目标,目前低功耗单片机的静态电流可以低至微安(μA, 10−6 A)或纳安(nA,10−9 A)级。有的单片机还具有等待、关断、睡眠等多种工作模式,以此来降低功耗。
7.温度
单片机根据工作温度可分为民用级(商业级)、工业级和军用级3种。民用级的温度范围是0~70 ℃,工业级是−40~85 ℃,军用级是−55~125 ℃(不同厂家的划分标准可能不同)。