合泰单片机开发

文章介绍了基于HT66F2390的ESK-303开发板,强调其内嵌的e-LinkLite功能和不同工作模式。通过示例代码展示了如何控制LED、实现流水灯效果,并简要提到了定时器、按键输入、外部中断、串口通信和PWM输出等基本功能的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 简介

ESK-303 是为 HT66F2390 设计的快速入门开发板

2.主要特点:

● 内嵌的 e-Link Lite 具备 OCDS 与 ICP 功能

● 提供两种工作电压: 3.3V、 5V

● HT66V2390 I/O 口均扩展出接口● 振荡器类型:

♦ 外部高速晶振 – HXT

♦ 内部高速 RC – HIRC

♦ 外部 32.768kHz 晶振 – LXT

♦ 内部 32kHz RC – LIRC

● 完全集成内部 8/12/16MHz 振荡器,无需外接元器件

● 多种工作模式:快速、低速、空闲和休眠

● 所有指令都可在 1~3 个指令周期内完成

● 查表指令

● 115 条功能强大的指令系统

● 16 层堆栈

● 位操作指令



HT-IDE3000

HOPE3000 For e-Link。

2.LED

新建一个工程

LED1接的是PH0,LED2接的是PH1

#include "HT66F2390.h"

#define LED  _phc   //定义LED 为使能寄存器phc
#define LED1  _ph0  //定义LED的输出IO口
#define LED2  _ph1
void main() 
{
    _wdtc=0b10101111;                //关闭看门狗
    LED=0;  //使能PHC寄存器为输出模式
    while(1)
    {
        LED1=1;  //LED1为高电平,
    }

}

3.流水灯

写入流水灯编程代码代码

头文件:

//MyType.h头文件
 
typedef    unsigned char    u8;
typedef    char            s8;
typedef    unsigned short    u16;
typedef    short            s16;
typedef    unsigned long    u32;
typedef    long            s32;
 
#include <HT66F2390.h>
#include "MyType.h"            
#define LED_Port  _pg                //宏定义引脚    
#define LED_PortC _pgc                  //宏定义引脚属性的方向
 
void Delayms(u16);                    //延时函数                        
void main()
{    _wdtc=0b10101111;                //关狗
    LED_PortC=0x0;                    //设置 LED_Port 为输出模式
    LED_Port=0xFE;                    //设置 LED_Port 初值
    
    while(1)
    {    while(LED_Port & 0b10000000)        //若MSB不为0返回继续
        {    Delayms(500);
            GCC_RL(LED_Port);                //左移
        }
        while(LED_Port & 0b00000001)        //若LSB不为0返回继续    
        {    Delayms(500);
            GCC_RR(LED_Port);                //右移
        }                
    }
}
void Delayms(u16 del)                        //延时del*200指令周期
{    u16 i;                            //fSYS=8MH,延时del*1ms
    for(i=0;i<del;i++) GCC_DELAY(2000);
}    

PLAN TWO

延迟函数的生成(一)
  1. 点击工具,再点击V3代码生成器,会出来如下窗口。代码类型再选择Delay函数。

机器周期=4*1/8000000=0.5us。即一句asm(“nop”)延时了0.5us。unsigned long型数据范围为 0~4294967295

延迟函数的生成(二)
//利用HT-3000IDE的内置延迟函数GCC-DELAY,一条语句的延迟时间为0.5微秒,故GCC-DELAY(2000)就是1毫秒的延迟。
void delay(unsigned long k)   //毫秒延迟函数
{
    unsigned long i;
    for(i=0;i<=k;i++)
    {
        GCC_DELAY(2000);        
    }
}

两个灯的交替闪烁代码
#include "HT66F2370.h"    //引入芯片的头文件
/*
宏定义LED1为PH0,LED2为PH2,具体还是看开发板的原理图
*/
#define LED _phc
#define LED1 _ph1        
#define LED2 _ph0

/*
利用内置的延迟函数来创建延迟函数
*/
void delay(unsigned long count)   //延迟函数
{
    volatile unsigned long i;    
    for(i=0;i<count;i++)
      GCC_DELAY(2000);  
}

