学习单片机实际上就是学习如何操作寄存器。
51单片机使用sfr来定义具有特殊功能的寄存器。
如:sfr P1 = 0x90;
如果你想使用P1口的第1位来点亮LED灯,假设高电平点亮,可以这样做:
法一:
sfr P1 = 0x90;//定义P1寄存器的地址
sbit P1.0 = 0x90;//定义P1寄存器的第一位的地址
P1.0 = 1;//点亮LED灯
法二:
sfr P1 = 0x90;//定义P1寄存器的地址
sbit LED = P1^0;
LED = 1;
下面为一些常用寄存器:
符号 | 描述 | 地址 |
---|---|---|
P0 | Port0 | 0x80 |
P1 | Port1 | 0x90 |
P2 | Port2 | 0xA0 |
P3 | Port3 | 0xB0 |
P4 | Port4 | 0xE8 |
PCON | 电源控制寄存器 | 0x87 |
TCON | 定时器控制寄存器 | 0x88 |
TMOD | 定时器工作模式寄存器 | 0x89 |
TL0 | 定时器0低八位寄存器 | 0x8A |
TL1 | 定时器1低八位寄存器 | 0x8B |
TH0 | 定时器0高八位寄存器 | 0x8C |
TH1 | 定时器1高八位寄存器 | 0x8D |
SCON | 串口控制寄存器 | 0x98 |
SBUF | 串口数据缓冲器 | 0x99 |
IE | 中断允许寄存器 | 0XA8 |
SADDR | 从机地址控制寄存器 | 0xA9 |
IPH | 中断优先级寄存器高 | 0XB7 |
IP | 中断优先级寄存器低 | 0XB8 |
WDT_CONTR | 看门狗控制寄存器 | 0XE1 |