-第一讲:绪论-单片机基础70207-PPT课件_第1页
-第一讲:绪论-单片机基础70207-PPT课件_第2页
-第一讲:绪论-单片机基础70207-PPT课件_第3页
-第一讲:绪论-单片机基础70207-PPT课件_第4页
-第一讲:绪论-单片机基础70207-PPT课件_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机原理及应用主讲教师: 王剑长江大学计算机学院有关本课程学习的几点建议 本课程是一门实践性、应用性很强的学科仅仅听懂还不够,重在培养动手能力硬件/软件同样重要、不可偏废 硬件是骨架,软件是皮肉器脏及思想本课程的前期基础课程是数字电路与微机原理这方面知识掌握得不够好的请自己补上预习、听课、复习、作业、实验环环都重要用科学的方法学习作业 每人准备一个作业本 作业和实验报告可用其他课程用过而没用完的本子,但不能用单页纸,学期末作业本就是一本复习提纲。第1章 预备知识(数制与码制) 不讲第2章 单片机基础 4第3章 指令系统及汇编语言程序设计 6第5章 输入/输出、中断、定时与串行通信 8第4章

2、单片机系统的扩展(并入第6章讲)第6章 接口芯片与接口技术 1214插入:C51程序设计 2第7章 单片机应用系统设计 34第8章 几种典型的单片机 4课堂授课时间分配: (34学时)绪 论绪 论 在工业、农业、军事、保安、金融、仪器仪表、航空航天、医疗、通讯、办公设备、娱乐休闲、健身、体育竞赛、服务领域,大量单片机-嵌入式技术已经无处不在。正迅速改变着人们传统的生产和生活方式。 请稍微留心一下我们的周围,看看身边到底发生了什么变化?单片机技术的应用遍布国民经济与人民生活的各个领域从一个简单的测控应用实例说起动作选择按钮红外线传感器89C2051单片机复位按钮电源指示灯从一个简单的测控应用实例

3、说起任务一:控制一盏灯点亮任务二:红灯周期性地点亮/熄灭信号检测柔性开关集群灯控顺序控制/多任务定时切换自动生产流水线任务三:红外防盗报警实时控制简单测控实例原理图数字电路中由13片IC组成的数字钟数字电路中由13片IC组成的数字钟数字电路中由13片IC组成的数字钟单片IC(单片机)电子钟单片机单片机与嵌入式技术 重要吗?有用吗?遥远吗? 问题的答案是不言而喻的。第一讲:单片机基础本讲重点: MCS-51的基本特性; 单片机的引脚与I/O口结构; 存储器、堆栈与特殊功能寄存器.第一章 单片机基础 单片机与嵌入式:单片微机(Single Chip Micro-computer)微控制器(Micr

4、o-Controller UnitMCU)嵌入式微控制器(Embedded Microcontroller) 单片机应用领域:测控系统、智能仪表、智能接口、办公自动化、光机电一体化设备、通讯设备、网络设备、汽车电子、消费类电子产品、智能楼宇设备 单片机的多元化发展:Intel Motorola Philips Atmel Siemens NS LG Winbond Microchip EPSON NEC Cypress Dallas Oki Fairchild Fujitsu Hitachi SAMSUNG组成: CPU(进行运算、控制) RAM(数据存储器) I/O口(串口、并口等) ROM

5、(程序存储器) PC机: 上述部件以芯片形式安装在主板上。 单片机:上述部件被集成到单芯片中。通用PC包括:键盘、显示器、鼠标、硬/软/光驱、音箱、打印机、扫描仪等外设。单片机则只是一片集成电路。(100、48、40、32、28、20、16、8条引脚)。单片机与计算机之异同(1)功能:PC机: 数据运算、采集、处理、存储、传输;单片机:控制(或受控于)外设。通用计算机擅长于数据运算、采集、处理、存储和传输;单片机的专长则是测控,往往嵌入某个仪器/设备/系统中,使其达到智能化的效果。单片机与计算机之异同(2)应用特点:个人计算机(微机):体积大,功耗大,价格高,用途较固定,属通用计算机。易于学习

