片机硬件基础知识课件

上传人:枫** 文档编号:568316619 上传时间:2024-07-24 格式:PPT 页数:94 大小:1.08MB
返回 下载 相关 举报
片机硬件基础知识课件_第1页
第1页 / 共94页
片机硬件基础知识课件_第2页
第2页 / 共94页
片机硬件基础知识课件_第3页
第3页 / 共94页
片机硬件基础知识课件_第4页
第4页 / 共94页
片机硬件基础知识课件_第5页
第5页 / 共94页
点击查看更多>>
资源描述

《片机硬件基础知识课件》由会员分享,可在线阅读,更多相关《片机硬件基础知识课件(94页珍藏版)》请在金锄头文库上搜索。

1、第二讲:单片机硬件基础本讲重点: MCS-51的基本特性; 单片机的引脚与I/O口结构; 存储器、堆栈与特殊功能寄存器; 低功耗运行方式 最小系统设计1MCS-51系列单片机配置一览表系列系列片内存储器(字节)片内存储器(字节)定时器定时器计数器计数器并行并行I/OI/O串行串行I/OI/O中中断断源源片内片内ROMROM片内片内RAMRAM无无有有ROMROM有有EPROMEPROMIntelIntelMCS-51MCS-51子系列子系列8031803180C3180C318051805180C5180C51(4K(4K字节字节) )8751875187C5187C51(4K(4K字节字节)

2、 )128128字节字节2x162x164x84x8位位1 15 5IntelIntelMCS-52MCS-52子系列子系列8032803280C3280C328052805280C5280C52(8K(8K字节字节) )8752875287C5287C52(8K(8K字节字节) )256256字节字节3x163x164x84x8位位1 16 6注意:今后将会经常提到ATMEL的AT89C2051/51/52等MCU!ATEMLATEML89C89C系列系列( (常用型常用型) )10511051(1K)(1K)/ / 20512051(2K)(2K)/ / 40514051(4K)(4K)(

3、2020条引脚条引脚DIPDIP封装)封装)1281282 215151 15 589C5189C51(4K)(4K)/ / 89C5289C52(8K)(8K)(4040条引脚条引脚DIPDIP封装)封装)128/128/2562562/32/332321 15/65/62MCS-51单片机基本特性8 8 位的位的 CPUCPU, 片内有振荡器和时钟电路片内有振荡器和时钟电路, ,工作频率为工作频率为 1 112MHz12MHz(Atmel 89CxxAtmel 89Cxx为为0 024MHz24MHz)片内有片内有 128/256128/256字节字节 RAMRAM片内有片内有 0K/4K

4、/8K0K/4K/8K字节字节 程序存储器程序存储器ROMROM可寻址片外可寻址片外 64K64K字节字节 数据存储器数据存储器RAMRAM可寻址片外可寻址片外 64K64K字节字节 程序存储器程序存储器ROMROM片片内内 1818个个(2121字字节节)/21/21个个(2626字字节节)特特殊殊功功能能寄寄存存器器(SFRSFR)4 4个个8 8位位 的并行的并行I/OI/O口口(PIOPIO)1 1个个 全双工串行口全双工串行口(SIO/UARTSIO/UART)2/32/3个个1616位位 定时器定时器/ /计数器计数器(TIMER/COUNTERTIMER/COUNTER)可处理可

5、处理 5/65/6个个中断源,中断源,两级两级中断优先级中断优先级内置内置1 1个个布尔处理器布尔处理器和和1 1个个布尔累加器布尔累加器(CyCy)MCS-51MCS-51指令集含指令集含 111111条指令条指令3MSC-51系列单片机内部结构4内部结构框图5单片机的引脚定义从一片集成电路的角度去认识单片机6认识单片机的引脚MCS-51MCS-51单片机单片机4040脚脚VccVcc, , GNDGND 2 2XTAL1, XTAL2 2XTAL1, XTAL2 2RESET 1RESET 1EA/Vpp 1EA/Vpp 1ALE/PROG 1ALE/PROG 1PSEN 1PSEN 1P

6、0.0P0.7 P0.0P0.7 8 8 P1.0P1.7 P1.0P1.7 8 8 P2.0P2.7 P2.0P2.7 8 8 P3.0P3.7 P3.0P3.7 8 87单片机的引脚(电源端)l lVccVccVccVcc, GND, GND, GND, GND: : : : 正电源端与接地端正电源端与接地端正电源端与接地端正电源端与接地端(+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5V/3.3V/2.7V)不同的单片机可以允许不同不同的单片机可以允许不同不同的单片机可以允许不同不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不的工

7、作电压,不同的单片机表现出的功耗也不的工作电压,不同的单片机表现出的功耗也不的工作电压,不同的单片机表现出的功耗也不同。同。同。同。8单片机的引脚(晶振端)l lVccVccVccVcc, GND: , GND: , GND: , GND: 正电源端与接地端正电源端与接地端正电源端与接地端正电源端与接地端(+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5V/3.3V/2.7V)不同的单片机可以允许不同不同的单片机可以允许不同不同的单片机可以允许不同不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不的工作电压,不同的单片机表现出的功耗也不的工

8、作电压,不同的单片机表现出的功耗也不的工作电压,不同的单片机表现出的功耗也不同。同。同。同。XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入片内振荡电路输入/ /输出端输出端9单片机的引脚(晶振端)l lVccVccVccVcc, GND:, GND:, GND:, GND:正电源端与接地端正电源端与接地端正电源端与接地端正电源端与接地端 (+5V/3.3V/2.7V)(+5V/3.3V/2.7V)(+5V/3.3V/2.7V)(+5V/3.3V/2.7V)l lXTAL1, XTAL2: XTAL1, XTAL2: XTAL1, XTAL2: XTAL1, XTAL2

9、: 片内振荡电路输入片内振荡电路输入片内振荡电路输入片内振荡电路输入/ / / /输出端输出端输出端输出端151545pf45pfx2x21 112MHz12MHz(MCS-51MCS-51) 0 024MHz24MHz(Atmel-89CAtmel-89C)XTAL1XTAL1XTAL2XTAL2通常外接通常外接一个晶体一个晶体两个电容两个电容(1 1)内部时钟方式)内部时钟方式10常见无源晶振外形和种类常见无源晶振外形和种类11单片机的引脚(晶振端)l lVccVccVccVcc, GND:, GND:, GND:, GND:正电源端与接地端正电源端与接地端正电源端与接地端正电源端与接地端

10、 (+5V/3.3V/2.7V)(+5V/3.3V/2.7V)(+5V/3.3V/2.7V)(+5V/3.3V/2.7V)l lXTAL1, XTAL2: XTAL1, XTAL2: XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入片内振荡电路输入片内振荡电路输入片内振荡电路输入/ / / /输出端输出端输出端输出端1 112MHz12MHz(MCS-51MCS-51) 0 024MHz24MHz(Atmel-89CAtmel-89C)可以根据情况由可以根据情况由 XTAL1XTAL1或或XTAL2XTAL2端接入外部时端接入外部时钟,当一个引脚接时钟钟,当一个引脚接时

11、钟时,另一个引脚此时应时,另一个引脚此时应将接地或悬空:将接地或悬空:XTAL2/XTAL1XTAL2/XTAL1XTAL1/XTAL2XTAL1/XTAL2外部时钟外部时钟(2 2)外部时钟方式)外部时钟方式12单片机的引脚(晶振端)l lVccVccVccVcc, GND:, GND:, GND:, GND:正电源端与接地端正电源端与接地端正电源端与接地端正电源端与接地端 (+5V/3.3V/2.7V)(+5V/3.3V/2.7V)(+5V/3.3V/2.7V)(+5V/3.3V/2.7V)l lXTAL1, XTAL2: XTAL1, XTAL2: XTAL1, XTAL2: XTAL1

12、, XTAL2: 片内振荡电路输入片内振荡电路输入片内振荡电路输入片内振荡电路输入/ / / /输出端输出端输出端输出端HMOSHMOS(高密度沟道高密度沟道MOSMOS)芯片芯片XTAL2XTAL2端接外部时钟,端接外部时钟,XTAL1XTAL1接接地,如:地,如:80518051。XTAL1XTAL1XTAL2XTAL2外部时钟外部时钟(2 2)外部时钟方式)外部时钟方式CHMOSCHMOS(互补金属氧化物互补金属氧化物HMOS HMOS )芯片芯片XTAL1XTAL1端接外部时钟,端接外部时钟,XTAL2XTAL2悬空悬空,如:,如:89C5189C51。XTAL2XTAL2XTAL1X

