一般我们接触到的都是8位单片机,而且它是市面上最为常见的。下面介绍几种不同的8位单片机,并且给出一个例子来加以说明。
说起单片机,大家第一时间就会想到51单片机,大部分菜鸟起初接触到或了解到的一定是该类单片机,而8051单片机又是其中的经典,学电子的朋友对此应该不陌生,很多书籍及教科书都以它为模板来讲述单片机这门课程。在8051单片机中,又以Inter公司的MCS-51系列单片机较为有名。其以稳定的性能、高性价比及良好的兼容性,在各个领域得到了最为广泛的应用。
8051单片机由于生产厂商和型号的不同,在片内存储器容量、外围功能模块、最高时钟频率及处理器速度等方面有很大的不同,但其内部结构基本相同,均包括算术逻辑单元ALU、片内RAM、片内ROM、I/O端口、定时系统、中断系统等基本的功能单元。如图1.1所示为8051单片机的内部结构。
图1.1 8051单片机的内部结构
8051单片机内部包含一个8位的算术逻辑单元ALU,用于处理各种算术运算和逻辑运算,并且能够完成数据传送、移位、判断和程序转移等操作。
8051单片机提供了128B的片内RAM和至少4KB的片内ROM。RAM的地址空间为00H~7FH,其中00H~1FH为4组通用工作存储器区,每个区包含8个编号为R0~R7的8位寄存器。此外,1FH~2FH为位寻址空间。而ROM用于保存用户的程序指令。
8051单片机共有32个I/O,即4组并行8位接口,分别为P0、P1、P2和P3。
8051单片机包含两个16位的定时/计数器,支持4种工作方式。
8051单片机的中断系统包含5个中断源,两级中断优先级,其中每个中断源的优先级是可编程的。
接下来了解另一种单片机——FREESCALE(飞思卡尔)单片机。
飞思卡尔半导体已经成为全球最大的半导体公司之一,其主要的产品有8位微控制器、16位微控制器、32位微控制器与处理器、PowerArchitecture TM /PowerQUICC TM 、高性能网络处理器、高性能多媒体处理器、高性能工业控制处理器、模拟和混合信号、ASIC、手机平台、CodeWarrior TM 开发工具、数字信号处理器与控制器、电源管理、RF射频功率放大器、高性能线性功率放大器GPA、音视频家电射频多媒体处理器、传感器。在这里了解一下其生产的8位微控制器(以MC9S08AC系列为例进行介绍)。
MC9S08AC系列微控制器采用的是8位HCS08中央处理器,其CPU频率可达到40MHz,内部总线频率可达到20MHz,并且使用的是HC08的指令集。如图1.2所示是MC9S08AC系列MCU的模块结构图。
从图1.2可以看出,与51单片机相比,飞思卡尔单片机提供的外设是相当丰富的,除了一般的定时器、A/D转换器等外,还增加了串行通信接口模块、8位键盘中断模块及循环冗余校验模块。另外,其Flash与RAM更大了。这里具体介绍以下几个模块。
内部时钟发生器提供多种时钟源,这使得用户能够非常灵活地根据成本、精确度、电流消耗及性能要求进行选择。该发生器包含四个功能子模块,分别是振荡器子模块、内部参考发生器、锁相环和时钟功能选择子模块。在实际开发中,不同产品对时钟的要求是不同的,不一定时钟高的就是好的。
IIC模块提供了接口给不同器件间通信的方法。该模块接口可以在最大的总线负载和时序下,支持最高100kbps的传输速率。器件也可以在较低总线负载下以更高的波特率(最高时钟/20)在该模块接口上运行。IIC模块的最大通信长度和可以连接的器件数量受400pF的最高总线电容限制。IIC模块的实际运用非常广泛,在后面的章节有详细的讲解。
串行通信接口(SCI)也被称为通用异步收发器(UART)。该接口是全双工类型的,其发送器和接收器具有各自的双缓冲,并可分别使能。它可根据通信要求设定所需的波特率。
图1.2 MC9S08AC系列MCU的模块结构图
串行外设接口(SPI)也是一个运用非常广泛的接口。它支持主或从工作方式、全双工或半双工、发送比特率可编程、MSB优先移位或LSB优先移位等。
循环冗余检验(CRC)模块是采用16位移位寄存器的硬件CRC发生器电路,其误码检测功能可以检测所有单、双数误码及大多数多位误码,而且还能编程初始速率和进行高速的CRC计算。
了解了以上两种单片机后,再来看看市场上还有哪些主流的单片机——AVR单片机、PIC单片机、STM单片机、MSP430单片机等。AVR单片机将是1.3节介绍的重点。每个单片机厂商生产的单片机都有属于自己的CPU内核,架构不同,寄存器也都不相同,而且每个厂商提供的开发环境也不一样,很少有一个开发环境兼容所有单片机类型。但是总的来说,单片机大体还是一样的,因此只要针对一种比较典型的单片机进行深入学习、实践即可,不需要对每一种单片机都进行从头到尾的学习及实践。对于不同类型的单片机,主要需要花时间学习的部分在于开发环境的熟悉与运用,以及和该单片机相关的寄存器的设置与运用。