合泰单片机开发

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值