1、单片机内部资源
以AT89C51单片机为例,参考数据手册。
Atmel官网:
https://www.microchip.com/
(1)1个8位CPU。
(2)4K ROM,128字节RAM。
(3)32个GPIO;定时器(Timer);串口(UART);中断系统(Interrupt)。
(4)单片机引脚: (40PIN)
4*8= 32PIN + VCC VSS(电源) + XTAL1 XTAL2(晶振) + PSEN ALE EA RST
PSEN引脚:外部程序存储器选通信信号输出引脚。(当程序存储在扩展ROM中时才会用到)
ALE引脚:地址锁存使能引脚用于输出脉冲,用于在访问外部存储器期间锁存地址的低字节。
(5)单片机框图
2、ROM的分配
(1)中断向量地址:00H -- 23H,不同芯片查询中断向量表。
(2)用户程序:后面地址
3、RAM的分配
(1)128字节对应地址:00H--7FH
(2) 工作寄存器区(R0-R7):00H-1FH,分为四块。
(3)位寻址区:20H-2FH
(4)通用RAM区:30H-7FH
(5)特殊功能寄存器(SFR):80H-FFH
(6)RAM大于128字节时,采用间接寻址。
使用不同的汇编指令进行区分。
(7)高128字节的RAM只能间接寻址,特殊功能寄存器只可直接寻址。
(8)特殊功能寄存器:
ACC; B; PSW; SP; DPTR; PC;
P0-P3; SBUF ......
4、时钟
(1)晶振周期:晶振的振荡周期,也就是晶振震动一次所花的时间,比如1MHz晶振震荡周期是 1/1MHz(1/1000000)s,也就是1微妙。一般也称为振荡周期。
(2)机器周期:机器周期也称为CPU周期。在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段(如取指、译码、执行等),每一阶段完成一个基本操作。完成一个基本操作所需要的时间称为机器周期。12T即 12*振荡周期 = 机器周期。
(3)指令周期,一条指令执行需要1-4条机器周期。
晶振为12MHz举例:
晶振周期:1/12MHz = 1/12000000 S
机器周期:12/12000000S = 1uS