合泰单片机入门——IO口操作
文章目录
- 背景
- 一、HT-IDE3000创建工程
- 二、根据芯片数据手册初始化IO口
- 1.数据手册介绍
- 2.初始化IO口
- 总结
背景
国产单片机的生态本身就比较差,不像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提供了库函数给我们使用,合泰是提供了寄存器让我们操作本质是一样的但还是需要简单学习一下怎么操作。
合泰单片机入门——IO口操作相关推荐
- 单片机IO口操作总结
单片机IO口操作总结 一.单片机IO口概述 二.单片机IO口操作 1.输入口使用 2.输出口使用 三.关于上拉电阻 四.休眠状态下IO口配置 4.1.未使用的IO口 4.2 输入口 一.单片机IO口概 ...
- 和泰c语言函数库,合泰杯 | 合泰单片机入门 编程详解(二)
一.说在前面: 前面我们讲解了合泰单片机 HT66F23x0 的开发环境,也举例了 LED 流水灯的是工程编写.那么今天我们就来说说,如何亲自根据芯片手册清晰的编写第一个程序呢.如果你是第一次接触合泰 ...
- 合泰杯 | 合泰单片机入门 编程详解(二)
一.说在前面: 前面我们讲解了合泰单片机 HT66F23x0 的开发环境,也举例了 LED 流水灯的是工程编写.那么今天我们就来说说,如何亲自根据芯片手册清晰的编写第一个程序呢.如果你是第一次接触合泰 ...
- 【Arduino学习】一、IO口操作
文章目录 前言 所需材料: 一.Arduino概述 1.什么是Arduino 2.Arduino UNO 二.I/O口介绍 1.I/O口 2.GPIO口 三.I/O 操作函数 1.设置I/O口的工作状 ...
- STM32笔记 GPIO介绍及IO口操作 STM32F0 利用C语言位域实现仿位带操作
文章目录 GPIO简介 工作方式 相关寄存器介绍 IO 操作步骤 IO口三种操作细解 附录:C语言相关 偏移地址与绝对地址 GPIO简介 GPIO:每个连接到I/O总线上的设备都有自己的I/O地址集, ...
- 如何使用一个单片机的IO口控制两个LED?
简 介: 本文介绍了一种使用单个IO口独立控制两个LED点亮的方案.并对于不同颜色的LED和不同工作电压下的MCU进行了讨论.给出了在不同的颜色组合.工作电压的情况下不同的驱动方案. 关键词: IO, ...
- 8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8。
8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8. 程序: #include<reg51.h> #include<absacc.h> #def ...
- HT合泰单片机入门教程(第六章 时基中断)
文章目录 系列文章目录 前言 一.新建工程 二.时基中断了解 1.时基中断原理 2.寄存器了解 三.时基中断实现 1.代码实现 总结 系列文章目录 第一章 HT单片机环境搭建 第二章 点亮第一个LED ...
- 合泰杯 | 合泰单片机入门 环境搭建安装(一)
最近参加福建省的合泰杯比赛,第一次接触合泰单片机,一开始学习的是51 和 32 ,虽然各类单片机的操作都万变不离其中,但是相对于51和32 的资料,合泰单片机的资料对于新手来说就不那么友好了.所以后面 ...
最新文章
- 偏度与峰度的正态性分布判断
- Spark(四) -- Spark工作机制
- 软件研发工程师转行机器学习之路
- 史上最简单的SpringCloud教程 | 第十篇: 高可用的服务注册中心
- java json lib 日期
- python能做什么-Python究竟是什么?能干嘛?
- 每日一道剑指offer-从尾到头打印链表
- 信息系统项目管理师进度管理论文范例
- Amaze UI后台管理模板 v2.7.2
- 视频配音怎么制作?这两个文字转语音工具,声音自然好听
- 亚马逊运营爆款产品技巧-跨境知道
- 领芯微基于LCM32F037吹风筒方案
- 7-1 过河 (15 分)java版
- 百慕大将于下周宣布推出加密货币友好银行
- 小忽视大问题:4.8通过 Apple 登录
- 项目经理:Redis缓存都会用,那使用后的效益和成本怎么估算?
- SQL低版本连续多条记录合并,多条记录分组合并
- 形容词,副词的比较级、最高级规则变化及不变化规则:
- pytorch backward中的gradient参数实验
- 腾讯QQ第三方登录2:原理与实现(OAuth2.0协议)