本帖最后由 rengran 于 2023-11-21 16:22 编辑
第二、三集的都在第一个帖子的回复里了!这次分享第四集的知识点:
1、 引入头文件:stc32g.h 头文件中定义了STC32G的各个寄存器名称以及每个寄存器字节可以位寻址的位的名称,之所以不直接用寄存器的地址直接操作,原因就在于不方便记忆,记住它们的名字要比记住一串数字要轻松的多。 图4.1 如图4.1中所示,使用关键字sfr定义的就是为某个字节起个名,比如用P0就代表了字节0x80,操作P0就是对地址为0x80的字节进行操作。关键字sbit是为了给某个字节的其中一个位起个名,这样就能够用起的名字操作某个位了,比如P00就代表了地址为0x80的字节的第0位。有些字节不能进行位寻址或者说进行位寻址没有意义,只有一整个字节的8个位在一起才有特定的意义,所以就没有给其中的每一位起个名字,比如图4.1中的字节地址为0x81的字节,只对其进行了字节起名,查STC32G的手册得知,SP代表的意思是堆栈指针。
2、 LED作为一种电流型期间,能法光靠的是电流,因此在设计硬件的时候,要计算流过其的电流值,具体的电流范围需要查询选用的LED参数。电流值设计的过大会损坏LED,电流值过小,LED亮度不够,所以要给LED串上一个合适的电阻,使流过其的电流符合额定的参数。
3、 写程序时,变量和函数在使用之前一定要先定义或者声明,否则就不能使用,因为一旦没有定义或者声明,编译器在编译过程中就会报错,导致编译不通过。函数的定义可以放在使用的地方之后,但是前提是使用之前一定要声明,告诉编译器,使用的这个函数是存在的,使用的时候去某个地方去找就得了。
|