13、TAL1外部时钟外部时钟13常见有源晶振外形常见有源晶振外形14单片机的引脚(晶振端)l lVccVccVccVcc, GND:, GND:, GND:, GND:正电源端与接地端(正电源端与接地端(正电源端与接地端(正电源端与接地端(+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5V/3.3V/2.7V)l lXTAL1, XTAL2: XTAL1, XTAL2: XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入、输出端片内振荡电路输入、输出端片内振荡电路输入、输出端片内振荡电路输入、输出端CPUCPU总是按照一定的时钟节拍与时

14、序工作:总是按照一定的时钟节拍与时序工作:振荡周期振荡周期/ /时钟周期:时钟周期: TcTc= =晶振频率晶振频率foscfosc(或外加频率)的倒数(或外加频率)的倒数状态周期:状态周期:TsTs= =2 2个时钟周期个时钟周期( (TcTc) )(很少用到此概念)(很少用到此概念)机器周期:机器周期:TmTm= =6 6个状态周期个状态周期( (TsTs)=)=1212个振荡周期个振荡周期( (TcTc) )指令周期指令周期: : Ti:Ti:执行一条指令所需的机器周期执行一条指令所需的机器周期( (TmTm) )数数牢牢记住牢牢记住:振荡周期振荡周期 = = 晶振频率晶振频率foscf

15、osc的倒数;的倒数; 1 1个机器周期个机器周期 = 12 = 12个振荡周期;个振荡周期; 1 1个指令周期个指令周期 = 1 = 1、2 2、4 4个机器周期个机器周期15单片机的引脚(复位端)l lVccVccVccVcc, GND: , GND: , GND: , GND: 电源端电源端电源端电源端 (+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5V/3.3V/2.7V)l lXTAL1, XTAL2: XTAL1, XTAL2: XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入、输出端片内振荡电路输入、输出端片内振荡

16、电路输入、输出端片内振荡电路输入、输出端l lRESET: RESET: RESET: RESET: 复位端(正脉冲有效,宽度复位端(正脉冲有效,宽度复位端(正脉冲有效,宽度复位端(正脉冲有效,宽度 8 ms8 ms8 ms8 ms)16复位使单片机进入某种确定的复位使单片机进入某种确定的初始状态初始状态: PC PC值归零(值归零(0000H0000H);); 各个各个SFRSFR被赋予初始值(见被赋予初始值(见P.42P.42):): P0 P0P3 = 0FFHP3 = 0FFH,Acc = 0Acc = 0,B = 0B = 0,TH0=0TH0=0,TL0=0TL0=0,TH1=0T

17、H1=0,TL0=0TL0=0,SP=7SP=7,PSW=0 PSW=0 退出处于节电工作方式的停顿状态、退出一切退出处于节电工作方式的停顿状态、退出一切程序进程、退出程序的死循环,程序进程、退出程序的死循环,从头开始从头开始。单片机的引脚(复位端)l lVccVccVccVcc, GND: , GND: , GND: , GND: 电源端电源端电源端电源端 (+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5V/3.3V/2.7V)l lXTAL1, XTAL2: XTAL1, XTAL2: XTAL1, XTAL2: XTAL1, XTAL2: 片内振

18、荡电路输入、输出端片内振荡电路输入、输出端片内振荡电路输入、输出端片内振荡电路输入、输出端l lRESET: RESET: RESET: RESET: 复位端(正脉冲有效,宽度复位端(正脉冲有效,宽度复位端(正脉冲有效,宽度复位端(正脉冲有效,宽度 8 ms8 ms8 ms8 ms)17PC与SFR复位状态表寄存器寄存器复位状态复位状态寄存器寄存器复位状态复位状态PCPC0000H0000HTCONTCON00H00HA A00H00HT2CONT2CON00H00HB B00H00HTH0TH000H00HPSWPSW00H00HTL0TL000H00HSPSP07H07HTH1TH100H

19、00HDPTRDPTR0000H0000HTL1TL100H00HP0P3P0P3FFHFFHSCONSCON00H00HIPIPXX000000BXX000000BSBUFSBUFXXHXXHIEIE0X000000B0X000000BPCONPCON0XXX0000B0XXX0000BTMODTMOD00H00H18单片机的引脚(复位端)A.上电复位上电复位B.手动手动&上电复位上电复位l lVccVccVccVcc, GND: , GND: , GND: , GND: 电源端电源端电源端电源端 (+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5V/

20、3.3V/2.7V)l lXTAL1, XTAL2: XTAL1, XTAL2: XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入、输出端片内振荡电路输入、输出端片内振荡电路输入、输出端片内振荡电路输入、输出端l lRESET: RESET: RESET: RESET: 复位端复位端复位端复位端 (正脉冲有效,宽度(正脉冲有效,宽度(正脉冲有效,宽度(正脉冲有效,宽度 8 ms8 ms8 ms8 ms)+5V10uF10KVccRSTGND10uF10KVccRSTGND1K+5V19单片机的引脚(复位端)C.同步复位电路同步复位电路l lVccVccVccVcc, G

21、ND: , GND: , GND: , GND: 电源端电源端电源端电源端 (+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5V/3.3V/2.7V)l lXTAL1, XTAL2: XTAL1, XTAL2: XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入、输出端片内振荡电路输入、输出端片内振荡电路输入、输出端片内振荡电路输入、输出端l lRESET: RESET: RESET: RESET: 复位端复位端复位端复位端 (正脉冲有效,宽度(正脉冲有效,宽度(正脉冲有效,宽度(正脉冲有效,宽度 8 ms8 ms8 ms8 ms)

22、22uF200KVccRSTGND74HC14+5V接低电平复位芯片接低电平复位芯片20D.D.专用复位芯片专用复位芯片专用复位芯片专用复位芯片l l应用于可靠性要求较高应用于可靠性要求较高应用于可靠性要求较高应用于可靠性要求较高的嵌入式系统中。的嵌入式系统中。的嵌入式系统中。的嵌入式系统中。21单片机的引脚(EA端)l lVccVccVccVcc, GND: , GND: , GND: , GND: 电源端电源端电源端电源端 (+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5V/3.3V/2.7V)l lXTAL1, XTAL2: XTAL1, XTA

23、L2: XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入、输出端片内振荡电路输入、输出端片内振荡电路输入、输出端片内振荡电路输入、输出端l lRESET: RESET: RESET: RESET: 复位端复位端复位端复位端 (正脉冲有效,宽度(正脉冲有效,宽度(正脉冲有效,宽度(正脉冲有效,宽度 8 ms8 ms8 ms8 ms)l lEA/EA/EA/EA/VppVppVppVpp: : : : 寻址外部寻址外部寻址外部寻址外部ROMROMROMROM控制端控制端控制端控制端/ / / /编程电源输入端。编程电源输入端。编程电源输入端。编程电源输入端。 低有效低有效低

24、有效低有效,片内,片内,片内,片内无无无无ROMROMROMROM时时时时必须必须必须必须接地接地接地接地; 片内片内片内片内有有有有ROMROMROMROM时时时时应当应当应当应当接高电平接高电平接高电平接高电平; 对片内对片内对片内对片内ROMROMROMROM编程时编程正电源加到此端。编程时编程正电源加到此端。编程时编程正电源加到此端。编程时编程正电源加到此端。22单片机的引脚(ALE端)l lVccVccVccVcc, GND: , GND: , GND: , GND: 电源端电源端电源端电源端 (+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5V/3.3V/2.7V)+5

25、V/3.3V/2.7V)l lXTAL1, XTAL2: XTAL1, XTAL2: XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入、输出端片内振荡电路输入、输出端片内振荡电路输入、输出端片内振荡电路输入、输出端l lRESET: RESET: RESET: RESET: 复位端复位端复位端复位端 (正脉冲有效,宽度(正脉冲有效,宽度(正脉冲有效,宽度(正脉冲有效,宽度 8 ms8 ms8 ms8 ms)l lEA/EA/EA/EA/VppVppVppVpp: : : : 寻址外部寻址外部寻址外部寻址外部ROMROMROMROM控制端控制端控制端控制端/ / / /编

26、程电源输入端。编程电源输入端。编程电源输入端。编程电源输入端。l lALE/PROG: ALE/PROG: ALE/PROG: ALE/PROG: 地址锁存允许地址锁存允许地址锁存允许地址锁存允许/ / / /编程脉冲输入端。编程脉冲输入端。编程脉冲输入端。编程脉冲输入端。 P0P0P0P0口寻址外部低口寻址外部低口寻址外部低口寻址外部低8 8 8 8位地址位地址位地址位地址时时时时接外部锁存器接外部锁存器接外部锁存器接外部锁存器 G G G G端;端;端;端; ALEALEALEALE端端端端平时会输出周期正脉冲平时会输出周期正脉冲平时会输出周期正脉冲平时会输出周期正脉冲:f f f f f

27、osc/6fosc/6fosc/6fosc/6 ; 对片内对片内对片内对片内ROMROMROMROM编程时编程脉冲由此端加入。编程时编程脉冲由此端加入。编程时编程脉冲由此端加入。编程时编程脉冲由此端加入。 23单片机的引脚(PSEN端)l lPSENPSENPSENPSEN:寻址外部程序存储器时选通外部寻址外部程序存储器时选通外部寻址外部程序存储器时选通外部寻址外部程序存储器时选通外部EPROMEPROMEPROMEPROM的的的的 读控制端读控制端读控制端读控制端(OEOEOEOE)低有效。低有效。低有效。低有效。24单片机单片机锁存器锁存器74LS373P0.0-P0.7ALEPSENP2

28、.0-P2.48D8QOEA8-A12A0-A7D0-D7GEAOECEEPROM单片机的引脚(PSEN端)l lPSENPSENPSENPSEN:寻址外部程序存储器时选通外部寻址外部程序存储器时选通外部寻址外部程序存储器时选通外部寻址外部程序存储器时选通外部EPROMEPROMEPROMEPROM的的的的 读控制端读控制端读控制端读控制端(OEOEOEOE)低有效。低有效。低有效。低有效。25单片机的I/O引脚结构众多功能各异的I/O引脚源于它结构的不同26单片机的引脚(P1口)l lP1.0P1.7: P1.0P1.7: P1.0P1.7: P1.0P1.7: 准双向准双向准双向准双向I/

29、OI/OI/OI/O口口口口(内置内置内置内置了上拉电阻)了上拉电阻)了上拉电阻)了上拉电阻) 输出时一切照常,输出时一切照常,输出时一切照常,输出时一切照常,仅在作仅在作仅在作仅在作输入口输入口输入口输入口用时要先对其用时要先对其用时要先对其用时要先对其 写写写写“1 1 1 1”。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻2721DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻输输出出数据数据 = 1 时时110截截止止=1单片机的引脚(P1

30、口)l lP1.0P1.7: P1.0P1.7: P1.0P1.7: P1.0P1.7: 准双向准双向准双向准双向I/OI/OI/OI/O口口口口(内置内置内置内置了上拉电阻)了上拉电阻)了上拉电阻)了上拉电阻) 输出时一切照常,输出时一切照常,输出时一切照常,输出时一切照常,仅在作仅在作仅在作仅在作输入口输入口输入口输入口用时要先对其用时要先对其用时要先对其用时要先对其 写写写写“1 1 1 1”。2821DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻输输出出数据数据 = 0 时时001=0导导通通单片机的引脚(P1口)

31、l lP1.0P1.7: P1.0P1.7: P1.0P1.7: P1.0P1.7: 准双向准双向准双向准双向I/OI/OI/OI/O口(口(口(口(内置内置内置内置了上拉电阻了上拉电阻了上拉电阻了上拉电阻) 输出时一切照常,输出时一切照常,输出时一切照常,输出时一切照常,仅在作仅在作仅在作仅在作输入口输入口输入口输入口用时要先对其用时要先对其用时要先对其用时要先对其 写写写写“1 1 1 1”。2921DQCK/Q读引脚读引脚 =1读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻输输入入数据时,要先对其写数据时,要先对其写“1”110截截止止单片

32、机的引脚(P1口)l lP1.0P1.7: P1.0P1.7: P1.0P1.7: P1.0P1.7: 准双向准双向准双向准双向I/OI/OI/OI/O口(口(口(口(内置内置内置内置了上拉电阻了上拉电阻了上拉电阻了上拉电阻) 输出时一切照常,输出时一切照常,输出时一切照常,输出时一切照常,仅在作仅在作仅在作仅在作输入口输入口输入口输入口用时要先对其用时要先对其用时要先对其用时要先对其 写写写写“1 1 1 1”。30简单测控实例原理图31P1.3作输入端口光路通畅,光路通畅,R亮亮 2K 光路阻断,光路阻断,R暗暗 400K 32JOB3: CLR P1.1 ;亮绿灯REDO: SETB P

33、1.3 ;P1.3作输入口必先置1CHECK:JNB P1.3,CHECK ;检测通道是否被阻断?LOOP: ;有入侵者,报警!AJMP REDO ;再跳回去检测任务:红外防盗报警P1.3口用于输入状态检测的语句: 红外线光路通畅时,P1.3端低电平红外线光路阻断时,P1.3端高电平33单片机的引脚(P0口)l lP0.0P0.7: P0.0P0.7: P0.0P0.7: P0.0P0.7: 双向双向双向双向I/O I/O I/O I/O (内置内置内置内置场效应管场效应管场效应管场效应管上拉)上拉)上拉)上拉) 寻址外部程序存储器时寻址外部程序存储器时寻址外部程序存储器时寻址外部程序存储器时

34、分时分时分时分时作为作为作为作为双向双向双向双向8 8 8 8位数据口位数据口位数据口位数据口和和和和输出低输出低输出低输出低8 8 8 8位地址位地址位地址位地址复用口复用口复用口复用口;不接外部程序存储器不接外部程序存储器不接外部程序存储器不接外部程序存储器时可时可时可时可作为作为作为作为8 8 8 8位位位位准双向准双向准双向准双向I/OI/OI/OI/O口口口口使用。使用。使用。使用。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X34Vcc3421DQCK/Q读引脚读引脚 =1读锁存器读锁存器写锁写锁存器存器内部

35、内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X34控制控制=0 时时,此脚作,此脚作输入口输入口(事先必须对它写(事先必须对它写“1”)00100截截止止截截止止=0Vcc单片机的引脚(P0口)l lP0.0P0.7: P0.0P0.7: P0.0P0.7: P0.0P0.7: 双向双向双向双向I/O I/O I/O I/O (内置内置内置内置场效应管场效应管场效应管场效应管上拉)上拉)上拉)上拉) 寻址外部程序存储器寻址外部程序存储器寻址外部程序存储器寻址外部程序存储器时分时作为时分时作为时分时作为时分时作为双向双向双向双向8 8 8 8位数据口位数据口位数据口位数据口和和和和输出

36、低输出低输出低输出低8 8 8 8位地址位地址位地址位地址复用口;不接外部程序存储器复用口;不接外部程序存储器复用口;不接外部程序存储器复用口;不接外部程序存储器时可作为时可作为时可作为时可作为8 8 8 8位位位位准双向准双向准双向准双向I/OI/OI/OI/O口口口口使用。使用。使用。使用。3521DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X34控制控制=0 时时,此脚作,此脚作输出口输出口(输出引脚必须加上拉电阻)(输出引脚必须加上拉电阻)00100截截止止截截止止=0Vcc单片机的引脚(P0口)l lP0.0P0.

37、7: P0.0P0.7: P0.0P0.7: P0.0P0.7: 双向双向双向双向I/O I/O I/O I/O (内置内置内置内置场效应管场效应管场效应管场效应管上拉)上拉)上拉)上拉) 寻址外部程序存储器寻址外部程序存储器寻址外部程序存储器寻址外部程序存储器时分时作为时分时作为时分时作为时分时作为双向双向双向双向8 8 8 8位数据口位数据口位数据口位数据口和和和和输出低输出低输出低输出低8 8 8 8位地址位地址位地址位地址复用口;不接外部程序存储器复用口;不接外部程序存储器复用口;不接外部程序存储器复用口;不接外部程序存储器时可作为时可作为时可作为时可作为8 8 8 8位位位位准双向准

38、双向准双向准双向I/OI/OI/OI/O口口口口使用。使用。使用。使用。3621DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X34控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口:(1)输出地址输出地址/数据数据 =0 时时1011=0导导通通截截止止=0Vcc单片机的引脚(P0口)l lP0.0P0.7: P0.0P0.7: P0.0P0.7: P0.0P0.7: 双向双向双向双向I/O I/O I/O I/O (内置内置内置内置场效应管场效应管场效应管场效应管上拉)上拉)上拉)上拉) 寻址外部程序

39、存储器时分时作为寻址外部程序存储器时分时作为寻址外部程序存储器时分时作为寻址外部程序存储器时分时作为双向双向双向双向8 8 8 8位数据口位数据口位数据口位数据口和和和和输出低输出低输出低输出低8 8 8 8位地址位地址位地址位地址复用口;不接外部程序存储器复用口;不接外部程序存储器复用口;不接外部程序存储器复用口;不接外部程序存储器时可作为时可作为时可作为时可作为8 8 8 8位位位位准双向准双向准双向准双向I/OI/OI/OI/O口口口口使用。使用。使用。使用。3721DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0

40、.X34控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口:(2)输出地址输出地址/数据数据 =1 时时1100=1截截止止导导通通=1Vcc单片机的引脚(P0口)l lP0.0P0.7: P0.0P0.7: P0.0P0.7: P0.0P0.7: 双向双向双向双向I/O I/O I/O I/O (内置内置内置内置场效应管场效应管场效应管场效应管上拉)上拉)上拉)上拉) 寻址外部程序存储器时分时作为寻址外部程序存储器时分时作为寻址外部程序存储器时分时作为寻址外部程序存储器时分时作为双向双向双向双向8 8 8 8位数据口位数据口位数据口位数据口和和和和输出低输出低输出低输出低8 8

41、8 8位地址位地址位地址位地址复用口;不接外部程序存储器复用口;不接外部程序存储器复用口;不接外部程序存储器复用口;不接外部程序存储器时可作为时可作为时可作为时可作为8 8 8 8位位位位准双向准双向准双向准双向I/OI/OI/OI/O口口口口使用。使用。使用。使用。3821DQCK/Q读引脚读引脚 =1读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X34控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口: (3)输入数据时,输入指令将使引脚与内部总线直通输入数据时,输入指令将使引脚与内部总线直通Vcc单片机的引脚(P0口)l lP0

42、.0P0.7: P0.0P0.7: P0.0P0.7: P0.0P0.7: 双向双向双向双向I/O I/O I/O I/O (内置内置内置内置场效应管场效应管场效应管场效应管上拉)上拉)上拉)上拉) 寻址外部程序存储器时分时作为寻址外部程序存储器时分时作为寻址外部程序存储器时分时作为寻址外部程序存储器时分时作为双向双向双向双向8 8 8 8位数据口位数据口位数据口位数据口和和和和输出低输出低输出低输出低8 8 8 8位地址位地址位地址位地址复用口;不接外部程序存储器复用口;不接外部程序存储器复用口;不接外部程序存储器复用口;不接外部程序存储器时可作为时可作为时可作为时可作为8 8 8 8位位位

43、位准双向准双向准双向准双向I/OI/OI/OI/O口口口口使用。使用。使用。使用。39单片机的引脚(P2口)l lP2.0P2.7: P2.0P2.7: P2.0P2.7: P2.0P2.7: 双向双向双向双向I/O I/O I/O I/O (内置了上拉电阻)内置了上拉电阻)内置了上拉电阻)内置了上拉电阻) 寻址外部程序存储器时寻址外部程序存储器时寻址外部程序存储器时寻址外部程序存储器时输出高输出高输出高输出高8 8 8 8位地址位地址位地址位地址;不接外不接外不接外不接外部程序存储器时可部程序存储器时可部程序存储器时可部程序存储器时可作为作为作为作为8 8 8 8位位位位准双向准双向准双向准

