合泰杯开发板HT66F2390入门教程(点亮LED灯)——获得成就:点灯大师

前言

前不久报名了合泰杯竞赛项目,然后手上也是有一个HT66F2390的开发板,我就打算先从点灯开始,学习一个新的芯片第一步都是先成为点灯大师。
一开始,我在网上搜寻了许多的代码示例,希望能够顺利实现LED的控制。然而,尴尬的是,这些我找到的例程无一例外都未能成功运行。更让我困扰的是,关于如何烧录程序到开发板上的信息寥寥无几,我虽然知道如何编译和调试代码,却对于如何实际点亮LED一无所知。网上相关的完整详细教程非常稀缺,这使得我不得不自己摸索,经过一番努力并参考了一些类似的文章和资料后,我终于掌握了点亮LED的方法。
基于我个人的这段经历,我深刻意识到了对于初学者而言,拥有一份完整详尽的指南是多么的重要。因此,我决定编写这份教程,希望能为同样走在学习路上的朋友们提供一份全面的指导,让大家能够一次性成功实现LED的点亮,而不必像我一样经历许多不必要的弯路。
那么接下来我将会详细的去展示整个过程
在这里插入图片描述

创建工程

第一步那肯定是下载IDE啦
安装过程很简单,几乎都是直接点“继续”这里不赘叙了
官网HT_IDE30000 V8.1.5仿真器下载
第二步看别人的教程是下载烧录器,但是我没有烧录器,我用是USB数据线(要是数据线,一般的usb线可能不行),所以看情况下载,我这里就不说烧录器使用方法了
烧录器HOPE3000 V3.6.2下载

使用介绍(创建工程)

1.新建工程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.创建文件添加

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样子就完成啦

测试代码

#include "HT66F2390.h" // 包含HT66F2390单片机的头文件,用于访问特定的功能和寄存器

// 定义LED控制宏
#define LED  _phc   // 将宏LED定义为对应控制端口PHC(用于控制GPIO的高低电平)
#define LED2  _ph0  // 将宏LED2定义为对应PH0端口,用作LED的输出端口
#define LED1  _ph1  // 将宏LED1定义为对应PH1端口,同样用作LED的输出端口

void delay(unsigned long count); // 声明延时函数

void main() // 主函数
{
    _wdtc=0b10101111;  // 关闭看门狗计时器,避免它在程序运行时复位单片机
    LED=0;  // 配置PHC寄存器使其端口(此例中为LED控制端口)为输出模式 
    LED1 = 0; // 初始化设置LED1为低电平
    LED2 = 0; // 初始化设置LED2为低电平
    delay(50000); //延时500ms
    LED2  = 1; // 将LED1设置为高电平
    LED1 = 1;  // 然后立即将LED1设置为低电平
    delay(50000);//延时500ms
    LED2  = 0; // 将LED2设置为低电平 关闭LED2
    LED1 = 0;   // 将LED1设置为低电平 关闭LED1
    delay(50000);//延时500ms
    while(1) // 无限循环
    {
        LED1 = 1;  // 将LED1设置为高电平,LED1点亮
        LED2 = 0;  // 同时将LED2设置为低电平,LED2熄灭
        delay(50000); // 延时500ms(这里测量的结果约为500ms)
        
        LED1 = 0; // 将LED1设置为低电平,LED1熄灭LED2点亮
        LED2 = 1;  // 同时将LED2设置为低电平,LED2熄灭
        delay(50000); // 延时500ms
    }
}

void delay(unsigned long count) // 延时函数的实现
{
    volatile unsigned long i;   //的无符号长整型变量i,告诉编译器避免优化
    for(i=0;i<count;i++) // 用for循环实现延时
        asm("nop"); // 执行空操作(no operation),每次循环延时一个周期
}

将上面代码复制到你的IDE的main.c中

这个开发板上有H0,H1 A0 B0等等,然后你看右下角有两个跳帽,换至“PH0-LED2”,另一个也是

然后需要将你的USB连接到开发板上
如果显示连接成功即可,否则换根线试试
在这里插入图片描述
接下来点击编译
在这里插入图片描述
这样则是对的

接下来就是编译调试
点击编译调试,然后需要等一会
在这里插入图片描述

最后你也可以下载试一试,这个你只要下载进去了只需要正常供电就能运行程序,而编译调试则需要usb连接IDE才可以
点击下载运行
在这里插入图片描述

运行后如视频所示

HT66F2390点亮LED

代码讲解

其中代码的注释也比较清楚了

