单片机学教程PPt第2章 内部硬件架构及资源PPT课件.ppt_第1页
单片机学教程PPt第2章 内部硬件架构及资源PPT课件.ppt_第2页
单片机学教程PPt第2章 内部硬件架构及资源PPT课件.ppt_第3页
单片机学教程PPt第2章 内部硬件架构及资源PPT课件.ppt_第4页
单片机学教程PPt第2章 内部硬件架构及资源PPT课件.ppt_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,第2章 单片机内部硬件架构及资源,本讲重点: 1.MCS-51单片机的内部结构; 2.单片机的引脚与I/O口结构; 3.存储器、堆栈与特殊功能寄存器; 4.单片机工作的基本时序; 5.这一章以一些记忆性的为主,为后续章节提供了实现的内部硬件架构和物质保障; 6.(复习)自己总结一下,51单片机内部涉及哪些寄存器,写出这些寄存器的英文全称,写出一些SFR有哪些位组成,2,2.1 单片机发展史 2.1.1 单片机的产生与发展 2.1.2 单片机与计算机之异同 2.1.3 单片机的特点 2.2 MCS-51单片机内部结构 2.2.1 MCS-51单片机系列区别 2.2.2 MCS-51单片机基本

2、特性 2.2.3 单片机的引脚定义 2.3 并行输入/输出接口 2.3.1 单片机的引脚(P1口) 2.3.2 单片机的引脚(P0口) 2.3.3 单片机的引脚(P2口) 2.3.4 单片机的引脚(P3口),2020/9/25,3,2.4 单片机中几个重要的结构 存储器、堆栈、SFR 2.4.1 单片机的存储器几个有关的概念: 2.4.2 89C51单片机存储器配置 2.4.3 堆栈 2.4.4 89C51特殊功能寄存器 2.5 单片机工作的基本时序 2.5.1 机器周期和指令周期 2.5.2 MCS-51指令的取指/执行时序 2.5.3 访问外部ROM和RAM的时序 2.5.4 读外部数据R

3、AM时序 2.5.5 写外部数据RAM的时序 2.6 单片机的工作方式 2.6.1复位方式 2.6.2程序执行方式 2.6.3 节电工作方式,2020/9/25,4,2.1 单片机发展史(了解),2.1.1单片机的产生与发展 第1阶段(19711976): 单片机发展的初级阶段 第2阶段(19761980): 低性能单片机阶段 MCS-48系列 第3阶段(19801983): 高性能实用性很强的单片机阶段 MCS-51系列 第4阶段(198380年代末):16位(全功能)单片机阶段. MCS-96系列8098/8096、80C198/80C196, 第5阶段(90年代):(量体裁衣)单片机在集

4、成度、多元化,功能、速度、可靠性、应用领域等全方位向更高水平发展. DSP,32位单片机ARM,5,单片机与嵌入式: 微控制器 MCU (Micro-Controller Unit) 嵌入式微控制器(Embedded Microcontroller),单片机应用领域: 测控系统、智能仪表、智能接口、办公自动化、光机电一体化设备、通讯设备、网络设备、汽车电子、消费类电子产品、智能楼宇设备,单片机的多种型号: Intel Atmel(89 AVR) Motorola(M68HC08) TI(MSP430) Philips Winbond(华邦) Microchip (微芯PIC),2020/9/2

5、5,6,Atmel 标准型:AT89C51 AT89C52 AT89lv51 AT89lv52 低档型:AT89C1051 AT89C2051(2Kflash) (20PIN) 高档型: AT89S51 AT89S52 ISP功能 AVR.,Philips P80CXX P87CXX P89CXX P87LPC7XX,TI MSP430,PIC系列,2020/9/25,7,1.组成: CPU(进行运算、控制) RAM(数据存储器) I/O口(串口、并口等) ROM(程序存储器) PC机:上述部件以独立器件形式安装在主板上.包括:键盘、显示器、鼠标、硬/软/光驱、音箱、打印机、扫描仪等外设 单片

6、机:上述部件被集成到单芯片中,只是一片集成电路.(8/16/20/28/32/40/48/100条引脚).,2.1.2 单片机与计算机之异同,2.功能: PC机: 数据运算、采集、处理、存储、传输; 单片机:控制(或受控于)外设,测控,往往嵌入某个仪器/设备/系统中,使其达到智能化的效果.,8,3.应用特点: PC机: 体积大,功耗大,价格高(3000),用途较固定,属通用计算机.易于学习掌握和使用,但用于控制时必须安装一定的应用软件. 单片机: 体积小,功耗小,价格低,用途灵活,无处不在,属专用计算机.是一种特殊器件,需经过专门学习方能掌握应用,应用中要设计专门的硬件和软件.,4.联系 单片

