搜索
您的当前位置:首页正文

【电机控制器】STC8H1K芯片——GPIO

来源:步旅网

前言


提示:以下是本篇文章正文内容,下面案例可供参考

一.IO口配置

二.准双向口

1.简介

2.配置P20 P21 P22

	P2n_standard(0xf8);
	P3n_standard(0xbf);
	P5n_standard(0x10);
#define P2n_standard(bitn)	P2M1 &= ~(bitn),P2M0 &= ~(bitn)

0xf8 是一个十六进制数,转换为二进制是 11111000。
~(0xf8) 是对 0xf8
进行按位取反操作。按位取反会将二进制数中的每一位都翻转,即 1 变成 0,0 变成 1。因此,~(0xf8) 的结果是00000111(在8位二进制数的情况下,如果 P2M1 是一个更宽的寄存器或变量,则前面会填充更多的 0)。
P2M1 &=~(0xf8) 是将 P2M1 的当前值与 ~(0xf8) 的结果进行按位与操作。按位与操作会逐位比较两个数的对应位,如果两个位都是
1,则结果位是 1;否则,结果位是 0。

这个操作实际上是将 P2M1 的高5位清零(假设我们只考虑这8位,实际上可能更多),而保留低3位的值不变。换句话说,它清除了 P2M1
中对应于 0xf8(即 11111000)的位,而保留了其他位。

配置P20 P21 P22

3.配置P36

4.配置P54

三.推免输出

1.简介

2.配置P10,11,12,13,14,15

	P1n_push_pull(0x3f);
#define P1n_push_pull(bitn)	P1M1 &= ~(bitn),P1M0 |= (bitn)


四.高阻输入

1.简介

2.配置P16,17

	P1n_pure_input(0xc0);	//设置为高阻输入
	P0n_pure_input(0x0f);	//设置为高阻输入


3.配置P36

	P3n_pure_input(0x40);	//CMP-(P3.6)设置为高阻.

五.开漏输出

六.参考资料

总结

本文仅仅简单介绍了【电机控制器】STC8H1K芯片——GPIO,评论区欢迎讨论。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top