一、STC的单片机为啥选AT89C52
STC是中国宏基公司,复制人家的51单片机,,但是人家的Keil不可能在软件上增加你。因此选择AT即可。新建工程选芯片时。
1)新建的源文件XXX.c要记得右键左边的树形文件Add Files To…
2)魔术棒,记得生成.hex文件
3)把Hex下载进进去的那个页面,,,也要进行芯片选择啊。芯片类型选择,不同的芯片结构不一样,因此下载目标要区分。。。
STC51单片机的串口既可以下载程序,又可以做普通串口
AT89S51/52系列就不行
通过单片机内部的ISP程序,直接采用串口下载,干脆直接省掉了几十块前的编程器,下载程序更方便
二、基础例程实验
(1)点亮第一个LED灯
C51数据类型的扩充定义
sfr-特殊功能寄存器的数据声明,声明一个八位的寄存器
sfr16-16位特殊功能寄存器的数据声明
sbit-特殊功能位声明,也就是声明某一个特殊功能寄存器的某一位
bit-位变量声明,当定义一个位变量时可以使用此符号。
三、sbit和#define区别
两者区别大了。
#define 就是通常说的宏定义,它可以将一个资源命名。我看到的有两类应用:
第一:将IO口换一个名字,如:#define LED P2 意思就是将P2口重新命名为LED;
第二:宏定义,将一个语句集合命名,例如:#define goto {ML1=1;ML2=0;MR1=1;MR2=0}
sbit特殊功能寄存器的一个位的声明,如:sbit LED0=P2^0;
看看,完全没有共同之处吧。