
单片机原理(合工大课件).doc
117页单片机原理第一章 单片机概述1-1 单片机的历史及发展概况单片机-----单片微型计算机简称为单片机,它是把组成微型计算机的各种功能部件:中央处理器CPU、随机存储器RAM、只读存储器ROM,I/O接口电路、定时器/计数器以及串行通讯接口等部件制作在一块集成芯片上而构成的一个完整的微型计算机由于它的结构与指令功能都是按照工业控制要求设计的,故有称为单片微控制器(或单片微型计算机)单片机发展的三个阶段:单片机作为微型计算机的一个分支,其产生与发展主要分为三个阶段:1. 初级单片机,代表芯片MCS-48单片机内部集成有8位CPU、并行I/O口、8位定时器/计数器、RAM等,无串行口,寻址范围不大于4K2. 高性能单片机,典型芯片MCS-51片内继承有串行I/O口,具有多级中断系统,定时器/计数器为16位,片内RAM和ROM容量相对增大,寻址范围可达64K该类单片机在我国大量使用3. 8位单片机巩固、完善及16位单片机推出阶段,典型芯片MCS-96CPU为16位,片内RAM/ROM容量进一步增大,集成有高速输入/输出部件、多级中断、多通道A/D等4. 32位单片机阶段(嵌入系统)32位单片机已进入实用阶段(ARM系统)。
1-2 单片机的应用单片机是为了实现控制功能而设计的一种微型计算机,其应用首先是控制功能实现手段为嵌入方式,即嵌入到对象环境中作为一种智能控制单元其应用已深入到我们生活的各个方面1. 仪器仪表中的应用温度、湿度、流量、流速、压力、厚度、电压、电流、频率等的测量仪表优点:数字化、智能化、微型化,功能提高2. 网络通讯3. 测控系统4. 日用家电1-3 具体应用实例测控线路及传感器测控处理器(CPU)GPRS模块电讯网络INTERNET网络数据服务器耦合线路电力载波收发器传感器执行器耦合线路电力载波收发器传感器执行器网络接口计算机电力线第一章 MCS-51 单片机的结构与原理提要:MCS-51单片机的硬件结构与工作原理熟悉、理解单片机硬件结构对于应用设计者是十分重要的,因为它是单片机应用系统设计的基础本章,我们要全面了解MCS-51单片机的硬件功能、系统结构、存储器结构、I/O口、复位电路、CPU时序、CPU引脚功能和单片机的工作方式等MCS-51系列单片机是Intel公司生产的一系列单片机的总称,这一系列的单片机包含有很多品种,如8031、8051、8751、8032、8052、8752等。
功能有增有减,指令兼容2-1 MCS-51单片机硬件结构介绍MCS-51单片机的硬件结构,特别是面向用户的一些硬件结构,并将从硬件设计和程序设计的角度来分析MCS-51单片机的硬件结构,重点介绍其应用特性和外部特性,即从用户的角度来分析:单片机向我们提供了哪些资源及如何使用这些资源 MCS-51单片机硬件结构的特点1. ROM和RAM存储器类型单片机系列掩模ROMEPROMRAM8031//128B80514KB/128B8751/4KB128B8032//256B80528KB/256B2. I/O口MCS-51有32根I/O线,形成4个端口:P0、P1、P2和P3口,有的口线是多功能I/O线3. 中断与堆栈MCS-51有5个中断源:内部3个,外部2个,分为2个中断优先级堆栈位置是可以编程的,堆栈深度可以达128B4. 定时器/计数器、寄存器区MCS-51有2个16位的定时器/计数器,通过编程实现4种工作模式,4个通用工作寄存器区,共32个通用寄存器,以适应多种中断或子程序嵌套5. 指令系统+、-、X、/、逻辑、数据传送、堆栈操作6. 外部程序存储器和数据存储器寻址空间MCS-51: DATA,64K;CODE,64K。
7. 布尔处理器8. 串行通讯口.1个全双工串行异步通讯口 MCS-51单片机引脚及片外总线结构1. 引脚功能40---VCC,外部电源,接+5V电源电压;20—VSS,接地引脚;18、19-----XTAL1、XTAL2外部晶体接入脚;9-----RST/VPD,复位引脚和备用电源接入脚VCC掉电期间,9脚接入电源,以保持片内的RAM数据VCC加电期间为复位信号接入端30----ALE/PROG,访问外部存储器时,ALE的输出用于锁存地址的低位字节对于EPROM型的单片机,在EPROM编程期间,此引脚用于输入编程脉冲29----PSEN,外部程序存储器的选通信号从外部程序存储器取指令期间,每个机器周期PSEN两次有效31---EA/VPP,EA为高电平,访问内部存储器,当PC(程序计数器)值超过0FFFH后(8051/8751/80C51)或1FFFH(对8052)时,将自动转向执行外部程序存储器内的程序EA为低电平,则只访问外部程序存储器对EPROM型的单片机(8751),在EPROM编程期间,该引脚加编程电压32~39-----P0口,双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线分时复用,能以吸收电流的方式驱动8个LSTTS负载。
1~8------P1口,8位准双向I/O口P1口能驱动(吸收或输出)4个LSTTS负载对EPROM编程和校验期间,接收低8位地址21~28----P2口,8位准双向I/O口访问外部存储器时,作为扩展电路的高8位地址总线送出高8位地址在对EPROM编程和校验期间,P2口接收高8位地址P2口可以驱动(吸收或输出电流)4个LSTTL负载10~17---P3口,8位准双向I/O口,为复用多功能口P3能驱动(吸收或输出电流)4个LSTTL负载10----RXD,11—TXD;12---INT0,13----INT1,14----T0,15---T1,16---WR,17---RD 2. MCS-51单片机的片外总线结构AB---地址总线,宽度为16位,可直接寻址64K字节16位地址总线的构成:P0口提供低8位地址,P2口提供高8位地址DB—数据总线,宽8位,有P0口提供CB—控制总线,由P3口的第二功能和状态,RESET,EA,ALE,PSEN等 MCS-51单片机片内总体结构CPU控制部件RAMP0口P2口程序存储器P1口串行口定时器计数器中断系统特殊功能积存器P3口CB图1 MCS-51内部结构图 存储器、特殊功能寄存器及位地址空间1. 程序存储器功能:存放程序和表格常数,以程序计数器PC为地址指针。
PC为16位,程序存储器的操作完全由PC控制程序运行的开始地址为0H)外部程序存储器1000HFFFFH内部EA=1外部EA=00FFFH0000H图2 MCS-51程序存储器2. 内部数据存储器编址: 0H~7FH工作寄存器,00H~1FH,共分4个区,每区有8个工作积存器R0~R7程序当前使用的工作寄存器可通过编程选择工作寄存器00H1FH位寻址区20H2FH数据缓冲区30H7FH特殊功能寄存器RAM(8032或8052)80HFFH图3 MCS-51内部存储器位寻址区,20H~20H,共16个单元,16个单元的每一个位均有一个8位的地址比如20H单元的D0位的位地址为0H,20H单元的D7位的位地址为07H,而21H单元的D0位的位地址为08H,以此类推数据缓冲区:30H~7FH单元特殊功能寄存器,其主要的功能为对片内的个功能模块进行管理、控制、监视PC---程序计数器,ACC---累加器,PSW---程序状态字寄存器,SP----堆栈指针,DPTR—数据指针(DPH,DPL),16位,P0,P1,P2,P3,IP,IE,TMOD,THO,TL0,TH1,TL1SCON—串行口控制寄存器,SBUF---串行口数据寄存器,PCON---电源管理及波特率选择寄存器。
PSW各位的意义:D7D6D5D4D3D2D1D0CYACF0RS1RS0OV/PCY----进位标志位,在执行加法或减法运算指令时,如果运算结果的最高位(D7)有进位或借位,CY位由硬件置“1”,否则,由硬件置“0”AC---辅助进位或借位F0---用户标志位RS1,RS0----工作寄存器选择位, 0,0-----0H~7H; 0,1----08H~0F; 1,0-----10H~17H; 1, 1-----18h~1Fh.OV----溢出标志位当进行补码运算时,如有溢出,即当运算结果超出8位数所能够表示的-128~+127范围时,OV位由硬件自动置1,否则,置OV位为0P------奇偶校验标志位每条指令执行完成后,该位始终跟踪指示累加器A中1的个数如果A中有奇数个1,则置P=1;否则,置P=0DPTR----16位的寄存器,分为两个寄存器并占用两个字节单元,高位字节寄存器用DPH表示,低位字节用DPL表示DPTR既可以作为一个16位的寄存器处理,也可以作为两个独立的8位寄存器来使用堆栈----在计算机内存中开辟出的一块遵守“后进先出”或“先进后出”规则的特殊区域对MCS-51单片机,其堆栈区域位于30H~7FH中。
堆栈由8位的特殊功能寄存器SP自动管理,它始终存放堆栈顶部字节单元的地址堆栈的操作有两中方式:压栈(PUSH),即将数据压入堆栈和出栈(POP),即将数据从堆栈中弹出输入压栈时,SP首先自动加1,然后数据压入SP内容(值)指示的字节单元,而数据出栈时,SP内容(值)指示的字节单元中的数据弹出,然后SP的值自动减1MCS-51的这种堆栈结构属于向上生长型的堆栈,存取信息必需按照“后进先出”或“先进后出”的规则进行一般在程序中断或程序调用时,CPU利用堆栈自动把程序返回地址压栈存储,同时把中断或调用程序的入口地址赋给PC,而返回时(执行RETI或RET指令),CPU自动把栈中存储的程序返回地址弹出赋给PC,让其回原处继续执行程序堆栈的另外一个用途,CPU利用堆栈作一些特殊数据及寄存器内容的保护系统复位时,SP初试化值为07H作业一:1. 8051单片机芯片内包含哪些主要逻辑部件?2. 8051存储器分为哪几个地址空间?如何区别不同空间寻址?3. 简述直接位寻址的空间分配,片内RAM中包含哪些可位寻址单元?4. 单片机EA引脚有何功能?5. 片内RAM的低128B单元划分为哪三个主要区域?各区域主要功能是什么?6. 开机复位后,CPU使用的8个工作寄存器的地址是什么?如何改变工作寄存器的地址?7. 位地址与字节单元地址7CH如何区别?位地址7CH位于片内RAM中的什么地址的单元?8. 什么是堆栈?堆栈的作用是什么?8051堆栈的容量最大为多少?第二章 MCS-51 指令系统。