44、双向I/OI/OI/OI/O口口口口使用。使用。使用。使用。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制引脚引脚 P2.X3内部上拉电阻内部上拉电阻Vcc4021DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制 引脚引脚P2.X控制控制=0时,此脚作通用时,此脚作通用输出口输出口:输出输出=0时时001导导通通3内部上拉电阻内部上拉电阻00Vcc=0=0单片机的引脚(P2口)l lP2.0P2.7: P2.0P2.7: P2.0P2.7: P2.0P2.7: 双向双向双向双向I

45、/O I/O I/O I/O (内置了上拉电阻)内置了上拉电阻)内置了上拉电阻)内置了上拉电阻) 寻址外部程序存储器时寻址外部程序存储器时寻址外部程序存储器时寻址外部程序存储器时输出高输出高输出高输出高8 8 8 8位地址位地址位地址位地址;不接外;不接外;不接外;不接外部程序存储器时可作为部程序存储器时可作为部程序存储器时可作为部程序存储器时可作为8 8 8 8位位位位准双向准双向准双向准双向I/OI/OI/OI/O口口口口使用。使用。使用。使用。4121DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制=1 引脚引脚P2.X控制控制=

46、1 时,此脚作时,此脚作高高8位地址位地址A8A15输出口:输出口:当当输出输出 =1 时时10截截止止3内部上拉电阻内部上拉电阻1=1Vcc=1单片机的引脚(P2口)l lP2.0P2.7: P2.0P2.7: P2.0P2.7: P2.0P2.7: 双向双向双向双向I/O I/O I/O I/O (内置了上拉电阻)内置了上拉电阻)内置了上拉电阻)内置了上拉电阻) 寻址外部程序存储器时寻址外部程序存储器时寻址外部程序存储器时寻址外部程序存储器时输出高输出高输出高输出高8 8 8 8位地址位地址位地址位地址;不接外;不接外;不接外;不接外部程序存储器时可作为部程序存储器时可作为部程序存储器时可

