模块1 数据与存储器的操作训练._第1页
模块1 数据与存储器的操作训练._第2页
模块1 数据与存储器的操作训练._第3页
模块1 数据与存储器的操作训练._第4页
模块1 数据与存储器的操作训练._第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

1、模块模块1 1 数据与存储器的操作训练数据与存储器的操作训练课题课题1 1 认识单片机认识单片机任务任务1 1 单片机的应用实例与单片机的应用实例与MSC-51MSC-51单片机引脚功能单片机引脚功能任务任务2 MSC-512 MSC-51单片机最小应用系统单片机最小应用系统任务任务1 1 程序存储器(程序存储器(ROMROM)空间分配法)空间分配法任务任务2 2 数据存储器(数据存储器(RAMRAM)操作训练)操作训练课题课题2 2 存储器简介及操作训练存储器简介及操作训练一、认识单片机一、认识单片机1、单片机是一种集成电路芯片。、单片机是一种集成电路芯片。 2、芯片中的主要部件有:运算器、

2、控制器、芯片中的主要部件有:运算器、控制器、 存储器、各种输入存储器、各种输入/输出接口输出接口3、其组成和功能上已经具有了计算机系统、其组成和功能上已经具有了计算机系统 的特点,因此称之为单片微型计算机,的特点,因此称之为单片微型计算机, 简称单片机。简称单片机。二、单片机产品近况二、单片机产品近况(1)51系列单片机系列单片机 其产品有:其产品有:AT89C51/52 AT89S51/52等等 51系列单片机是最容易解密的单片机系列之一。系列单片机是最容易解密的单片机系列之一。迄今为止,最有效的加密方法就是烧断迄今为止,最有效的加密方法就是烧断51单片机的数据总线单片机的数据总线(例如烧断

3、(例如烧断AT89C51的的32、33、34脚等等),其解密价格脚等等),其解密价格通常是普通价格的十几倍以上,随着烧断总线数量的增加,通常是普通价格的十几倍以上,随着烧断总线数量的增加,有些甚至根本无法解密有些甚至根本无法解密 。(2 2)ATMELATMEL公司的公司的AVRAVR单片机单片机 AVR AVR早期的单片机:早期的单片机:ATTINY12/13/15ATTINY12/13/15、AT90S2313AT90S2313、ATMEGA8/16/64ATMEGA8/16/64等,教容易解密。等,教容易解密。 最新的几款最新的几款AVRAVR单片机单片机 :ATTINY2313ATTI

4、NY2313、ATMEGA168/169ATMEGA168/169及最新推出的及最新推出的ATMEGA1280/2560ATMEGA1280/2560等等 ,是目前最难解密的单片机之一是目前最难解密的单片机之一 。二、单片机产品近况二、单片机产品近况(3 3)MicroChipMicroChip单片机单片机 二、单片机产品近况二、单片机产品近况(4 4)MotorolaMotorola公司的公司的6868系列系列二、单片机产品近况二、单片机产品近况三、单片机的应用实例三、单片机的应用实例1 1、智能控制、智能控制2 2、消费类数码产品、消费类数码产品三、单片机的应用实例三、单片机的应用实例3

