mcs表格如何配置
⑴ MCS-51单片机查表程序
16和7是查表指令时的PC与数据表格之间的字节数
MOV A ,@R0 ;取R0指向的地址中的数据到A
ANL A,#0FH ;高四位清零
ADD A,#16 ;加16
MOVC A, @A+PC ;查表,表的首地址为绝对地址PC+A
MOVC A,@A+PC就需要1个字节啊
查表指令距离表首地址的长度是字节数
用DPTR的汇编程序:
ORG 0100H
MOV 30H,#12H
MOV 31H,#34H
MOV 32H,#56H
MOV 33H,#78H
LCALL SUBRTE
ORG 1000H
SUBRTE: MOV R0,#30H ; ;置地址指针R0初值
MOV R1,#40H ; ;置地址指针R1初值
MOV R2,#4 ; ;置字节数
LOOP: MOV A,@R0 ; ;取16进制数
ANL A,#0FH ; ;屏蔽高4位
MOV DPTR,#TABLE ; ;
MOVC A,@A+DPTR ; ;查表低4位转换为ASCⅡ码
MOV @R1,A ; ;送结果
INC R1 ; ;修改指针
MOV A,@R0 ; ;从新取16进制数
SWAP A ; ;高4位与低4位互换
ANL A,#0FH ; ;取高4位
ADD A,#7
MOVC A,@A+PC ; ;查表高4位转换为ASCⅡ码
MOV @R1,A
INC R0
INC R1
DJNZ R2,LOOP
DEC R1
RET
TABLE: DB '012345678'
DB '9ABCDEF'
END
⑵ ISE12.2如何烧写程序,下载配置啊,求高手指点,.mcs文件是干什么用的,如何生成
MCS是固化程序,上电直接加载时用的。要提前下载到外部ROM当中。在impact里有generate PROM file项,按步骤,选择PROM芯片型号,选bit文件等,一项一项按给的提示做就行。
⑶ 关于MCS表示的调制方式,36.213 中T表 7.1.7.1-1中的Molation Order分别有2,4,6.,它们表示什么调制方式
2 QPSK
4 16QAM
6 64QAM
8 256QAM
见3GPP TS 36.213 8.6.1 Molation order and rendancy version determination
⑷ MCS-51单片机查表程序的问题
MOV DPTR,#TAB
MOVC A,@A+DPTR
CPL A ;理解这句
MOV P0,A
MOV DPTR,#TAB 这句是将TAB处的内容的地址移入DPTR寄存器(51单片机中唯一的一个16位的)
MOVC A,@A+DPTR 这句将(A寄存器中的内容+DPTR)中的地址处的数据移入A
比如此时 A=0,DPTR=300,这时就将300+0寄存器里的数据移到A
如果A=2,DPTR=300,这时就将(300+2)寄存器里的数据移到A
CPL A ; A求反,
MOV P0,A 将A的值移入P0口,用数码管等显示出来结果
⑸ lte cqi怎么映射到相应的mcs
由仿真得到,以及实际手机特性校正,形成sinr 和mcs的表格,收到手机上报的cqi 做短期长期平均滤波计算出相应的sinr查表调度mcs,另外还要考虑bler的大小对sinr做相应的补偿
⑹ 在mcs51单片机中表格常数一般在
在mcs51单片机中表格常数一般在ROM中。
单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
⑺ 求一MCS-51系列单片机指令表
传送指令是指令系统中最基本,使用最多的一类指令,主要用于数据的传送、保存以及交换等场合。
1.以累加器A为目的操作数的指令(4条)
这组指令的功能是把源操作数指定的内容送入累加器A中。
有寄存器、直接、寄存器间接和立即4种寻址方式。
MOV A, Rn MOV A, data
MOV A,@Rn MOV A,#data
2.以寄存器Rn为目的的操作数的指令(3条)
这组指令的功能是把源操作数指定的内容送到所选定的工作寄存器Rn中。
有寄存器、直接和立即3种寻址方式。
MOV Rn, A MOV Rn,data
MOV Rn,#data
3.以直接地址为目的操作数的指令(5条)
这组指令的功能是把源操作数指定的内容送到由直接地址data所指定的片内RAM中。
有寄存器、直接、寄存器间接和立即4种寻址方式。
MOV data,A MOV data,Rn
MOV data1,data2 MOV data,@Ri
MOV data,#data
4.以间接地址为目的操作数的指令(3条)
这组指令的功能是把源操作数指定的内容送到以Ri中的内容为地址的片内RAM中。
有寄存器、直接和立即3种寻址方式。
MOV @Ri,A MOV @Ri,data
MOV @Ri,#data
5.查表指令(2条)
这组指令的功能是对存放于程序存储器中的数据表格进行查找传送。使用变址寻址方式。
MOVC A,@A+DPTR MOVC A, @A+PC
6.累加器A与片外AM传送指令(4条)
这组指令的功能为累加器A与片RAM间的相互传送。由于MCS-51指令系统中没有专门的输入/输出指令,且片外扩展的I/O口与片外RAM是统一编址的,故以下4条指令也可作为输入/输出指令。使用寄存器间接寻址方式。
MOVX A,@DPAR MOVX @DPTR,A
MOVX A,@Ri MOVX @Ri,A
7.堆栈操作类指令(2条)
该类指令的功能是把直接寻址单元的内容传送到堆栈指针SP所指的单元中,以及把SP所指单元的内容送到直接寻址单元中。
PUSH data POP data
前一条指令称为入栈操作指令,后一条指令称为出栈指令。由于开机复位后,(SP)=07H,故一般需重新设置SP的初值。由于压入堆栈的第一个数必须存放在SP+1所指存储单元,故实际的栈底为SP+1所指存储单元。
8.交换指令(4条)
该类指令的功能是把累加器A中的内容与源操作数所指出的数据相互交换。
有寄存器、直接和寄存器间接3种寻址方式。
XCH A,Rn XCH A,data
XCH A,@Ri XCHD A,@Ri
9.16位数据传送类指令(1条)
MOV DPTR,#data
该指令的功能是把16位常数送入数据指针寄存器,使用立即寻址方式。译成机器码时,是高位字节在前,低位字节在后。
MCS-51具有强大的加、减、乘、除四则算术运算指令。
1.程序状态字PSW
MCS-51有一个程序状态字寄存器PSW,用来保存指令执行结果的标志,供程序查讯和判别。PSW是特殊功能寄存器中的一个,其格式如下:
PSW7--既是布尔处理机的累加器C,又是进位标志CY,如果操作结果在最高位有进位输出(加法时)或借位输入(减法时),置位CY,否则清“0”CY。
AC--辅助进位(半进位)标志。如果操作结果的低4位有进位(加法时)或向高4位借位时(减法),置AC,否则清“0”AC,AC主要用于二-十进制数加法调整。
OV--溢出标志。如果操作结果有进位进入最高位,但最高位没有产生进位,或者最高位产生进位而低位没有向最高位进位,这时置位溢出标志位,否则OV清“0”。溢出标志位用于补码运算,当有符号的数运算结果不能用8位二进制数表示时,OV将置位。
P--累加器A的奇偶标志位,如果累加器A的8位的模2和为1(奇),则P=1;否则P=0。由于P总是表示A的奇偶性,随着A的内容变化的,所以一个值写入PSW的P位的值不变。
RS1、RS0--指示当前使用的工作寄存器区。
F0--用户标志位。可作为软件标志,它的作用和内部RAM位寻址区的各位相似。
PSW1--保留位,对它的操作无效。
2.加法指令
1、不带进位加法指令
ADD A,#data ADD A,data
ADD A,@Ri ADD A,Rn
工作寄存器、内部RAM单元内容或立即数的8位无符号二进制数和累加器A中数相加,所得和存放于累加器A中,当和的第3、7位有进位时,分别将AC,CY标志位置1;否则为0。
上述指令的执行将影响标志位AC、CY、OV、P。
对于无符号数,进位标志位CY=1,表示溢出;CY=0表示无溢出。带符号数运算的溢出取决于第6、7位中有一位产生进位,而另一位不产生进位,溢出标志位OV置“1”否则被清“0”。OV=1表示两个正数相加,和变为负数,或两个负数相加,和变为正数的错误结果。
源操作数有四种寻址方式:寄存器、直接、间接和立即数。
2、带进位加法指令:
ADDC A,#data ADDC A,data
ADDC A,@Ri ADDC A,Rn
这是四条带进位的加法指令。将累加器A内容加当前CY标志位内容,再加无符号单字节的数,和存于累加器A中。当运算结果第3、7位产生进位溢出时,则分别置位AC、CY和OV标志位。本指令执行将影响标志位AC、CY、OV、P。
本指令常用于多字节加法。
3、加1指令:
INC A INC data
INC @Ri INC Rn
INC DPTR
INC指令将指定的内容加1,结果仍存放于原A或原单元中。如原值为0FFH,加1运算后将变成00H,运算结果不影响标志位。
本指令可对累加器A、工作寄存器RN、RI间址和直接寻址的单元内容进行加1运算。可见MCS-51加1指令是较丰富的。
注意:当用本指令使输出并行I/O内容加1时,用作输出口原始值,将从输出口的数据锁存器中读入,而不是从输出口的引脚上读入。
4、二-十进制调正指令:
DA A
若[(A0-3)>9]或[(AC)=1),则(A0-3)(A0-3)+06H
本指令是对A的BCD码加法结果进行调正。两个压缩型BCD码按二进制数相加之后,必须经本指令调正,才能得到压缩型BCD码的和数。
本指令的操作为:若累加器A的低4位数值大于9或者第3位向第4位产生进位,即AC辅助进位位为1,则需将A的低4位内容加6调正,以产生低4位正确的BCD码值。如果加0调正后,低4位产生进位,且高4位均为1时,则内部加法将置位CY,反之,它并不清“0”CY标志位。
若累加器A的高4位值大于9或最高进位位CY=1,则高位4位需加6调正,以产生高4位的正确BCD码值。同样,在加6调正后产生最高进位,则置位CY,反之,不清“0”CY这时CY的置位,表示和数BCD码值大于等于100。这对多字节十进制加法有用。不影响OV标志。
由此可见,本指令是根据累加器A的原始数值和PSW的状态,对累加器A进行加O6H、60H或66H的操作。
必须注意:本指令不能简单地把累加器A中的16进制数交换成BCD码,也不能用于十进制减法的调正。
3.减法指令
MCS-51在MCS-48的基础上增加了带借位减法指令,加强了计算机的运算功能。
1、带借位减法指令:
SUBB A,#data SUBB A,data
SUBB A,@Ri SUBB A,Rn
带借位减法指令SUBB,从累加器A中减去进位标志位CY和指定的变量,结果在累加器A中,若第七位有借位,则置位位CY,否则CY清0。若第3位有错位,则置位辅助进位标志AC,否则清0 AC。若第7和第6位中有一位需借位,而另一位不借位,则置位溢出标志OV。溢出位OV用于带符号的整数减法,它表示(OV=1)一个正数减负数结果为负数;或一个负数减正数结果为正数的错误结果。
源操作数允许有四种寻址方式:寄存器RN,直接地址direct,间址Ri或立即数。
当在进行单字节或多字节减法前,不知道进位标志位CY的值,则应在减法指令前先将CY清“0”。
4.乘法指令
MUL AB
乘法指令是MCS-51新增加的,运算速度只需4个机器周期。它大大增加了MCS-51单片机的运算功能,克服了MCS-48系列单片机的不足。
本指令将累加器A和寄存器B中二个8位无符号整数进行相乘,16位乘积的低8位存于A中,高8位存于B中,如果乘积大于255(0FFH),即B的内容不为0时,则置位溢出标志位OV,否则清“0”OV。进位标志位CY总是清“0”。
5.除法指令
DIV AB
MCS-51系列单片机增加的除法指令,运算时间亦只需4个机器周期,同样也增强了MCS-51的运算功能,使它能适用于复杂的且要求运算功能较强的控制系统。除法指令格式:
本指令将累加器A中8位无符号整数除以B寄存器中8位无符号整数,所得结果商的整数部分存于A中,整数作数部分存于寄存器B中。清“0”CY和OV标志位。当除数(B中内容)为00H时,则执行结果将为不定值,即执行结果送往A和B中的为不定值,且置位溢出标志位OV。在任何情况下,均清“0”CY。
6.减一指令
DEC A DEC data
DEC @Ri DEC Rn
DEC指令把所指的寄存器内容减1,结果仍送回原寄存器,若原来寄存器的内容为00H,则减1后将为FFH,运算结果不影响任何标志位,该组指令使用了直接、寄存器和寄存器间寻址。同加1指令一样,在第二条指令中,若直接地址是I/O口,则进行“读-改-写”操作。
逻辑操作类指令共有效25条,有与、或、异或、求反、左右移位、清0等逻辑操作,对应的寻址方式有直接、寄存器和间接寻址,该类指令的执行一般不影响PSW。
1.循环移位指令(4条)
RL A; RR A;
RLC A; RRC A;
前两条指令的功能分别是将累加器A的内容循环左移一位,后两条指令的功能分别是将累加器A的内容连同进位位CY一起循环左移或右移一位。
2.累加器半字节交换指令(1条)
SWAP A;
这条指令的功能是将累加器A的高低两半字节交换。如(A)=56H,执行指令SWAP A 后,结果(A)=65H。
3.求反指令(1条)
CPL A;
4.清0指令(1条)
CLR A;
5.逻辑与指令(6条)
ANL A,#data; ANL data,#data
ANL A,Rn ANL A,data
ANL data,A ANL A,@Ri
这组指令的第二条和第五条指令中,若直接地址正好是I/O口,则也是“读-改-写”操作。
6.逻辑或指令(6条)
ORL A,#data ORL data,#data
ORL A,Rn ORL A,data
ORL data,A ORL A,@Ri
这组指令的第二条和第五条也具有“读-改-写”功能。
7.逻辑异或指令(6条)
XRL A,#data XRL data,#data
XRL A,Rn XRL A,data
XRL data,A XRL A,@Ri
同样,这组指令的第二条和第五条也具有“读-写-改”功能。
控制转移类指令用于控制程序的走向,故其作用区间是程序存储器空间。利用具有16位地址的长调用、长转移指令可对64K程序存储器的任一地址单元进行访问,也可用具有11位地址的绝对调用和绝对转移指令,访问2K字节的空间。另外,还有在一页范围的短相对转移以及许多条件转移指令,这类指令一般不影响标志位,不面分别给予介绍。
1.无条件转移语句(4条)
LJMP addr16 AJMP addr11 SJMP rel JMP @(A)+DPTR
上述指令的功能是当程序执行完该指令时,程序就无条件地转移到指令所提供的地址上去。
第一条指令称为长转移指令,指令提供16位目标地址,将指令中第二字节和第三字节地址码分别装入PC的高8位中,所以无条件转移的目标地址范围是64K字节空间。
第二条指令称为绝对转移指令,指令提供11位目标地址,所以,无条件转移的目标地址范围是从下条指令开始的2K字节空间。
第三条指令称为相对短转移指令,指令控制程序无条件的转向指定地址。该指令的rel是一个带符号的相对偏移量,范围为-128~+127。负数表示向后转移,正数表示向前转移。这条指令的优点是指令给出的是相对转移地址,不具体指出地址值,这样当程序地址发生变化时,只要相对地址不发生变化,该指令就不需作任何改动。在用汇编语言写程序时,rel是一个标号,由汇编程序在汇编过程中自动计算偏移地址。在手工汇编时,可用下式计算偏移地址:
向后转移时:rel=FEH-(源、目的地址的绝对值)
向前转移时:rel=(源、目的地址差的绝对值)-2
第四条指令称为散转指令(又称为间接转移指令),该指令把累加器A中的8位无符号数与作为基址寄存器DPTR中的16位数据相加,所得的值送入PC作为转移的目的地址。该指令执行后不影响累加器A和数据指针DPTR中的原内容,也不影响任何标志位。这条指令的特点是其转移地址不是编程时确定的,而是在程序运行时动态决定的。因此,可以在DPTR中装入多条转移程序的首地址,而由累加器A中的内容来动态选择该时刻应转向那一条分支程序。
2.条件转移指令(8条)
1.JZ rel 2.JNZ rel
3.CJNEA,data,rel 4.CJNE A,#data,rel
5. CJNE Rn,#data,rel
6.CJNE @Ri,data,rel
7.DJNZ Rn,rel
8.DJNZ data,rel
上述指令执行满足某种特定条件的转移,其目标在以下一条指令的起始地址为中心的256个字节范围内(-128~+127)。
第一条和第二条指令是判别累加器A中的内容是否为0来确定是顺序执行还是转移。
第三条至第六条是比较转移指令,该指令通过比较前面两个操作数的大小,如果它们的值不相等则转移,相等则继续执行。指令执行后要影响进位位CY,若操作数1小于操作数2,则CY=1;若操作数1大于操作数2,则CY=0。
3.调用指程序及返回指令(4条)
1.LCALL addr16 2.ACALL addr11 3.RET 4.RETI
在程序设计中,经常需要对某段程序反复执行,为了减少程序的编写以及浪费不必要的地址空间,于是引入了主程序和子程序的概念,通常把某一段需要反复调用的程序称为子程序,子程序的最后一条指令为返回主程序指令(RET),而对具有调用子程序功能的指令称为调用指令。
第一条指令称为长调用指令,其与LJMP一样提供16位地址,可调用64K字节范围内的子程序。由于其为三字节指令,所以执行时首先(PC)+3,以获得下一条指令地址,并把此时的PC内容压入堆栈,作为返回地址,然后把地址addr16装入PC,转去执行子程序。
第二条指令称为绝对调用指令,该指令提供11位目标地址,限制在2K字节范围内调用,由于是双字节指令,所以执行时(PC)+2以获得下一条指令的地址,然后把该地址压入堆栈作为返回地址。其操作码的形成与AJMP指令相同。
第三条指令称为子程序返回指令,表示子程序结束需返回主程序,所以执行该指令时,分别从堆栈中弹出调用子程序时压入的返回地址。
第四条指令称为中断返回指令,该指令的执行过程类似指令RET,但其还能恢复中断逻辑,RETI和RET决不能互换使用。
4.空操作指令(1条)
NOP;
空操作指令除了PC加1外,CPC不作任何操作,而转向下一条指令去执行。这条指令常用于产生一个机器周期的延时。
位操作类指令共有17条,均以位为操作对象,分别完成位传送、位状态控制、位逻辑运算、位条件转移等功能,在汇编语言中,位地址的表示方式有以下4种:
直接用位地址表示:如91H。
字节地址位数方式:如P1.0(90H)。
位名称方式:如RS0。
用户使用伪指令事先定义过的符号地址。
1.位数据传送指令(2条)
MOV C,bit MOV bit,C
上述指令把源操作数指定的变量传送到目的操作数指定的单元中。第二条指令若是对I/O口的位进行操作,则也是“读-改-写”操作。
2.位状态控制指令(6条)
CLR C CLR bit CPL C
CPL bit SETB C SETB bit
上述指令的功能是分别对进位标志和直接寻址进行清0、求反以及直接位地址是I/O口的某一位时,也具有“读-改-写”功能。
3.位逻辑运算指令(4条)
ANL C,bit ANL C,/bit
ORL C,bit ORL C/bit
上述指令的功能是将位累加器C的内容与直接位地址的内容或直接位地址内容的反进行逻辑与、逻辑或,结果仍送回C中。
4.位条件转移指令(5)
JC rel JNC rel
JB bit,rel JNB bit,rel
JBC bit,rel
上述指令的功能分别是判别进位位C和直接位地址的内容是“1”还是“0”,以此来决定程序的走向。最后一条指令的功能是:若直接位址的内容为“1”则转移,并且同时将该位清0,否则顺序执行。这条指令若是对I/O口某一位操作,也具有“读-改-写”功能。
⑻ sf36量表的PCS和MCS怎么计算
教育科研活动是个探索未知领域的活动,并无既定模式和途径可循,在一定意义上可以讲,教育科研活动均属创造性活动。为了保证教育科研活动越发卓有成效,为了给进一步开展教育科研活动提供可靠依据,在每一科研活动终端都撰写报告或论文是十分必要的。