void main()
{
    LED=0x0;   //使能PA端口为输出模式
  while(1)
  {
      LED1=0;         //先LED1亮,亮一段1s后LED1灭,LED2亮,一直循环整个过程
      LED2=1;
      delay(1000);
      LED1=1;
     LED2=0;    
      delay(1000);
  }
}
//所谓带进位左移的具体功能就是原操作数最高位移入进位标志CF,其余各位依次左移1位,CF原值移入操//作./数最低位。指令执行前,CF=0, AL =10111001 =B9H,执行 RCL AL,1结果 CF=1,AL =01110010 =72H所以的想的代码是(延时函数还是不变的)
void main()
{
    _pac=0x0;
    _pa=0xff;
    while(1)
    {
        GCC_RLC(_pa);
        delay(66666);    
    }

}

4,定时器详解

(104条消息) 合泰杯 | 合泰单片机入门 定时器详解(三)_嵌入式RTOS圈的博客-CSDN博客_合泰bs87d20a-3定时器

(104条消息) 合泰杯——合泰单片机工程6之定时器中断_yijianpeng的博客-CSDN博客_合泰 定时器中断

5按键输入

(104条消息) 合泰杯——合泰单片机工程3之按键输入_yijianpeng的博客-CSDN博客

6外部中断

(104条消息) 合泰杯——合泰单片机工程4之外部中断_yijianpeng的博客-CSDN博客_合泰单片机外部中断

7.串口通信

(104条消息) 合泰杯——合泰单片机工程5之串口通信_yijianpeng的博客-CSDN博客_合泰单片机串口通信

8PWM

(104条消息) 合泰杯——合泰单片机工程7之PWM输出_yijianpeng的博客-CSDN博客__ptm##n##c0

### 合泰单片机开发工具及相关软件 对于合泰单片机开发工作,开发者通常需要一系列特定的工具和软件来完成编程、调试以及下载操作。以下是关于合泰单片机 HT66F2390 和 HT32 的开发环境搭建所需的主要工具及其功能说明。 #### 1. 烧录工具 用于将编写的程序写入单片机芯片中的是 e-Link Lite 工具[^1]。此设备作为硬件支持的一部分,在整个开发流程中起到至关重要的作用。它通过 USB 接口连接至计算机,并提供稳定的通信链路以便于程序传输到目标单片机上。 #### 2. 单片机主体 合泰单片机本身即为核心组件之一。这里提到的具体型号为 HT66F2390 ,属于高性能8位微控制器系列,适用于多种嵌入式应用场景。 #### 3. 开发环境IDE 针对 HT32 系列单片机,推荐使用 AC6 提供的基于 Eclipse 平台定制化版本—— **HT32CubeIDE** 或者 Keil MDK 这样的集成开发环境 (Integrated Development Environment, IDE)[^2] 。这些环境中包含了编辑器、编译链接器以及其他辅助插件,极大地方便了用户的日常编码活动。 #### 4. 固件库与示例工程 为了加速产品原型设计过程并降低学习门槛,厂商还提供了丰富的固件资源文件夹 `HT32_STD_5xxxx_FWLib_V1.3.4_6737.zip` 中包含了大量的标准外设驱动函数以及典型应用实例代码片段。初学者可以直接修改已有模板来进行初步验证实验而无需从零构建完整的解决方案框架结构。 #### 5. 配置方法概述 建立一个新的工程项目时可能会遇到一定难度级别上的挑战;然而如果能够灵活运用上述提及过的官方资料,则完全可以克服这一障碍。具体而言就是参照文档指南逐步调整参数设置直至满足实际需求为止。 ```c // 示例 C 文件初始化 GPIO 口配置 #include "ht32fxxx.h" void GPIO_Configuration(void){ // 设置 PA0 输出模式 GPIO_InitTypeDef GPIO_InitStruct; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE); GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA,&GPIO_InitStruct); } ``` 以上展示了如何利用头文件定义好的宏指令快速实现通用输入/输出端口的功能设定。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值