5、3、军事技术应用、军事技术应用三、单片机的应用实例三、单片机的应用实例4 4、工业控制、工业控制三、单片机的应用实例三、单片机的应用实例5 5、宣传指示应用、宣传指示应用三、单片机的应用实例三、单片机的应用实例相关知识相关知识一、进制数一、进制数l十进制数十进制数是人们习惯使用的进制是人们习惯使用的进制l计算机只能计算机只能“二进制数二进制数”l为了书写和识读方便,计算机程序需要用为了书写和识读方便,计算机程序需要用十六进制十六进制 表示。表示。 二、常用数制二、常用数制1、十进制数(后缀为、十进制数(后缀为D,如,如10D,一般省略后缀),一般省略后缀)2、二进制数(后缀为、二进制数(后缀为

6、B,如,如10010101B)l只有只有0和和1两个数码两个数码l基数为基数为2,采用,采用“逢二进一逢二进一”的原的原则则l各位上的权均是各位上的权均是2的某次幂。的某次幂。3、十六进制数(后缀为、十六进制数(后缀为H,如,如1AH)l十六进制数中出现的数码为十六进制数中出现的数码为0、1、9、A、B、 C、D、E、F共共16个个l基数为基数为16,采用,采用“逢十六进一逢十六进一”相关知识相关知识1 1、十进制数转换为二进制数、十进制数转换为二进制数除以除以2 2取余数,倒计取余数,倒计2 2、二进制数转换为十进制数、二进制数转换为十进制数按权展开,权为按权展开,权为“2”2”例例1 1:

7、将十进制数:将十进制数7373转换为二进制数转换为二进制数73 = 01001001B73 = 01001001B例例2 2:将二进制数:将二进制数101101B101101B转换为十进制数转换为十进制数45212021 2120212020)(00101101B01234567相关知识相关知识三、进制间的转换三、进制间的转换相关知识相关知识三、进制间的转换三、进制间的转换3 3、十进制数转换为十六进制数、十进制数转换为十六进制数除以除以1616取余数,倒计取余数,倒计例例3 3:将十进制数:将十进制数8686转换为十六进制数转换为十六进制数86 = 56H86 = 56H4 4、十六进制数转

8、换为十进制数、十六进制数转换为十进制数按权展开,权为按权展开,权为“16”16”例例4 4:将十六进制数:将十六进制数9AH9AH转换为十进制数转换为十进制数1541601619(9AH)015 5、二进制数转换为十六进制数、二进制数转换为十六进制数84218421码码例例5 5:将二进制数:将二进制数1100101011001010转换为十六进制数转换为十六进制数8 4 2 18 4 2 11 1 0 0 1 0 1 0 BC12010214184位高A10011204184位低11001010B=0CAH11001010B=0CAH相关知识相关知识三、进制间的转换三、进制间的转换例例5 5

9、:将十六进制数:将十六进制数0D9H0D9H转换为二进制数转换为二进制数D=13=81+41+20+11=1101B9=81+40+20+11=1001B0D9H=11011001B解:解:6 6、十六进制数转换为二进制数、十六进制数转换为二进制数相关知识相关知识三、进制间的转换三、进制间的转换相关知识相关知识四、位与字节四、位与字节 例如:例如:01101001B01101001B表示一个字节,表示一个字节,1AH1AH表示一个字节,表示一个字节,0B2C5H0B2C5H表示两个字节,即一个字表示两个字节,即一个字 。位:位:指二进制数的位,位是数的最小单位。指二进制数的位,位是数的最小单位

10、。 1 1或或0 0表示一个位表示一个位字节:字节:8位二进制数成为一个字节。位二进制数成为一个字节。 字节是最基本的数据单位。字节是最基本的数据单位。字:两个字节为一个字,即字:两个字节为一个字,即1616个位个位时钟电路CPUROMRAMT0 T1中断系统串行接口并行接口P0 P1 P2 P3TXD RXDINT0 INT1定时计数器结构框图结构框图中央处理器中央处理器CPU:8位,位,运算和控制运算和控制功能功能内部内部RAM:共共256个个RAM单单元,用户使用元,用户使用前前128个单元,个单元,用于存放可读用于存放可读写数据,后写数据,后128个单元被个单元被专用寄存器占专用寄存器

11、占用。用。内部内部ROM:4KB掩膜掩膜ROM,用于存放程序、用于存放程序、原始数据和表原始数据和表格。格。定时定时/计数器:计数器:两个两个16位的定位的定时时/计数器,实计数器,实现定时或计数现定时或计数功能。功能。并行并行I/O口:口:4个个8位的位的I/O口口P0、P1、P2、P3。串行口:串行口:一个全一个全双工串行口。双工串行口。中断控制系统:中断控制系统:5个中断源(外个中断源(外中断中断2个,定时个,定时/计数中断计数中断2 个,串行中断个,串行中断1个)个)时钟电路:时钟电路:可可产生时钟脉冲产生时钟脉冲序列,允许晶序列,允许晶振频率振频率6MHZ和和12MHZ一、一、515

12、1单片机的基本结构单片机的基本结构1.中央处理器中央处理器CPU:8位,运算和控制功能位,运算和控制功能2.内部内部RAM:共共256个个RAM单元,用户使用前单元,用户使用前128个单元,个单元,用于存放可读写数据,后用于存放可读写数据,后128个单元被专用寄存器占用。个单元被专用寄存器占用。3.内部内部ROM:4KB掩膜掩膜ROM,用于存放程序、原始数据和表,用于存放程序、原始数据和表格。格。4.定时定时/计数器:计数器:两个两个16位的定时位的定时/计数器,实现定时或计数功计数器,实现定时或计数功能。能。5.并行并行I/O口:口:4个个8位的位的I/O口口P0、P1、P2、P3。6.串行

13、口:串行口:一个全双工串行口。一个全双工串行口。7.中断控制系统:中断控制系统:5个中断源(外中断个中断源(外中断2个,定时个,定时/计数中断计数中断2 个,串行中断个,串行中断1个)个)8.时钟电路:时钟电路:可产生时钟脉冲序列,允许晶振频率可产生时钟脉冲序列,允许晶振频率6MHZ和和12MHZVCCVSSXTAL2XTAL1RSTP0. 0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7P1. 0P1.1P1.2 P1.3 P1.4 P1.5 P1.6 P1.7P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2. 0ALEP3. 0P3.1P3.2

14、 P3.3 P3.4 P3.5 P3.6 P3.7EAPSENRXD/TXD/INT0/ INT1/ T0/ T1/WR/ RD/1234567891011121314151617181920403938373635343332313029282726252424222180318051 875189C51二、二、并行输入/输出电路结构P0. 0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7P1. 0P1.1P1.2 P1.3 P1.4 P1.5 P1.6 P1.7P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2. 0P3. 0P3.1P3.2 P

15、3.3 P3.4 P3.5 P3.6 P3.74 4个个8 8位并行位并行I/OI/O口:口:P0P0,P1P1,P2P2,P3P3;均可作为双向均可作为双向I/OI/O端口使用。端口使用。 P0 P0:访问片外扩展存储器时,访问片外扩展存储器时, 复用为低复用为低8 8位地址线和数据线位地址线和数据线 P2P2:高高8 8位地址线。位地址线。P1P1:双向双向I/OI/O端口端口 P3P3:第二功能第二功能1234567891011121314151617181920403938373635343332313029282726252424222180318051 875189C51ALEWR

16、 RDP1. 0P1. 1P1. 2P1. 3P1. 4P1. 5P1. 6P1. 7指令指令1 1:MOV P1,#00H指令指令2 2:MOV P1,#0FFH指令指令3 3:MOV P1,#0AAH000000001111111101010101指令指令4 4:CLR P1.0指令指令5 5:SETB P1.0111111110+5V1111111111111111ALEWR RDP3. 0P3. 1P3. 2P3. 3P3. 4P3. 5P3. 6P3. 7读端口:读端口: MOV P3, #11111111BMOV A, P3 89C51P3.41 1 1 1 1 1 1 10 1三

17、、单片机的最小应用系统三、单片机的最小应用系统三、单片机的最小应用系统三、单片机的最小应用系统1 1、电源电路、电源电路VccVcc(4040脚):接电源脚):接电源+5V+5VVssVss(2020脚):接地脚):接地 2 2、程序存储器选择电路、程序存储器选择电路当当 =1=1(即接高电平)时,内部地址为(即接高电平)时,内部地址为0000H0FFFH0000H0FFFH,外部地址为外部地址为1000H0FFFFH1000H0FFFFH。EA当当 =0=0(即接低电平)时,内部(即接低电平)时,内部ROMROM就不起作用了,此就不起作用了,此时,外部时,外部ROMROM的地址变成的地址变成