7、机的应用开发,软件编程环境(keil)、硬件SCH,PCB的设计(Protel)都是在PC个人电脑上进行的,9,2.1.3 单片机的特点 控制功能强,指令丰富.如转移,逻辑判断,位操作等; 体积小,可靠性高,结构灵活,易于组成各种微机应用系统. 低功耗、低电压; 便于制作便携式、网络化等产品; 外部设备接口集成度高SOC (System On Chip).如:可以集成AD/DA/LCD 驱动/串口/USB/CAN/PWM等 单片机与单片机系统: 单片机是指一块芯片,它不能完成特定的应用任务; 单片机系统指在一块单片机芯片的基础上,扩展了显示、键盘、以及其它外围芯片,构成的系统,2020/9/2

8、5,10,2.2.1 MCS-51单片机系列区别(强调,考试),2.2 MCS-51单片机内部结构,11,表中列出了MCS-51系列单片机的两个子系列, 在4个性能上略有差异.在本子系列内各类芯片的主要区别在于片内有无ROM或EPROM; MCS-51与MCS-52子系列间所不同的是: (1)片内程序存储器ROM从4KB增至8KB; (2)片内数据存储器由128个字节增至256个字节; (3)定时器/计数器增加了1个; (3)中断源增加了12个. 对于制造工艺为CHMOS的单片机, 由于采用CMOS技术制造, 因此具有低功耗的特点,如8051功耗约为630mW, 而80C51的功耗只有120m

9、W.,2020/9/25,12,2.2.2 MCS-51单片机基本特性(内部资源),1.8位的CPU,片内有振荡器和时钟电路,工作频率为 112MHz(Atmel 89Cxx为024MHz) 2.片内有 128字节 RAM 3.片内有 0K/4K字节 程序存储器ROM 4.可寻址片外64K字节 数据存储器RAM (216 =65536=1024*64) 5.可寻址片外64K字节 程序存储器ROM(少用了) 6.片内21个特殊功能寄存器(SFR-Special Function Register) 7.4个8位并行I/O口(P0-P3) 8.1个全双工串行口(UART) 9.2个16位 定时器/

10、计数器(TIMER/COUNTER) 10.可处理5个中断源,两级中断优先级 11.内置1个布尔处理器Cy和1个累加器ACC 12.MCS-51指令集含111条指令,2020/9/25,13,内部结构框图 (了解),14,MCS-51单片机组成结构中包含运算器、控制器、片内存储器、4个I/O口、串行口、定时器/计数器、中断系统、振荡器等功能部件. 运算部件以算术逻辑单元ALU (Arithmetic Logic Unit)为核心,包括累加器ACC (Accumulator)、寄存器B、暂存器、程序状态字PSW等许多部件.它能实现数据的算术逻辑运算、位变量处理和数据传输操作. MCS-51单片机

11、(51子系列)内带有两个16位定时器/计数器T0和T1,它们均可作为定时器或计数器使用.,2020/9/25,15,从一片集成电路的角度去认识单片机,DIP-40封装 P0.0P0.7(39-32) 8 P1.0P1.7(1-8) 8 P2.0P2.7(21-28) 8 P3.0P3.7(10-17) 8 Vcc(40), GND(20) 2 XTAL1, XTAL2(18/19) 2 RESET(9) 1 EA*/Vpp(31) 1 ALE/PROG*(30) 1 PSEN*(29) 1,2.2.3 单片机的引脚(pin),Protel99中的位置 Protel DOS Schematic

12、Libraries.ddb Protel DOS Schematic Intel.lib 8031,16,44只引脚方形(PLCC)封装方式为(4只没有用),2020/9/25,17,2020/9/25,18,(1)Vcc(40), GND(20): 正电源端与接地端(+5V/3.3V/2.7V)不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同. (2)XTAL1, XTAL2(18,19):Crystal片内振荡电路输入/输出端,晶振实物图片,19,也可以由 XTAL1端接入外部时钟,此时应将 XTAL2接地:,典型晶振电路(OSC Oscillator) 通常外接一个晶振

