马上考试了,各位大神,大仙帮帮忙,单片机的问题。 50
简答,1单片机有什么特点。2,内部RAM低128个单元划分为哪几个主要部分?各占多少个存储单元?地址范围如何?3,89C51单片机有哪几种寻址方式?489C51单片机内部...
简答,1 单片机有什么特点。2,内部RAM低128个单元划分为哪几个主要部分?各占多少个存储单元?地址范围如何? 3,89C51单片机有哪几种寻址方式? 4 89C51单片机内部设有几个定时 计数器?他们是有哪些特殊功能寄存器组成?
1,已知(30H)=40H,(40H)=10H,(10H)=32H,(P1)1=EFH,试写出执行以下程序段后有关单元格的内容。
MOV RO #30H
MOV AM @R0
MOV R1,A
MOV B,@R1
MOV @R1,P1
MOV P2,P1
MOV 10H,#20H
MOV 30H,10H
2,已知(A)=58H (R1)=40H,(40H)=C3H,(PSW)=81H,试写出各条指令单独执行结果
(1)SWAP A
(2)ADD A, 40H
(3)ADD A, #40H
(4)SUBB A, 40H
(5)SUBB A, #40H
3,为下列程序加注释
ORG 0400H
MOV R0,#30H
MOV R1,#40H
CLR C
LOOP:MOV A,@R0
ADDC A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R2, LOOP
CLR A
ADDC A, #00H
MOV @ROA
END
1.编写16位二进制数求补程序。设16为二进制数存放在R1、R0中,求补以后的结果存放于R3、R2中。
2.设变量X存放在内部RAM3OH 单元,函数值Y存入内部RAM31H单元试编程,按照下式的要求给Y赋值。
1 X>0
Y={ 0 X=0
-1 X<0
3.编写查找最大值程序。假设从内部RAM30H 单元开始存放10个无符号数,找出其中最大值送入内部RAM的MAX单元。 展开
1,已知(30H)=40H,(40H)=10H,(10H)=32H,(P1)1=EFH,试写出执行以下程序段后有关单元格的内容。
MOV RO #30H
MOV AM @R0
MOV R1,A
MOV B,@R1
MOV @R1,P1
MOV P2,P1
MOV 10H,#20H
MOV 30H,10H
2,已知(A)=58H (R1)=40H,(40H)=C3H,(PSW)=81H,试写出各条指令单独执行结果
(1)SWAP A
(2)ADD A, 40H
(3)ADD A, #40H
(4)SUBB A, 40H
(5)SUBB A, #40H
3,为下列程序加注释
ORG 0400H
MOV R0,#30H
MOV R1,#40H
CLR C
LOOP:MOV A,@R0
ADDC A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R2, LOOP
CLR A
ADDC A, #00H
MOV @ROA
END
1.编写16位二进制数求补程序。设16为二进制数存放在R1、R0中,求补以后的结果存放于R3、R2中。
2.设变量X存放在内部RAM3OH 单元,函数值Y存入内部RAM31H单元试编程,按照下式的要求给Y赋值。
1 X>0
Y={ 0 X=0
-1 X<0
3.编写查找最大值程序。假设从内部RAM30H 单元开始存放10个无符号数,找出其中最大值送入内部RAM的MAX单元。 展开
展开全部
我给你答一下吧!因为大家都是从你这步走过来的,答这些问题可能有些我也忘了,
1.特点。软件控制硬件工作,没有做不到的,只有想不到的。
2.内部RAM,以at89C51为例。RAM的低128个字节空间(00H~7FH)的前32个字节空间分成了4组寄存器组,由PWS(状态字)寄存器RS0和RS1来选择当前工作寄存器;中间16个字节空间(20H~2FH)是可位寻址区;后面80个字节空间(30H~7FH)是堆栈和数据缓存区。此128个字节空间可以直接寻址和间接寻址
3.7种方式寻址。寄存器,直接,寄存器间接,立即,基址寄存器加变址寄存器,相对,位。
4.2个定时器或计数器T1和T2,它们复用,通过寄存器控制。相关的寄存器。TCON,TMOD,IP,EA,
5.R0=30;A=40;R1=40;B=10;(40H)=EF;P2=EF;(10H)=20;(30H)=20;全为16进制,时间短,不小得有没有错。自己理解。
6.SWAP A,A=85;ADD A, 40H A=58+C3;A, #40H a=58+40;后面个相似。
7。
ORG 0400H 入口
MOV R0,#30H 将立即数送入R0;
MOV R1,#40H 同上。
CLR C 清零C
LOOP:MOV A,@R0 将间接寄存器寻址的数送入A,且做好LOOP的标号
ADDC A,@R1 带进位加法,寻址方式同上。
MOV @R0,A
INC R0
INC R1
DJNZ R2, LOOP 减1判断,然后跳转。
CLR A
ADDC A, #00H
MOV @RO A
END 结束。
8.不好意思,用汇编我不会编,我用的C,方法,将它们位取反后加1为二的补数。
9.题意看不明白,答不了。
10.
#include <REGX52.H>
unsigned char maxnum(unsigned char *pp);
void main(void)
{
unsigned char *p,max;
p=0x30;
while(1)
{
max=maxnum(p);
}
}
unsigned char maxnum(unsigned char *pp)
{
unsigned char a,temp;
for(a=0;a<10;a++)
{
if(temp<=*pp)
temp=*pp;
pp++;
}
return (temp);
}
1.特点。软件控制硬件工作,没有做不到的,只有想不到的。
2.内部RAM,以at89C51为例。RAM的低128个字节空间(00H~7FH)的前32个字节空间分成了4组寄存器组,由PWS(状态字)寄存器RS0和RS1来选择当前工作寄存器;中间16个字节空间(20H~2FH)是可位寻址区;后面80个字节空间(30H~7FH)是堆栈和数据缓存区。此128个字节空间可以直接寻址和间接寻址
3.7种方式寻址。寄存器,直接,寄存器间接,立即,基址寄存器加变址寄存器,相对,位。
4.2个定时器或计数器T1和T2,它们复用,通过寄存器控制。相关的寄存器。TCON,TMOD,IP,EA,
5.R0=30;A=40;R1=40;B=10;(40H)=EF;P2=EF;(10H)=20;(30H)=20;全为16进制,时间短,不小得有没有错。自己理解。
6.SWAP A,A=85;ADD A, 40H A=58+C3;A, #40H a=58+40;后面个相似。
7。
ORG 0400H 入口
MOV R0,#30H 将立即数送入R0;
MOV R1,#40H 同上。
CLR C 清零C
LOOP:MOV A,@R0 将间接寄存器寻址的数送入A,且做好LOOP的标号
ADDC A,@R1 带进位加法,寻址方式同上。
MOV @R0,A
INC R0
INC R1
DJNZ R2, LOOP 减1判断,然后跳转。
CLR A
ADDC A, #00H
MOV @RO A
END 结束。
8.不好意思,用汇编我不会编,我用的C,方法,将它们位取反后加1为二的补数。
9.题意看不明白,答不了。
10.
#include <REGX52.H>
unsigned char maxnum(unsigned char *pp);
void main(void)
{
unsigned char *p,max;
p=0x30;
while(1)
{
max=maxnum(p);
}
}
unsigned char maxnum(unsigned char *pp)
{
unsigned char a,temp;
for(a=0;a<10;a++)
{
if(temp<=*pp)
temp=*pp;
pp++;
}
return (temp);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询