18、0000H0FFFFH0000H0FFFFH。EA三、单片机的最小应用系统三、单片机的最小应用系统3 3、时钟电路、时钟电路时钟引脚时钟引脚(18(18、1919脚脚) )外接晶体时与片内的反相器构成一外接晶体时与片内的反相器构成一个振荡器,它提供单片机的时钟控制信号。个振荡器,它提供单片机的时钟控制信号。1XTAL1XTAL2C1C2晶振8051至内部时钟电路三、单片机的最小应用系统三、单片机的最小应用系统4 4、复位电路、复位电路 通常为了保证应用系统可靠地复位,复位电路应使引脚通常为了保证应用系统可靠地复位,复位电路应使引脚RSTRST保持保持10ms10ms以上的高电平。只要引脚以上的

19、高电平。只要引脚RSTRST保持高电平,单片保持高电平,单片机就复位。机就复位。 复位电路可分为上电自动复位电路可分为上电自动 复位和手动复位两种。复位和手动复位两种。复位原理复位原理复位方法复位方法MCS-51V C CVCCRESETVSS22uF1KMCS-51V C CVCCRESETVSS22uF1KRESETR1R2200谁知道谁知道复位电路怎么起到复位电路怎么起到复位的作用复位的作用?CPU时序时序振荡周期振荡周期Tosc外部晶体振荡电路经外部晶体振荡电路经XTAL1XTAL1脚输入的脉冲周期定义为振荡周期。脚输入的脉冲周期定义为振荡周期。Tosc= , 为晶体振荡器的频率为晶体