13、两个电容,20,CPU总是按照一定的时钟节拍与时序工作(后面有详细叙述),1.振荡周期/时钟周期Tc:(clock) (记忆) 对于12MHz,1个振荡周期1/12 us 振荡周期=1/fosc 2.状态周期Ts: (很少用到此概念) Ts(status)=2个时钟周期(Tc) 3.机器周期:Tm(machine)=6个状态周期(Ts)=12个振荡周期(Tc)(记忆)对于12MHz,1个机器周期1us 6MHz呢? 4.指令周期: Ti(instruction):执行一条指令所需的机器周期(Tm)数 (如DJNZ R7,$ 两个机器周期) NOTE:1个指令周期=1、2、4个机器周期(后面提到

14、),21,(3) RESET(9): 复位端(正脉冲有效,两个机器周期(2us-12MHz)的高电平信号使系统复位) 复位使单片机进入某种确定的初始状态: (1) PC (Programe Counter)值归零(0000H) (2)各个SFR被赋予初始值 (3)退出处于节电工作方式的停顿状态、退出一切程序进程、退出程序的死循环,从头开始.,22,PC与SFR(Special Function Register)特殊功能寄存器 特殊功能寄存器复位状态表(记忆!),23,+5V,10uF,8.2k,Vcc,RST,GND,上电复位 阻容复位,10uF,10K,Vcc,RST,GND,手动 当访问

15、外部存储器时,ALE信号的负跳变将P0口上的低8位地址送入锁存器; 不访问外部存储器时,ALE端以固定的振荡器振荡频率的1/6速率输出正脉冲信号,作为对外的时钟信号或定时脉冲ffosc/6 (记忆!) PROG* 对片内ROM编程时编程脉冲由此端加入(了解),29,例1:SRAM6264的扩展,锁存器74LS373,2020/9/25,30,8031,锁存器74LS373,P0.0-P0.7,ALE,PSEN,P2.0-P2.4,8D,8Q,OE,A8-A12,A0-A7,D0-D7,G,EA,OE,CE,EPROM,(6)PSEN* (Program Store Enable) 低有效 (2

16、9脚) 寻址外部程序存储器时选通外部ROM的读控制端(OE*),Note:读取外部ROM时,每个机器周期产生两次PSEN有效信号, 执行片内ROM取指时,不产生PSEN信号,31,综述(记忆,重要,记住这几个结论!) P0.0P0.7:双向8位数据口和输出低8位地址,内部无上拉电阻,做为普通I/O口使用时,外部一般接10k上拉电阻 P1.0-P1.7:内置了上拉电阻的8位准双向()I/O口 P2.0P2.7:内置了上拉电阻的8位准双向I/O口 寻址外部程序存储器时,输出高8位地址; 不接外部程序存储器时,可作为8位准双向I/O口使用. P3.0P3.7:内置了上拉电阻的8位准双向I/0口 它具

17、有特定的第二功能.不使用它的第二功能时,可作为8位准双向I/O口.,2.3 并行输入/输出接口,32,排阻的实物图片,2020/9/25,33,P3口第二功能表(重要),34,准双向口:在输入数据时,应先把口线置1,使两个输出FET关断,使管脚“浮置”,成为高阻状态,这样才能正确的输入数据,这就是所谓的准双向口 在准双向口作为输入口时,应先置1锁存器,即先向该I/O口写“1”,使该I/O口工作于输入方式,然后再读引脚.(记忆) 比如,要将P1口的状态读入到累加器A中,软件实现方法如下: MOV P1,#0FFH ;P1口置为输入方式 MOV A,P1;读P1口状态到累加器A中,2020/9/2

18、5,35,简单测控实例原理图,36,P1.3作输入端口,光路通畅,R亮2K 光路阻断,R暗 400K ,R亮 250K ,37,JOB3: CLR P1.1 ;亮绿灯 REDO: SETB P1.3 ;P1.3作输入口必先置1 CHECK:JNB P1.3,CHECK ;检测通道是否被阻断? LOOP: ;有入侵者,报警! AJMP REDO ;再跳回去检测,任务:红外防盗报警(用到后面程序知识了),P1.3口用于输入状态检测的语句:,R亮250k, 红外线光路阻断时,P1.3高电平,38,(4)并行口的负载能力,P0、P1、P2、P3口的电平与CMOS和TTL电平兼容.,P0口的每一位口线可

