先声明一下,我的是开发板类型是普中51单片机A2类型
点亮一个LED
下一步,看这个教程
使用STC-ISP直接导入单片机头文件
LED灯正极接高电平,负极接低电平才会亮。
CPU通过配置这些控制的寄存器,来控制硬件电路,硬件电路来实现我们想要实现的功能
右键
#include <STC89C5xRC.H>
void main(){
P2 = 0xFE;
}
要打开单片机的开关
LED闪烁
#include <STC89C5xRC.H>
void main(){
while(true){
P2 = 0xFE;
P2 = 0xFF;
}
}
然后烧录文件,但是单片机的速度是MHZ,每秒一百万次
点击复制代码
#include <STC89C5xRC.H>
#include <INTRINS.H>
void Delay500ms() //@12.000MHz
{
unsigned char i, j, k;
_nop_();
i = 4;
j = 205;
k = 187;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main(){
while(1){
P2 = 0xFE;
Delay500ms();
P2 = 0xFF;
Delay500ms();
}
}
接下来,就是烧录文件,观察现象了。
LED流水灯
#include <STC89C5xRC.H>
#include <INTRINS.H>
void Delay500ms() //@12.000MHz
{
unsigned char i, j, k;
_nop_();
i = 4;
j = 205;
k = 187;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main(){
while(1){
P2 = 0xFE;
Delay500ms();
P2 = 0xFF;
Delay500ms();
P2 = 0xFD;
Delay500ms();
P2 = 0xFF;
Delay500ms();
P2 = 0xFB;
Delay500ms();
P2 = 0xFF;
Delay500ms();
P2 = 0xF7;
Delay500ms();
P2 = 0xFF;
Delay500ms();
P2 = 0xEF;
Delay500ms();
P2 = 0xFF;
Delay500ms();
P2 = 0xDF;
Delay500ms();
P2 = 0xFF;
Delay500ms();
P2 = 0xBF;
Delay500ms();
P2 = 0xFF;
Delay500ms();
P2 = 0x7F;
Delay500ms();
P2 = 0xFF;
Delay500ms();
}
}
只给c文件,还是挺有成就感的。
可以设置时间延迟
void Delay1ms(unsigned int xms) //@12.000MHz
{
unsigned char i, j;
while(xms){
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
xms--;
}
}