20、振荡器的频率oscf1oscf机器周期机器周期Tcy一个机器周期总共有一个机器周期总共有1212个振荡周期。个振荡周期。即即Tcy=12ToscCPU时序时序指令周期指令周期Torder 指令周期是最大的时序定时单位,执行一条指令所需要指令周期是最大的时序定时单位,执行一条指令所需要的时间称为指令周期。的时间称为指令周期。单周期指令单周期指令双周期指令双周期指令四周期指令四周期指令Torder= TcyTorder= 2Tcy Torder= 4TcyCPU时序时序例如:如果晶体振荡器的频率为例如:如果晶体振荡器的频率为12MHz12MHz,那么其振荡周期、,那么其振荡周期、机器周期为多少?执

21、行一条双周期指令需要多少时间?机器周期为多少?执行一条双周期指令需要多少时间? oscf因为因为 =12MHZ=12MHZ解:解:所以振荡周期所以振荡周期T Toscosc= =1/12us= =1/12usoscf1机器周期机器周期T Tcycy=12=12T Tosc=1usosc=1us一条双周期指令所需时间一条双周期指令所需时间T Torderorder=2=2T Tcy=2uscy=2us复位状态复位状态特殊功能寄存器特殊功能寄存器初始状态初始状态特殊功能寄存器特殊功能寄存器初始状态初始状态ACCACC00H00HTMODTMOD00H00HB B00H00HTCONTCON00H0

22、0HPCPC0000H0000HTL0TL000H00HPSWPSW00H00HTH0TH000H00HSPSP07H07HTL1TL100H00HDPTRDPTR0000H0000HTH1TH100H00HP0-P3P0-P30FFH0FFHSBUFSBUF不定不定IPIPXX000000BXX000000BSCONSCON00H00HIEIE0X000000B0X000000BPCONPCON0XXX0000B0XXX0000B复位后,单片机从程序存储器的复位后,单片机从程序存储器的0000H单元单元开始执行程序。开始执行程序。单片机复位后单片机复位后堆栈寄存器堆栈寄存器SP=07H, P

23、0-P3输出高电平,其他寄存器全输出高电平,其他寄存器全部清零,不影响部清零,不影响RAM中的内容。中的内容。 12345678910111213142827262524232221 201918171615EPROM276412345678910111213142827262524232221 201918171615EPROM27641234567891011121314151617181920403938373635343332313029282726252424222112345678910111213142827262524232221 201918171615RAM6264 123

24、45678910111213142827262524232221 201918171615RAM6264 80318751805189C51256B(字节)4K64K64K四、四、程序程序存储器存储器内部内部外部外部0000H0000H0FFFH0FFFH(4K)(4K)0000H0000HFFFFHFFFFH(64K)(64K)0000H0000H0FFFH0FFFH(4K)(4K)0000H(PC)0001H0002H0000H是程序执行是程序执行的起始单元的起始单元,在这三在这三个单元存放一条无个单元存放一条无条件转移指令条件转移指令中断中断5中断中断4中断中断3中断中断2中断中断100

