1.PSW位没有常用不常用之分,如果汇编的话都会经常用到。
2.用中断要完成的工作这要看你用哪些中断了,要是外部中断那就先开中断(包括总中断和用到的外部中断),再设置好外部中断的触发方式。要是定时器(或串口),就先初始化定时器(或串口),再开中断
3.内部256B分为五部分,从00H--1FH是工作寄存器组,20H--2FH为可位寻址区,30H--7FH为用户ram区,80H--FFH为对应两部分,一个是SFR(特殊功能寄存器区)直接寻址,另一个是用户RAM区R0或R1间址。
RS1,RS0为01H时,选择的是工作寄存器组1,由于工作寄存器地址从00H开始是第0组,每组共8Byte,所以第一组的R1为08H,R2为09H
4.位地址和字节地址是可以跟据指令来区别的,如:MOV C,7CH MOV A,7CH能看出前着为位操作,后着为字节操作
5.作为定时器用是,脉冲频率就是机器周期。作为计数器时脉冲肯定就是外部要计数的脉冲了。作为定时器用时,定时器时间与初值有关TH TL值。
6.说不太准,好像有与ram统一编址或单独编址之分,mcs51属统一编址
7. MOV R0,#40H ;将数40H送到R0
MOV A,@R0 ;以R0里的数为地址进行间址,即将40H值送A
INC R0 ;R0加一指向41H
ADD A,@R0 ;A与R0指向的址地(41H)的值相加
INC R0 ;R0指向42H
MOV @R0,A ;将上面相加的结果放42H地址处
CLR A ;清零A
ADDC A,#0 ;带标志位加,由于都清了零,加的也是0,功能只是将标志伴的值取出了
INC R0 ;R0指向43H
MOV @R0,A ;将标志位的值放到43H处
SJMP $ ;跳转到当前地址,程序结束,一直在这跳
END
功能和结果一目了然 |