#define LED  _phc   // 将宏LED定义为对应控制端口PHC(用于控制GPIO的高低电平)
#define LED2  _ph0  // 将宏LED2定义为对应PH0端口,用作LED的输出端口
#define LED1  _ph1  // 将宏LED1定义为对应PH1端口,同样用作LED的输出端口

这个开发板上有H0,H1 A0 B0等等,然后你看右下角有两个跳帽,换至“PH0-LED2”,另一个也是
这也是为什么代码需要这样写而不是别的IO口
所以_phc相当于控制这一整个H,_ph0就是H0 IO口
第一二三行宏定义IO口,第一行像51单片机的P2,后面的LED1和LED2类似P2^0和P2_1这样的

void delay(unsigned long count) // 延时函数的实现
{
    volatile unsigned long i;   //的无符号长整型变量i,告诉编译器避免优化
    for(i=0;i<count;i++) // 用for循环实现延时
        asm("nop"); // 执行空操作(no operation),每次循环延时一个周期
}

这个延时函数时用了这个IDE里面有一个代码生成器,挺好用的
在这里插入图片描述
在这里插入图片描述
我测试了delay(50000); // 延时500ms

小结

到这里点灯教程结束了,做完这些我想你已经成为了点灯大师了吧,接下来就是继续学习其他的内容了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/411787.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

敏捷开发——第一次作业:个人简历/登录界面

1. 新建文件夹&#xff0c;用VScode打开 2. 新建文件&#xff0c;后缀设为.html 3. 感叹号自动生成框架&#xff0c; alt b&#xff1a;在默认浏览器中打开&#xff0c;shift alt ↓&#xff1a;向下复制一行 <ul> <li>&#xff1a;无序列表和列表项 <ol>…

进程与线程之线程

首先exec函数族是进程中的常用函数&#xff0c;可以利用另外的进程空间执行不同的程序&#xff0c;在之前的fork创建子进程中会完全复制代码数据段等&#xff0c;而exec函数族则可以实现子进程实现不同的代码 int execl(const char *path, const char *arg, ... …

视频会议参会成员入会时无规律掉线解决方案:奇安信防火墙关闭ALG(反向代理)

【问题描述】 单位组织视频会议&#xff0c;出现很严重的问题是参会人员不能全部入会&#xff0c;多家单位依次都出现这种现象&#xff0c;无法入会的单位不固定。 【问题原因】 抓包查询到上级单位的奇安信防火墙出现了问题。 H323协议和SIP协议的视频流数据包经过防火墙以后…

Jeecg项目部署

说明&#xff1a;Jeecg是一款低代码开发平台&#xff0c;简单说是一款现成的项目&#xff0c;该项目集成了许多功能&#xff0c;我们可以在这个项目之上开发自己的业务代码。 本文介绍Jeecg项目的部署&#xff0c;包括后端jeecg-boot项目、前端vue3项目。前端项目在本地Window…

什么是上网行为审计软件?上网行为审计系统都有什么功能?

上网行为审计软件是指对网络进行监控和管理的一种软件&#xff0c;可以对员工或学生的上网行为进行记录、审计和分析&#xff0c;以便更好地管理网络资源&#xff0c;提高网络安全性和效率。 上网行为审计软件可以帮助企业或学校实现以下功能&#xff1a; 1. 监控上网行为 可…

SSM框架学习笔记07 | Spring MVC入门

文章目录 1. HTTP协议2. Spring MVC2.1. 三层架构2.2. MVC&#xff08;解决表现层的问题&#xff09;2.3. 核心组件 3. Thymeleaf3.1. 模板引擎3.2. Thymeleaf3.3. 常用语法 代码 1. HTTP协议 网址&#xff1a;https://www.ietf.org/ &#xff08;官网网址&#xff09; https:…

Vue-Cropper头像裁剪插件使用

1. 效果预览 2. 插件介绍 官网地址&#xff1a;[GitHub - xyxiao001/vue-cropper: A simple picture clipping plugin for vue](https://github.com/xyxiao001/vue-cropper?fromthosefree.com) 3 . 插件使用 下载插件 npm install vue-croppernext3 . 封装好的代码&#x…

软件实际应用实例,茶楼收银软件管理系统操作流程,茶室计时计费会员管理系统软件试用版教程

软件实际应用实例&#xff0c;茶楼收银软件管理系统操作流程&#xff0c;茶室计时计费会员管理系统软件试用版教程 一、前言 以下软件以 佳易王茶社计时计费管理系统软件V17.9为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、计时计费&…

Nest.js权限管理系统开发(六)新建模块

