1. 单片机在通电复位后 8051 内的程序计数器(PC)中的值为‘0000’,所以程序
总是从‘0000’单元开始执行,也就是说:在系统的 ROM 中一定要存在‘0000’这个单
元,并且在‘0000’单元中存放的一定是一条指令
2. 一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP 的初始
值为 07H,这样就使堆栈从 08H 单元开始往后
3. 让一个引脚输出高电平的指令是 SETB,让一个引脚输出低电平的指令是
CLR。因此,我们要 P1.0 输出高电平,只要写 SETB P1.0,要 P1.0 输出低电平,只
要写 CLR P1.0 就可以了。我们得把 SETB P1.0 变为(D2H,90H )[机器做的事了],
把 CLR P1.0 变为 (C2H,90H ),至于为什么是这两个数字,这也是由 51 芯片的设
计者--INTEL 规定的
4. 调用子程序 ACALL 短调用 LCALL 长调用
5. 转移:AJMP 短跳转 LJMP 长跳转 SJMP 相对跳转
6. Regs: R0~R7
7. Sys: a b sp sp-max dptr PC $ states sec
8. Psw: p f1 ov rs fo ac cy
9. RET 子程序返回
10. DJNZ R7,D1;R7—1 如等于 0 则执行 D1 下一行
11. 一个机器周期包括 12 个时钟周期。下面让我们算一下一个机器周期是多长时
间吧。设一个单片机工作于 12M 晶振,它的时钟周期是 1/12(微秒)。它的一个机
器周期是 12*(1/12)也就是 1 微秒。(请计算一个工作于 6M 晶振的单片机,它的
机器周期是多少)。
12. 1 秒=1,000,000 微秒(μs) 1 秒=1000 毫秒(ms)
13. 复位只需要 5ms 的时间就可以了
14. 复位电路的工作原理是:通电时,电容两端相当于是短路,于是 RST 引脚上
为高电平,然后电源通过电阻对电容充电,RST 端电压慢慢下降,降到一定程序,
即为低电平,单片机开始正常工作。
15. MOV P1,#0FFH 将 P1。0~P1。7 都置高电平。同理 MOV P1,#00H 是将它
们都置低电平。
16. A 累加器 B 寄存器。在做乘、除法时放乘数或除数,不做乘除法时,随你怎
么用
17. PSW CY : 进 位标志 AC : 半 进 位 标志
F0:用户标志位 RS1、RS0:工作寄存器组选
择位 0V:溢出标志位 P:奇偶校验位(与汇编相
反)
18. DPTR(DPH、DPL):数据指针
19. SP:堆栈指针。
20. 数据传递类指令(这以包括了所有的寻址方式)
(一)以累加器为目的操作数的指令
MOV A,Rn ;R1~R7 例将工作寄存器 R1 中的值送入 A,R1 中的值保持不变
(寄存器间接寻址)
MOV A,direct ; direct 就是指的直接地址 将 direct 的值送到 A(直接寻址)