LED灯(P0控制)
推荐学习路线:
C语言→51单片机(蓝桥杯单片机)→数据结构→32位单片机(蓝桥杯嵌入式)→电子设计竞赛→Linux(arduino,ESP32,fsp32,FPGA,树莓派选学)
基础知识巩固
C语言基础
- code int a=9,直接到RAM中储存,占用较少的内存
- sfr关键字:寄存器赋值给一个变量 sfr P0=0x80( 0x80的地址赋给P0)
- sbit位操作:将sfr具体位赋值给一个变量 (P0的第三个位置sbit L3=P0^3)
- 用无负号定义unsigned int(0~65535)与unsigned char(0~255)
- 俩个.c文件,若要调用相同变量,➕extern(全局声明)
- 局部变量与全局变量
- 移位操作符:操作二进制数值11100111≤1(左移一位) 八位格子不动,数值向左移动 11001110空的位置变成0
- 位操作符(二进制):
&与 (有0为0)(表达式中间使用)
‖ 或 (有1为1)
^异或(相同为0,不同为1)
0011 &1010 → 0010
0101 ‖1101 → 1101
(相同位置进行比较)
|或 &与(数字中间使用)
- 单目操作符:
!1=0 ;!0=1逻辑反操作符
~1011001=0100110
- 进制转换(大转小,除2或者每位展开):
①二进制转换十六进制:二进制数从低位到高位四位一组,0101 0101=0X55
②二进制转换八进制:三位一组
③ 十六进制转换二进制,每位展开 AB=
A(10)=1010
B(11)=1011
AB=1010 1011
单片机原理
我是在note笔记中写好的,这里直接截图啦
这里的hc573做解释:
注意:引脚的赋值
初学代码展示
①led控制显示
代码第24行解释:
0xff为全是1,高电平;0x00为全是0,低电平(此为十六进制)
②从左到右依次点亮
P0=P0<<1,P0随着改变
③从左到右,从右到左,依次点亮
④从俩边到中间依次点亮