打印
[通用型号]

合泰单片机入门——IO口操作——转

[复制链接]
743|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
朝生|  楼主 | 2023-1-12 16:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
背景

国产单片机的生态本身就比较差,不像STM32被广泛使用和学习,虽然单片机的原理相同,但是国产的合泰单片机是用自己的编译器和语言,第一次接触难免摸不着北,我也是第一次接触合泰单片机,想以写文章的形式来记录自己的学习过程,也希望国产单片机能被广泛学习和使用。
一、HT-IDE3000创建工程

首先是打开HT-IDE3000,这个是合泰自己的编译器,可以到合泰官网进行下载“https://www.holtek.com.cn/ice”,如果没有连接烧录器和仿真芯片,打开后会弹出提示,可以先忽略,点击取消即可。
在上方点击工程,选择新建工程,这里我用的是HT66F0185的仿真芯片,选择好后下面默认next就好。
到了一些系统配置,如下图,这里是选择系统电压,系统频率等等,一般不需要修改就选择OK就行了。

二、根据芯片数据手册初始化IO口
1.数据手册介绍

第一次使用合泰单片机会挺不习惯的,它的IO口初始化需要自己去操作寄存器,在合泰官网搜索仿真芯片对应的型号,比如我的是HT66F0185,打开手册后找到引脚说明,我这里要使用PA4口,我要将它配置为输出口,这里要注意“ / ”的最后是这个IO口的默认功能,这个PA4口默认是用作AN3表示的是AD转换的通道3,AD转换功能由ACERL寄存器控制,表中也有说明。

在数据手册中查询ACERL寄存器,POR表示上电默认状态,可以看到ACE3的说明,定义默认PA4口为A/D输入。那要将PA4改为输出就得将这个功能关闭。

2.初始化IO口

在初始化时将PA4口的ACERL寄存器置为0就可以将AD采集功能关闭,在写程序时编译器会有提示功能,acerl=0x00是将AD采集功能的引脚全部关闭,也可以使用_ace4=0;只操作PA4口,然后操作pac寄存器,将pa4设置为输出引脚,通过papu寄存器设置PA4是否上拉。写到这里就可以使PA4输出高电平了。
代码如下(示例):
void main()
{
        _acerl=0x00;//先关闭AD采样的功能,_ace4=0;
        _pac=0x00;        //PA口全部输出
        _papu4=1;        //PA4上拉
        _pa4=1;//PA4输出高电平
        while(1)
        {
                GCC_CLRWDT();//看门狗喂狗
                       
        }

}



总结

学习单片机第一课都是从点灯开始,你把灯点亮了吗?
通过基本学习也能看出合泰单片机与STM32的区别还是很大的,STM32提供了库函数给我们使用,合泰是提供了寄存器让我们操作本质是一样的但还是需要简单学习一下怎么操作。

使用特权

评论回复

相关帖子

沙发
backlugin| | 2023-2-2 10:31 | 只看该作者
这个最简单的操作,入门的基础了。

使用特权

评论回复
板凳
minzisc| | 2023-2-2 14:56 | 只看该作者
这个端口为什么可以使用bit操作?

使用特权

评论回复
地板
chenci2013| | 2023-2-4 23:29 | 只看该作者
这个是51内核的吗?              

使用特权

评论回复
5
abotomson| | 2023-2-5 12:52 | 只看该作者
必须使用合泰自己的编译器?              

使用特权

评论回复
6
phoenixwhite| | 2023-2-6 15:36 | 只看该作者
HT-IDE3000怎么样啊?              

使用特权

评论回复
7
jonas222| | 2023-2-7 21:15 | 只看该作者
合泰单片机32系列还是非常好用的 。

使用特权

评论回复
8
plsbackup| | 2023-2-7 22:01 | 只看该作者
是否支持keil的开发?              

使用特权

评论回复
9
朝生|  楼主 | 2023-2-9 13:07 | 只看该作者
minzisc 发表于 2023-2-2 14:56
这个端口为什么可以使用bit操作?

一般端口都可以采用bit操作的。

使用特权

评论回复
10
朝生|  楼主 | 2023-2-9 13:08 | 只看该作者
abotomson 发表于 2023-2-5 12:52
必须使用合泰自己的编译器?

是的,合泰拥有自己的IDE。

使用特权

评论回复
11
朝生|  楼主 | 2023-2-9 13:09 | 只看该作者
chenci2013 发表于 2023-2-4 23:29
这个是51内核的吗?

好像不是,合泰大多数是32位单片机。

使用特权

评论回复
12
朝生|  楼主 | 2023-2-9 13:09 | 只看该作者
plsbackup 发表于 2023-2-7 22:01
是否支持keil的开发?

不支持,只能用合泰提供的IDE,进行开发。

使用特权

评论回复
13
朝生|  楼主 | 2023-2-9 13:09 | 只看该作者
jonas222 发表于 2023-2-7 21:15
合泰单片机32系列还是非常好用的 。

是啊,会32位单片机,其实上手很快的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

1939

帖子

2

粉丝