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

前言

前不久报名了合泰杯竞赛项目,然后手上也是有一个HT66F2390的开发板,我就打算先从点灯开始,学习一个新的芯片第一步都是先成为点灯大师。

一开始,我在网上搜寻了许多的代码示例,希望能够顺利实现LED的控制。然而,尴尬的是,这些我找到的例程无一例外都未能成功运行。更让我困扰的是,关于如何烧录程序到开发板上的信息寥寥无几,我虽然知道如何编译和调试代码,却对于如何实际点亮LED一无所知。网上相关的完整详细教程非常稀缺,这使得我不得不自己摸索,经过一番努力并参考了一些类似的文章和资料后,我终于掌握了点亮LED的方法。

基于我个人的这段经历,我深刻意识到了对于初学者而言,拥有一份完整详尽的指南是多么的重要。因此,我决定编写这份教程,希望能为同样走在学习路上的朋友们提供一份全面的指导,让大家能够一次性成功实现LED的点亮,而不必像我一样经历许多不必要的弯路。

那么接下来我将会详细的去展示整个过程

创建工程

第一步那肯定是下载IDE啦

安装过程很简单,几乎都是直接点"继续"这里不赘叙了
官网HT_IDE30000 V8.1.5仿真器下载

第二步看别人的教程是下载烧录器,但是我没有烧录器,我用是USB数据线(要是数据线,一般的usb线可能不行),所以看情况下载,我这里就不说烧录器使用方法了
烧录器HOPE3000 V3.6.2下载

使用介绍(创建工程)

1.新建工程



2.创建文件添加



这样子就完成啦

测试代码

c 复制代码
#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

代码讲解

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

c 复制代码
#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这样的

c 复制代码
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

小结

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

相关推荐
深圳市青牛科技实业有限公司13 分钟前
【青牛科技】应用方案|D2587A高压大电流DC-DC
人工智能·科技·单片机·嵌入式硬件·机器人·安防监控
Mr.谢尔比1 小时前
电赛入门之软件stm32keil+cubemx
stm32·单片机·嵌入式硬件·mcu·信息与通信·信号处理
LightningJie1 小时前
STM32中ARR(自动重装寄存器)为什么要减1
stm32·单片机·嵌入式硬件
西瓜籽@2 小时前
STM32——毕设基于单片机的多功能节能窗控制系统
stm32·单片机·课程设计
远翔调光芯片^138287988724 小时前
远翔升压恒流芯片FP7209X与FP7209M什么区别?做以下应用市场摄影补光灯、便携灯、智能家居(调光)市场、太阳能、车灯、洗墙灯、舞台灯必看!
科技·单片机·智能家居·能源
极客小张5 小时前
基于STM32的智能充电桩:集成RTOS、MQTT与SQLite的先进管理系统设计思路
stm32·单片机·嵌入式硬件·mqtt·sqlite·毕业设计·智能充电桩
m0_739312878 小时前
【STM32】项目实战——OV7725/OV2604摄像头颜色识别检测(开源)
stm32·单片机·嵌入式硬件
徐嵌9 小时前
STM32项目---水质水位检测
stm32·单片机·嵌入式硬件
徐嵌9 小时前
STM32项目---畜牧定位器
c语言·stm32·单片机·物联网·iot
lantiandianzi10 小时前
基于单片机的老人生活安全监测系统
单片机·嵌入式硬件·生活