47、作为部程序存储器时可作为8 8 8 8位位位位准双向准双向准双向准双向I/OI/OI/OI/O口口口口使用。使用。使用。使用。4221DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制=1 引脚引脚P2.X01导导通通3内部上拉电阻内部上拉电阻0=0Vcc=0控制控制=1 时,此脚作时,此脚作高高8位地址位地址A8A15输出口:输出口:当当输出输出 =0 时时单片机的引脚(P2口)l lP2.0P2.7: P2.0P2.7: P2.0P2.7: P2.0P2.7: 双向双向双向双向I/O I/O I/O I/O (内置了上拉电阻)内置了上

48、拉电阻)内置了上拉电阻)内置了上拉电阻) 寻址外部程序存储器时寻址外部程序存储器时寻址外部程序存储器时寻址外部程序存储器时输出高输出高输出高输出高8 8 8 8位地址位地址位地址位地址;不接外;不接外;不接外;不接外部程序存储器时可作为部程序存储器时可作为部程序存储器时可作为部程序存储器时可作为8 8 8 8位位位位准双向准双向准双向准双向I/OI/OI/OI/O口口口口使用。使用。使用。使用。43单片机的引脚(P3口)l lP3.0P3.7: P3.0P3.7: P3.0P3.7: P3.0P3.7: 双功能口双功能口双功能口双功能口(内置了上拉电阻)(内置了上拉电阻)(内置了上拉电阻)(内

49、置了上拉电阻) 它它它它具有特定的第二功能具有特定的第二功能具有特定的第二功能具有特定的第二功能。在不使用它的第二功。在不使用它的第二功。在不使用它的第二功。在不使用它的第二功能时它就是普通的能时它就是普通的能时它就是普通的能时它就是普通的通用准双向通用准双向通用准双向通用准双向I/OI/OI/OI/O口口口口。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线第二功能输出第二功能输出引脚引脚 P3.X3内部上拉电阻内部上拉电阻Vcc第二功能输入第二功能输入44421DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线第二功能输出第二功能输出(WR

50、WR,RDRD,TxDTxD)引脚引脚 P3.X3内部上拉电阻内部上拉电阻Vcc4第二功能输出时,内部自动第二功能输出时,内部自动 D=1 D=1111反相器反相器单片机的引脚(P3口)l lP3.0P3.7: P3.0P3.7: P3.0P3.7: P3.0P3.7: 双功能口双功能口双功能口双功能口(内置了上拉电阻)(内置了上拉电阻)(内置了上拉电阻)(内置了上拉电阻) 它它它它具有特定的第二功能具有特定的第二功能具有特定的第二功能具有特定的第二功能。在不使用它的第二功。在不使用它的第二功。在不使用它的第二功。在不使用它的第二功能时它就是普通的能时它就是普通的能时它就是普通的能时它就是普通

51、的通用准双向通用准双向通用准双向通用准双向I/OI/OI/OI/O口口口口。4521DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线此端自动此端自动1 1引脚引脚 P3.X3内部上拉电阻内部上拉电阻Vcc 第二功能输入第二功能输入(RxDRxD,T0T0,T1T1,INT0INT0,INT1INT1)4第二功能输入时,信号经第二功能输入时,信号经缓冲器缓冲器4 4 直接进入内总线直接进入内总线1 11 11 10 0截截止止单片机的引脚(P3口)l lP3.0P3.7: P3.0P3.7: P3.0P3.7: P3.0P3.7: 双功能口双功能口双功能口双功能口(内置了

52、上拉电阻)(内置了上拉电阻)(内置了上拉电阻)(内置了上拉电阻) 它它它它具有特定的第二功能具有特定的第二功能具有特定的第二功能具有特定的第二功能。在不使用它的第二功。在不使用它的第二功。在不使用它的第二功。在不使用它的第二功能时它就是普通的能时它就是普通的能时它就是普通的能时它就是普通的通用准双向通用准双向通用准双向通用准双向I/OI/OI/OI/O口口口口。46P3口第二功能表(P.31 表2-3)引引引引 脚脚脚脚第第第第 二二二二 功功功功 能能能能 P3.0P3.0P3.0P3.0RxD: RxD: RxD: RxD: 串行口接收数据输入端串行口接收数据输入端串行口接收数据输入端串行

53、口接收数据输入端P3.1P3.1P3.1P3.1TxD:TxD:TxD:TxD: 串行口发送数据输出端串行口发送数据输出端串行口发送数据输出端串行口发送数据输出端P3.2P3.2P3.2P3.2INT0:INT0:INT0:INT0: 外部中断申请输入端外部中断申请输入端外部中断申请输入端外部中断申请输入端 0 0 0 0P3.3P3.3P3.3P3.3INT1:INT1:INT1:INT1: 外部中断申请输入端外部中断申请输入端外部中断申请输入端外部中断申请输入端 1 1 1 1P3.4P3.4P3.4P3.4T0:T0:T0:T0: 外部计数脉冲输入端外部计数脉冲输入端外部计数脉冲输入端外

54、部计数脉冲输入端 0 0 0 0P3.5P3.5P3.5P3.5T1:T1:T1:T1: 外部计数脉冲输入端外部计数脉冲输入端外部计数脉冲输入端外部计数脉冲输入端 1 1 1 1P3.6P3.6P3.6P3.6WR:WR:WR:WR: 写外设控制信号输出端写外设控制信号输出端写外设控制信号输出端写外设控制信号输出端P3.7P3.7P3.7P3.7RD:RD:RD:RD: 读外设控制信号输出端读外设控制信号输出端读外设控制信号输出端读外设控制信号输出端4751单片机的8个特殊引脚l lVccVccVccVcc, GND, GND, GND, GND: : : : 电源端电源端电源端电源端l lX