25、03H000BH0013H001BH0023H002BH外部中断外部中断0定时器定时器0中断中断外部中断外部中断1定时器定时器1中断中断串行口中断串行口中断8位位0FFFH0FFEHEA=1 EA=0EA=1 EA=0程序程序存储器资源分布存储器资源分布中断入口地址0000H0000HFFFFHFFFFH(64K)(64K)内部内部外部外部数据数据存储器存储器00H00H0FFH0FFH7FH7FH80H80H( (高高128B)128B)( (低低128B)128B)RAM专用专用寄存器寄存器 工作寄存器区工作寄存器区选择位选择位RS0RS0、RS1RS10区区1区区2区区3区区R7R7R0

26、R0R7R7R0R0R7R7R0R0R7R7R0R018H18H1FH1FH10H10H17H17H08H08H0FH0FH00H00H07H07H工作寄存工作寄存器区器区20H2FH7F 7807 00可位寻址区可位寻址区30H7FH数据缓冲区数据缓冲区/堆栈区堆栈区离散分布有离散分布有2121个个特殊功能寄存器特殊功能寄存器SFRSFR。 1111个可以进行个可以进行位寻址。位寻址。特别提示:对特别提示:对SFRSFR只能使用直接只能使用直接寻址方式,书写时寻址方式,书写时可使用寄存器符号,可使用寄存器符号,也可用寄存器单元也可用寄存器单元地址。地址。主主要要专专用用寄寄存存器器(1)累加

27、器)累加器ACC(通常用(通常用A表示)表示) 功能:在进行算术和逻辑运算时,用于存放数据和运算功能:在进行算术和逻辑运算时,用于存放数据和运算结果,是工作最频繁的寄存器。结果,是工作最频繁的寄存器。例:例: MOV A, #2 ADD A, #5(2)乘法、除法辅助寄存器)乘法、除法辅助寄存器B 功能:主要用于乘法、除法指令。功能:主要用于乘法、除法指令。例:例: MUL AB DIV AB(3 3)程序状态字寄存器)程序状态字寄存器PSW PSW 功能:用于存放程序运行的状态信息,以便查询和判断。功能:用于存放程序运行的状态信息,以便查询和判断。CY(PSW.7)CY(PSW.7):进位标

28、志位。在进行加法(或减法)运算时,:进位标志位。在进行加法(或减法)运算时, 若运算结果最高位有进位或借位,则若运算结果最高位有进位或借位,则CYCY自动置自动置“1”1”,否则,否则CYCY 置置“0”0”,在进行布尔操作运算时,在进行布尔操作运算时,CYCY(简称(简称C C)作为布尔处理)作为布尔处理 器。器。AC(PSW.6)AC(PSW.6):辅助进、借位。当进行加法或减法时,若低:辅助进、借位。当进行加法或减法时,若低 4 4位向高位向高4 4位有进位(或借位)时,位有进位(或借位)时,ACAC被置被置“1”1”,否则,否则ACAC被被 置置“0”0”。主主要要专专用用寄寄存存器器

29、OV(PSW.2)OV(PSW.2):溢出标志位。溢出标志位,当运算结果溢:溢出标志位。溢出标志位,当运算结果溢 出时出时OVOV为为“1”1”,否则为,否则为“0”0”,此标志位反映了运算结果,此标志位反映了运算结果是否是否 溢出。溢出。PSW.1PSW.1:未定义位。:未定义位。P P(PSW.0PSW.0):奇偶校验位。用来表示):奇偶校验位。用来表示ALUALU结果中二进制数结果中二进制数 位位“1”1”的个数的奇偶性。当累加器的个数的奇偶性。当累加器A A中中“1”1”的个数为奇的个数为奇数数 时,时,P P置置“1”1”,否则,否则P P置置“0”0”。FO(PSW.5)FO(PS

30、W.5):用户标志位。:用户标志位。 (3 3)程序状态字寄存器)程序状态字寄存器PSW PSW 主主要要专专用用寄寄存存器器RS1(PSW.4)RS1(PSW.4)、RS0(PSW.3)RS0(PSW.3):工作寄存器组选择位。用来:工作寄存器组选择位。用来 选择当前工作的寄存器组。选择当前工作的寄存器组。RS1RS1、RS0RS0的内容与工作寄存的内容与工作寄存 器区的对应关系如表器区的对应关系如表2-12-1所示。所示。(3 3)程序状态字寄存器)程序状态字寄存器PSW PSW 主主要要专专用用寄寄存存器器(4 4)数据地址指针)数据地址指针DPTRDPTR功能:可以用来访问外部数据存储