19、以驱动8个LSTTL负载.(800uA) 在作为通用I/O口时,由于输出驱动电路是漏极开路方式,由集电极开路(OC门)电路或漏极开路电路驱动时需外接上拉电阻; 当作为地址/数据总线使用时,口线输出不是开漏的,无须外接上拉电阻.,2020/9/25,39,P1、P2、P3口的每一位能驱动4个LSTTL(400uA)负载.它们的输出驱动电路设有内部上拉电阻,所以可以方便地由集电极开路(OC门)电路或漏极开路电路所驱动,而无须外接上拉电阻. 由于单片机口线仅能提供几毫安的电流,当作为输出驱动一般的晶体管的基极时,应在口与晶体管的基极之间串接限流电阻.,2020/9/25,40,2.4 单片机内部几个

20、重要的结构 存储器、堆栈、SFR(重要),41,2.4.1 单片机的存储器几个有关的概念:,几种存储器类型: RAM(Random Access Memory) 数据存储器,存放检测的数据,中间变量(内存) (1)SRAM (Static RAM)静态存储器 (2)DRAM (Dynamic RAM)动态存储器 ROM(Read Only Memory)程序存储器,存放应用程序(硬盘) (1)MASK ROM 掩膜大量生产 (2)OTP (One Time Programmable)一次可编程ROM (3)EPROM(UV)(Erasable Programmable ROM) (2764-M

21、2764A) 用紫外线擦除的ROM(芯片中央有圆形的孔,几十分钟) 常用 (4) EEPROM/E2PROMElectrical Erasable Programmable ROM用电擦除的ROM,掉电保存(24LC256 X2816C) 常用(5)Flash Memory 闪速存储器(AT29C256),42,2.4.2 89C51单片机存储器配置(难点 重点),MCS51单片机,程序存储器与数据存储器分别编址-冯诺依曼结构 8XC196/MSP430 单片机,程序存储器与数据存储器统一编址 普林斯顿结构,7FH=127,FFH=255 ,FFFH=4K-1, FFFFH=64K-1 (看懂

22、这张图),43,1.片内RAM 低128字节(00H7FH); (记忆) (1)00H-1FH:前32个单元是工作寄存器区 (2)20H-2FH:128个可按位寻址的位,占16个单元,位地址编 号为:00H-7FH (3)30H-7FH:片内一般RAM,只能按字节寻址 2.片内RAM 高128字节(80-FFH) 离散分布着21个特殊功能寄存器 SFR (Special Function Register) 其中:地址号能被8整除的SFR中的可以按位寻址 3.可寻址片外RAM 64K字节 (0000HFFFFH)少用 4.片内ROM 4K字节 (000HFFFH) 5.片外ROM 64K字节

23、(0000HFFFFH)少用,44,1.片内RAM 低128字节(00H7FH),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,SFR分布在80H-FFH 其中92个位可位寻址,80H,FFH,所有的RAM区(包括位寻址区、工作寄存器区)都可以用于存放数据,89C51 128字节,45,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,R0,R2,R1,R3,R4,R5,R6,R7,07H,02H,01H,00H,06H,04H,0

24、5H,03H,08H,1FH,工作寄存器区3,工作寄存器区2,工作寄存器区1,工作寄存器区0,0FH,10H,17H,18H,(1)工作寄存器区 片内RAM前32(8*4)个单元 (00H1FH) 任意时刻只可以使用一组工作寄存器区,默认设置,46,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,(2)可按位寻址的字节单元 20H2FH单元 片内RAM中128(8*16)个的位. 位地址:00H7FH,Programming Tip: If your program does not use bit variab

25、les you may use Internal RAM locations 20h through 2Fh for your own use. If you plan to use bit variables be very careful about using addresses from 20h through 2Fh as you may end up overwriting the value of your bits.,47,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,27H,22H,21H,2

26、0H,26H,24H,25H,23H,28H,2FH,单元地址,07 06 05 04 03 02 01 00,0F 0E 0D 0C 0B 0A 09 08,17 16 15 14 13 12 11 10,1F 1E 1D 1C 1B 1A 19 18,27 26 25 24 23 22 21 20,2F 2E 2D 2C 2B 2A 29 28,37 36 35 34 33 32 31 30,3F 3E 3D 3C 3B 3A 39 38,47 46 45 44 43 42 41 40,7F 7E 7D 7C 7B 7A 79 78,位地址,总共128个可按位寻址的位,(1)FIND BI

27、T 00H (2)FIND BIT 20H.0 (3)FLAG DATA 20H FIND BIT FLAG.0,48,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,可以供编程使用的单元,注意,只能当字节用,一共80个单元,(3)30H-7FH:片内一般RAM,只能按字节寻址,49,片内Flash ROM 4K字节 (0000H0FFFH); 可寻址片外ROM 64K字节 (0000HFFFFH); 对比:可寻址片外RAM 64K字节 (0000HFFFFH);,FFFFH,0000H,可寻址 片外RAM,64

