第二章MCS-51单片机的基本结构及工作原理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

本章要点:1)MCS-51单片机的基本结构:CPU、输入/输出端口结构及负载能力和接口要求、MCS-5l引脚及功能。2)MCS-51的存储器结构:程序存储器、数据存储器的分布和使用。3)特殊功能寄存器SFR:重点掌握程序状态寄存器的使用。4)单片机的工作方式与最小应用系统:单片机的工作方式(复位方式)、单片机最小应用系统设计第二章MCS-51单片机的基本结构及工作原理MCS-51系列单片机配置一览表系列片内存储器(字节)定时器计数器并行I/O串行I/O中断源片内ROM片内RAM无有ROM有EPROMIntelMCS-51子系列803180C31805180C51(4K字节)875187C51(4K字节)128字节2x164x8位15IntelMCS-52子系列803280C32805280C52(8K字节)875287C52(8K字节)256字节3x164x8位16ATEML89C系列(常用型)1051(1K)/2051(2K)/4051(4K)(20条引脚DIP封装)1282151589C51(4K)/89C52(8K)(40条引脚DIP封装)128/2562/33215/6一、MCS-51内部结构并行口串行通信ROM4KB时钟电路RAM256计数器/定时器8051CPU控制逻辑可编程并行口可编程全双工串行口外部时钟图2.18051的功能部件图二CPU主要功能:产生各种控制信号,去控制存储器、输入/输出端口的数据传送、数据的算术运算、逻辑运算以及位操作处理等。(一)运算器组成:运算器由算逻运算部件ALU、累加器Acc、暂存器、程序状态字寄存器PSW、BCD码运算调整电路等组成。实现+、–、×、÷算术运算,与、或、非、异或逻辑运算、循环移位、位处理。(二)控制器组成:由程序计数器PC、指令寄存器、指令译码器、数据指针DPTR、定时控制与条件转移逻辑电路等组成。功能:对来自存储器中的指令进行译码,通过定时控制电路,在规定的时刻发出各种操作所需的全部内部和外部控制信号,协调各功能元件的工作,完成指令所规定的功能。特点:▼它是16位的按机器周期自动增1计数器▼一切分支/跳转/调用/中断/复位等操作的本质就是:改变PC值▼总指向下一条将要取的指令的首地址(当前PC值)1.程序计数器PC(ProgramCounter)一个16位的专用寄存器,用来存放下一条指令的地址。它具有自动加1的功能。2.指令寄存器一个8位的寄存器,用于暂存待执行的指令,等待译码。3.指令译码器对指令寄存器中的指令进行译码,分析它的功能,并根据功能产生相应的电信号。4.数据指针DPTR是一个16位的专用地址指针寄存器。它主要用来存放16位地址,作间址寄存器使用。DPTR也可以拆成两个独立8位寄存器,即DPH(高8位字节)和DPL(低8位字节),分别占据83H和82H两个地址。5.定时控制部件与时序功能:在规定的时刻发出各种操作所需的全部内部和外部的控制信号,协调各功能元件工作,完成指令所规定的功能。主要任务:产生一个工作时序,其工作需要时钟电路提供一个工作频率。单片机的引脚定义从一片集成电路的角度去认识单片机认识单片机的引脚MCS-51单片机40脚Vcc,GND2XTAL1,XTAL22RESET1EA/Vpp1ALE/PROG1PSEN1P0.0—P0.78P1.0—P1.78P2.0—P2.78P3.0—P3.78单片机的引脚(电源端)Vcc,GND:正电源端与接地端(+5V/3.3V/2.7V)不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同。单片机的引脚(晶振端)Vcc,GND:正电源端与接地端(+5V/3.3V/2.7V)不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同。XTAL1,XTAL2:片内振荡电路输入/输出端单片机的引脚(晶振端)Vcc,GND:正电源端与接地端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入/输出端1~12MHz(MCS-51)10~30pfx2XTAL1XTAL2通常外接一个晶振两个电容XTAL1XTAL2外部时钟VCC8051XTAL2XTAL1外部时钟80C51NC单片机的引脚(晶振端)Vcc,GND:正电源端与接地端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入、输出端CPU总是按照一定的时钟节拍与时序工作:振荡周期/时钟周期:晶振频率fosc(或外加频率)的倒数状态周期:2个时钟周期(很少用到此概念)机器周期:6个状态周期=12个振荡周期指令周期:执行一条指令所需的机器周期数牢牢记住:振荡周期=晶振频率fosc的倒数;1个机器周期=12个振荡周期;1个指令周期=1、2、4个机器周期单片机的引脚(复位端)Vcc,GND:电源端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入、输出端RESET:复位端(正脉冲有效,宽度2个机器周期)复位使单片机进入某种确定的初始状态:▼PC值归零(0000H);▼各个SFR被赋予初始值(见P.41):P0~P3=0FFH,Acc=0,B=0,TH0=0,TL0=0,TH1=0,TL1=0,SP=7,PSW=0……▼退出处于节电工作方式的停顿状态、退出一切程序进程、退出程序的死循环,从头开始。单片机的引脚(复位端)Vcc,GND:电源端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入、输出端RESET:复位端(正脉冲有效)PC与SFR复位状态表寄存器复位状态寄存器复位状态PC0000HTCON00HA00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0~P3FFHSCON00HIPXX000000BSBUFXXHIE0X000000BPCON0XXX0000BTMOD00H单片机的引脚(复位端)+5V10uF10KVccRSTGND上电复位10uF10KVccRSTGND手动&上电复位1KVcc,GND:电源端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入、输出端RESET:复位端(正脉冲有效,持续两个机器周期高电平)+5V程序运行监视复位程序运行监视复位通常是由各种类型的程序监视定时器WDT(WatchdogTimer)俗称为“看门狗”实现。WDT可保证程序非正常运行(如程序“飞逸”、“死机”)时,能及时进入复位状态,恢复程序正常运行。WDT通常有几种实现方法供用户选择:1)单片机内部带有WDT单元2)选择μP监视控制器件,这些器件中大多有WDT电路,如Max705芯片。3)在单片机外部设置WDT电路。图2-11自动复位电路单片机的引脚(EA端)Vcc,GND:电源端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入、输出端RESET:复位端(正脉冲有效,宽度8mS)EA/Vpp:寻址外部ROM控制端/编程电源输入端。低电平有效,片内无ROM时必须接地;片内有ROM时可以接高电平,也可以接低电平;对片内ROM编程时编程正电源加到此端。单片机的引脚(ALE端)Vcc,GND:电源端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入、输出端RESET:复位端(正脉冲有效,宽度8mS)EA/Vpp:寻址外部ROM控制端/编程电源输入端。ALE/PROG:地址锁存允许/编程脉冲输入端。P0口寻址外部低8位地址时接外部锁存器G端;ALE端平时会输出周期正脉冲:ffosc/6;对片内ROM编程时编程脉冲由此端加入。单片机的引脚(PSEN端)PSEN:寻址外部程序存储器时选通外部EPROM的读控制端(OE)低有效。单片机锁存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0-D7GEAOECEEPROM单片机的引脚(PSEN端)PSEN:寻址外部程序存储器时选通外部EPROM的读控制端(OE)低有效。单片机的I/O引脚结构众多功能各异的I/O引脚源于它结构的不同特点:4个并行I/O口:P0,P1,P2,P3均可作为双向I/O口使用;P0口:访问片外扩展存储器时,复用为低8位地址线和数据线;P2口:高8位地址线;P1口:双向I/O口;P3口:第二功能口。单片机的引脚(P1口)P1.0—P1.7:准双向I/O口(内置了上拉电阻)输出时一切照常,仅在作输入口用时要先对其写“1”。21DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻21DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻输出数据=1时110截止=1单片机的引脚(P1口)P1.0—P1.7:准双向I/O口(内置了上拉电阻)输出时一切照常,仅在作输入口用时要先对其写“1”。21DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻输出数据=0时001=0导通单片机的引脚(P1口)P1.0—P1.7:准双向I/O口(内置了上拉电阻)输出时一切照常,仅在作输入口用时要先对其写“1”。21DQCK/Q读引脚=1读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻输入数据时,要先对其写“1”110截止单片机的引脚(P1口)P1.0—P1.7:准双向I/O口(内置了上拉电阻)输出时一切照常,仅在作输入口用时要先对其写“1”。简单测控实例原理图P1.3作输入端口光路通畅,R亮2K光路阻断,R暗400KJOB3:CLRP1.1;亮绿灯REDO:SETBP1.3;P1.3作输入口必先置1CHECK:JNBP1.3,CHECK;检测通道是否被阻断?LOOP:…………;有入侵者,报警!AJMPREDO;再跳回去检测红外防盗报警P1.3口用于输入状态检测的语句:红外线光路通畅时,P1.3端=低电平红外线光路阻断时,P1.3端=高电平单片机的引脚(P0口)P0.0—P0.7:准双向I/O(内置场效应管上拉)寻址外部存储器时分时作为双向8位数据口和输出低8位地址复用口;不接存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚读锁存器写锁存器内部总线地址/数据控制引脚P0.X34Vcc21DQCK/Q读引脚=1读锁存器写锁存器内部总线地址/数据控制引脚P0.X34控制=0时,此脚作输入口(事先必须对它写“1”)00100截止截止=0Vcc单片机的引脚(P0口)P0.0—P0.7:准双向I/O(内置场效应管上拉)寻址外部存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚=0读锁存器写锁存器内部总线地址/数据控制=1引脚P0.X34控制=1时,此脚作地址/数据复用口:(1)输出地址/数据=0时1011=0导通截止=0Vcc单片机的引脚(P0口)P0.0—P0.7:准双向I/O(内置场效应管上拉)寻址外部存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚=0读锁存器写锁存器内部总线地址/数据控制=1引脚P0.X34控制=1时,此脚作地址/数据复用口:(2)输出地址/数据=1时1100=1截止导通=1Vcc单片机的引脚(P0口)P0.0—P0.7:双向I/O(内置场效应管上拉)寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚=1读锁存器写锁存器内部总线地址/数据控制=1引脚P0.X34控制=1时,此脚作地址/数据复用口:(3)输入数据时,输入指令将使引脚与内部总线直通Vcc单片机的引脚(P0口)P0.0—P0.7:准双向I/O(内置场效应管上拉)寻址外部存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部存储器时可作为8位准双向I/O口使用。单片机的引脚(P2口)P2.0—P2.7:准双向I/O(内置了上拉电阻)寻址外部存储器

1 / 87
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功