HT66F70A使用总结之IO端口

写作背景:合泰公司开发了一款IDE3000编译器,想找一些学生测试编译器是否有BUG,不过测试编译器需要有芯片,于是经过长达两个半月的测试,完成测试编译的任务同时,我也了解了合泰HT66F70A芯片的使用方法。


HT66F70A一共有A~H组IO口,每一组有8个IO端口,各对应1字节的数据寄存器。即PA~PH。除了IO的数据寄存器,还有输入输出控制寄存器PAC~PHC,上拉电阻控制寄存器PAPU~PHPU。A组除了以上三个寄存器以外比其他组多了一个寄存器PAWU,即唤醒功能寄存器。


下面对各个寄存器分别简单介绍

数据寄存器Pn(n为A~H)。对IO口输出高电平还是低电平,或保存IO口输入的是高电平还是低电平。

控制寄存器PnC(n为A~H)。选择IO引脚是输入状态还是输出状态,低电平为输出,高电平为输入。

上拉电阻寄存器PnPU(n为A~H)。低电平为对应的IO口上拉电阻除能,高电平为上拉电阻使能。

唤醒功能寄存器PAWU(A组IO口特有)。低电平除能,高电平使能。在使能状态下,当单片机进入休眠或空闲模式时, PA 口的其中一个引脚从高电平转为低电平即可唤醒单片机。


除了以上有关IO口的寄存器以外,还有引脚共用寄存器PxSn或IFSn等(x为A~H,n为数字)。

因为HT6670A芯片的引脚具有复用功能,每一个引脚可以选择是否作为IO口引脚,或其他功能诸如AD转换器的输入引脚ANn、IIC的控制引脚、PWN输出引脚等。


总而言之,如果想要使用此芯片IO口的功能,需要初始化有关IO口的三个寄存器以外,还要初始化引脚共用寄存器。


下面是点亮一个LED灯的程序。


#include "HT66F70A.h"

#define PINC _pgc3
#define LED	_pg3

//引脚配置
#define OUT 0
#define IN 1

//LED开关
#define ON	0
#define OFF	1

void main()
{
	_wdtc = 0xab;	//关闭看门狗
	_pgs1 = 0;	//设置引脚复用功能为IO口功能
	PINC = OUT;	//选择IO口为输出状态
	LED = ON;		//点亮一个LED灯
	while(1);
}

参考资料:HT66F70A芯片手册


2017年4月5日补充:

由于博主很久不碰合泰芯片,很多细节已经忘记,所以如果调试不成功博主也已经帮不上忙了,本文评论博主不再回复。

另外根据以往评论,调试合泰芯片请留意以下细节,说不准就debug了。

1、看门狗是否除能;

2、编译器优化是否关闭;


  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值