当前位置: 首页 > news >正文

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

目录

新建工程

LED模块原理

程序下载入单片机

LED的闪烁

LED流水灯


新建工程

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

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

       

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

 

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

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

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

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

                类似最开始的

#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:

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

程序下载入单片机

                打开STC—ISP软件

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

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

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

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

成功后:

LED的闪烁

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

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

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

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

对这个函数进行修改:

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闪烁代码:

#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流水灯

#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;
}

http://www.dtcms.com/a/410962.html

相关文章:

  • 网上做任务挣钱的网站wordpress首页刷新不变
  • 西安信誉好的做网站的一键网页转app生成器
  • 二手硬件升级实战:5000元Threadripper 3960X AI工作站组装指南
  • 兑吧集团受邀参加2025华康会·DaJK大健康“源头创新·链动未来”创新论坛
  • 关于解决 libwebsockets 库编译时遇到的问题的方法:
  • 做外贸网站空间多少gwordpress 设置 logo
  • 涡街流量计温度数据的协议桥梁:Modbus RTU 转 Profinet 网关的自动化应用
  • 微企点建站效果付费关键词排名工具有哪些
  • VLA自动驾驶方案的设计及实现
  • 深度学习打卡第N7周:调用Gensim库训练Word2Vec模型
  • 18软件测试用例设计方法-错误推测
  • 我市精神文明建设的门户网站是学校网站建设代码
  • IBM开源轻量多模态文档处理模型:Granite-Docling 258M,能执行OCR、文档QA
  • 基于OCR的验证码识别与算术运算解析实践
  • 网站开发 网络工程 哪个好朝天门户网
  • 从零开始WebRTC(一)
  • K230基础-RTC时钟介绍及使用
  • 机器人定位器市场报告:2025-2031 年行业增长逻辑与投资机遇解析​
  • CTFHub RCE通关笔记3:文件包含 php://input
  • 北京做网站建设有发展吗使用wordpress编辑器
  • 我的第一个AI Agent
  • 郑州网站建设公司哪家好做购物网站需要什么资质
  • 【序列晋升】46 Spring Security Kerberos 如何衔接 Boot 自动配置与 RBAC 权限?
  • 哪家做网站的公司大连网络推广公司推荐
  • 苏州高端网站建设设计wordpress自助
  • 社区网站建设费用视频网站怎么做可以播放电视剧
  • 重庆网站建设合肥公司智能建站免费
  • PAT乙级_1041 考试座位号_Python_AC解法_无疑难点
  • vscode使用arcpy-选择arcgis带的python+运行错误解决
  • 呼和浩特市城乡建设网站wordpress 当前主题目录