合泰杯开发板HT66F2390入门教程(点亮LED灯)——获得成就:点灯高手
在报名参加合泰杯竞赛项目后,我拿到了一个HT66F2390开发板,并决定从点亮LED开始学习这款新芯片。面对网络上大量无法成功运行的代码示例和烧录程序信息的匮乏,我在摸索中终于掌握了点亮LED的方法。这一经历让我深刻认识到了一份完整指南对初学者的重要性。因此,我编写了这份教程,旨在为学习者提供详细的指导,避免走弯路,一次性成功点亮LED。接下来,我将详细展示整个过程。
前言
前不久报名了合泰杯竞赛项目,然后手上也是有一个HT66F2390的开发板,我就打算先从点灯开始,学习一个新的芯片第一步都是先成为点灯大师。
一开始,我在网上搜寻了许多的代码示例,希望能够顺利实现LED的控制。然而,尴尬的是,这些我找到的例程无一例外都未能成功运行。更让我困扰的是,关于如何烧录程序到开发板上的信息寥寥无几,我虽然知道如何编译和调试代码,却对于如何实际点亮LED一无所知。网上相关的完整详细教程非常稀缺,这使得我不得不自己摸索,经过一番努力并参考了一些类似的文章和资料后,我终于掌握了点亮LED的方法。
基于我个人的这段经历,我深刻意识到了对于初学者而言,拥有一份完整详尽的指南是多么的重要。因此,我决定编写这份教程,希望能为同样走在学习路上的朋友们提供一份全面的指导,让大家能够一次性成功实现LED的点亮,而不必像我一样经历许多不必要的弯路。
那么接下来我将会详细的去展示整个过程
创建工程
第一步那肯定是下载IDE啦
安装过程很简单,几乎都是直接点“继续”这里不赘叙了
官网HT_IDE30000 V8.1.5仿真器下载
第二步看别人的教程是下载烧录器,但是我没有烧录器,我用是USB数据线(要是数据线,一般的usb线可能不行),所以看情况下载,我这里就不说烧录器使用方法了
烧录器HOPE3000 V3.6.2下载
这里顺便附上数据手册的链接
合泰官方HT66F2390数据手册
使用介绍(创建工程)
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); // 声明延时函数 10us级别
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
LED1 = 0; // 将LED1设置为低电平,LED1熄灭LED2点亮
LED2 = 1; // 同时将LED2设置为低电平,LED2熄灭
delay(50000); // 延时500ms
}
}
void delay(unsigned long count) //延时级别10us
{
volatile unsigned long i;
for(i=0;i<count;i++)
asm("nop");
}
将上面代码复制到你的IDE的main.c中
这个开发板上有H0,H1 A0 B0等等,然后你看右下角有两个跳帽,换至“PH0-LED2”,另一个也是
然后需要将你的USB连接到开发板上
如果显示连接成功即可,否则换根线试试
接下来点击编译
这样则是对的
接下来就是编译调试
点击编译调试,然后需要等一会
点击运行程序,最后也可以点击最右边的ICP烧录
运行后如视频所示
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;
for(i=0;i<count;i++)
asm("nop");
}
这个延时函数时用了这个IDE里面有一个代码生成器,挺好用的 亲测延时级别是10us
我测试了delay(50000); // 延时500ms
小结
到这里点灯教程结束了,做完这些我想你已经成为了点灯高手了吧,接下来就是成为点灯大师
欢迎阅读下一篇文章
PWM呼吸灯----点灯大师
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)