31、器中的任一单元,也功能:可以用来访问外部数据存储器中的任一单元,也可以作为通用寄存器来用。分为可以作为通用寄存器来用。分为DPH(高(高8位)和位)和DPL(低(低8位)两个寄存器。一般用来存放位)两个寄存器。一般用来存放16位地址值。位地址值。主主要要专专用用寄寄存存器器汇编语言知识汇编语言知识一、指令的汇编语言格式一、指令的汇编语言格式 标号:标号: 操作码操作码 操作数操作数 ;注释;注释 NEXT: MOV A , R0 ;A(R0)标号:用来说明指令的地址,是一个名字。标号可以由数字、字母标号:用来说明指令的地址,是一个名字。标号可以由数字、字母和下划线组成,但是首字符必须是字母。语

32、句标号以冒号结束。操作和下划线组成,但是首字符必须是字母。语句标号以冒号结束。操作码、寄存器等保留字不能做标号。码、寄存器等保留字不能做标号。操作码:用指令助记符或伪指令助记符表示,用来规定语句要执操作码:用指令助记符或伪指令助记符表示,用来规定语句要执行的操作。行的操作。操作数:用于向指令提供数据或地址。一条语句中可以有操作数:用于向指令提供数据或地址。一条语句中可以有1313个操个操作数也可以没有操作数。作数也可以没有操作数。注释:对语句的解释,不属于语句的功能部分,用注释:对语句的解释,不属于语句的功能部分,用“;”开头。开头。一条汇编语言指令中最多包含一条汇编语言指令中最多包含4 4个

33、区段个区段二、常用汇编语言符号及其意义二、常用汇编语言符号及其意义汇编语言知识汇编语言知识三、新指令剖析三、新指令剖析 ORG 0000H LJMP START ORG 0030HSTART: LCALL DELAY NOP LJMP STARTDELAY: NOP RET END(1)ORG指令:程序开始指令指令:程序开始指令格式:格式:ORG 地址(用十六进制表示)地址(用十六进制表示)功能:规定其后的目标程序或数据块功能:规定其后的目标程序或数据块 的起始地址。的起始地址。(2)END指令:程序结束指令指令:程序结束指令功能:仅用于标示程序的结束,功能:仅用于标示程序的结束,END 后面

34、的所有程序将无效。后面的所有程序将无效。(3)JMP指令:跳转指令指令:跳转指令格式:格式:LJMP 标号标号 AJMP 标号标号 SJMP 标号标号汇编语言知识汇编语言知识三、新指令剖析三、新指令剖析 ORG 0000H LJMP START ORG 0030HSTART: LCALL DELAY NOP LJMP STARTDELAY: NOP RET END(4)CALL指令:调用子程序指令指令:调用子程序指令格式:格式:LCALL 标号标号 ACALL 标号标号例:例: LCALL DELAY 执行执行“LCALL DELAY”的结果的结果是执行一个名为是执行一个名为“DELAY”的子

35、程序的子程序模块(即从模块(即从“DELAY:”到到“RET”范范围内的所有语句)。围内的所有语句)。(5)RET指令:子程序返回指令指令:子程序返回指令汇编语言知识汇编语言知识四、寻址方式四、寻址方式(1 1)立即寻址)立即寻址 立即寻址方式是直接在指令中给出操作数,即操作数包立即寻址方式是直接在指令中给出操作数,即操作数包含在指令中。一般把指令中的操作数称为立即数。含在指令中。一般把指令中的操作数称为立即数。例如:例如:MOV A, MOV A, 0E8H0E8H数据作为立即数操作时,前面必须加数据作为立即数操作时,前面必须加“#”#”;汇编语言知识汇编语言知识(2 2)直接寻址)直接寻址

