直接开始
-
新建一个工程
在这里插入图片描述
-
添加文件
-
另存为
-
添加文件到组
-
写下一个超循环系统代码
-
调整编译项编译
可以在工程目录找到编译好的led_fst.hex
自行烧写到各自的开发板。
会看到什么都没有。
-
现在定义一个GPIO端口与小灯的连接,再点亮小灯
c
#include <REGX52.H>
sbit led1 = P0^0;
int main(void)
{
P0 = 1;
while(1)
{
led1 = 0;
}
return 0;
}
请将小灯与P0.0端口接好,我这边是小灯是外接了电源,MCU端口作阴极,所以输出0时小灯连通点亮。
sbit led1= P0^0;
这一句只能是全局变量,不能是局部变量。
- STC89C51RC/RD+ 系列芯片所有IO口有3种工作类型:
- 准双向口(弱上拉) , 在读外部状态前要先锁存为1才能读到正确的外部状态。
- 仅输入(高阻态)
- 开漏输出 (只能输出低电平)
P0 口上电复位后是开漏输出 状态,当P0作为IO时是准双向口模式。
P1/P2/P3上电复位后是准双向口模式。
- 现在做一个流水灯实验
c
#include <REGX52.H>
void delay(int);
int main(void)
{
int i;
while(1)
{
for(i=0;i<8;++i)
{
P0 = ~(0x1 << i);
delay(0xffff);
}
}
return 0;
}
void delay(int duration)
{
while(duration--);
}
自行接线。