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
功能和結果一目了然 |