1、单单 片片 机机 基基 础础郝金魁郝金魁2016年年4月月单片机的概念单片机(单片机(Microcontrollers)是一种集成电路芯片,)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力是采用超大规模集成电路技术把具有数据处理能力的的中央处理器中央处理器CPU、存储器存储器、多种多种I/O口口和中断系和中断系统、定时器统、定时器/计数器等功能(可能还包括脉宽调制电计数器等功能(可能还包括脉宽调制电路、路、A/D转换器等电路)集成到一块硅片上构成的转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。一个小而完善的微型计算机系统。单片机是汽车各种电脑的核心部件。单
2、片机是汽车各种电脑的核心部件。单片机的安装位置(君威LB8)单片机的安装位置与PC机比较 与PC机比较 体积小体积小 可靠性高可靠性高 总线在芯片内,不易受干扰总线在芯片内,不易受干扰 功能强功能强 面向控制,实时控制功能强面向控制,实时控制功能强 使用方便使用方便 应用系统的硬件设计非常简单应用系统的硬件设计非常简单 性能价格比高性能价格比高 容易产品化容易产品化单片机的系列 国际上比较流行的单片机有以下几种国际上比较流行的单片机有以下几种Intel系列系列Motorola系列系列.NEC系列系列Philip系列系列.NS系列系列(美国国家半导体公司生产美国国家半导体公司生产.Zilog系列
3、系列(美国美国Zilog公司生产公司生产ATMEL系列系列(美国美国ATMEL公司生产公司生产.MSP430系列系列(TI).ARM系列系列http:/典型单片机生产厂家n美国nIntelnMotorolanZilognNSnMicrochipnAtmelnTIn日本nNECnToshibanFujitsunHitachin荷兰nPhilipsn英国nInmosn德国nSiemens(Infineon)n中国台湾nAcer 宏基nWinbond 华邦nHoltek 合泰n凌阳单片机内部结构CPUCPU是微控制器的核心是微控制器的核心部件,它通常由运算器、部件,它通常由运算器、控制器和中断电路等
4、组成控制器和中断电路等组成。CPU进行算术运算和逻进行算术运算和逻辑操作辑操作,字长有字长有4位、位、8位、位、16位和位和32位之分,字长越位之分,字长越长运算速度越快,数据处长运算速度越快,数据处理能力也就越强。理能力也就越强。CPU运算器运算器运算器用于对二进制数运算器用于对二进制数进行算术运算和逻辑操作进行算术运算和逻辑操作;由操作控制器控制其操;由操作控制器控制其操作顺序。作顺序。由算术逻辑单元由算术逻辑单元ALU、累加器累加器A、通用寄存器、通用寄存器GR、暂存器、暂存器TR和程序状态字和程序状态字寄存器寄存器PSW等五部分组成等五部分组成。CPU累加器(累加器(A)是一种暂存器是
5、一种暂存器,它用来储存计算所产生的,它用来储存计算所产生的中间结果。中间结果。若没有累加器,那么在每次若没有累加器,那么在每次计算(加法,乘法,移位等计算(加法,乘法,移位等等)后就必须要把结果写回等)后就必须要把结果写回到内部存储器,然后再读回到内部存储器,然后再读回来。来。数学逻辑单元(数学逻辑单元(ALU)存取)存取内部存储器的速度比存取累内部存储器的速度比存取累加器慢。加器慢。CPU算术逻辑单元算术逻辑单元ALU(Arithmetic and Logical Unit),把传来的数据进行算术或逻把传来的数据进行算术或逻辑运算,输入的两个数,分辑运算,输入的两个数,分别来自累加器和暂存器
6、。别来自累加器和暂存器。ALU能完成对这两个数据进行加、减、与、或、比较大小等能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。例如,两个数操作,最后将结果存入累加器。例如,两个数6和和7相加,在相加,在相加之前,操作数相加之前,操作数6放在累加器中,放在累加器中,7放在数据寄存器中,当放在数据寄存器中,当执行加法指令时,执行加法指令时,ALU即把两个数相加并把结果即把两个数相加并把结果13存入累加存入累加器,取代累加器原来的内容器,取代累加器原来的内容6。CPU程序状态字寄存器程序状态字寄存器PSW(Program Status Word)存放两类信息:一类是体现当
7、存放两类信息:一类是体现当前指令执行结果的各种状态信前指令执行结果的各种状态信息,如有无进位(息,如有无进位(CY位),位),有无溢出(有无溢出(OV位),结果正位),结果正负(负(SF位),结果是否为零位),结果是否为零(ZF)位等;)位等;另一类是存放控制信息,如允另一类是存放控制信息,如允许中断许中断(IF位位),跟踪标志(,跟踪标志(TF位)等。有些机器中称为位)等。有些机器中称为FR(FlagRegister)。)。CPU通用寄存器通用寄存器GR(Generalpurpose Register)和暂存器和暂存器TR二者用于传送和暂存数据二者用于传送和暂存数据,也可参与算术逻辑运算,也
8、可参与算术逻辑运算,并保存运算结果。,并保存运算结果。ALU能完成对这两个数据进行加、减、与、或、比较大小等能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。例如,两个数操作,最后将结果存入累加器。例如,两个数6和和7相加,在相加,在相加之前,操作数相加之前,操作数6放在累加器中,放在累加器中,7放在数据寄存器中,当放在数据寄存器中,当执行加法指令时,执行加法指令时,ALU即把两个数相加并把结果即把两个数相加并把结果13存入累加存入累加器,取代累加器原来的内容器,取代累加器原来的内容6。CPU操作控制器操作控制器发布操作命令的指挥中心发布操作命令的指挥中心,由指令部件
9、、时序部件,由指令部件、时序部件和微操作控制部件等三部和微操作控制部件等三部分组成。分组成。CPU操作控制器操作控制器指令部件:是一种能对指令进行分析、处理和产生控制信号指令部件:是一种能对指令进行分析、处理和产生控制信号的逻辑部件,也是控制器的核心。指令部件由程序计数器的逻辑部件,也是控制器的核心。指令部件由程序计数器PC(Program Counter)、指令寄存器、指令寄存器IR(Instruction Register)和和指令译码器指令译码器ID(Instruction Decoder)等三部分组成。等三部分组成。时序部件:由时钟系统和脉冲分配器组成,用于产生微操作时序部件:由时钟系
10、统和脉冲分配器组成,用于产生微操作控制部件所需的定时脉冲信号。控制部件所需的定时脉冲信号。微操作控制部件:可以为指令译码器微操作控制部件:可以为指令译码器ID(Instruction Decoder)输出信号配上节拍电位和节拍脉冲,也可与外部进输出信号配上节拍电位和节拍脉冲,也可与外部进来控制信号组合,共同形成相应的微操作控制序列,以完成来控制信号组合,共同形成相应的微操作控制序列,以完成规定的操作。规定的操作。程序计数器PCPC用于确定下一条指令用于确定下一条指令的地址,以保证程序能的地址,以保证程序能够连续地执行下去。够连续地执行下去。在程序开始执行前必须在程序开始执行前必须将程序的第一条
11、指令的将程序的第一条指令的内存单元地址(即程序内存单元地址(即程序的首地址)送入的首地址)送入PC,使,使它总是指向下一条要执它总是指向下一条要执行指令的地址。行指令的地址。地址寄存器AR地址寄存器用于保存当前地址寄存器用于保存当前CPU所要访问的内存单元或所要访问的内存单元或I/O设备的地址。设备的地址。由于内存与由于内存与CPU之间存在着之间存在着速度上的差异,所以必须使速度上的差异,所以必须使用地址寄存器来保持地址信用地址寄存器来保持地址信息,直到内存读息,直到内存读/写操作完成写操作完成为止。为止。当当CPU向存储器存数据、向存储器存数据、CPU从内存取数据和从内存取数据和CPU从内存
12、读出指令从内存读出指令时,都要用到时,都要用到地址寄存器地址寄存器和和数据寄存器(数据寄存器(DR)。当当CPU和外围设备交换信息时,也需要用到地址寄存器和数据寄存和外围设备交换信息时,也需要用到地址寄存器和数据寄存器。器。存储器RAM(Random Access Memory)的内容可读、可写,掉电后的内容可读、可写,掉电后内容消失。主要用来存放实时数据或作为通用寄存器、数据内容消失。主要用来存放实时数据或作为通用寄存器、数据堆栈和数据缓冲器之用。堆栈和数据缓冲器之用。ROM(Read Only Memory)一般用于存放应用程序,故又称一般用于存放应用程序,故又称为程序存储器。分为可编程只
13、读存储器(为程序存储器。分为可编程只读存储器(PROM)、可擦可)、可擦可编程序只读存储器(编程序只读存储器(EPROM)和电可擦可编程只读存储器)和电可擦可编程只读存储器ROM(EEPROM)、)、FLASH ROM。特点:在微控制器内部,只读存储器特点:在微控制器内部,只读存储器ROM和随机存取存储器和随机存取存储器RAM存储器是分开制造的。通常,存储器是分开制造的。通常,ROM存储器容量较大,存储器容量较大,RAM存储器的容量较小。存储器的容量较小。内部总线微控制器内部总线是微控制器内部总线是CPU连接片内各主要部件的纽带,是各类连接片内各主要部件的纽带,是各类信息传送的公共通道。主要由
14、三种不同性质的连线组成信息传送的公共通道。主要由三种不同性质的连线组成:地址地址线、数据线和控制状态线。线、数据线和控制状态线。地址总线主要用来传送存储器所需要的地址码或外部设备的设地址总线主要用来传送存储器所需要的地址码或外部设备的设备号,通常由备号,通常由CPU发出并被存储器或发出并被存储器或IO接口电路所接收。接口电路所接收。数据总线用来传送数据总线用来传送CPU写入存储器或经写入存储器或经IO接口送到输出设接口送到输出设备的数据,也可以传送从存储器或输入设备经备的数据,也可以传送从存储器或输入设备经IO接口读入接口读入的数据。因此,数据线通常是双向信号线的数据。因此,数据线通常是双向信
15、号线控制状态总线有两类:一类是控制状态总线有两类:一类是CPU发出的控制命令,如读命发出的控制命令,如读命令、写命令、中断响应等;另一类是存储器或外设的状态信息令、写命令、中断响应等;另一类是存储器或外设的状态信息,如外设的中断请求、存储器忙和系统复位信号等。,如外设的中断请求、存储器忙和系统复位信号等。IO端口微控制器通过微控制器通过IO端口对外部实现控制、信息交换的。端口对外部实现控制、信息交换的。通常,微控制器都有几个并行通常,微控制器都有几个并行IO端口,还有一个以上全双端口,还有一个以上全双工的可编程串行工的可编程串行IO端口,可以把端口,可以把CPU的并行数据变成串行的并行数据变成
16、串行数据一位一位地从发送数据线数据一位一位地从发送数据线TxD发送出去,也可以把接收线发送出去,也可以把接收线RxD串行接收到的数据变成八位并行数据送给串行接收到的数据变成八位并行数据送给CPU。趋势:随着微控制器时钟频率的提高,串行传输的速度越来越趋势:随着微控制器时钟频率的提高,串行传输的速度越来越快,其占用引脚少、对外布线方便的优点越来越受到重视,各快,其占用引脚少、对外布线方便的优点越来越受到重视,各种不同功能、不同总线的串行接口已成为微控制器种不同功能、不同总线的串行接口已成为微控制器IO端口端口的一大特色。的一大特色。中断系统CPU 接受中断请求,接受中断请求,暂停原程序执行,暂停
17、原程序执行,转而执行中断服务程转而执行中断服务程序,序,并在服务完后回到断点,并在服务完后回到断点,继续执行原程序的过程称为中继续执行原程序的过程称为中断。断。产生中断请求信号的来源称为中断源。产生中断请求信号的来源称为中断源。外部中断源:外部设备外部中断源:外部设备 产生的中断请求信号从引脚输入;产生的中断请求信号从引脚输入;内部中断源有定时器计数器和串行口等多种,内部中断源有定时器计数器和串行口等多种,定时器计数定时器计数器当计数溢出时自动提出中断请求;器当计数溢出时自动提出中断请求;串行口则在每发送完或接串行口则在每发送完或接收到一个数据后自动提出中断请求。收到一个数据后自动提出中断请求。为了满足实时控制的要求,为了满足实时控制的要求,微控制器可以对多个中断请求信号微控制器可以对多个中断请求信号进行排队和控制,进行排队和控制,并响应其中优先权最高的中断请求。并响应其中优先权最高的中断请求。中断系统还包括中断允许控制器和中断优先级控制器中断系统还包括中断允许控制器和中断优先级控制器FreeScale单片机M68HC08 单片机功能模块框图