6、掌握和使用,但用于控制时必须制作或购买专用的接口卡,并编制专门的应用软件。单片机:体积小,功耗小,价格低,用途灵活,无处不在,属专用计算机。是一种特殊器件,需经过专门学习方能掌握应用,应用中要设计专业的硬件和软件。单片机与计算机之异同(3)MCS-51单片机基本特性8 位的 CPU, 片内有振荡器和时钟电路,工作频率为 112MHz(Atmel 89Cxx为024MHz)片内有 128/256字节 RAM片内有 0K/4K/8K字节 程序存储器ROM可寻址片外 64K字节 数据存储器RAM可寻址片外 64K字节 程序存储器ROM片内 21/26个 特殊功能寄存器(SFR)4个8位 的并行I/O

7、口(PIO)1个 全双工串行口(SIO/UART)2/3个16位 定时器/计数器(TIMER/COUNTER)可处理 5/6个中断源,两级中断优先级内置1个布尔处理器和1个布尔累加器(Cy)MCS-51指令集含 111条指令MCS-51系列单片机配置一览表系列片内存储器(字节)定时器计数器并行I/O串行I/O中断源片内ROM片内RAM无有ROM有EPROMIntelMCS-51子系列803180C31805180C51(4K字节)875187C51(4K字节)128字节2x164x8位15IntelMCS-52子系列803280C32805280C52(8K字节)875287C52(8K字节)

8、256字节3x164x8位16注意:今后将会经常提到ATMEL的AT89C2051/51/52等MCU!ATEML89C系列(常用型)1051(1K)/ 2051(2K)/ 4051(4K)(20条引脚DIP封装)1282151589C51(4K)/ 89C52(8K)(40条引脚DIP封装)128/2562/33215/6内部结构框图单片机的引脚定义从一片集成电路的角度去认识单片机认识单片机的引脚MCS-51单片机40脚Vcc, GND 2XTAL1, XTAL2 2RESET 1EA/Vpp 1ALE/PROG 1PSEN 1P0.0P0.7 8 P1.0P1.7 8 P2.0P2.7 8

9、 P3.0P3.7 8单片机的引脚(电源端)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: 片内振荡电路输入/输出端1545pfx2112MHz(MCS-51) 024MHz(Atmel-8

10、9C)XTAL1XTAL2也可以由 XTAL1端接入外部时钟,此时应将 XTAL2接地:XTAL2XTAL1外部时钟通常外接一个晶振两个电容单片机的引脚(晶振端)Vcc, GND:正电源端与接地端(+5V/3.3V/2.7V)XTAL1, XTAL2: 片内振荡电路输入、输出端CPU总是按照一定的时钟节拍与时序工作:振荡周期/时钟周期: Tc=晶振频率fosc(或外加频率)的倒数状态周期:Ts=2个时钟周期(Tc)(很少用到此概念)机器周期:Tm=6个状态周期(Ts)=12个振荡周期(Tc)指令周期: Ti:执行一条指令所需的机器周期(Tm)数牢牢记住: 振荡周期 = 晶振频率fosc的倒数;

11、 1个机器周期 = 12个振荡周期; 1个指令周期 = 1、2、4个机器周期单片机的引脚(复位端)Vcc, GND: 电源端 (+5V/3.3V/2.7V)XTAL1, XTAL2: 片内振荡电路输入、输出端RESET: 复位端(正脉冲有效,宽度8 mS)复位使单片机进入某种确定的初始状态: PC值归零(0000H); 各个SFR被赋予初始值(见P.42): P0P3 = 0FFH,Acc = 0,B = 0,TH0=0,TL0=0,TH1=0,TL0=0,SP=7,PSW=0 退出处于节电工作方式的停顿状态、退出一切程序进程、退出程序的死循环,从头开始。单片机的引脚(复位端)Vcc, GND

12、: 电源端 (+5V/3.3V/2.7V)XTAL1, XTAL2: 片内振荡电路输入、输出端RESET: 复位端(正脉冲有效,宽度8 mS)PC与SFR复位状态表寄存器复位状态寄存器复位状态PC0000HTCON00HA00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P3FFHSCON00HIPXX000000BSBUFXXHIE0X000000BPCON0XXX0000BTMOD00H单片机的引脚(复位端)+5V10uF10KVccRSTGND上电复位10uF10KVccRSTGND手动&上电复位1KVcc, GND