55、TAL1, XTAL2XTAL1, XTAL2XTAL1, XTAL2XTAL1, XTAL2: : : : 片内振荡电路输入、输出端片内振荡电路输入、输出端片内振荡电路输入、输出端片内振荡电路输入、输出端l lRESETRESETRESETRESET: : : : 复位端复位端复位端复位端 正脉冲有效(正脉冲有效(正脉冲有效(正脉冲有效(宽度宽度宽度宽度 8 ms8 ms8 ms8 ms)l lEAEAEAEA/ / / /VppVppVppVpp: : : : 寻址外部寻址外部寻址外部寻址外部ROMROMROMROM控制端控制端控制端控制端。低有效。低有效。低有效。低有效 片内有片内有片内

56、有片内有ROMROMROMROM时应当接高电平。时应当接高电平。时应当接高电平。时应当接高电平。l lALEALEALEALE/PROG/PROG/PROG/PROG: : : : 地址锁存允许地址锁存允许地址锁存允许地址锁存允许控制端控制端控制端控制端。l lPSENPSENPSENPSEN:选通外部选通外部选通外部选通外部ROMROMROMROM的读的读的读的读(OE)(OE)(OE)(OE)控制端控制端控制端控制端。 低有效低有效低有效低有效 小结小结4851单片机的4个8位的I/O口P0.0P0.0P0.7:P0.7:8 8位数据口位数据口和和输出低输出低8 8位地址位地址复用口复用口

57、 ( (复用时是复用时是双向口双向口;不复用时也是;不复用时也是准双向口准双向口) )P1.0P1.7: P1.0P1.7: 通用通用I/OI/O口口(准双向口)(准双向口)P2.0P2.7:P2.0P2.7: 输出高输出高8 8位地址位地址(用于寻址时是(用于寻址时是输出口;输出口;不寻址时是不寻址时是准双向口准双向口)P3.0P3.7: P3.0P3.7: 具有特定的第二功能具有特定的第二功能(准双向口)(准双向口)注意:注意:在不外扩在不外扩ROM/RAMROM/RAM时,时,P0P0P3P3均可作通用均可作通用I/OI/O口使用,而且口使用,而且都是都是准双向准双向I/OI/O口口(

58、(例如例如: :AT89C51AT89C51) )! 小结小结49P3口第二功能表 (P.31 表2-3)引引引引 脚脚脚脚第第第第 二二二二 功功功功 能能能能 P3.0P3.0P3.0P3.0RxD: RxD: RxD: RxD: 串行口接收数据输入端串行口接收数据输入端串行口接收数据输入端串行口接收数据输入端P3.1P3.1P3.1P3.1TxD:TxD:TxD:TxD: 串行口发送数据输出端串行口发送数据输出端串行口发送数据输出端串行口发送数据输出端P3.2P3.2P3.2P3.2INT0:INT0:INT0:INT0: 外部中断申请输入端外部中断申请输入端外部中断申请输入端外部中断申

59、请输入端 0 0 0 0P3.3P3.3P3.3P3.3INT1:INT1:INT1:INT1: 外部中断申请输入端外部中断申请输入端外部中断申请输入端外部中断申请输入端 1 1 1 1P3.4P3.4P3.4P3.4T0:T0:T0:T0: 外部计数脉冲输入端外部计数脉冲输入端外部计数脉冲输入端外部计数脉冲输入端 0 0 0 0P3.5P3.5P3.5P3.5T1:T1:T1:T1: 外部计数脉冲输入端外部计数脉冲输入端外部计数脉冲输入端外部计数脉冲输入端 1 1 1 1P3.6P3.6P3.6P3.6WR:WR:WR:WR: 写外设控制信号输出端写外设控制信号输出端写外设控制信号输出端写外

60、设控制信号输出端P3.7P3.7P3.7P3.7RD:RD:RD:RD: 读外设控制信号输出端读外设控制信号输出端读外设控制信号输出端读外设控制信号输出端 小结小结50存储器、堆栈、SFR51程序存储器程序存储器ROMROM(Read Only MemoryRead Only Memory)MASK ROMMASK ROMPROMPROMProgrammable ROMProgrammable ROMEPROMEPROM(UVUV)ErazibleErazible Programmable ROM Programmable ROMEEPROM/EEEPROM/E2 2PROMPROMElect

61、rical Erasable Electrical Erasable Programmable ROM Programmable ROM闪速存储器闪速存储器Flash MemoryFlash Memory按字节寻址:每个字节按字节寻址:每个字节(8(8个位个位) )占一个地址占一个地址按位寻址:有的存储器每一个位就有一个地址按位寻址:有的存储器每一个位就有一个地址单片机的存储器几个有关的概念:52数据存储器数据存储器RAMRAM(Random Access MemoryRandom Access Memory)静态存储器静态存储器 SRAMSRAMStatic RAMStatic RAM动态存

62、储器动态存储器 DRAMDRAMDynamic RAMDynamic RAM单片机的存储器几个有关的概念:5389C51单片机存储器配置单片机存储器配置l l单片机的存储器系统采用哈佛结构,单片机的存储器系统采用哈佛结构,ROMROM空空间和间和RAMRAM空间是分开的。空间是分开的。l l片内片内Flash Flash ROMROM 4K 4K字节字节 (000HFFFH000HFFFH)l l片内片内RAMRAM 128 128字节(字节(00H7FH00H7FH)l l可寻址片外可寻址片外ROMROM 64K 64K字节字节 (0000HFFFFH0000HFFFFH)l l可寻址片外可

63、寻址片外RAMRAM 64K 64K字节字节 (0000HFFFFH0000HFFFFH)5489C51单片机存储器配置单片机存储器配置 ROM程序存储器编址原则:(P37) 先片内,后片外,片内、片外连续,先片内,后片外,片内、片外连续,先片内,后片外,片内、片外连续,先片内,后片外,片内、片外连续,二者一般不二者一般不二者一般不二者一般不重叠。重叠。重叠。重叠。片内ROM4KB/EA=1片外ROM片外ROM/EA=00000H0FFFH0000HFFFFH0FFFH1000H(A)51子系列子系列片内ROM8KB/EA=1片外ROM片外ROM/EA=00000H1FFFH0000HFFFF

64、H1FFFH2000H(B)52子系列子系列5589C51单片机存储器配置单片机存储器配置 ROMROMROM中中7 7个特殊入口地址(个特殊入口地址(P37P37)入口地址入口地址入口地址入口地址操作操作操作操作0000H0000H0000H0000H复位复位复位复位0003H0003H0003H0003H外部中断外部中断外部中断外部中断0 0 0 0000BH000BH000BH000BH定时器定时器定时器定时器/ / / /计数器计数器计数器计数器0 0 0 0溢出溢出溢出溢出0013H0013H0013H0013H外部中断外部中断外部中断外部中断1 1 1 1001BH001BH001

65、BH001BH定时器定时器定时器定时器/ / / /计数器计数器计数器计数器1 1 1 1溢出溢出溢出溢出0023H0023H0023H0023H串行口中断串行口中断串行口中断串行口中断002BH002BH002BH002BH定时器定时器定时器定时器/ / / /计数器计数器计数器计数器0 0 0 0溢出或溢出或溢出或溢出或T2EXT2EXT2EXT2EX端负跳变端负跳变端负跳变端负跳变5689C51单片机存储器配置 RAMRAMl l片内片内片内片内RAMRAMRAMRAM 128 128 128 128字节(字节(字节(字节(00H7FH00H7FH00H7FH00H7FH):):):):

66、 片内片内片内片内RAMRAMRAMRAM前前前前32323232个单元是工作寄存器区个单元是工作寄存器区个单元是工作寄存器区个单元是工作寄存器区(00H1FH)(00H1FH)(00H1FH)(00H1FH) 片内片内片内片内RAMRAMRAMRAM有有有有128128128128个可按位寻址的位,占个可按位寻址的位,占个可按位寻址的位,占个可按位寻址的位,占16161616个单元。个单元。个单元。个单元。 位地址编号为:位地址编号为:位地址编号为:位地址编号为:00H7FH00H7FH00H7FH00H7FH, 分布在分布在分布在分布在20H2FH20H2FH20H2FH20H2FH单元单

67、元单元单元 片内片内片内片内RAMRAMRAMRAM有有有有80808080个单元是数据缓冲区(个单元是数据缓冲区(个单元是数据缓冲区(个单元是数据缓冲区(30H7FH30H7FH30H7FH30H7FH) (52525252有有有有208208208208个单元,个单元,个单元,个单元,30HFFH30HFFH30HFFH30HFFH)l l片内片内片内片内18/2118/2118/2118/21(51/5251/5251/5251/52)个特殊功能寄存器)个特殊功能寄存器)个特殊功能寄存器)个特殊功能寄存器( ( ( (SFRSFRSFRSFR) ) ) )中:中:中:中:地址号能被地址号

68、能被地址号能被地址号能被8 8 8 8整除的整除的整除的整除的 SFRSFRSFRSFR中的各位中的各位中的各位中的各位也可也可也可也可按位寻址按位寻址按位寻址按位寻址(P.3940P.3940P.3940P.3940)57存储器配置(片内RAM)l l片内片内片内片内RAMRAMRAMRAM 128128128128字节字节字节字节(00H7FH00H7FH00H7FH00H7FH)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SFR分布在分布在8

69、0H-FFH其中其中93个位个位可位寻址可位寻址80H80HFFHFFH所有的所有的RAMRAM区区( (包括包括位位寻址区、工作寄存器寻址区、工作寄存器区)都可以用于存放区)都可以用于存放数据,故也称为数据,故也称为数据数据缓存寄存器缓存寄存器89C51 128128字节字节58l l片内片内片内片内RAMRAMRAMRAM前前前前32323232个单元是个单元是个单元是个单元是工作寄存器区工作寄存器区工作寄存器区工作寄存器区 (00H1FH)(00H1FH)(00H1FH)(00H1FH)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子

70、系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区存储器配置(片内RAM)5900H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区工作寄存器区3工作寄存器区工作寄存器区2工作寄存器区工作寄存器区1工工作作寄寄存存器器区区00FH10H17H18Hl l片内片内片内片内RAMRAMRAMRAM前前前前32323232

71、个单元是个单元是个单元是个单元是工作寄存器区工作寄存器区工作寄存器区工作寄存器区 (00H1FH)(00H1FH)(00H1FH)(00H1FH)存储器配置(片内RAM)60R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区工作寄存器区3工作寄存器区工作寄存器区2工作寄存器区工作寄存器区1工工作作寄寄存存器器区区00FH10H17H18Hl l工作寄存器选择工作寄存器选择工作寄存器选择工作寄存器选择( ( ( (通过通过通过通过PSWPSWPSWPSW中第中第中第中第4 4 4 4位、第位、第位、第位、第3 3 3 3位,位,位,位,即即即

72、即RS1RS1RS1RS1、RS0RS0RS0RS0两位的值进行选择两位的值进行选择两位的值进行选择两位的值进行选择) ) ) )存储器配置(片内RAM)RS1RS1RS1RS1RS2RS2RS2RS2寄存器组寄存器组寄存器组寄存器组片内片内片内片内RAMRAMRAMRAM地址地址地址地址0 0 0 00 0 0 0第第第第0 0 0 0组组组组00H07H00H07H00H07H00H07H0 0 0 01 1 1 1第第第第1 1 1 1组组组组08H0FH08H0FH08H0FH08H0FH1 1 1 10 0 0 0第第第第2 2 2 2组组组组10H17H10H17H10H17H10

73、H17H1 1 1 11 1 1 1第第第第3 3 3 3组组组组18H1FH18H1FH18H1FH18H1FH6100H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区l l片内片内片内片内RAMRAMRAMRAM中有中有中有中有128128128128个可按位寻址的位。个可按位寻址的位。个可按位寻址的位。个可按位寻址的位。 位地址位地址位地址位地址: : : :00H7FH 00H7FH 00H7FH 00H7FH 分布在分布在分布在分布在: : :

74、:20H2FH20H2FH20H2FH20H2FH单元单元单元单元存储器配置(片内RAM)6200H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区27H22H21H20H26H24H25H23H28H2FH单元地址单元地址07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 13 12 11 101F 1E 1D 1C 1B 1A 19 1827 26 25 24 23 22 21 202F 2

75、E 2D 2C 2B 2A 29 2837 36 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 407F 7E 7D 7C 7B 7A 79 78位地址位地址总共总共128个可个可按位按位寻址寻址的位的位l l片内片内片内片内RAMRAMRAMRAM中有中有中有中有128128128128个可按位寻址的位。个可按位寻址的位。个可按位寻址的位。个可按位寻址的位。 位地址位地址位地址位地址: : : :00H7FH 00H7FH 00H7FH 00H7FH 分布在分布在分布在分布在: : : :20H2FH20H2FH20

76、H2FH20H2FH单元单元单元单元存储器配置(片内RAM)6300H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区27H22H21H20H26H24H25H23H28H2FH单元地址单元地址07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 13 12 11 101F 1E 1D 1C 1B 1A 19 1827 26 25 24 23 22 21 202F 2E 2D 2C 2B 2A 2

77、9 2837 36 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 407F 7E 7D 7C 7B 7A 79 78位地址位地址总共总共128个可个可按位按位寻址寻址的位的位存储器配置(片内RAM)注意:注意:MOV C,00HMOV A,00HMOV A,20H的区别的区别64堆栈: 在在在在片内片内片内片内RAMRAMRAMRAM中,常常要指定一个专门的区域来中,常常要指定一个专门的区域来中,常常要指定一个专门的区域来中,常常要指定一个专门的区域来存放某些存放某些存放某些存放某些特别的特别的特别的特别的数据数据数据

78、数据, , , ,它遵循它遵循它遵循它遵循顺序存取顺序存取顺序存取顺序存取和和和和后进后进后进后进先出先出先出先出(LIFO/FILO(LIFO/FILO(LIFO/FILO(LIFO/FILO)的原则的原则的原则的原则, , , ,这个这个这个这个RAMRAMRAMRAM区区区区叫叫叫叫堆栈堆栈堆栈堆栈。功用功用:1 1)子程序调用)子程序调用和和中断服务中断服务时时CPUCPU自动将当前自动将当前PCPC 值值压栈保存,返回时自动将压栈保存,返回时自动将PCPC值弹栈。值弹栈。2 2)保护现场)保护现场/ /恢复现场恢复现场3 3)数据传输)数据传输6500H00H20H20H2FH2FH

79、7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区 SP栈顶栈顶下一个进栈的下一个进栈的数据将存在此数据将存在此数据数据进栈进栈已经进栈的数已经进栈的数据存放在此据存放在此初始初始 SP复位后复位后 SP=07H SP=07H,数据进栈时:数据进栈时:首先首先SP+1SP+1指向指向08H08H单元,第一个放进堆栈单元,第一个放进堆栈的数据将放进的数据将放进08H08H单元,然后单元,然后SPSP再根再根据进栈指令自动增据进栈指令自动增 1 1,始终指着栈顶,始终指着栈顶堆栈区由特殊功能寄

80、存器堆栈区由特殊功能寄存器堆栈指针堆栈指针SPSP管理管理 堆栈区可以安排在堆栈区可以安排在 RAM RAM区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。66从堆栈取出数据时从堆栈取出数据时:取出的数据是取出的数据是最近放进去的一个数据,也就是当最近放进去的一个数据,也就是当前栈顶的数据。然后前栈顶的数据。然后SPSP再自动减再自动减1 1,仍指着栈顶,仍指着栈顶00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52

81、子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区 SP栈顶栈顶当前要出栈的数据当前要出栈的数据数据数据出栈出栈SP-1指向下一个指向下一个将要出栈的数据将要出栈的数据初始初始 SP堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在堆栈区可以安排在 RAM RAM区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。67从堆栈取出数据时从堆栈取出数据时:取出的数据是取出的数据是最近放进去的一个数据,也就是当最近放进去的一个

82、数据,也就是当前栈顶的数据。然后前栈顶的数据。然后SPSP再自动减再自动减1 1,仍指着栈顶,仍指着栈顶00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SP-1 指向新的栈指向新的栈顶顶,也就是下一也就是下一个将要出栈的数个将要出栈的数据据数据数据出栈出栈初始初始 SP堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在堆栈区可以安排在 RAM RAM区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址

83、的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。68l l可寻址片外可寻址片外可寻址片外可寻址片外RAM 64KRAM 64KRAM 64KRAM 64K字节字节字节字节 (0000HFFFFH0000HFFFFH0000HFFFFH0000HFFFFH)* * * * 片内片外地址可以重叠片内片外地址可以重叠片内片外地址可以重叠片内片外地址可以重叠FFFFH0000H可寻址可寻址片外片外RAMRAM 64K字节字节7FH00H片内片内 RAM RAM 128字节字节FFH80H存储器配置(片外RAM)6989C51特殊功能寄存器(SFR)特殊功能寄存器特殊功

84、能寄存器SFRSFR(专用寄存器)(专用寄存器)专用于专用于控制、选择、管理、存放控制、选择、管理、存放单片机内部各部分单片机内部各部分的工作的工作方式、条件、状态、结果方式、条件、状态、结果的寄存器的寄存器。不同的不同的SFRSFR管理不同的硬件模块,负责不同的功能管理不同的硬件模块,负责不同的功能各司其职各司其职换言之:要让单片机实现预订的功能,必须有相应换言之:要让单片机实现预订的功能,必须有相应的硬件和软件,的硬件和软件,而软件中最重要的一项工作就是对而软件中最重要的一项工作就是对SFRSFR写命令(要求)写命令(要求)。70程序计数器程序计数器PCPC(Program Counter

85、Program Counter)PCPC 不是不是一个在特殊功能寄存器区的一个在特殊功能寄存器区的SFRSFR,但其作,但其作用又十分重要和特殊用又十分重要和特殊!特点:特点:它是它是1616位位的按机器周期的按机器周期自动增自动增1 1计数器计数器一切一切分支分支/ /跳转跳转/ /调用调用/ /中断中断/ /复位复位 等操作的等操作的本质本质就是就是: :改变改变 PC PC 值值总指向下一条指令所在首地址总指向下一条指令所在首地址( (当前当前PCPC值值) )特殊功能寄存器(PC)7189C5189C5189C5189C51有有有有21212121个字节个字节个字节个字节SFR(89C

86、52SFR(89C52SFR(89C52SFR(89C52有有有有26262626个字节个字节个字节个字节) ) ) ) P39 P39 P39 P3940404040 已知的已知的已知的已知的P0P0P0P0、P1P1P1P1、P2P2P2P2、P3P3P3P3等四个等四个等四个等四个8 8 8 8位位位位I/OI/OI/OI/O口口口口分别由名分别由名分别由名分别由名为为为为P0P0P0P0、P1P1P1P1、P2P2P2P2、P3P3P3P3四个四个四个四个SFRSFRSFRSFR代表。代表。代表。代表。堆栈指针寄存器堆栈指针寄存器 SPSP(Stack Pointer): Stack

87、Pointer): 总是指向总是指向栈顶栈顶, ,压栈时先压栈时先 (SP)+1 (SP)+1 然后数据进栈;弹栈时数然后数据进栈;弹栈时数据先出栈据先出栈 然后然后(SP)-1(SP)-1。累加器累加器 ACC:ACC:一个被众多指令用得最频繁的特殊功一个被众多指令用得最频繁的特殊功能寄存器能寄存器( (如:运算、数据传输如:运算、数据传输)。特殊功能寄存器(P0P3,SP,A,B,DPTR)72副累加器副累加器 B B: :一个经常与一个经常与 ACCACC 配合在一起使用的配合在一起使用的特殊功能寄存器特殊功能寄存器( (如:乘法、除法如:乘法、除法) ),此外,它也,此外,它也经常当作

88、普通寄存器使用。经常当作普通寄存器使用。特殊功能寄存器(P0P3,SP,A,B,DPTR)数据指针寄存器数据指针寄存器DPTRDPTR: :一个一个1616位寄存器位寄存器, ,可以暂存可以暂存片外的片外的1616位地址位地址, ,作间址寄存器使用作间址寄存器使用, ,对外部存储对外部存储器和器和I/OI/O口寻址口寻址, ,也可拆成高低两字节也可拆成高低两字节DPH,DPLDPH,DPL单单独使用。独使用。73程序状态字寄存器程序状态字寄存器程序状态字寄存器程序状态字寄存器 PSWPSWPSWPSWCYACF0RS0OVPRS1PSW.7PSW.0CYCY(PSW.7)(PSW.7)进位进位

89、/ /借位标志位借位标志位。若。若ACCACC在运算过程在运算过程中发生了进位或借位,则中发生了进位或借位,则CY=1CY=1;否则;否则=0=0。它也是。它也是布尔处理器布尔处理器的的位累加器位累加器,可用于布尔操作。,可用于布尔操作。ACAC(PSW.6)(PSW.6)半进位半进位/ /借位标志位。借位标志位。若若ACCACC在运算过在运算过程中,程中,D3D3位向位向D4D4位发生了进位或借位,则位发生了进位或借位,则AC=1,AC=1,否则否则=0=0。机器在执行。机器在执行“DA ADA A”指令时指令时自动自动要判要判断这一位,我们可以暂时不关心它。断这一位,我们可以暂时不关心它。

90、F0F0(PSW.5)(PSW.5)可由用户定义的标志位。可由用户定义的标志位。PSW.6 PSW.5特殊功能寄存器(PSW)74程序状态字寄存器程序状态字寄存器程序状态字寄存器程序状态字寄存器 PSWPSWPSWPSW(续)(续)(续)(续):CYACF0RS0OVPRS1PSW.7PSW.0RS1RS1(PSW.4)(PSW.4)、RS0RS0(PSW.3)(PSW.3)工作寄存器组选择位工作寄存器组选择位。RS1RS1,RS0 = 0 1 RS0 = 0 1 则选择了工作寄存器组则选择了工作寄存器组 1 1 区区R0R0R7R7分别分别代表代表08H 08H 0FH0FH单元。单元。RS

91、1RS1,RS0 = 1 0 RS0 = 1 0 则选择了工作寄存器组则选择了工作寄存器组 2 2 区区 R0R0R7R7分别分别代表代表10H 10H 17H17H单元。单元。RS1RS1,RS0 = 1 1 RS0 = 1 1 则选择了工作寄存器组则选择了工作寄存器组 3 3 区区R0R0R7R7分别分别代表代表18H 18H 1FH1FH单元。单元。PSW.4 PSW.3RS1RS1,RS0 = 0 0 RS0 = 0 0 则选择了工作寄存器组则选择了工作寄存器组 0 0 区区R0R0R7R7分别分别代表代表00H 00H 07H07H单元。单元。75l l片内片内片内片内RAMRAMR

92、AMRAM前前前前32323232个单元个单元个单元个单元(00H1FH)(00H1FH)(00H1FH)(00H1FH)是工作寄存器是工作寄存器是工作寄存器是工作寄存器区区区区 ( ( ( (由由由由PSWPSWPSWPSW中的中的中的中的RS1,RS0RS1,RS0RS1,RS0RS1,RS0决定决定决定决定) ) ) )00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H

93、08H1FH工作寄存器区工作寄存器区3工作寄存器区工作寄存器区2工作寄存器区工作寄存器区1工工作作寄寄存存器器区区076 程序状态字寄存器程序状态字寄存器程序状态字寄存器程序状态字寄存器 PSWPSWPSWPSW(续)(续)(续)(续):CYACF0RS0OVPRS1PSW.7PSW.0OV OV (PSW.2)(PSW.2)溢出标志位。溢出标志位。 OV=1OV=1时特指累加器在进行带符号数时特指累加器在进行带符号数(-128+127)(-128+127)运算时出错(超出范围);运算时出错(超出范围);OV=0OV=0时未出错。时未出错。PSW.1 PSW.1 未定义未定义。P P (PSW

94、.0)(PSW.0)奇偶标志位。奇偶标志位。 P=1P=1表示累加器中表示累加器中“1”“1”的个数的个数为奇数为奇数 P=0P=0表示累加器中表示累加器中“1”“1”的个数的个数为偶数为偶数 CPU CPU随时监视着随时监视着ACCACC中的中的“1”“1”的个数的个数, ,并反映在并反映在PSWPSW中中PSW.2PSW.177PC与SFR复位状态表寄存器寄存器寄存器寄存器复位状态复位状态复位状态复位状态寄存器寄存器寄存器寄存器复位状态复位状态复位状态复位状态PCPC0000H0000HTCONTCON00H00HA A00H00HT2CONT2CON00H00HB B00H00HTH0T

95、H000H00HPSWPSW00H00HTL0TL000H00HSPSP07H07HTH1TH100H00HDPTRDPTR0000H0000HTL1TL100H00HP0P3P0P3FFHFFHSCONSCON00H00HIPIPXX000000BXX000000BSBUFSBUFXXHXXHIEIE0X000000B0X000000BPCONPCON0XXX0000B0XXX0000BTMODTMOD00H00H 回顾7889C51单片机存储器配置l l片内片内片内片内RAMRAMRAMRAM 128 128 128 128字节(字节(字节(字节(00H7FH00H7FH00H7FH00H

96、7FH);););); 片内片内片内片内RAMRAMRAMRAM前前前前32323232个单元是工作寄存器区个单元是工作寄存器区个单元是工作寄存器区个单元是工作寄存器区(00H1FH)(00H1FH)(00H1FH)(00H1FH) 片内片内片内片内RAMRAMRAMRAM有有有有128128128128个可按位寻址的位,占个可按位寻址的位,占个可按位寻址的位,占个可按位寻址的位,占16161616个单元。个单元。个单元。个单元。 位地址编号为:位地址编号为:位地址编号为:位地址编号为:00H7FH00H7FH00H7FH00H7FH 分布在:分布在:分布在:分布在:20H2FH20H2FH2

97、0H2FH20H2FH单元单元单元单元l l片内片内片内片内21212121个特殊功能寄存器个特殊功能寄存器个特殊功能寄存器个特殊功能寄存器(SFR)(SFR)(SFR)(SFR)中:地址号能被中:地址号能被中:地址号能被中:地址号能被 8 8 8 8整除的整除的整除的整除的 SFRSFRSFRSFR中的各位中的各位中的各位中的各位也可也可也可也可按位寻址按位寻址按位寻址按位寻址l l可寻址片外可寻址片外可寻址片外可寻址片外RAMRAMRAMRAM 64K 64K 64K 64K字节字节字节字节 (0000HFFFFH0000HFFFFH0000HFFFFH0000HFFFFH)l l可寻址片

98、外可寻址片外可寻址片外可寻址片外ROMROMROMROM 64K 64K 64K 64K字节字节字节字节 (0000HFFFFH0000HFFFFH0000HFFFFH0000HFFFFH)l l片内片内片内片内Flash Flash Flash Flash ROMROMROMROM 4K 4K 4K 4K字节字节字节字节 (000HFFFH000HFFFH000HFFFH000HFFFH) 小结79存储器配置(片内RAM)l l片内片内片内片内RAMRAMRAMRAM 128128128128字节字节字节字节(00H7FH00H7FH00H7FH00H7FH)00H00H20H20H2FH2

99、FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SFR分布在分布在80H-FFH其中其中93个位个位可位寻址可位寻址80H80HFFHFFH所有的所有的RAMRAM区区( (包括包括位寻址位寻址区、工作寄存器区)都可区、工作寄存器区)都可以用于存放数据,故也称以用于存放数据,故也称为为数据缓存寄存器数据缓存寄存器128128字节字节 小结80单片机存储器配置(片外RAM/ROM) l l可寻址片外可寻址片外可寻址片外可寻址片外RAM 64KRAM 64KRAM 64KRAM 64K字

100、节字节字节字节 (0000HFFFFH0000HFFFFH0000HFFFFH0000HFFFFH););););l l可寻址片外可寻址片外可寻址片外可寻址片外ROM 64KROM 64KROM 64KROM 64K字节字节字节字节 (0000HFFFFH0000HFFFFH0000HFFFFH0000HFFFFH););););l l片内片内片内片内 Flash ROM 4KFlash ROM 4KFlash ROM 4KFlash ROM 4K字节字节字节字节 (000HFFFH000HFFFH000HFFFH000HFFFH););););FFFFH0000H可寻址可寻址片外片外RAMR

