今天在图书馆看来一上午的书。。把51的一点常识趁便记了一下。。。感觉很好。。。尤其是汇编那里。。对学习STM32有协助。。。
时钟
片内时钟方法;由XTAL1和XTAL2外接石英晶体和震动电容
片外时钟方法;关于一般的8051,外部时钟由XTAL2直接送到单片机内部,XTAL1应直接接地,并且XTAL2引脚的逻辑电平不是TTL电平,应外接上拉电阻。关于CMOS型单片机,其时钟发生器的信号取自于反相放大器的输入端,因而,外部时钟信号应该从XTAL1引脚输入,而XTAL2需求悬空。
特别功用寄存器区,假如某个特别功用寄存器的地址能够被8整除,那么这个寄存器便能够进行位寻址。在位寻址指令中,能够用“寄存器名.位”“字节地址.位”“位地址”“位称号”
如“B.5”表明寄存器B的第五位。其间引脚p0,p1,p2,p3等都能够位寻址。
单片机的指令时序
拍;振动脉冲的周期,为51系列的最小时序单元。时钟周期;时钟周期是单片机CPU中的最基本的时刻单元在一个时刻周期内,CPU仅完结一个最基本的动作,拍经过二分频,便可得到单片机的时钟信号,由所以二分频,因而一个时钟周期包括两个拍。
机器周期;一个机器周期由6个时钟周期构成,也便是12个拍组成。指令周期;指令周期履行一条指令所需求的时刻,不同指令需求不同的指令周期。
掉电维护;
1当检测到电源下降时,触发外部中止2在中止服务子程序中将外部的RAM中的有用数据送到内部的RAM中维护,然后对电源操控寄存器PCON进行设置3切换备用电源,备用电源只为单片机内部RAM和专用寄存器供给保持电流,是这些重要数据不丢掉,而整个外部电路因为电源的中止而中止作业,时钟电路中止震动,CPU也中止作业。4当电源康复时,备用电源也要持续作业10ms左右,以确保外部电路到达安稳状况。
专用寄存器
程序计数器PC
相当于一个转移工,用来不断的将指令转移过来履行,由16个触发器构成,是一个16位二进制的程序地址寄存器,程序计数器PC的编码规模是0000H~FFFFH,寻址规模为64KB.
累加器A
寄存器B
程序状况寄存器PSW
数据指针DPTR用于数据存储器的操作,由8位寄存器DPH和DPL组合而成,是一个典型的16位寄存器。DPH为数据指针的高8位,DPL为数据指针的低8位。
汇编语言;
开端伪指令ORG格局:[标号:] ORG 16位地址
在这,16位地址便是汇编程序块或许数据块寄存的开端地址,假如省掉ORG伪指令,则单片机程序代码从默许的0000H单元块开端寄存。
字节保存伪指令DB格局[标号:] DB
字节数据将从1100H地址进行保存字节数据。
内存单元 |
内容 |
内存单元 |
内容 |
1100H |
51H |
1103H |
90H |
1101H |
67H |
1104H |
110B=06H |
1102H |
61=33H |
1105H |
‘B’=42H |
字保存伪指令DW
格局[标号:]
其间能够是一个或许多个字节数据、字符串或许表达式。在数据表中各项用‘,’分隔,一个数据项占一个存储单元,一切的数据项从标号指定的地址单元开端,将数据表中的字节数据按次序顺次保存。需求留意的是,16位数据要占用两个单元的存储器,高8位数据存储到低地址字节,低八位数据存入到高地址字节。例如;
DATA1:DW
字节数据从1000H地址开端保存字数据。
内存单元 |
内容 |
内存单元 |
内容 |
1000H |
21H |
1002H |
00H |
1001H |
AEH |
1003H |
5CH |
空间预留伪指令DS
BUF:
即从地址1100H开端划分出8个内存单元,从1108H之后的单元才能够进行其他操作。
位变量伪指令
字符称号BIT位地址
如;P1
在这儿,位地址P2.4和P2.6赋给P1和P2 ,尔后,遇到P1,P2的当地,就相当于运用P2.4和P2.6。
单片机指令的寻址方法
当即寻址直接寻址寄存器寻址寄存器直接寻址变址寻址相对寻址和位寻址
当即寻址
十六进制结束用H
典型寻址
MOV
MOV
直接寻址便是将操作数寄存的地址告知指令
例如
MOV
这儿,“2EH”便是直接寻址的地址,该指令的操作码是E5H,功用是把内部RAM地址为2EH中的内容传给累加器A。
寄存器寻址
MOV
寄存器直接寻址相当于绕了一个大弯,此刻数据寄存到RAM中,而该RAM的地址放在寄存器中,这样经过拜访寄存器来取得RAM中的操作数的寻址方法便是寄存器直接寻址。
单片机能够运用此方法寻址的空间:
1片内RAM的低128字节单元,此刻需求R0,R1作为直接寻址的寄存器
2片外RA M,假如用R0,R1作为直接寻址的寄存器,能够寻址256个单元。假如选用16位的DPTR作为直接寻址的寄存器,能够寻完整个外部RAM 64KB地址空间。
在寻址指令中,寻址的寄存器钱需求加“@”标明符,这样就和寄存器寻址区分隔。
变址寻址供给了16位地址的寻址才能,它选用基址寄存器加变址寄存器方法来寻址,其间基址寄存器为DPTR或许PC,变址寄存器为累加器A,用于寄存地址偏移量。
变址寻址的两种方法;
MOV
MOV
相对寻址
例如
位寻址
在51单片机中,能够位寻址的区域;
1片内RAM的20H~2FH单元,共16*8=128位,能够直接运用位地址来表明,例如,20H单元的0~7位的位地址是00H~07H,也能够运用RAM地址加序位号表明,例如2AH.1表明2AH单元的D1位。
2可位寻址的特别功用寄存器相应位,这些为均有特定的称号,因而能够直接选用位称号来表明,或许选用寄存器符号加位序号表明,例如PSW.3表明PSW寄存器中的D3位。
典型表明;
MOV