13、: 电源端 (+5V/3.3V/2.7V)XTAL1, XTAL2: 片内振荡电路输入、输出端RESET: 复位端 (正脉冲有效,宽度8 mS)+5V单片机的引脚(EA端)Vcc, GND: 电源端 (+5V/3.3V/2.7V)XTAL1, XTAL2: 片内振荡电路输入、输出端RESET: 复位端 (正脉冲有效,宽度8 mS)EA/Vpp: 寻址外部ROM控制端/编程电源输入端。 低有效,片内无ROM时必须接地; 片内有ROM时应当接高电平; 对片内ROM编程时编程正电源加到此端。单片机的引脚(ALE端)Vcc, GND: 电源端 (+5V/3.3V/2.7V)XTAL1, XTAL2:

14、片内振荡电路输入、输出端RESET: 复位端 (正脉冲有效,宽度8 mS)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

15、:寻址外部程序存储器时选通外部EPROM的 读控制端(OE)低有效。单片机的I/O引脚结构众多功能各异的I/O引脚源于它结构的不同单片机的引脚(P1口)P1.0P1.7: 准双向I/O口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“1”。21DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻21DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻输出数据 = 1 时110截止=1单片机的引脚(P1口)P1.0P1.7: 准双向I/O口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“1”。21DQCK/Q读引脚读锁存

16、器写锁存器内部总线Vcc引脚P1.X内部上拉电阻输出数据 = 0 时001=0导通单片机的引脚(P1口)P1.0P1.7: 准双向I/O口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“1”。21DQCK/Q读引脚 =1读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻输入数据时,要先对其写“1”110截止单片机的引脚(P1口)P1.0P1.7: 准双向I/O口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“1”。简单测控实例原理图P1.3作输入端口光路通畅,R亮2K光路阻断,R暗 400K R亮 250K JOB3: CLR P1.1 ;亮绿灯REDO

17、: SETB P1.3 ;P1.3作输入口必先置1CHECK:JNB P1.3,CHECK ;检测通道是否被阻断?LOOP: ;有入侵者,报警!AJMP REDO ;再跳回去检测任务三:红外防盗报警P1.3口用于输入状态检测的语句: R亮250K ,红外线光路阻断时,P1.3端高电平单片机的引脚(P0口)P0.0P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚读锁存器写锁存器内部总线地址/数据控制引脚P0.X34Vcc21DQCK/Q读引脚 =1读锁存器写锁存

18、器内部总线地址/数据控制引脚P0.X34控制=0 时,此脚作输入口(事先必须对它写“1”)00100截止截止=0Vcc单片机的引脚(P0口)P0.0P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚 =0读锁存器写锁存器内部总线地址/数据控制=1引脚P0.X34控制=1时,此脚作地址/数据复用口:(1)输出地址/数据 =0 时1011=0导通截止=0Vcc单片机的引脚(P0口)P0.0P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向

19、8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚 =0读锁存器写锁存器内部总线地址/数据控制=1引脚P0.X34控制=1时,此脚作地址/数据复用口:(2)输出地址/数据 =1 时1100=1截止导通=1Vcc单片机的引脚(P0口)P0.0P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚 =1读锁存器写锁存器内部总线地址/数据控制=1引脚P0.X34控制=1时,此脚作地址/数据复用口: (3)输入数据时,