101、AM 64K字节字节FFFFH0000H可寻址可寻址片外片外ROMROM 64K字节字节FFFH000H可寻址可寻址片内片内 Flash Flash ROMROM 4K字节字节89C5189C517FH00H片内片内 RAM RAM 128字节字节FFH80H 小结81低功耗运行方式82电源控制寄存器电源控制寄存器电源控制寄存器电源控制寄存器PCON(97H)PCON(97H)PCON(97H)PCON(97H):SMOD:SMOD:波特率倍增位,主要用于串行通信。波特率倍增位,主要用于串行通信。SMODGF1GF0IDLPCON.7PCON.0PCON.3PCON.1PDGF1,GF2:GF

102、1,GF2:通用标志位,由用户自己定义。通用标志位,由用户自己定义。PD:PD:掉电方式位,掉电方式位,PDPD1 1则进入掉电工作方式。则进入掉电工作方式。IDL:IDL:待机方式位,待机方式位,IDLIDL1 1则进入待机工作方式。则进入待机工作方式。PCON.283掉电工作方式当当电源控制寄存器电源控制寄存器PCONPCON的的PDPD为为1 1时,进入掉电工作方时,进入掉电工作方式。在该方式下,式。在该方式下,振荡器振荡器停止工作,一切功能停止,停止工作,一切功能停止,但是但是片内片内RAMRAM的数据可以保持不变的数据可以保持不变退出掉电工作方式的方法退出掉电工作方式的方法退出掉电工

