江协科技51单片机学习- p5 LED灯闪烁

前言:

本文是根据哔哩哔哩网站上“江协科技51单片机”视频的学习笔记,在这里会记录下江协科技51单片机开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技51单片机教学视频和链接中的内容。

引用:

51单片机入门教程-2020版 程序全程纯手打 从零开始入门_哔哩哔哩_bilibili

c51语言变量语句意思,C51中循环语句-CSDN博客

正文:

0. 概述

今天 (2024/06/13)在淘宝上购买了江协科技51单片机开发板套件,就上在上一篇博文里说的自己计划学习下江协科技51单片机开发教程,通过STC51单片机这种MCU这种贴近于裸机的开发来增加对于系统硬件层面知识的了解和掌握。

1. LED闪烁

LED闪烁需要使用到延时函数,本节先使用软件延时,在 STC-ISP 软件中,选择“软件延时计算器”,选择系统频率根据自己开发板上的晶振选择,例如我的开发板晶振上标的是11.0592MHz,就选择11.0592MHz,选择8051单片机指令集,选择“STC-Y1”可以看到在勾选“STC-Y1”的时候STC-ISP软件提示“适用于如下系列 STC89Cxx/STC89LExx”和我开发板使用的型号 STC89C52RC 是屁匹配的,延时单位为“毫秒”,生成代码。

系统频率根据自己开发板的晶振选择,我使用的普中A2开发板上晶振标记是11.0592MHz
定时长度选择软件延时单位,这里我选择毫秒
8051指令集根据自己开发板使用的STC芯片型号选择,我使用的普中A2开发板使用的是 STC89C52RC ,选择8051单片机类型为“STC-Y1”可以到看到STC-ISP提示的信息“使用于如下系列:STC89Cxx/STC89LExx”和我开发板使用的芯片型号匹配。

2. 编译器提示缺少‘_nop()_’原型错误解决

将STC-ISP生成的软件延时函数拷贝到Keil5中,点击“编译”,Keil5提示如下告警

告警提示说,缺少'_nop_()'的函数原型声明,这是因为没有包含头文件

main.c(8): warning C206: '_nop_': missing function-prototype

解决方法是在 Keil5 main.c中包换如下头文件,再次编译就是0错误,0告警。 

#include <intrins.h>

 

3. 烧录验证LED灯闪烁

配置STC51单片机闪烁的源码

#include <REGX52.H>
#include <intrins.h>

void Delay500ms()		//@11.0592MHz
{
	unsigned char i, j, k;

	_nop_();
	i = 4;
	j = 129;
	k = 119;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}


void main()
{
	while(1)
	{
		P2 = 0x7F;
		Delay500ms();
		P2 = 0xFF;
		Delay500ms();
	}
}

编译,烧录,

 

编译结果0错误,0告警

使用STC-ISP收录到开发板,提示烧录成功,

观察实验结果,开发板按照500ms的频率开始闪烁

4. Keil5中如何查看当前选择的单片机型号

Keil5中如何查看当前选择的单片机型号,参考如下引用链接:点击Keil5上的小魔法棒,在"Device"选项卡里就可以看到Keil5选择的单片机的型号。

https://www.zhihu.com/question/578368537

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值