20、输入指令将使引脚与内部总线直通Vcc单片机的引脚(P0口)P0.0P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。单片机的引脚(P2口)P2.0P2.7: 双向I/O (内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚读锁存器写锁存器内部总线地址高8位控制引脚 P2.X3内部上拉电阻Vcc21DQCK/Q读引脚 =0读锁存器写锁存器内部总线地址高8位控制 引脚P2.X控制=0时,此脚作通用输出口: 输出=

21、1时110截止3内部上拉电阻11Vcc=1=0单片机的引脚(P2口)P2.0P2.7: 双向I/O (内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚 =0读锁存器写锁存器内部总线地址高8位控制 引脚P2.X控制=0时,此脚作通用输出口:输出=0时001导通3内部上拉电阻00Vcc=0=0单片机的引脚(P2口)P2.0P2.7: 双向I/O (内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。21DQCK/Q读引脚 =0读锁存器写锁存器内部总线地址高8位控制=1

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

23、准双向I/O口使用。单片机的引脚(P3口)P3.0P3.7: 双功能口(内置了上拉电阻) 它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。21DQCK/Q读引脚读锁存器写锁存器内部总线第二功能输出引脚 P3.X3内部上拉电阻Vcc第二功能输入421DQCK/Q读引脚读锁存器写锁存器内部总线第二功能输出(WR,RD,TxD)引脚 P3.X3内部上拉电阻Vcc4第二功能输出时,内部自动 D=1111反相器单片机的引脚(P3口)P3.0P3.7: 双功能口(内置了上拉电阻) 它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。21DQCK/Q读引脚

24、读锁存器写锁存器内部总线此端自动1引脚 P3.X3内部上拉电阻Vcc 第二功能输入(RxD,T0,T1,INT0,INT1)4第二功能输入时,信号经缓冲器4 直接进入内总线1110截止单片机的引脚(P3口)P3.0P3.7: 双功能口(内置了上拉电阻) 它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。P3口第二功能表(P.26 表23)引 脚第 二 功 能 P3.0RxD: 串行口接收数据输入端P3.1TxD: 串行口发送数据输出端P3.2INT0: 外部中断申请输入端 0P3.3INT1: 外部中断申请输入端 1P3.4T0: 外部计数脉冲输入端 0P3.5T1:

25、 外部计数脉冲输入端 1P3.6WR: 写外设控制信号输出端P3.7RD: 读外设控制信号输出端51单片机的8个特殊引脚Vcc, GND: 电源端XTAL1, XTAL2: 片内振荡电路输入、输出端RESET: 复位端 正脉冲有效(宽度8 mS)EA/Vpp: 寻址外部ROM控制端。低有效 片内有ROM时应当接高电平。ALE/PROG: 地址锁存允许控制端。PSEN:选通外部ROM的读(OE)控制端。 低有效 小结51单片机的4个8位的I/O口P0.0P0.7:8位数据口和输出低8位地址复用口 (复用时是双向口;不复用时也是准双向口)P1.0P1.7: 通用I/O口(准双向口)P2.0P2.7

26、: 输出高8位地址(用于寻址时是输出口;不寻址时是准双向口)P3.0P3.7: 具有特定的第二功能(准双向口)注意:在不外扩ROM/RAM时,P0P3均可作通用I/O口使用,而且都是准双向I/O口(例如:AT89C51)! 小结P3口第二功能表 (P.26 表23)引 脚第 二 功 能 P3.0RxD: 串行口接收数据输入端P3.1TxD: 串行口发送数据输出端P3.2INT0: 外部中断申请输入端 0P3.3INT1: 外部中断申请输入端 1P3.4T0: 外部计数脉冲输入端 0P3.5T1: 外部计数脉冲输入端 1P3.6WR: 写外设控制信号输出端P3.7RD: 读外设控制信号输出端 小

27、结存储器、堆栈、SFR数据存储器RAM(Random Access Memory)程序存储器ROM(Read Only Memory)闪速存储器Flash MemoryEPROM(UV)Erazible Programmable ROMEEPROM/E2PROMElectrical Erasable Programmable ROM静态存储器 SRAMStatic RAM (动态存储器 DRAMDynamic RAM)按字节寻址:每个字节(8个位)占一个地址按位寻址:有的存储器每一个位就有一个地址单片机的存储器几个有关的概念:89C51单片机存储器配置片内RAM 128字节(00H7FH);

28、片内RAM前32个单元是工作寄存器区(00H1FH) 片内RAM有128个可按位寻址的位,占16个单元。 位地址编号为:00H7FH,分布在20H2FH单元片内21个特殊功能寄存器(SFR)中:地址号能被 8整除的 SFR中的各位也可按位寻址(P.33-34)可寻址片外RAM 64K字节 (0000HFFFFH)可寻址片外ROM 64K字节 (0000HFFFFH)片内 Flash ROM 4K字节 (000HFFFH)存储器配置(片内RAM)片内RAM 128字节(00H7FH)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区SFR分布

29、在80H-FFH其中92个位可位寻址80HFFH所有的RAM区(包括位寻址区、工作寄存器区)都可以用于存放数据,故也称为数据缓存寄存器89C51 128字节片内RAM前32个单元是工作寄存器区 (00H1FH)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区存储器配置(片内RAM)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区3工作寄存器区2工作寄存器区1工作寄存器区00FH10

30、H17H18H片内RAM前32个单元是工作寄存器区 (00H1FH)存储器配置(片内RAM)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区片内RAM中有128个可按位寻址的位。 位地址:00H7FH 分布在:20H2FH单元存储器配置(片内RAM)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区27H22H21H20H26H24H25H23H28H2FH单元地址07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 13

31、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 407F 7E 7D 7C 7B 7A 79 78位地址总共128个可按位寻址的位片内RAM中有128个可按位寻址的位。 位地址:00H7FH 分布在:20H2FH单元存储器配置(片内RAM)可寻址片外RAM 64K字节 (0000HFFFFH);可寻址片外ROM 64K字节 (0000HFFFFH);片内 F

32、lash ROM 4K字节 ( 000H FFFH);FFFFH0000H可寻址片外RAM 64K字节FFFFH0000H可寻址片外ROM 64K字节FFFH000H可寻址片内 Flash ROM4K 字节89C517FH00H片内 RAM 128字节FFH80H存储器配置(片内RAM)堆栈: 在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循顺序存取和后进先出(LIFO/FILO)的原则,这个RAM区叫堆栈。功用:1)子程序调用和中断服务时CPU自动将当前PC 值压栈保存,返回时自动将PC值弹栈。2)保护现场/恢复现场3)数据传输00H20H2FH7FH1FH30H80HF

