合泰杯开发板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); //延时500msLED2  = 1; // 将LED1设置为高电平LED1 = 1;  // 然后立即将LED1设置为低电平delay(50000);//延时500msLED2  = 0; // 将LED2设置为低电平 关闭LED2LED1 = 0;   // 将LED1设置为低电平 关闭LED1delay(50000);//延时500mswhile(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

小结

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于事件触发机制的孤岛微电网二次电压与频率协同控制MATLAB仿真模型

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 本模型质量非常高&#xff0c;运行效果完美。本模型为4机并联孤岛系统&#xff0c;在下垂控制的基础上加入二次控制&#xff0c;二次电压与频率协同控制策略利用事件触发的方法来减少控制器的更新次数。该方法…

C++ //练习 9.16 重写上一题的程序,比较一个list<int>中的元素和一个vector<int>中的元素。

C Primer&#xff08;第5版&#xff09; 练习 9.16 练习 9.16 重写上一题的程序&#xff0c;比较一个list中的元素和一个vector中的元素。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /**********************************…

【刷题】leetcode 1544.整理字符串

刷题 1544.整理字符串思路一&#xff08;模拟栈速解版&#xff09;思路二 &#xff08;原地算法巧解版&#xff09;思路三&#xff08;C栈版&#xff09; Thanks♪(&#xff65;ω&#xff65;)&#xff89;谢谢阅读&#xff01;&#xff01;&#xff01;下一篇文章见&#xff…

数据结构与算法|线性结构

数据结构与算法|线性结构 第二章 线性结构2.1 多项式表示2.2 什么是线性表2.3 线性表的实现方式2.3.1 线性表的顺序存储实现2.3.2 线性表的链式存储实现1. 单链表实现2. 双链表实现 上篇&#xff1a;第一章、绪论 第二章 线性结构 线性结构是数据结构中最基础的&#xff0c;也…

Rider 2023:打造高效.NET项目的智能IDE,让开发更简单mac/win版

JetBrains Rider 2023激活版下载是一款专为.NET开发者打造的强大集成开发环境&#xff08;IDE&#xff09;。这款IDE提供了丰富的功能&#xff0c;旨在帮助开发者更快速、更高效地编写、调试和测试.NET应用程序。 Rider 2023 软件获取 Rider 2023在保持了其一贯的智能代码补全…

如何下载B站高清视频、音频到本地?

在B站上找到了喜欢的视频&#xff1f;想要将它保存到本地或者与朋友分享&#xff1f;本文将向您详细介绍一种简单而有效的方法&#xff0c;帮助我们轻松下载并导出B站视频&#xff0c;以便随时欣赏或分享。 一、如何下载并导出B站视频&#xff1f; 手机端/平板端 第一步&…

排序(9.17)

1.排序的概念及其运用 1.1排序的概念 排序 &#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性 &#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记…

STM32通用定时器输入捕获

通用定时器输入捕获部分框图介绍 通用定时器输入捕获脉宽测量原理 要测量脉宽的高电平的时间&#xff1a;t2-t1&#xff08;脉宽下降沿时间点-脉宽上升沿时间点&#xff09; 假设&#xff1a;递增计数模式 ARR&#xff1a;自动重装载寄存器的值 CCRx1&#xff1a;t1时间点CCRx…

Ubuntu22.04环境下载安装中文搜狗输入法

0、查看CPU系统架构 确定架构后&#xff0c;下载对应的安装包&#xff0c;否则无法正常安装应用程序 1、进入搜狗拼音输入法官网&#xff0c;下载搜狗输入法 搜狗输入法-首页搜狗拼音输入法官网下载&#xff0c;荣获多个国内软件大奖的搜狗拼音输入法是一款打字更准、词库更大…

MySQL基础(二)

文章目录 MySQL基础&#xff08;二&#xff09;1. 数据库操作-DQL1.1 介绍1.2 语法1.3 基本查询1.4 条件查询1.5 聚合函数1.6 分组查询1.7 排序查询1.8 分页查询1.9 案例1.9.1 案例一1.9.2 案例二 2. 多表设计2.1 一对多2.1.1 表设计2.1.2 外键约束 2.2 一对一2.3 多对多2.4 案…

计网Lesson15 - TCP可靠传输

文章目录 1. 停止等待ARQ协议2. 连续ARQ协议与滑动窗口协议 1. 停止等待ARQ协议 ARQ&#xff08;Automatic Repeat–reQuest&#xff09;自动重传请求 几种重传情况 发送端丢失 发送方过久没有接收到接收方的确认报&#xff0c;这种情况会触发超时重传机制&#xff0c;发送方…

【统计分析数学模型】判别分析(四):机器学习分类算法

【统计分析数学模型】判别分析&#xff08;四&#xff09;&#xff1a;机器学习分类算法 一、机器学习分类算法1. 交叉验证方法2. 案例数据集3. 数据标准化 二、决策树模型1. 基本原理2. 计算步骤3. R语言实现 三、K最邻近分类1. 基本原理2. K值的选择3. R语言实现 四、支持向量…