103、作方式的方法退出掉电工作方式的方法:硬件复位硬件复位硬件复位硬件复位 进入掉电工作方式的方法进入掉电工作方式的方法进入掉电工作方式的方法进入掉电工作方式的方法:84掉电工作方式待机方式和掉电方式的硬件结构振荡器时钟发生器&G2G1IDLPDCPU中断系统、串口中断系统、串口定时器定时器/ /计数器计数器85待机工作方式当当电源控制寄存器电源控制寄存器PCONPCON的的IDLIDL为为1 1时,进入待机工作时,进入待机工作方式。在该方式下,振荡器继续工作,时钟信号仍方式。在该方式下,振荡器继续工作,时钟信号仍然提供给然提供给中断系统中断系统、串行口和定时器串行口和定时器/ /计数器计数器,但是

104、,但是通向通向CPUCPU的时钟被冻结。的时钟被冻结。退出待机工作方式有两种方法退出待机工作方式有两种方法退出待机工作方式有两种方法退出待机工作方式有两种方法:1.1.1.1.硬件复位硬件复位硬件复位硬件复位 2.2.2.2.中断唤醒中断唤醒中断唤醒中断唤醒进入待机工作方式的方法进入待机工作方式的方法进入待机工作方式的方法进入待机工作方式的方法:实际应用实际应用实际应用实际应用:通常在主程序中完成系统的初始化操:通常在主程序中完成系统的初始化操:通常在主程序中完成系统的初始化操:通常在主程序中完成系统的初始化操 作后,就使作后,就使作后,就使作后,就使CPUCPUCPUCPU进入待机工作方式,

105、系进入待机工作方式,系进入待机工作方式,系进入待机工作方式,系 统所有的任务通过中断来触发完成。统所有的任务通过中断来触发完成。统所有的任务通过中断来触发完成。统所有的任务通过中断来触发完成。这种程序结构程序在这种程序结构程序在前后台系统结构中称前后台系统结构中称为中断(事件)驱动为中断(事件)驱动系统系统 86最小系统的设计8788l l1.1.1.1.单片机的单片机的单片机的单片机的I/OI/OI/OI/O口都是口都是口都是口都是“准双向口准双向口准双向口准双向口”,在把,在把,在把,在把I/OI/OI/OI/O口口口口设置为输入状态时,要先对端口的锁存器写入设置为输入状态时,要先对端口的

