1、主讲教师:主讲教师:王剑王剑长江大学计算机学院长江大学计算机学院本课程是一门实践性、应用性很强的学科本课程是一门实践性、应用性很强的学科仅仅听懂还不够仅仅听懂还不够,重在培养动手能力重在培养动手能力硬件硬件/软件同样重要、不可偏废软件同样重要、不可偏废 硬件是骨架,软件是皮肉器脏及思想硬件是骨架,软件是皮肉器脏及思想本课程的前期基础课程是数字电路与微机原理本课程的前期基础课程是数字电路与微机原理这方面知识掌握得不够好的请自己补上这方面知识掌握得不够好的请自己补上预习、听课、复习、作业、实验环环都重要预习、听课、复习、作业、实验环环都重要用科学的方法学习用科学的方法学习每人准备一个作业本每人准备
2、一个作业本 作业和实验报告作业和实验报告可用其他课程用过而没用完的本子,但可用其他课程用过而没用完的本子,但不能不能用单页纸用单页纸,学期末作业本就是一本复习提纲。学期末作业本就是一本复习提纲。课堂授课时间分配课堂授课时间分配:(34:(34学时学时)绪 论绪绪 论论 在工业、农业、军事、保安、金融、仪器在工业、农业、军事、保安、金融、仪器仪表、航空航天、医疗、通讯、办公设备、仪表、航空航天、医疗、通讯、办公设备、娱乐休闲、健身、体育竞赛、服务领域娱乐休闲、健身、体育竞赛、服务领域,大量大量单片机单片机-嵌入式嵌入式技术已经无处不在。正技术已经无处不在。正迅速改变着人们传统的生产和生活方式。迅
3、速改变着人们传统的生产和生活方式。请稍微留心一下我们的周围,看看身边到请稍微留心一下我们的周围,看看身边到底发生了什么变化?底发生了什么变化?单片机技术的应用遍布国民经济与人民生活的各个领域动作选择按钮动作选择按钮红外线传感器红外线传感器89C2051单片机单片机复复位位按按钮钮电电源源指指示示灯灯任务一:任务一:控制一盏灯点亮控制一盏灯点亮任务二:任务二:红灯周期性地点亮红灯周期性地点亮/熄灭熄灭信号检测信号检测柔性开关柔性开关集群灯控集群灯控顺序控制顺序控制/多任务定时切换多任务定时切换自动生产流水线自动生产流水线任务三:任务三:红外防盗报警红外防盗报警实时控制实时控制简单测控实例原理图单
4、单片片机机单片机与嵌入式技术 重要吗?有用吗?遥远吗?问题的答案是不言而喻的。第一讲:单片机基础本讲重点:MCS-51的基本特性;单片机的引脚与I/O口结构;存储器、堆栈与特殊功能寄存器.单片机与嵌入式单片机与嵌入式:单片微机(单片微机(Single Chip Micro-computerSingle Chip Micro-computer)微控制器(微控制器(M Micro-icro-C Controller ontroller U UnitnitMCUMCU)嵌入式微控制器(嵌入式微控制器(Embedded MicrocontrollerEmbedded Microcontroller)单
5、片机应用领域单片机应用领域:测控系统、测控系统、智能仪表智能仪表、智能接口、智能接口、办公自动化办公自动化、光机电一体化设备光机电一体化设备、通讯设备、通讯设备、网络设备网络设备、汽车、汽车电子、电子、消费类电子产品消费类电子产品、智能楼宇设备、智能楼宇设备 单片机的多元化发展单片机的多元化发展:IntelIntel MotorolaMotorola Philips Philips AtmelAtmel SiemensSiemens NSNS LGLG WinbondWinbond Microchip Microchip EPSONEPSON NECNEC CypressCypress Dal
6、lasDallas OkiOki Fairchild Fairchild FujitsuFujitsu Hitachi Hitachi SAMSUNGSAMSUNG通用通用PCPC包括:包括:键盘、显示器、鼠标、硬键盘、显示器、鼠标、硬/软软/光驱、光驱、音箱、打印机、扫描仪音箱、打印机、扫描仪等外设等外设。单片机单片机则只是一片集成电路。(则只是一片集成电路。(100100、4848、4040、3232、2828、2020、1616、8 8条引脚)。条引脚)。功能功能:PCPC机:机:数据运算、采集、处理、存储、传输;数据运算、采集、处理、存储、传输;单片机:单片机:控制(或受控于)外设。控
7、制(或受控于)外设。通用计算机擅长于数据通用计算机擅长于数据运算运算、采集、处理、存储、采集、处理、存储和传输;和传输;单片机的专长则是单片机的专长则是测控测控,往往,往往嵌入嵌入某个仪器某个仪器/设备设备/系统中,使其达到智能化的效果。系统中,使其达到智能化的效果。应用特点:个人计算机(微机):体积大,功耗大,价格高,用途较固定,属体积大,功耗大,价格高,用途较固定,属通用计通用计算机算机。易于学习掌握和使用,但用于控制时必须制。易于学习掌握和使用,但用于控制时必须制作或购买专用的接口卡,并编制专门的应用软件。作或购买专用的接口卡,并编制专门的应用软件。单片机:体积小,功耗小,价格低,用途灵
8、活,无处不在,体积小,功耗小,价格低,用途灵活,无处不在,属属专用计算机。专用计算机。是一种特殊器件,需经过专门学习是一种特殊器件,需经过专门学习方能掌握应用,应用中要设计专业的硬件和软件。方能掌握应用,应用中要设计专业的硬件和软件。MCS-51单片机基本特性8 8 位的位的 CPUCPU,片内有振荡器和时钟电路片内有振荡器和时钟电路,工作频率为工作频率为 1 112MHz12MHz(Atmel 89CxxAtmel 89Cxx为为0 024MHz24MHz)片内有片内有 128/256128/256字节字节 RAMRAM片内有片内有 0K/4K/8K0K/4K/8K字节字节 程序存储器程序存
9、储器ROMROM可寻址片外可寻址片外 64K64K字节字节 数据存储器数据存储器RAMRAM可寻址片外可寻址片外 64K64K字节字节 程序存储器程序存储器ROMROM片内片内 21/2621/26个个 特殊功能寄存器特殊功能寄存器(SFRSFR)4 4个个8 8位位 的并行的并行I/OI/O口口(PIOPIO)1 1个个 全双工串行口全双工串行口(SIO/UARTSIO/UART)2/32/3个个1616位位 定时器定时器/计数器计数器(TIMER/COUNTERTIMER/COUNTER)可处理可处理 5/65/6个个中断源,中断源,两级两级中断优先级中断优先级内置内置1 1个个布尔处理器
10、布尔处理器和和1 1个个布尔累加器布尔累加器(CyCy)MCS-51MCS-51指令集含指令集含 111111条指令条指令注意:今后将会经常提到ATMEL的AT89C2051/51/52等MCU!单片机的引脚定义从一片集成电路的角度去认识单片机MCS-51MCS-51单片机单片机4040脚脚VccVcc,GNDGND 2 2XTAL1XTAL1,XTAL2XTAL2 2 2RESETRESET 1 1EAEA/Vpp /Vpp 1 1ALEALE/PROG /PROG 1 1PSENPSEN 1 1P0.0P0.7 P0.0P0.7 8 8 P1.0P1.7 P1.0P1.7 8 8 P2.0
11、P2.7 P2.0P2.7 8 8 P3.0P3.7 P3.0P3.7 8 8XTAL1,XTAL2:XTAL1,XTAL2:片内振荡电路输入片内振荡电路输入/输出端输出端151545pf45pfx2x21 112MHz12MHz(MCS-51MCS-51)0 024MHz24MHz(Atmel-89CAtmel-89C)XTAL1XTAL1XTAL2XTAL2也可以由也可以由 XTAL1XTAL1端接入外部时钟,端接入外部时钟,此时应将此时应将 XTAL2XTAL2接地:接地:XTAL2XTAL2XTAL1XTAL1外部时钟外部时钟通常外接通常外接一个晶振一个晶振两个电容两个电容CPUCPU
12、总是按照一定的时钟节拍与时序工作:总是按照一定的时钟节拍与时序工作:振荡周期振荡周期/时钟周期:时钟周期:TcTc=晶振频率晶振频率foscfosc(或外加频率)的倒数(或外加频率)的倒数状态周期:状态周期:TsTs=2 2个时钟周期个时钟周期(TcTc)(很少用到此概念)(很少用到此概念)机器周期:机器周期:TmTm=6 6个状态周期个状态周期(TsTs)=)=1212个振荡周期个振荡周期(TcTc)指令周期指令周期:Ti:Ti:执行一条指令所需的机器周期执行一条指令所需的机器周期(TmTm)数数牢牢记住牢牢记住:振荡周期振荡周期 =晶振频率晶振频率foscfosc的倒数;的倒数;1 1个机
13、器周期个机器周期 =12=12个振荡周期;个振荡周期;1 1个指令周期个指令周期 =1=1、2 2、4 4个机器周期个机器周期复位使单片机进入某种确定的复位使单片机进入某种确定的初始状态初始状态:PC PC值归零(值归零(0000H0000H););各个各个SFRSFR被赋予初始值(见被赋予初始值(见P.42P.42):):P0P0P3=0FFHP3=0FFH,Acc=0Acc=0,B=0B=0,TH0=0TH0=0,TL0=0TL0=0,TH1=0TH1=0,TL0=0TL0=0,SP=7SP=7,PSW=0 PSW=0 退出处于节电工作方式的停顿状态、退出一切退出处于节电工作方式的停顿状态
14、、退出一切程序进程、退出程序的死循环,程序进程、退出程序的死循环,从头开始从头开始。+5V10uF10KVccRSTGND上电复位上电复位10uF10KVccRSTGND手动手动&上电复位上电复位1K+5V单片机单片机锁存器锁存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0-D7GEAOECEEPROM单片机的I/O引脚结构众多功能各异的I/O引脚源于它结构的不同21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存
15、器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻输输出出数据数据=1 时时110截截止止=121DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻输输出出数据数据=0 时时001=0导导通通21DQCK/Q读引脚读引脚=1读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻输输入入数据时,要先对其写数据时,要先对其写“1”110截截止止简单测控实例原理图P1.3作输入端口光路通畅,光路通畅,R亮亮 2K 光路阻断,光路阻断,R暗暗 400K R亮亮 250K JOB
16、3:CLR P1.1 ;亮绿灯REDO:SETB P1.3 ;P1.3作输入口必先置1CHECK:JNB P1.3,CHECK;检测通道是否被阻断?LOOP:;有入侵者,报警!AJMP REDO ;再跳回去检测任务三:红外防盗报警R亮250K,红外线光路阻断时,P1.3端高电平21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X34Vcc21DQCK/Q读引脚读引脚=1读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X34控制控制=0 时时,此脚作,此脚作输入口输入口(事先必须对它写(
17、事先必须对它写“1”)00100截截止止截截止止=0Vcc21DQCK/Q读引脚读引脚=0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X34控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口:(1)输出地址输出地址/数据数据=0 时时1011=0导导通通截截止止=0Vcc21DQCK/Q读引脚读引脚=0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X34控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口:(2)输出地址输出地址/数据数据=1 时时1100=1截截止止导导通通
18、=1Vcc21DQCK/Q读引脚读引脚=1读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X34控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口:(3)输入数据时,输入指令将使引脚与内部总线直通输入数据时,输入指令将使引脚与内部总线直通Vcc21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制引脚引脚 P2.X3内部上拉电阻内部上拉电阻Vcc21DQCK/Q读引脚读引脚=0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制 引脚引脚P2.X控制控制=0时,此
19、脚作通用时,此脚作通用输出口输出口:输出输出=1时时110截截止止3内部上拉电阻内部上拉电阻11Vcc=1=021DQCK/Q读引脚读引脚=0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制 引脚引脚P2.X控制控制=0时,此脚作通用时,此脚作通用输出口输出口:输出输出=0时时001导导通通3内部上拉电阻内部上拉电阻00Vcc=0=021DQCK/Q读引脚读引脚=0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制=1 引脚引脚P2.X控制控制=1 时,此脚作时,此脚作高高8位地址位地址A8A15输出口:输出口:当当输出输出=1 时时10截
20、截止止3内部上拉电阻内部上拉电阻1=1Vcc=121DQCK/Q读引脚读引脚=0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制=1 引脚引脚P2.X01导导通通3内部上拉电阻内部上拉电阻0=0Vcc=0控制控制=1 时,此脚作时,此脚作高高8位地址位地址A8A15输出口:输出口:当当输出输出=0 时时21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线第二功能输出第二功能输出引脚引脚 P3.X3内部上拉电阻内部上拉电阻Vcc第二功能输入第二功能输入421DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线第二功能输出第二
21、功能输出(WRWR,RDRD,TxDTxD)引脚引脚 P3.X3内部上拉电阻内部上拉电阻Vcc4第二功能输出时,内部自动第二功能输出时,内部自动 D=1D=1111反相器反相器21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线此端自动此端自动1 1引脚引脚 P3.X3内部上拉电阻内部上拉电阻Vcc 第二功能输入第二功能输入(RxDRxD,T0T0,T1T1,INT0INT0,INT1INT1)4第二功能输入时,信号经第二功能输入时,信号经缓冲器缓冲器4 4 直接进入内总线直接进入内总线1 11 11 10 0截截止止P0.0P0.7:P0.0P0.7:8 8位数据口位
22、数据口和和输出低输出低8 8位地址位地址复用口复用口 (复用时是复用时是双向口双向口;不复用时也是;不复用时也是准双向口准双向口)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口使用,而且口使用,而且都是都
23、是准双向准双向I/OI/O口口(例如例如:AT89C51AT89C51)!存储器、堆栈、SFR数据存储器数据存储器RAMRAM(Random Access MemoryRandom Access Memory)程序存储器程序存储器ROMROM(Read Only MemoryRead Only Memory)闪速存储器闪速存储器Flash MemoryFlash MemoryEPROMEPROM(UVUV)Erazible Programmable ROMErazible Programmable ROMEEPROM/EEEPROM/E2 2PROMPROMElectrical Erasabl
24、e Electrical Erasable Programmable ROM Programmable ROM静态存储器静态存储器 SRAMSRAMStatic RAMStatic RAM (动态存储器(动态存储器 DRAMDRAMDynamic RAMDynamic RAM)按字节寻址:每个字节按字节寻址:每个字节(8(8个位个位)占一个地址占一个地址按位寻址:有的存储器每一个位就有一个地址按位寻址:有的存储器每一个位就有一个地址00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻
25、址区工作寄存器区工作寄存器区SFR分布在分布在80H-FFH其中其中92个位个位可位寻址可位寻址80H80HFFHFFH所有的所有的RAMRAM区区(包括包括位位寻址区、工作寄存器寻址区、工作寄存器区)都可以用于存放区)都可以用于存放数据,故也称为数据,故也称为数据数据缓存寄存器缓存寄存器89C51 128128字节字节00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HF
26、FHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区工作寄存器区3工作寄存器区工作寄存器区2工作寄存器区工作寄存器区1工作寄存器区工作寄存器区00FH10H17H18H00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80
27、HFFHFFH52子系列才有子系列才有的的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 29 2837 36 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 40
28、7F 7E 7D 7C 7B 7A 79 78位地址位地址总共总共128个可个可按位按位寻址寻址的位的位FFFFH0000H可寻址可寻址片外片外RAMRAM 64K字节字节FFFFH0000H可寻址可寻址片外片外ROMROM 64K字节字节FFFH000H可寻址可寻址片内片内 Flash Flash ROMROM4K 字节字节89C5189C517FH00H片内片内 RAMRAM 128字节字节FFH80H功用功用:1 1)子程序调用)子程序调用和和中断服务中断服务时时CPUCPU自动将当前自动将当前PCPC 值值压栈保存,返回时自动将压栈保存,返回时自动将PCPC值弹栈。值弹栈。2 2)保护
29、现场)保护现场/恢复现场恢复现场3 3)数据传输)数据传输00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区 SP栈顶栈顶下一个进栈的下一个进栈的数据将存在此数据将存在此数据数据进栈进栈已经进栈的数已经进栈的数据存放在此据存放在此初始初始 SP复位后复位后 SP=07HSP=07H,数据进栈时:数据进栈时:首先首先SP+1SP+1指向指向08H08H单元,第一个放进堆栈单元,第一个放进堆栈的数据将放进的数据将放进08H08H单元,然后单元,然后SPSP再
30、自再自动增动增 1 1,仍指着栈顶,仍指着栈顶堆栈区由特殊功能寄存器堆栈区由特殊功能寄存器堆栈指针堆栈指针SPSP管理管理 堆栈区可以安排在堆栈区可以安排在 RAMRAM区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。从堆栈取出数据时从堆栈取出数据时:取出的数据是取出的数据是最近放进去的一个数据,也就是当最近放进去的一个数据,也就是当前栈顶的数据。然后前栈顶的数据。然后SPSP再自动减再自动减1 1,仍指着栈顶仍指着栈顶00H00H20H20H2FH2FH7FH7
31、FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区 SP栈顶栈顶当前要出栈的数据当前要出栈的数据数据数据出栈出栈SP-1指向下一个指向下一个将要出栈的数据将要出栈的数据初始初始 SP堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在堆栈区可以安排在 RAMRAM区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。从堆栈取出数据时从堆栈取出数据时:取出的数据是取出的数
32、据是最近放进去的一个数据,也就是当最近放进去的一个数据,也就是当前栈顶的数据。然后前栈顶的数据。然后SPSP再自动减再自动减1 1,仍指着栈顶仍指着栈顶00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SP-1 指向新的栈指向新的栈顶顶,也就是下一个也就是下一个将要出栈的数据将要出栈的数据数据数据出栈出栈初始初始 SP堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在堆栈区可以安排在 RAMRAM区任意位置,一般不安排在区任意位置,一般不安排在工作
33、寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。特殊功能寄存器特殊功能寄存器SFRSFR(专用寄存器)(专用寄存器)专用于专用于控制、选择、管理、存放控制、选择、管理、存放单片机内部各部分单片机内部各部分的工作的工作方式、条件、状态、结果方式、条件、状态、结果的寄存器的寄存器。不同的不同的SFRSFR管理不同的硬件模块,负责不同的功管理不同的硬件模块,负责不同的功能能各司其职各司其职换言之:要让单片机实现预订的功能,必须有相应换言之:要让单片机实现预订的功能,必须有相应的硬件和软件,的硬件和软件,而软件中最重要的一
34、项工作就是对而软件中最重要的一项工作就是对SFRSFR写命令(要求)写命令(要求)。程序计数器程序计数器PCPC(Program CounterProgram Counter)PCPC 不是不是一个特殊功能寄存器一个特殊功能寄存器SFRSFR,但其作,但其作 用又用又十分重要和特殊十分重要和特殊!特点:特点:它是它是1616位位的按机器周期的按机器周期自动增自动增1 1计数器计数器一切一切分支分支/跳转跳转/调用调用/中断中断/复位复位 等操作的等操作的本质本质就是就是:改变改变 PC PC 值值总指向下一条指令所在首地址总指向下一条指令所在首地址(当前当前PCPC值值)堆栈指针寄存器堆栈指针
35、寄存器 SPSP(Stack Pointer):Stack Pointer):总是指总是指向栈顶向栈顶,压栈时先压栈时先 (SP)+1(SP)+1 然后数据进栈;弹栈然后数据进栈;弹栈时数据先出栈时数据先出栈 然后然后(SP)-1(SP)-1。累加器累加器 ACC:ACC:一个被众多指令用得最频繁的特殊一个被众多指令用得最频繁的特殊功能寄存器功能寄存器(如:运算、数据传输如:运算、数据传输)。副累加器副累加器 B B:一个经常与一个经常与 ACCACC 配合在一起使用的配合在一起使用的特殊功能寄存器特殊功能寄存器(如:乘法、除法如:乘法、除法),此外,它也,此外,它也经常当作普通寄存器使用。经
36、常当作普通寄存器使用。CYACF0RS0OVPRS1PSW.7PSW.0CYCY(PSW.7)(PSW.7)进位进位/借位标志位借位标志位。若。若ACCACC在运算过程在运算过程中发生了进位或借位,则中发生了进位或借位,则CY=1CY=1;否则;否则=0=0。它也。它也是是布尔处理器布尔处理器的的位累加器位累加器,可用于布尔操作。,可用于布尔操作。ACAC(PSW.6)(PSW.6)半进位半进位/借位标志位。借位标志位。若若ACCACC在运算过在运算过程中,程中,D3D3位向位向D4D4位发生了进位或借位,则位发生了进位或借位,则CY=1,CY=1,否则否则=0=0。机器在执行。机器在执行“D
37、A ADA A”指令时指令时自动自动要判要判断这一位,我们可以暂时不关心它。断这一位,我们可以暂时不关心它。F0 F0(PSW.5)(PSW.5)可由用户定义的标志位。可由用户定义的标志位。PSW.6 PSW.5CYACF0RS0OVPRS1PSW.7PSW.0RS1RS1(PSW.4)(PSW.4)、RS0RS0(PSW.3)(PSW.3)工作寄存器组选择位工作寄存器组选择位。RS1RS1,RS0=0 1 RS0=0 1 则选择了工作寄存器组则选择了工作寄存器组 1 1 区区R0R0R7R7分别分别代表代表08H 08H 0FH0FH单元。单元。RS1RS1,RS0=1 0 RS0=1 0
38、则选择了工作寄存器组则选择了工作寄存器组 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分别分别代表代表08H 08H 0FH0FH单元。单元。00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列
39、才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区工作寄存器区3工作寄存器区工作寄存器区2工作寄存器区工作寄存器区1工作寄存器区工作寄存器区0CYACF0RS0OVPRS1PSW.7PSW.0OV OV(PSW.2)(PSW.2)溢出标志位。溢出标志位。OV=1OV=1时特指累加器在进行带符号数时特指累加器在进行带符号数(-128+127)(-128+127)运算时出错(超出范围);运算时出错(超出范围);OV=0OV=0时未出错。时未出错。PSW.1 P
40、SW.1 未定义未定义。P P(PSW.0)(PSW.0)奇偶标志位。奇偶标志位。P=1P=1表示累加器中表示累加器中“1”1”的个数的个数为奇数为奇数 P=0P=0表示累加器中表示累加器中“1”1”的个数的个数为偶数为偶数 CPUCPU随时监视着随时监视着ACCACC中的中的“1”1”的个数的个数,并反映在并反映在PSWPSW中中PSW.2PSW.100H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SFR分布在分布在80H-FFH其中其中92个位个位可位寻址可位寻址80H80HFFHFFH所有的所有的RAMRAM区区(包括包括位寻址位寻址区、工作寄存器区)都可区、工作寄存器区)都可以用于存放数据,故也称以用于存放数据,故也称为为数据缓存寄存器数据缓存寄存器128128字节字节FFFFH0000H可寻址可寻址片外片外RAMRAM 64K字节字节FFFFH0000H可寻址可寻址片外片外ROMROM 64K字节字节FFFH000H可寻址可寻址片内片内 Flash Flash ROMROM 4K字节字节89C5189C517FH00H片内片内 RAMRAM 128字节字节FFH80HOVER!