本文相关文档&#xff1a;NestJS 中文网 创建模块 nest g命令 我们知道一个模块往往包含controller、module、service等文件&#xff0c;为了方便我们创建这些文件&#xff0c;nest cli提供了一些命令&#xff1a; 生成模块 (nest g mo) 以保持代码井井有条并建立清晰的边界…

阿里巴巴Java开发手册解读-黄山版1.7.1

《Java 开发手册》是 Java 社区爱好者的集体智慧结晶和经验总结&#xff0c;经历了多次大规模一线实战的检验及不断完善&#xff0c;整理成册后&#xff0c;众多社区开发者踊跃参与打磨完善&#xff0c;系统化地整理成册&#xff0c;当前的最新版本是黄山版。现代软件行业的高速…

Elasticsearch 创建index库 timeout

问题概述 使用 python 客户端 代码进行创建&#xff0c;【之前成功创建&#xff0c;但是现在出现报错&#xff0c;报错代码es_connection.client.indices.create】 def create_vector_index(dataset_index_name,vector_query_field,query_field):es_connection get_collentio…

【前沿热点视觉算法】-面向显著目标检测的注意区域空间金字塔池网络

计算机视觉算法分享。问题或建议&#xff0c;请文章私信或者文章末尾扫码加微信留言。 1 论文题目 面向显著目标检测的注意区域空间金字塔池网络 2 论文摘要 显著目标检测&#xff08;SOD&#xff09;的最新进展主要依赖于空间空间金字塔池&#xff08;ASPP&#xff09;模块…

java基于微信云开发的智慧校园综合服务(含资讯浏览、场地预约、报修申请、审核管理等功能)微信小程序

java基于微信云开发的智慧校园综合服务&#xff08;含资讯浏览、场地预约、报修申请、审核管理等功能&#xff09;微信小程序 一、演示效果二、流程步骤三、下载链接 一、演示效果 二、流程步骤 1、使用微信小程序官方开发工具导入本项目并开通云开发以及内容管理服务。 2、修…

JANGOW: 1.0.1

kali:192.168.223.128 主机发现 nmap -sP 192.168.223.0/24 端口扫描 nmap -p- 192.168.223.154 开启了21 80端口 web看一下&#xff0c;有个busque.php参数是buscar,但是不知道输入什么&#xff0c;尝试文件包含失败 扫描目录 dirsearch -u http://192.168.223.154 dirse…

Unity中URP下实现水体(水面高光)

文章目录 前言一、实现高光反射原理1、原理&#xff1a;2、公式&#xff1a; 二、实现1、定义 _SpecularColor 作为高光反射的颜色2、定义 _SpecularIntensity 作为反射系数&#xff0c;控制高光反射的强度3、定义 _Smoothness 作为高光指数&#xff0c;用于模型高光范围4、模拟…

python3GUI--酷狗音乐By:PyQt5(附下载地址)

文章目录 一&#xff0e;前言二&#xff0e;展示1.主界面2.乐库3.歌单3.频道4.视频5.我的频道6.视频7.听书8.探索9.其他细节1.搜索中间页2.主菜单3.歌单详情4.托盘菜单 三&#xff0e;心得四&#xff0e;总结 一&#xff0e;前言 之前仿作了几款音乐播放器&#xff0c;有的有功…

使用Scrapy将数据提取到数据库中,进行处理

我们将数据处理的方式&#xff0c;最开始csv文件 再到与数据库建立联系 代码&#xff1a; Spider: import scrapyclass ShuangseqiuSpider(scrapy.Spider):name "shuangseqiu"allowed_domains ["sina.com.cn"]start_urls ["https://view.lottery…

PyTorch深度学习入门与实战

《PyTorch 深度学习入门与实战&#xff08;案例视频精讲&#xff09;》是基于PyTorch 的深度学习入门和实战&#xff0c;结合实际的深度学习案例&#xff0c;由浅入深地介绍PyTorch 在计算机视觉和自然语言处理的相关应用。本书在内容上循序渐进&#xff0c;先介绍了PyTorch 的…

2/26作业

1.link_stack.c #include "link_stack.h" //申请栈顶指针 top_p creat_top() { top_p top (top_p)malloc(sizeof(top_t)); if(topNULL) { printf("空间申请不成功\n"); return NULL; } top->len 0; top->…

Java计划线程池ScheduledThreadPoolExecutor运行流程和源码分析

1. 计划线程池ScheduledThreadPoolExecutor简介 ScheduledThreadPoolExecutor继承自线程池ThreadPoolExecutor&#xff0c;并在其基础上增加了按时间调度执行任务的功能&#xff0c;如果对ThreadPoolExecutor还不是很熟悉&#xff0c;可以阅读一下这篇文章&#xff1a; Java线…