28、K字节,FFFFH,0000H,可寻址 片外ROM,64K字节,FFFH,000H,可寻址 片内Flash ROM,4K 字节,89C51,7FH,00H,片内 RAM,128字节,FFH,80H,50,(1)程序存储器存放调试好的应用程序和表格常数(TAB: DB *H,*H,.) (2)MCS-51采用16位的PC和16位的地址总线(P2+P0),使64k程序存储器空间连续、统一 (3)对于内部有ROM的CPU,EA*接高电平,程序首先从内部ROM开始执行,当PC0FFFH时,自动转向外部ROM(1000-0FFFFH)地址空间执行程序 (4)对于内部没有ROM的CPU,EA*接低电平,迫

29、使CPU从外部ROM取指令;(少用) (5)内部RAM和外部RAM存在地址重叠,但不会造成操作混乱,通过不同的指令来区别:访问内部RAM,用MOV指令,访问外部RAM,用MOVX指令,NOTE:,2020/9/25,51,几个特殊的ROM空间,涉及到后面中断知识,52,2.4.3 堆栈(stack) 在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循先进后出or后进先出(LIFO/FILO)-Last In First Out的,顺序存储原则,这个RAM区叫堆栈 -子弹夹(flash),1.功用: 1)在调用子程序和中断服务程序时CPU自动将当前PC 值压栈保存,返回时自动将

