您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 单片机原理,接口及应用---第1章 MCS-51单片机结构
单片机原理、接口及应用---嵌入式系统技术基础第1章MCS-51单片机结构第1章MCS-51单片机结构及原理1.1MCS-51单片机结构1.2MCS-51的存储器结构1.3单片机的复位、时钟与时序1.4并行I/O口简介1.1MCS-51单片机结构1.1.1MCS-51单片机的内部结构1.1.2MCS-51引脚及功能1.2MCS-51的存储器结构1.3单片机的复位、时钟与时序1.4并行I/O口SCM——将通用微计算机基本功能部件集成在一块芯片上构成的一种专用微计算机系统SCM=CPU+RAM+ROM+I/O+T/C+INT+UART80C51=(1×8)CPU+128BRAM+4KBROM+(2×16)T/C+(4×8)I/O+1个UART+5个中断源注意:51子系列和52子系列都采用51内核技术,差异主要在RAM/TC/INT型号中包含字母C的属于CHMOS型(互补高密度金属氧化物半导体工艺)87C52INTELMCS-51系列单片机一览表80C51单片机的内部资源主要包括:•8位中央处理器(CPU);•片内振荡器和时钟电路;•4KB片内程序存储器(ROM);•128字节的片内RAM;•4个8位双向I/O口;•5中断源;•2个16位定时器/计数器;•1个全双工串行口;——本章介绍——本章介绍——本章介绍——本章介绍——本章介绍——第4章介绍——第5章介绍——第5章介绍控制器运算器单片机CPU=控制器+运算器1、控制器作用:统一指挥和控制计算机协调工作组成:程序计数器PC+指令译码器ID+数据指针DPTR+其它专用寄存器功能:(1)从存储器中取出下一条要执行的指令(取指)(2)对取出的指令进行识别(译码)(3)指挥运算器运算或控制数据传送(指挥)(1)程序计数器(ProgramCounter——PC)——指令地址寄存器,永远存放着下一条指令的地址,PC的变化规律决定着程序的流程0000HPC指针……0011010101110111111101001001010010011110……35H77HF4H94H9EHROMROM0000H0001H0002H0003H0004HFFFFH0000H0001H0002H0003H0004HFFFFH特点:具有16位字长→可寻址范围216(=64KB)具有自动加1功能(计数器)→顺序运行程序功能具有可被指令修改功能→跳转运行程序功能复位时,PC值为0→复位后程序从0开始运行0000HPC指针……0011010101110111111101001001010010011110……35H77HF4H94H9EHROMROM0000H0001H0002H0003H0004HFFFFH0000H0001H0002H0003H0004HFFFFH(2)数据指针寄存器(DataPointer——DPTR)16位字长,可寻址范围216(64KB)用于表示存储器数据地址的指针可拆为2个8位的独立寄存器DPL和DPH……0000H0001H0002H0003H0004HFFFFH35H77HF4H94H9EHDPTR指针……xxHxxHxxHxxHxxHROMRAMDPLDPH0000H0001H0002H0003H0004HFFFFH2、运算器作用:对数据进行算术运算和逻辑操作组成:算术/逻辑部件ALU+累加器ACC+程序状态字寄存器PSW+其它工作单元功能:(1)对暂存器中的数据进行运算(2)结果保存在ACC中(3)运行状态反映在PSW中(1)累加器(Accumulater——A)累加器A是一个8位寄存器,用来存放操作数或中间运算结果;通过暂存器与ALU相连;它是CPU中使用最频繁的寄存器。寄存器B寄存器B又称为乘法寄存器,它与累加器A协同工作,可进行乘法操作和除法操作。乘法指令中的两个操作数分别取自于A、B寄存器,其结果也存放在A、B寄存器中,A存放乘积的低8位,B存放乘积的高8位;除法指令中,被除数取自A,除数取自B,进行运算后,商数存放于A,余数存放于B。在一般状态下寄存器B也可作为普通的寄存器使用。CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位7位6位5位4位3位2位1位0(2)程序状态字寄存器(ProgramStateWord——PSW)PSW是一个8位的专用寄存器,用于存放程序运行过程中的各种状态信息。PSW中的各位信息通常是在指令执行过程中自动形成的,但也可以由传送指令加以改变。PSW各位的定义:按位置定义的名称按功能定义的名称CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位7位6位5位4位3位2位1位0(2)程序状态字寄存器(ProgramStateWord——PSW)PSW是一个8位的专用寄存器,用于存放程序运行过程中的各种状态信息。PSW中的各位信息通常是在指令执行过程中自动形成的,但也可以由传送指令加以改变。PSW各位的定义:按位置定义的名称按功能定义的名称CY(PSW.7)进位标志在进行加或减运算时,如果操作结果最高位有进位或借位时,CY由硬件置“1”,否则清“0”。10010011+11110000————————CY=110000011进位标志位CYCYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位7位6位5位4位3位2位1位0用途:1、根据CY判断加减运算时有无进位或借位;2、在位操作中CY可作为位累加器用。举例AC(PSW.6)辅助进位标志在进行加或减运算时,如果操作结果的低四位数向高四位产生进位或借位时,将由硬件置“1”,否则清“0”。01001111+10100001————————AC=111110000半进位CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位7位6位5位4位3位2位1位0举例用途:1、根据AC判断加减运算时有无半进位或半借位;2、在BCD码调整运算中要用到AC标志F0(PSW.5)和F1(PSW.1)用户标志位可作为用户自行定义的一个状态标记CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位7位6位5位4位3位2位1位0RS1和RS0(PSW.4和PSW.3)工作寄存器组指针用于选择CPU当前工作寄存器组CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位7位6位5位4位3位2位1位0OV(PSW.2)溢出标志在有符号数运算或乘除运算中若有异常结果,OV置1,否则清0。根据运算过程中的D6和D7位的变化由硬件自动形成OV值若以Ci表示位i向位i+l有进位,则OV=C6⊕C7CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位7位6位5位4位3位2位1位0用途:判断有符号数运算或乘除运算的结果是否正常。OV用途:OV置位表示运算结果超出了目的寄存器A所能表示的带符号数的范围(一128~+127)。对于MUL乘法,当A、B两个乘数的积超过255时OV置位;否则,OV=0。因此,若OV=0时,只需从A寄存器中取积;若OV=1时,则需从B、A寄存器对中取积。对于DIV除法,若除数为0时,OV=1;否则,OV=0。OV=C6YC7Y=10=101010100(+84)+01101001(+105)——————————————CY=010111101→(-67)D6有进位D7无进位10111101→11000010→11000011正数的补码是它本身,负数的补码是除符号位外每位求反,然后末尾加111111011(-5)+11110000(-16)——————————————CY=111101011→(-21)D7有进位D6有进位OV=C6YC7Y=11=011101011→10010100→10010101→运算出错→运算正确举例举例P(PSW.0):奇偶标志位每个指令周期都由硬件来置位或清零,以表示累加器A中1的个数的奇偶性。若1的个数为奇数,则P置1;若1的个数为偶数,则P清零。P(PSW.0)奇偶标志位该位始终跟踪累加器A中含“1”个数的奇偶性如果A中有奇数个“1”,则P置“1”,否则置“0”举例若A=10011111,则P=0若A=11000001,则P=1CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1P位7位6位5位4位3位2位1位0CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位7位6位5位4位3位2位1位0用途:用于串行通讯中的数据校验,判断是否存在传输错误。1.1MCS-51单片机结构1.1.1MCS-51单片机的内部结构1.1.2MCS-51引脚及功能1.2MCS-51的存储器结构1.3单片机的复位、时钟与时序1.4并行I/O口MCS-51系列单片机的封装方式与制造工艺有关,采用HMOS制造工艺的51单片机一般采用40只引脚的双列直插封装(DIP——dualin-linepackage)MCS-51单片机除了采用DIP封装方式外,还采用44只引脚方形扁平封装(QFP——quadflatpackage)方式,其中4只是无用的。DIP引脚分布电源及晶振引脚(共4只)控制引脚(共4只)输入/输出引脚(共32只)(1)电源及晶振引脚VCC(40脚):+5V电源引脚VSS(20脚):接地引脚XTAL1(19脚);外接晶振引脚(内置放大器输入端)XTAL2(18脚):外接晶振引脚(内置放大器输出端)Vcc80C512040(2)控制引脚ALE/PROG(30)为地址锁存使能输出/编程脉冲输入RST/VPD(9)为复位/备用电源引脚PSEN(29):输出访问片外程序存储器读选通信号EA/VPP(31):外部ROM允许访问/编程电源输入10μF8.2K1080C51(3)并行I/O口引脚共计4×8=32个引脚,其中:P0.0~P0.7(39~32脚)——P0口;P1.0~P1.7(1~8脚)——P1口;P2.0~P2.7(21~28脚)——P2口;P3.0~P3.7(10~17脚)——P3口。P0~P3是单片机对外联络的重要通道1.1MCS-51单片机结构1.2MCS-51的存储器结构1.存储器划分方法2.程序存储器3.数据存储器1.3单片机的复位、时钟与时序1.4并行I/O口计算机存储器地址空间的两种结构形式:普林斯顿结构和哈佛结构。RAM和ROM统一编址RAM和ROM分别编址MCS-51系列单片机采用哈佛结构,存储器配置如图
本文标题:单片机原理,接口及应用---第1章 MCS-51单片机结构
链接地址:https://www.777doc.com/doc-3862634 .html