36、 指令中的操作数直接以单元地址形式出现。指令中的操作数直接以单元地址形式出现。例如:例如:MOV AMOV A,50H50H;将;将50H50H单元中的数据传送到里面单元中的数据传送到里面 MOVMOV21H,30H21H,30H;将;将30H30H单元中的数据传送到单元中的数据传送到21H21H单元里面单元里面 四、寻址方式四、寻址方式汇编语言知识汇编语言知识(3 3)寄存器寻址)寄存器寻址 寄存器寻址对选定的寄存器寻址对选定的8 8个工作寄存器个工作寄存器R0R0R7R7、累加器、累加器A A、寄存器寄存器B B、地址指针、地址指针DPTRDPTR和布尔处理器的位累加器和布尔处理器的位累加

37、器C C进行操作,进行操作,也就是操作数在寄存器中。也就是操作数在寄存器中。例如:例如: MOV P1MOV P1,R4R4 CLR A CLR A ;将;将A A清零清零 MOV AMOV A,B B四、寻址方式四、寻址方式汇编语言知识汇编语言知识(4 4)寄存器间接寻址:寄存器间接寻址符号为)寄存器间接寻址:寄存器间接寻址符号为“”例如:例如:MOV A, R0MOV A, R0(5 5) 变址寻址变址寻址; ;例如:例如:MOVC A, DPTR+AMOVC A, DPTR+A注意:在注意:在 后面的后面的RnRn只能是只能是R0R0和和R1R1四、寻址方式四、寻址方式汇编语言知识汇编语

38、言知识(6 6) 相对寻址相对寻址(7 7) 位寻址位寻址 例如:例如:CLR P1.0 CLR P1.0 ;将;将P1P1口的第口的第0 0位清零位清零 相对寻址方式是为了程序相对转移而设计的,其特征是相对寻址方式是为了程序相对转移而设计的,其特征是以以PCPC的内容为基址,加上给出的偏移量作为转移地址,从而的内容为基址,加上给出的偏移量作为转移地址,从而实现程序的转移。实现程序的转移。例如:例如:LJMP STARTLJMP START DJNZ R7,DEL DJNZ R7,DEL 四、寻址方式四、寻址方式汇编语言知识汇编语言知识五、新指令剖析五、新指令剖析(1 1)传送指令)传送指令M

39、OV MOV 功能:将直接数据或数据寄存器中的数据复制到目标寄存器中。功能:将直接数据或数据寄存器中的数据复制到目标寄存器中。例如:例如:MOV A,#2MOV A,#2 MOV 10H,A MOV 10H,A MOV R0,#50H MOV R0,#50H MOV A,R0 MOV A,R0 MOV R1,#10H MOV R1,#10H MOV A,R1 MOV A,R1;(A)=2;(A)=2;(10H)=2;(10H)=2;(R0)=50H;(R0)=50H;(A)=50H;(A)=50H;(R1)=10H;(R1)=10H;(A)=2;(A)=2汇编语言知识汇编语言知识(2 2)清零

40、指令)清零指令CLR CLR 功能:将位地址的内容或累加器功能:将位地址的内容或累加器ACC的的8位置位置0。例如:例如:CLR bitCLR bit CLR A CLR A五、新指令剖析五、新指令剖析汇编语言知识汇编语言知识(3 3)置位指令)置位指令SETBSETB功能:将位地址的内容置功能:将位地址的内容置1。例如:例如:SETB CSETB C SETB P3.0 SETB P3.0 SETB RS1 SETB RS1五、新指令剖析五、新指令剖析汇编语言知识汇编语言知识 3、通常为了保证应用系统可靠地复位,复位电路应使引脚、通常为了保证应用系统可靠地复位,复位电路应使引脚RST保持保持 以上的高电平。以上的高电平。4、复位电路可分为

温馨提示

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

评论

0/150

提交评论