33、FH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区 SP栈顶下一个进栈的数据将存在此数据进栈已经进栈的数据存放在此初始 SP复位后 SP=07H,数据进栈时:首先SP+1指向08H单元,第一个放进堆栈的数据将放进08H单元,然后SP再自动增 1,仍指着栈顶堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在 RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通

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

35、任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。89C51特殊功能寄存器(SFR)特殊功能寄存器SFR(专用寄存器)专用于控制、选择、管理、存放单片机内部各部分的工作方式、条件、状态、结果的寄存器。不同的SFR管理不同的硬件模块,负责不同的功能各司其职换言之:要让单片机实现预订的功能,必须有相应的硬件和软件,而软件中最重要的一项工作就是对SFR写命令(要求)。程序计数器PC(Program Counter)PC 不是一个特殊功能寄存器SFR,但其作 用又十分重要和特殊!特点:它是16位的按机器周期自动增1计数器一切分支/跳转/调用/中断/复位 等操作的本

36、质就是:改变 PC 值总指向下一条指令所在首地址(当前PC值)特殊功能寄存器(PC)89C51有21个SFR(89C52有26个) P.3334 已知的P0、P1、P2、P3等四个8位I/O口分别由名为P0、P1、P2、P3四个SFR代表。堆栈指针寄存器 SP(Stack Pointer): 总是指向栈顶,压栈时先 (SP)+1 然后数据进栈;弹栈时数据先出栈 然后(SP)-1。累加器 ACC:一个被众多指令用得最频繁的特殊功能寄存器(如:运算、数据传输)。副累加器 B:一个经常与 ACC 配合在一起使用的特殊功能寄存器(如:乘法、除法),此外,它也经常当作普通寄存器使用。特殊功能寄存器(P0

37、P3,SP,A,B)程序状态字寄存器 PSW:CYACF0RS0OVPRS1PSW.7PSW.0CY(PSW.7)进位/借位标志位。若ACC在运算过程中发生了进位或借位,则CY=1;否则=0。它也是布尔处理器的位累加器,可用于布尔操作。AC(PSW.6)半进位/借位标志位。若ACC在运算过程中,D3位向D4位发生了进位或借位,则CY=1,否则=0。机器在执行“DA A”指令时自动要判断这一位,我们可以暂时不关心它。F0 (PSW.5)可由用户定义的标志位。PSW.6PSW.5特殊功能寄存器(PSW)程序状态字寄存器 PSW(续):CYACF0RS0OVPRS1PSW.7PSW.0RS1(PSW.4)、RS0(PSW.3)工作寄存器组选择位。RS1,RS0 = 0 1 则选择了工作寄存器组 1 区R0R7分别代表08H 0FH单元。RS1,RS0 = 1 0 则选择了工作寄存器组 2 区 R0R7分别代表10H 17H单元。RS1,RS0 = 1 1 则选择了工作寄存

温馨提示

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

评论

0/150

提交评论