30、PC值弹栈. 2)保护现场/恢复现场(PUSH/POP) 3)数据传输,53,复位后 SP=07H,数据进栈时:首先SP+1指向08H单元,第一个放进堆栈的数据将放进08H单元,然后SP再自动增1,仍指向栈顶,2.堆栈区由SFR的堆栈指针SP(Stack Pointer)管理,就51单片机而言,SP指示的是堆栈空间栈顶的地址(记忆)堆栈区可以安排在RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置(MOV SP,#60H).,54,从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据.然后SP再自动减1,仍指向栈顶,55,从堆栈取

31、出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据.然后SP再自动减1,仍指向栈顶,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,SP-1 指向新的栈顶,也就是下一个将要出栈的数据,数据出栈,初始 SP,56,Programming Tip: By default, the 8052 initializes the Stack Pointer (SP) to 07h ,when the microcontroller is booted. This means that the stack wil

32、l start at address 08h and expand upwards. If you will be using the alternate register banks (banks 1, 2 or 3) ,you must initialize the stack pointer to an address above the highest register bank you will be using, otherwise the stack will overwrite your alternate register banks. Similarly, if you w

33、ill be using bit variables, it is usually a good idea to initialize the stack pointer to some value greater than 2Fh to guarantee that your bit variables are protected from the stack.(翻译),2020/9/25,57,2.4.4 89C51特殊功能寄存器(SFR) Special Function Register,1.作用:专用于控制、选择、管理、存放单片机内部各部分的工作方式、条件、状态、结果的寄存器. 2.

34、不同的SFR管理不同的硬件模块,负责不同的功能各司其职,换言之:要让单片机实现预订的功能,必须有相应的硬件和软件,而软件中最重要的一项工作就是对SFR写命令(要求).,58,Programming Tip #1: SFRs are used to control the way the 8052 functions. Each SFR has a specific purpose and format . Not all addresses above 80h are assigned to SFRs. However, this area may NOT be used as additio

35、nal RAM memory even if a given address has not been assigned to an SFR. Programming Tip #2: Since direct access to addresses 80h through FFh refers to SFRs, direct access cannot be used to access Internal RAM addresses 80h through FFh. The upper 128 bytes of Internal RAM must be accessed using Indir

36、ect Addressing,2020/9/25,59,特点:(看下一页的图) 1.PC不是一个特殊功能寄存器SFR,但其作用又十分重要和特殊! 2.它是系统内部唯一的一个不可寻址的16位寄存器,按机器周期自动加1计数器(记忆) 3.PC总是指向下一条指令所在首地址(当前PC值) 4.PC没有地址,不可寻址,用户无法对它进行读写,复位后,PC=0000H,系统从ROM:0000h单元开始执行程序 5.一切分支/跳转/调用/中断/复位等操作的本质就是:改变PC值,程序计数器PC (Program Counter) 记忆,60,内部结构框图 (了解),61,89C51有21个SFR 1-4. P0

37、: P0口锁存器(Latch) 80h P1: P1口锁存器 90h P2: P2口锁存器 0A0h P3: P3口锁存器 0B0h (看上面那张图) BIT ADDRESSABLE SETB P1.0 5.堆栈指针寄存器 SP (Stack Pointer) 81h 总是指向栈顶, 压栈时:先(SP)+1,后数据进栈; 弹栈时:数据先出栈,然后(SP)-1. (注意这个顺序),62,6.累加器 ACC (Accumulator) Bit addressable 0E0H 一个被众多指令用得最频繁的特殊功能寄存器(如:运算、数据传输). JB ACC.7,NEXT 7.寄存器B Bit add

38、ressable 0F0H 一个经常与ACC配合在一起使用的特殊功能寄存器(如:乘法 MUL AB、除法 DIV AB),此外,它也经常当作普通寄存器使用.,2020/9/25,63,8.程序状态字寄存器 PSW (Program Status Word): Bit addressable (0D0h),Cy(PSW.7 Carry Flag) 进位/借位标志位.若ACC在运算过程中,D7发生了进位或借位,则CY=1;否则=0.它也是布尔处理器的位累加器,可用于布尔操作.使用频繁,JC/JNC/CJNE/ADDC/SUBB多条指令(常用) AC(PSW.6 Auxiliary Carry Fl

39、ag) 半进位/借位标志位.若ACC在运算过程中,D3位向D4位发生了进位或借位,则CY=1,否则=0.机器在执行“DA A”指令时自动要判断这一位,我们可以暂时不关心它.(少用) F0 (PSW.5 General Purpose Status Flag 0) 用户可以根据需要对F0赋以一定的含义,判断标志(有时用到),64,RS1(PSW.4)、RS0(PSW.3) Register Bank Select 工作寄存器组选择位 RS1,RS0 = 0 0 则选择了工作寄存器组 0 区 R0R7分别代表00H 07H单元. mov psw,#00h RS1,RS0 = 0 1 则选择了工作寄

40、存器组 1 区 R0R7分别代表08H 0FH单元. mov psw,#08h RS1,RS0 = 1 0 则选择了工作寄存器组 2 区 R0R7分别代表10H 17H单元. mov psw,#10h RS1,RS0 = 1 1 则选择了工作寄存器组 3 区 R0R7分别代表18H 1FH单元. mov psw,#18h setb rs1 setb rs0,65,Programming Tip: If you only use the first register bank (i.e. bank 0), you may use Internal RAM locations 08h throug

41、h 1Fh for your own use. If you plan to use register banks 1, 2, or 3, be very careful about using addresses below 20h as you may end up overwriting the value of R registers from other register banks.,66,片内RAM前32个单元(00H1FH)是工作寄存器区 (由PSW中的RS1,RS0决定) 系统复位后,PSW=00H,自动选择00-07h单元,工作寄存器区0,默认设置,67,OV (PSW.2

42、 Overflow Flag) 溢出标志位 OV=1时特指累加器在进行带符号数(-128- +127)运算时出错(超出范围);OV=0时未出错. PSW.1 保留位,未定义. P (PSW.0 Parity of accumulator)奇偶标志位 P=1表示累加器中“1”的个数为奇数(odd) P=0表示累加器中“1”的个数为偶数(even) (通信一节提到) CPU随时监视着ACC中的“1”的个数,并反映在PSW中,68,9-10. DPTR (Data Pointer) 数据指针寄存器 82H,83H 单片机内部唯一的一个可以供用户使用的16位寄存器 (比较:PC 16位 不可寻址),用

43、来存放16位地址值,以便用间接寻址或变址寻址片外存储器. MOV DPTR,#4000H DPTR可分成DPL(LOW)和DPH(HIGH)两个8位寄存器分别使用.(变形金刚) PUSH DPTR (X) Register16-RAM8 PUSH DPL (V) PUSH DPH (V),2020/9/25,69,此外还有如下寄存器,它们将在后面章节介绍(蓝色勾 BIT ADDRESSABLE) 11.IP (Interrupt Priorities) 中断优先级控制寄存器 12.IE (Interrupt Enable)中断允许控制寄存器 13.TMOD (Timer Mode Register) 定时器/计数器方式控制寄存器 14.TCON (Timer Control Register) 定时器/计数器控制寄存器. 15-16.TH0,TL0 (Timer 0 Low/High) 定时器/计数器0 17-18.TH1,TL1(Timer 1 Low/High) 定时器/计数器1 19.SCON (S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论