106、锁存器写入设置为输入状态时,要先对端口的锁存器写入设置为输入状态时,要先对端口的锁存器写入1 1 1 1。同时同时同时同时P0P0P0P0口作口作口作口作I/OI/OI/OI/O口时,不带有上拉电阻;而口时,不带有上拉电阻;而口时,不带有上拉电阻;而口时,不带有上拉电阻;而P1,P2P1,P2P1,P2P1,P2和和和和P3P3P3P3口作口作口作口作I/OI/OI/OI/O口时,自带上拉电阻。口时,自带上拉电阻。口时,自带上拉电阻。口时,自带上拉电阻。 l l2.2.2.2.单片机的存储器系统采用哈佛结构,程序空间单片机的存储器系统采用哈佛结构,程序空间单片机的存储器系统采用哈佛结构,程序空

107、间单片机的存储器系统采用哈佛结构,程序空间和数据空间是分开的,和数据空间是分开的,和数据空间是分开的,和数据空间是分开的,I/OI/OI/OI/O空间占用数据空间的地空间占用数据空间的地空间占用数据空间的地空间占用数据空间的地址,二者采用相同指令访问,注意它和址,二者采用相同指令访问,注意它和址,二者采用相同指令访问,注意它和址,二者采用相同指令访问,注意它和PCPCPCPC的区别。的区别。的区别。的区别。l l3.3.3.3.片内片内片内片内RAMRAMRAMRAM空间的地址:空间的地址:空间的地址:空间的地址:0X800XFF0X800XFF0X800XFF0X800XFF和特殊功能寄和特

108、殊功能寄和特殊功能寄和特殊功能寄存器存器存器存器SFRSFRSFRSFR的地址重合,二者采用不同的寻址方式来的地址重合,二者采用不同的寻址方式来的地址重合,二者采用不同的寻址方式来的地址重合,二者采用不同的寻址方式来加以区分。加以区分。加以区分。加以区分。l l4.4.4.4.对于集成在单片机片内的中断系统,定时对于集成在单片机片内的中断系统,定时对于集成在单片机片内的中断系统,定时对于集成在单片机片内的中断系统,定时/ / / /计数计数计数计数器和串行通信等内部资源,都是通过器和串行通信等内部资源,都是通过器和串行通信等内部资源,都是通过器和串行通信等内部资源,都是通过SFRSFRSFRS

109、FR来管理的,来管理的,来管理的,来管理的,这实际上是一种软件管理硬件的方式。这实际上是一种软件管理硬件的方式。这实际上是一种软件管理硬件的方式。这实际上是一种软件管理硬件的方式。 实战经验89l l5.5.5.5.单片机的堆栈指针单片机的堆栈指针单片机的堆栈指针单片机的堆栈指针SPSPSPSP一般指向系统最后一个使一般指向系统最后一个使一般指向系统最后一个使一般指向系统最后一个使用的用的用的用的RAMRAMRAMRAM单元,因此初始化时,要留出足够的堆栈单元,因此初始化时,要留出足够的堆栈单元,因此初始化时,要留出足够的堆栈单元,因此初始化时,要留出足够的堆栈长度,避免堆栈的溢出。同时在入栈

110、时,先把长度,避免堆栈的溢出。同时在入栈时,先把长度,避免堆栈的溢出。同时在入栈时,先把长度,避免堆栈的溢出。同时在入栈时,先把SPSPSPSP加一后,数据再入栈;出栈时,数据先出栈,再加一后,数据再入栈;出栈时,数据先出栈,再加一后,数据再入栈;出栈时,数据先出栈,再加一后,数据再入栈;出栈时,数据先出栈,再把把把把SPSPSPSP减一。减一。减一。减一。l l6.6.6.6.注意区别单片机的时钟周期和机器周期。时钟注意区别单片机的时钟周期和机器周期。时钟注意区别单片机的时钟周期和机器周期。时钟注意区别单片机的时钟周期和机器周期。时钟周期等于单片机采用的石英晶体振荡频率的倒数,周期等于单片机

111、采用的石英晶体振荡频率的倒数,周期等于单片机采用的石英晶体振荡频率的倒数,周期等于单片机采用的石英晶体振荡频率的倒数,而机器周期等于时钟周期的而机器周期等于时钟周期的而机器周期等于时钟周期的而机器周期等于时钟周期的12121212倍倍倍倍l l7.7.7.7.复位电路设计时,并不仅仅要求复位时间大于复位电路设计时,并不仅仅要求复位时间大于复位电路设计时,并不仅仅要求复位时间大于复位电路设计时,并不仅仅要求复位时间大于两个机器周期就可以。因为电压的稳定性问题,两个机器周期就可以。因为电压的稳定性问题,两个机器周期就可以。因为电压的稳定性问题,两个机器周期就可以。因为电压的稳定性问题,一般要求提供

112、几百个一般要求提供几百个一般要求提供几百个一般要求提供几百个msmsmsms的复位脉冲。因此在实际的复位脉冲。因此在实际的复位脉冲。因此在实际的复位脉冲。因此在实际中常采用专用的复位芯片来提供标准的复位脉冲,中常采用专用的复位芯片来提供标准的复位脉冲,中常采用专用的复位芯片来提供标准的复位脉冲,中常采用专用的复位芯片来提供标准的复位脉冲,这类芯片一般还提供了电压监控功能。这类芯片一般还提供了电压监控功能。这类芯片一般还提供了电压监控功能。这类芯片一般还提供了电压监控功能。 实战经验90l l8.8.8.8.单片机单片机单片机单片机I/OI/OI/OI/O口线的第二功能是自动选择的,不需口线的第

113、二功能是自动选择的,不需口线的第二功能是自动选择的,不需口线的第二功能是自动选择的,不需要专门的指令去设置。要专门的指令去设置。要专门的指令去设置。要专门的指令去设置。l l9.9.9.9.单片机的堆栈是向上生长的,即堆栈指针向地单片机的堆栈是向上生长的,即堆栈指针向地单片机的堆栈是向上生长的,即堆栈指针向地单片机的堆栈是向上生长的,即堆栈指针向地址的高端增加,而址的高端增加,而址的高端增加,而址的高端增加,而PCPCPCPC的堆栈则是向下生长的,即的堆栈则是向下生长的,即的堆栈则是向下生长的,即的堆栈则是向下生长的,即堆栈指针向地址的低端增加。堆栈指针向地址的低端增加。堆栈指针向地址的低端增

114、加。堆栈指针向地址的低端增加。l l10.10.10.10.单片机的时钟电路可以采用石英晶体来构成,单片机的时钟电路可以采用石英晶体来构成,单片机的时钟电路可以采用石英晶体来构成,单片机的时钟电路可以采用石英晶体来构成,也可以采用有源晶振来构成,这里注意晶体和晶也可以采用有源晶振来构成,这里注意晶体和晶也可以采用有源晶振来构成,这里注意晶体和晶也可以采用有源晶振来构成,这里注意晶体和晶振的区别。振的区别。振的区别。振的区别。l l11.EA11.EA11.EA11.EA接高电平访问片内接高电平访问片内接高电平访问片内接高电平访问片内ROMROMROMROM,接低电平访问片外接低电平访问片外接低

115、电平访问片外接低电平访问片外ROMROMROMROM,由于目前集成在片内由于目前集成在片内由于目前集成在片内由于目前集成在片内ROMROMROMROM的空间已经很大,的空间已经很大,的空间已经很大,的空间已经很大,则在实际使用中一般采用则在实际使用中一般采用则在实际使用中一般采用则在实际使用中一般采用EAEAEAEA接高电平的方式。接高电平的方式。接高电平的方式。接高电平的方式。 实战经验91l l12.12.12.12.单片机的待机模式可以用来构成前后台模式中单片机的待机模式可以用来构成前后台模式中单片机的待机模式可以用来构成前后台模式中单片机的待机模式可以用来构成前后台模式中的的的的“中断

116、(事件)驱动系统中断(事件)驱动系统中断(事件)驱动系统中断(事件)驱动系统”。主程序是一个死。主程序是一个死。主程序是一个死。主程序是一个死循环模式,在主程序中完成系统的初始化后进入循环模式,在主程序中完成系统的初始化后进入循环模式,在主程序中完成系统的初始化后进入循环模式,在主程序中完成系统的初始化后进入待机工作模式,利用系统的中断来完成任务的执待机工作模式,利用系统的中断来完成任务的执待机工作模式,利用系统的中断来完成任务的执待机工作模式,利用系统的中断来完成任务的执行。行。行。行。 关于关于关于关于“ “ “ “ 前后台前后台前后台前后台”工作模式的解释:工作模式的解释:工作模式的解释

117、:工作模式的解释: “ “ “ “前后台前后台前后台前后台”是一种编程模式,它是相对于采用了是一种编程模式,它是相对于采用了是一种编程模式,它是相对于采用了是一种编程模式,它是相对于采用了实时操作系统的编程模式而言的。这种结构的主实时操作系统的编程模式而言的。这种结构的主实时操作系统的编程模式而言的。这种结构的主实时操作系统的编程模式而言的。这种结构的主程序是一个无限循环,该循环调用一些模块完成程序是一个无限循环,该循环调用一些模块完成程序是一个无限循环,该循环调用一些模块完成程序是一个无限循环,该循环调用一些模块完成相关操作,成为相关操作,成为相关操作,成为相关操作,成为“后台程序后台程序后台程序后台程序”,而中断服务程序,而中断服务程序,而中断服务程序,而中断服务程序处理异步事件和时间要求紧迫的事件,成为处理异步事件和时间要求紧迫的事件,成为处理异步事件和时间要求紧迫的事件,成为处理异步事件和时间要求紧迫的事件,成为“前前前前台程序台程序台程序台程序”。 实战经验92作业作业P.43 2,3,4,6,7P.43 2,3,4,6,793OVER !94

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号