零基础入门1
新建工程
1.选择AT89C52
2.选择魔方棒
选择OUTPUT,勾选hex文件
3.在品字型
文件名 User/Dirver 附属文件
编写程序
1.右键点击User栏添加用户主程序main.c
2.右键引用51头文件
3.编写程序主体框架
4.依据原理图编写主程序
#include <REGX52.H>
void main()
{
while(1)
{
}
}
认识LED原理图
VCC为电源,DB1-DB8为引脚,给0为亮
LED代码(1是灭,0是亮)
1.对P1口整体赋值
二进制的八位数字中,LED灯从右到左进行赋值,第一个灯是八位数字的最右一位
P1=0XAA;//1010 1010 1-亮 2-灭 3-亮 4-灭 5-亮 6-灭 7-亮 8-灭
2.对P1的8个I口进行赋值
P1_0=0;//点亮第一个灯
P1_7=0;//点亮最后一个灯
Delay函数
1.打开stc-isp
2.选择软件延时计时器
系统频率 12.000MHz
定时长度 1 毫秒
8051指令集 STC-Y1
void Delay(unsigned char xms) //@12.000MHz
{
unsigned char i, j;
while(xms--)
{
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
}
}
LED流水灯
1.对P1的I口赋值
P1_3=1;
P1_0=0;
Delay(500);
P1_0=1;
P1_1=0;
Delay(500);
P1_1=1;
P1_2=0;
Delay(500);
P1_2=1;
P1_3=0;
Delay(500);
2.对P1赋值
P1=0xFE;//1111 1110
P1=0xFD;//1111 1101
P1=0xFB;//1111 1011
3.通过内置函数库
#include <intrins.h>
unsigned char ucLed=0xfe;
unsigned int time=1000;
void main()
{
while(1)
{
ucLed=_crol_(ucLed,1);//左移一位 _cror_ 右移一位
P1=ucLed;
Delay(time);
time=time-100;
}
}