第1章 51单片机基础知识ppt课件.ppt
电气信息系 姚福强E-mail:电 话:588-63690 13656408566办公室:东-204,单片机原理与应用,课程目标,范例51系列MCU了解51系列 MCU的结构、编程、接口技术掌握 掌握51系列单片机的硬件结构特点、外设接口的扩展方法、C51语言程序设计的基本方法,单片机应用系统设计、调试、仿真的基本思路和方法。,主要内容,第1章 51单片机基础知识第2章 Keil C51软件入门与调试第3章 Protues仿真软件与Keil 联合调试第4章 并行I/O端口第5章 51单片机的中断系统第6章 51单片机的定时/计数器第7章 51单片机的串行通信接口第8章 键盘输入第9章 输出设备第10章 单片机系统扩展第11章 常用外围接口芯片第12章 常用数据传输接口第13章 单片机开发板设计第14章 PCB印刷电路板设计,常用网站、论坛,周立功单片机()中源单片机()嵌入开发网()51单片机()单片机学习网()单片机爱好者(www.mcufan.con)此外还有老古开发网、单片机培训网、51单片机世界、致远电子、南京爱思、FPGA论坛、北京单片机开发网、电子网站之家、小龙微控、万博门单片机、21IC中国电子网、电子技术特攻队、MAXIM 中文网址、TI 中文网址、Philips公司、Intel公司、Lattice公司、中国电器论坛等。,考核办法,总成绩分三部分:出勤及作业占30%、实验占20%、期末考试占50%;作业和实验按组完成,每组34人,各班同学自由组合,但要求每组按照前期课程成绩优、良、中、及格合理搭配,作业及实验的完成由本组同学综合讨论完成,要求每个成员必须对完成的作业理解并可以修改。上课时随机抽取一名组员回答作业问题,根据该组员的回答情况及作业完成情况综合评定该组的作业和实验成绩。,第一章 51单片机基础知识,了解单片机的概念、发展历史、发展趋势、应用领域、外部引脚和内部结构。,学习目的及要求:,微机、微处理器和单片机的概念,Von Neumann计算机体系结构要点:,微机、微处理器和单片机的概念,微机、微处理器和单片机的概念,从使用的角度来说,计算机应用可分为两类:一类是应用广泛的通用计算机系统,用于海量数据处理、分析和存储。一类是嵌入式计算机系统,是以计算机技术为基础、软硬件可裁减、可靠性高、实时性强、体积、功耗严格要求、没有独立计算机形式的专用计算机系统。,分支一:通用微型计算机系统(Universal microComputer System),UCS为满足众多普通应用场合需要而发展的一类个人计算机系统,技术要求:高速计算+海量存储 发展方向:CPU速度不断提升,存储容量不断扩大,个人计算机(Personal Computer),分支二:嵌入式计算机系统(Embedded Computer System),技术要求:必须满足对象体系的物理、电气和环境以及产品成本等要求 发展方向:与对象系统密切相关的嵌入性能、控制能力与控制可靠性,ECS能嵌入到对象体系中,以实现对象体系智能化为目的的一类专用计算机系统,PC 电气加固、机械加固,并配置各种接口板卡 IPC(工控机)嵌入到大型对象系统中(实现智能化),工业计算机(Industrial Personal Computer),船舶驾驶室集中控制台 自动配料控制系统 电站锅炉控制系统,众多小型对象系统(如家电、仪器、工控单元)无法使用IPC 需要发展一类特殊的嵌入式计算机系统单片机,单片计算机(Single Chip Microcomputer),SCM将通用微计算机基本功能部件集成在一块芯片上构成的一种专用微计算机系统,应用:SCM硬件+SCM软件+少量外围电路嵌入式微机系统+被控对象微电脑控制产品,单片机的发展,从1976年起,Intel公司先后推出MCS-48(4位)、MCS-51(8位)和MCS-96(16位)三大系列单片机。,迄今为止,世界各地厂商已相继研制出大约50个系列300多个品种的单片机产品。,单片机的发展趋势是高集成度、高性能、低功耗单片机(SCM)微控制器(Micro Controller Unit),8位的51内核单片机仍然是目前主流机型。,MCS-51系列单片机,MCS是Intel公司单片机的系列符号,如MCS-48、MCS-51、MCS-96系列单片机。MCS-51系列是是最早进入我国,并在我国得到广泛应用的单片机主流品种。MCS-51系列单片机主要包括:基本型:8031/8051/8751(80C31/80C51/87C51)增强型:8032/8052/8752。,51系列单片机,Intel公司以专利形式把8051内核技术转让给ATMEL、Philips、Cygnal、ANALOG、LG、ADI、Maxim、DALLAS等公司。生产的兼容机与8051兼容,采用CMOS工艺,因而常用80C51系列单片机来称呼所有这些具有8051指令系统的单片机,这些兼容机的各种衍生品种统称为51系列单片机或简称为51单片机。,其它51单片机,其它单片机系列简介,Atmel公司的AVR系列的AT90S、ATmega系列;美国微芯片(Microchip)公司:PIC16C、PIC17C、PIC1400系列(高性价比、RISC指令系统);美国摩托罗拉公司的MC68HC系列;美国德州仪器TI公司的MSP430系列(超低功耗、RISC指令集、存储体系为普林斯顿结构);,怎样学习单片机,各组成部分既相对独立,又相互交叉,教学目标掌握单片机原理与应用系统设计技能教学内容单片机硬件、软件、接口、开发工具四方面知识,硬件系统(RAM,IO,T/C,INT,UART),输入/输出单元,定时/计数器,中断系统,串行通信,软件系统,汇编语言程序,C51语言程序,接口系统(LED,KEY,AD,DA,IO扩展),键盘电路,数码管,键盘,模数转换,数模转换,可编程接口,开发工具PROTEUS单片机仿真软件,Keil C51简介 Keil C51是51单片机软件开发的C语言和汇编语言环境,可以进行纯软件仿真;也可以与Proteus软件联合进行仿真。,开发工具 Keil C集成开发环境软件,单片机应用系统,本课程的重点,1.掌握单片机应用系统硬件原理的分析方法。,2.掌握软件设计与调试的基本技能。,单片机应用系统:由硬件系统和软件系统组成,硬件是应用系统的基础,软件是在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,二者相互依赖,缺一不可,1.2.1 MCS-51单片机的内部结构,1.2 51单片机功能及引脚,程序存储器:4K FlashROM,用于存放程序、原始数据和表格。,数据存储器:共256个RAM单元,前128个单元用于存放可读写数据,后128个单元为专用寄存器。,定时/计数器:两个16位的定时/计数器,实现定时或计数功能。,中断控制系统:5个中断源(外部中断2个,定时/计数中断2 个,串行中断1个),并行I/O口:4个8位的I/O口P0、P1、P2、P3。,串行口:一个全双工串行口。,51单片机的封装,51单片机的封装,1.2.3 51单片机外部引脚,VCC,VSS,XTAL2XTAL1,RST,P0.0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7,P1.0P1.1P1.2 P1.3 P1.4MOSI/P1.5 MISO/P1.6SCK/P1.7,P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0,ALE,P3.0P3.1P3.2 P3.3 P3.4 P3.5 P3.6 P3.7,2、时钟引脚:XTAL1、XTAL2,3、复位引脚:RST,4、并行口:P0、P1、P2、P3,1、电源引脚:VCC(+5V)、VSS(地),5、:地址锁存控制信号,1.2.3 51单片机外部引脚,单片机访问外部存储器时,P0口可用作地址/数据复用口。P0口的信息是地址还是数据由ALE来定义。,ALE高电平期间,P0口上一般出现地址信息,在ALE下降沿时,将P0口上地址信息锁存到片外地址锁存器,在ALE低电平期间P0口上一般出现指令和数据信息。,在不访问片外存贮器时,该端也以六分之一的时钟频率固定输出正脉冲。可作系统中其它芯片的时钟源。,对片内Flash ROM编程时,此脚用于编程脉冲输入。,1.2.3 51单片机外部引脚,1.2.3 51单片机外部引脚,当EA为高时CPU访问程序存贮器有两种情况:地址小于4K时访问内部程序存贮器。地址大于4K时访问外部程序存贮器。,当EA接地,则不使用内部程序存贮器,不管地址大小,取指时总是访问外部程序存贮器。,1.3 51单片机的内部结构,51单片机的CPU是由运算器和控制器所构成的。,2.3 MCS-51单片机的CPU,2.1.2 89C51单片机内部结构,运算器:ALU、和专用寄存器,由定时和控制部件构成的控制器,包括定时控制逻辑、指令寄存器、指令译码器、数据地址指针DPTR、程序计数器PC、堆栈指针SP、ROM地址寄存器以及16位地址缓冲器等。,3.专用寄存器组,累加器A(Accumulator)程序中最常用的8位特殊功能寄存器。主要功能为存放操作数以及存放运算的中间结果。单片机中大部分单操作数指令的操作数取自累加器,多操作数指令中一个操作数也取自累加器。加、减、乘、除算术运算指令的运算结果都存放于累加器A或B寄存器中。指令系统中用A作为累加器的助记符。,程序计数器PC(Program Counter),指向ROM存储单元的地址指针(引导程序运行),永远存放着下一条指令的地址具有16位字长可寻址范围216(=65536字节=64KB)具有自动加1功能顺序运行程 序功能具有可被指令修改功能跳转运行程序功能复位时,PC值为0 复位后程序从0开始运行,数据指针寄存器(Data Pointer DPTR),具有16位字长,可寻址范围216(64KB)具有可被指令修改功能可变更数据地址可拆为2个8位的独立寄存器DPL和DPH,指向ROM或RAM存储单元的地址指针,程序状态字PSW(Program Status Word),存放指令执行时的状态信息的8位寄存器。其中有些位的状态是根据指令执行结果,由硬件自动设置的。PSW的状态可用专门的指令进行测试,也可以用指令读出。一些条件转移指令将根据PSW中有关位的状态来进行条件转移,其各位定义如下:,程序状态字PSW(Program Status Word),进位标志、“位累加器”,辅助进位标志,用户通用状态标志,溢出标志,奇偶标志位,保留位,若A中有奇数个“1”,则P置1,否则清0,堆栈指针SP,堆栈是指用户在单片机内部RAM中开辟的、遵循“先进后出”原则、只能从一端存取数据的一个存储区,我们把存取数据的一端称为栈顶。堆栈指针SP来指示堆栈中数据存取的位置。51单片机的堆栈是向上(即向地址增加的方向)生成的,堆栈指针SP的初始值称为栈底。在堆栈操作过程中,SP始终指向堆栈的栈顶。单片机复位后,堆栈指针SP的值为07H,即默认RAM的08H字节为栈底。考虑到00H2FH通常留作工作寄存器区和位寻址区,因此一般将栈底设置在60H或更高地址单元。,堆栈指针SP,堆栈是为子程序调用和中断操作而设,主要用来保护断点和现场。(1)保护断点:无论是子程序调用操作还是中断服务子程序调用,最终都要返回主程序。应预先把主程序的断点在堆栈中保护起来,为程序正确返回做准备。(2)现场保护:执行子程序或中断服务子程序时,要用到一些寄存器单元,会破坏原有内容。要把有关寄存器单元的内容保存起来,送入堆栈,这就是所谓的“现场保护”。,寄存器B,主要用于乘除法运算的8位寄存器。乘法运算时,B为乘数,乘积的高位存于B中。除法运算时,B为除数,并将余数存于B中。此外寄存器B也可以作为一般数据寄存器来使用。,1.3.2 存储器结构,普林斯顿(Princeton)结构:将程序和数据合用一个存储器空间的结构。哈佛(Harvard)结构:为绝大多数单片机所采用。程序存储器和数据存储器截然分开,ROM和RAM独立编址并分别寻址的结构,相互间不会冲突。在8051系列单片机中,不仅在片内预留了一定容量的程序存储器、数据存储器以及众多的特殊功能寄存器(SFR),而且还具有很强的外部存储器扩展能力,程序存储器和数据存储器的寻址能力均可达64KB,寻址和操作简单方便。,1.3.2 存储器结构,数据存储器RAM,程序存储器地址空间分配,程序存储器,0000H,(PC),程序存储器资源分布,引导程序存放单元,数据存储器地址空间,内部,外部,数据存储器,RAM,专用寄存器,数据存储器地址空间,内部RAM存储器,数据存储器地址空间,单元地址,数据存储器地址空间,堆栈或数据缓冲区,3.特殊功能寄存器,特殊功能寄存器:包含有21个特殊功能寄存器(SFR),其中有11个可位寻址,位地址空间,单片机的存储器结构,1.3.3 I/O端口结构,I/O端口是单片机控制外围设备的重要接口,是和外设进行信息交换的主要途径。I/O端口有串行口和并行口之分。并行口一次可以传送一组二进制数据(如8位),而串行口一次只能传送一位二进制数,传送多位数据时要分段发送。,1.3.3 I/O端口结构,(1)并行I/O端口8051有4个并行I/O端口,分别为P0、P1、P2、P3,每个端口都有双向I/O功能,可以从端口读取数据和向端口写入数据。(2)串行I/O端口8051具有一个全双工的可编程串行口,可以实现位并行数据的串行发送和接收。在使用串行口之前必须对其初始化,即对PCON及SCON寄存器进行设置。,1.4 51单片机工作方式,51单片机的工作方式有2种:复位方式程序执行方式,复位方式,当RST引脚为高电平,且有效时间持续2个机器周期以上,才能复位。,复位方式,主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序;复位有效期间,ALE和PSEN引脚均为高电平,且内部RAM状态不受影响;复位操作还对其他一些寄存器有影响,它们的复位状态如表所列。,复位操作,程序执行方式,连续执行方式 连续执行方式是单片机执行的基本工作方式,所要执行的代码放在程序存储器ROM中(可以是片内或片外),CPU不断地从程序存储器中取指令、分析并执行。单步执行方式 程序的执行处于外加脉冲(通常用一个按键生产)的控制下,一般利用中断来实现程序的单步执行。,1.5 单片机的工作时序,CPU的时序是指控制器在统一的时钟信号下,按照指令功能发出在时间上有一定次序的信号,控制和启动相关逻辑电路完成指令操作。时钟电路用于产生单片机工作所需要的时钟信号.,MCS-51的时钟信号可以由两种方式产生:内部方式:利用芯片内部的振荡电路;外部方式:由外部时钟源提供。,内部时钟方式,外部时钟方式,用现成的外部振荡器产生脉冲信号,常用于多片51单片机同时工作,以便于多片51单片机之间的同步,一般为低于12MHz的方波。,基本时序单位,振荡周期T:晶体振荡器的周期或由XTAL1端输入信号的周期,是单片机时钟控制信号的基本时间单位。,机器周期:通常将完成一个基本操作所需的时间称为机器周期。,状态周期:一个机器周期包含6个状态,用S1、S2、S6表示;每个状态两个节拍,依次可表示为S1P1、S1P2、S2P1、S2P2、S6P1、S6P2。,基本时序单位,指令周期:CPU执行一条指令所需要的时间。由于指令的功能和长短各不相同,因此,指令执行所需的时间也不一样。一个指令周期通常含有14个机器周期,基本时序单位,51单片机最小系统,