(基于江协科技)51单片机入门:1.LED

目录

新建工程

LED模块原理

程序下载入单片机

LED的闪烁

LED流水灯


新建工程

在写代码前需要新建工程文件,下方为整个操作流程:

点开后出现后出现窗口为,文件准备创建出。可以养成良好习惯在桌面创建个,51单片机入门全流程的大文件,在这个大文件类进行,每个模块,实现的功能分类

此软件没有 STC 的单片机,不过可以选择 AT98C52 和 STC89C52完全一样

确认后会弹出这个界面,不用理会,是和否都可以。我们点否

现在就成功创建了文件 界面如下:

创建完后还有几个准备工作

这个操作关于,程序如果从电脑下载入单片机中,不是一劳永逸的,每次新文件都要勾选

类似最开始的

cpp 复制代码
#include <stdio.h>

LED模块原理

LED模块原理图:

可以观察到,左上角的VCC(正极),一个电子元件要工作就需要电势差,所以最右端,就可以控制和VCC一样的5V电压使LED不工作,可以控制为0V电压使LED工作。

在单片机中,CPU处理好程序信息后可命令寄存器去控制硬件,决定银角的电压

所以要控制LED的亮灭,可以先操控p2寄存器去执行

寄存器读取的是每一位上的值,1为5V,0为0负,

所以点亮一个 LED 为P2 = 1111 1110

需要转化为16进制 为 P2 = FE(大小写都可以)

1.1.点亮LED:

cpp 复制代码
#include <REGX52.H>

int main()
{
	while(1)        // 为了让单片机不重复从头开始执行
	{
		P2 = 0xFE
	}
	return 0;
}

程序下载入单片机

打开STC---ISP软件

一定注意,这里不是单纯的 STC89C52 是 STC89C52RC

如果,版子插在电脑上,这里会自动扫描出,最长的

点击下载后会出现以下界面

这时就要回到现实,去按你版子上的电源键两次

成功后:

LED的闪烁

去STC---ISP软件找到一下模块复制代码上去

2.根据单片机的金振选择频率,金振上有打印

3.改为毫秒 1秒等于1000毫秒

4.更改为 Y1 这和单片机系列相关,能到图中的箭头指向出说明适用的单片机系列

对这个函数进行修改:

cpp 复制代码
void Delay1ms(int num)		// 传参的值为循环次数
{
	while(num--)            // 下面代码每循环一次就是消耗 1 毫秒
	{
	unsigned char i, j;

	_nop_();
	i = 2;
	j = 199;
	do
	{
		while (--j);
	} while (--i);
	}
}

在这个函数中有个 nop(); 有个函数头文件为<intrins.h>

LED闪烁代码:

cpp 复制代码
#include <REGX52.H>
#include <intrins.h>

void Delay1ms(int num)		//@11.0592MHz
{
	while(num--)
	{
	unsigned char i, j;

	_nop_();
	i = 2;
	j = 199;
	do
	{
		while (--j);
	} while (--i);
	}
}


int main()
{
	while(1)
	{
		P2 = 0xFE;
		Delay1ms(1000);    
		P2 = 0xFF;
		Delay1ms(1000);     
	}
	return 0;
}

LED流水灯

cpp 复制代码
#include <REGX52.H>
#include <intrins.h>

void Delay1ms(int num)		//@11.0592MHz
{
	while(num--)
	{
	unsigned char i, j;

	_nop_();
	i = 2;
	j = 199;
	do
	{
		while (--j);
	} while (--i);
	}
}


int main()
{
	while(1)
	{
		P2 = 0xFE;
		Delay1ms(1000);
		P2 = 0xFD;
		Delay1ms(1000);
		P2 =0xFB;
		Delay1ms(100);
		P2 =0xF7;
		Delay1ms(100);
		P2 =0xEF;
		Delay1ms(100);
		P2 =0xDF;
		Delay1ms(100);
		P2 =0xBF;
		Delay1ms(100);
		P2 =0x7F;
		Delay1ms(100);
	}
	return 0;
}
相关推荐
随风而飘1861 天前
KEITHLEY吉时利 2400 数字源表
人工智能·功能测试·科技·测试工具
恒锐丰小瑞1 天前
率能SS8841T 40V/2.5A/双通道H桥驱动芯片,PWM控制接口与低导通电阻(350mΩ),用于POS打印机/安防相机/机器人
单片机·嵌入式硬件·机器人
蓝速科技1 天前
蓝速科技信创落地:平衡安全合规与项目成本的实战方案
android·运维·人工智能·科技·安全·电脑·鸿蒙
zcmodeltech1 天前
钢铁冶金沙盘模型控制系统设计与实现:高炉-连铸-热轧多工序联动方案
分布式·stm32·单片机·嵌入式硬件·交互
徽京人1 天前
VS Code 接入Esp 32步骤
vscode·单片机·嵌入式硬件
QH139292318801 天前
Keysight N5183B N5183B 微波模拟信号发生器
网络·单片机·嵌入式硬件·集成测试·信息与通信
笨笨饿1 天前
#110_SCH3000 平台图传系统配置指南:从 DVP 摄像头到 UVC/WiFi 双通道传输
c语言·stm32·单片机·嵌入式硬件·物联网·vim
千秋岁rr1 天前
5.0 TIM
单片机·嵌入式硬件
qq_401700412 天前
ADC基准电压与参考电压详细解读:以STM32和28335为例
stm32·单片机·嵌入式硬件
蓝速科技2 天前
蓝速科技会议预约屏全尺寸分级适配与智慧工程落地指南
科技