合泰单片机(HT66F3195)开发日记1-输入输出端口

合泰8位单片机IO口支持推挽输出、输入悬空、输入上拉三种模式,下图为HT66F3195的输入 / 输出引脚逻辑功能的内部结构图。

相关寄存器如下图所示

每个输入输出口的寄存器由数据寄存器(Px)方向寄存器(PxC)上拉寄存器(PxPU)组成。特殊的PA口还有一个唤醒源配置寄存器(PAWU)。

数据寄存器(Px):在输出时控制端口的输出电平信号。在输入时读取端口上的电平信号。1为高电平;0为低电平。

方向寄存器(PxC):控制端口的的方向,是输入还是输出。0为输出;1为输入

上拉寄存器(PxPU):端口上拉电阻控制寄存器。0关闭上拉;1打开上拉。

特殊的:PA口唤醒源配置寄存器(PAWU):其作用是指定PA口作为MCU休眠时唤醒源。其唤醒机制是下降沿唤醒。0为关闭唤醒;1为使能唤醒。

 

合泰8位单片机种类复杂,型号繁多。有不少型号的IO口第一功能不是输入输出功能。而是默认复用成了其他功能。如HT66F018这个型号与AD输入口共用的引脚第一功能是模拟输入。也有可能是LCD驱动引脚。比如HT67F489这个型号与LCD驱动引脚共用的引脚第一功能是LCD驱动引脚功能。所以在使用时一定要查看寄存器手册。

具体查看方式有两种。第一种是其复用功能寄存器统一归类在输入输出端口章节,如下图所示,查看对应端口的复用寄存器默认功能。

 

第二种是在特定章节。如HT66F018,通过引脚图查看某个引脚功能的功能,如PB0端口有复用模拟输入,外部中断功能,那么就去对用章节查看,如下图,PB0的默认配置为模拟输入口。

 

总结下来合泰较老的型号,如果IO带有模拟输入,比较器,LCD功能,那么该引脚大概率第一功能不是输入输出口。而较新出的信号一般第一功能都是输入输出功能。所以一定要仔细阅读手册。如果不是输入输出功能请先关闭其复用功能。

 输入输出配置操作如下:

配置为输入:

1、设置方向寄存器:

_pac4 = 1; //S1->PA4设置为输入

2、配置上拉(可选):

_papu4 = 1; //使能PA4上拉

以上两步完成输入配置。

读取端口状态:

u8 status = _pa4;         //读取PA4电平  位操作
u8 status = _pa&0x10;     //读取PA4电平  字操作

以上为输入功能配置操作。

配置为输出:

1、设置方向寄存器:

_pac3 = 0; //LED1->PA3设置为输出

以上一步完成输出配置。

控制输出电平:

_pa3 = 1;         //PA3输出高电平 位操作
_pa |= 0x08;      //PA3输出高电平 字操作
_pa3 = 0;         //PA3输出低电平 位操作
_pa &= 0xf7;      //PA3输出低电平 字操作

以上为输出功能配置操作。操作比较简单,主要还是要注意IO口的第一功能是什么。这一点是比较坑的。

以上代码在HT66F3195评估板上验证通过。有需要的可以自行购买:

合泰单片机开发板 评估板 测试板HT66F3195-淘宝网 (taobao.com)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,根据提供的引用内容,没有找到单片机HT32F52352的原理图。引用\[1\]和\[2\]提到了一些关于单片机的学习笔记和配置步骤,但没有提及原理图的相关信息。如果您需要HT32F52352的原理图,建议您参考官方网站或联系的技术支持团队,他们可能会提供相关的资料。 #### 引用[.reference_title] - *1* [HT32F52352初学点亮LED](https://blog.csdn.net/weixin_46119785/article/details/104998438)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [32位单片机入门/以HT32F52352为例](https://blog.csdn.net/a_13290783356/article/details/98875941)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [HT32开发资料与Keil平台配置说明](https://blog.csdn.net/shikong2011/article/details/122327034)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值