一.引脚工作模式的基本概念
引脚的工作模式通常包括输入模式、输出模式和双向模式:
-
输入模式:引脚设置为输入模式时,可以接收外部信号或触发器的信号。这种模式通常用于读取传感器数据、接收外部设备的信号等。
-
输出模式:引脚设置为输出模式时,可以向外部设备发送信号或控制信号的电平。这种模式通常用于驱动执行器、控制显示器等。
-
双向模式:引脚设置为双向模式时,既可以接收外部信号,也可以向外部设备发送信号。在双向模式下,引脚可以实现双向通信的功能,适用于一些需要双向数据传输的场景。
对于每种工作模式,还可以根据具体需求配置引脚的属性,如推挽输出模式、开漏输出模式、上拉或下拉电阻等。不同的工作模式和属性搭配,能够满足各种不同的应用需求,实现灵活而有效的引脚控制。掌握引脚的工作模式,并结合硬件接口和软件配置,能够更好地实现嵌入式系统中的功能设计和实现。
二.文档地址
- STC8H文档下载。通过
STC-ISP
软件进行资料下载。
三.理解引脚与端口之间的关系
其中我们可以通过手册获得一些信息:
- 1个端口对应8个引脚
- 每个端口都由一个寄存器控制
- 系列不同,端口数量不同
- 引脚可配置4种不同的工作模式
四.IO口的工作模式
工作模式 | PnM1 | PnM0 | 说明 |
准双向口 | 0 | 0 | 弱上拉,即可输入也可输出 |
推挽输出 | 0 | 1 | 强上拉输出。可达20mA,要加限流电阻 |
高阻输入 | 1 | 0 | 电流既不能流入也不能流出,但可用于测电平 |
开漏输出 | 1 | 1 | 内部上拉电阻断开。开漏模式既可读外部状态也可对外输出(高电平或低电平)。如要正确读外部状态或需要对外输出高电平,需外加上拉电阻,否则读不到外部状态,也对外输不出高电平。 |
双准向:能点灯,亮度低; 推碗:能点灯,亮度高; 高阻、开漏:不能点灯
代码:
P5M0 = 0x00;
P5M1 = 0x00;
指的是P5端口所有的引脚为准双向口输出,如果想设置为其他模式,可以根据实际需求进行配置。
当前我们电灯是要控制P5端口的3号引脚,也就是P53这个引脚。理论上只需要设置这个引脚的工作模式即可。
P5M1 &= ~0x08, P5M0 &= ~0x08; //准双向口
P5M1 &= ~0x08, P5M0 |= 0x08; //推挽输出
P5M1 |= 0x08, P5M0 &= ~0x08; //高阻输入
P5M1 |= 0x08, P5M0 |= 0x08; //开漏输出
- P5表示的是5号端口
- 0x08表示的是3号引脚,对应二进制
0000 1000
引脚编号和值的对应关系
编号 | 值 |
0 | 0x01 |
1 | 0x02 |
2 | 0x04 |
3 | 0x08 |
4 | 0x10 |
5 | 0x20 |
6 | 0x40 |
7 | 0x80 |
如果想配置任意端口的任意引脚的工作模式,可以通过上面的方式类比出来。