打印
[其它应用]

中颖SH79F6484 I/O设置

[复制链接]
3666|34
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
szt1993|  楼主 | 2023-10-8 15:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1 IO输出设置
IO 作为输出模式,需要将其 PxCRy(x=0-5,y=0-7)设置为 1,此时若设置 Px.y(x=0-5,y=0-7)
为 0,则 IO 输出低电平,低电平的值为 GND。若设置 Px.y(x=0-5,y=0-7)为 1,则 IO 输出高电
平,高电平的值为 VDD。当端口配置为输出低时,务必将内部上拉电阻配置为关闭状态,否则会有
漏电。
2 IO输入设置
IO 作为输入模式,需要将其 PxCRy(x=0-5,y=0-7)设置为 0,此时若设置 PxPCRy(x=0-5,
y=0-7)为 0,则 IO 处于输入 Floating 状态,若设置 PxPCRy(x=0-5,y=0-7)为 1,则上拉电阻打
开,IO 处于输入高的状态。IO 输入的高低之分是在 VDD/2 左右,具体参数请参考“SH79F6484
DATASHEET”。


使用特权

评论回复
沙发
szt1993|  楼主 | 2023-10-8 15:39 | 只看该作者
3 开漏极I/O设置
SH79F6484 的 P0.4 和 P0.5 可以通过 P0OS 寄存器设置为 N 沟道开漏输出,通过设置 P0PCR
中的相应位,打开内部上拉电阻。用户可根据实际应用情况选择外接或者打开内部上拉电阻。
4案例:将一个 0~5V 的三角波从 P3.0 输入,P3.0 的值通过 P5.0 输出
答案:
bit a;
void main(void)
{
P3CR &= 0xFE; //P3.0 输入
P3PCR |= 0x01; //P3.0 上拉电阻打开
INSCON |= 0x40; //切换至 BANK1
P5CR |= 0x01; // P5.0 输出
INSCON &= 0xBF; //切换至 BANK0
while(1)
{
  a = P3.0;
  INSCON |= 0x40; //切换至 BANK1
  P5.0 = a; // P5.0 输出值为 P3.0 输入值
  INSCON &= 0xBF; //切换至 BANK0
}
}



使用特权

评论回复
板凳
星辰大海不退缩| | 2023-10-8 15:42 | 只看该作者
中颖SH79F6484 的I/O设置很简单,非常适合新手进行开发

使用特权

评论回复
地板
jf101| | 2023-10-8 15:48 | 只看该作者
楼主有个注意事项就是:在对 P5,P5CR,P5PCR 寄存器位于 BANK1,对其进行操作前,请先将 INSCON 中的 BSK0位置 1。

使用特权

评论回复
5
中国龙芯CDX| | 2023-10-8 15:52 | 只看该作者
jf101 发表于 2023-10-8 15:48
楼主有个注意事项就是:在对 P5,P5CR,P5PCR 寄存器位于 BANK1,对其进行操作前,请先将 INSCON 中的 BSK0位 ...

对于详细的INSCON的位有详细说明嘛?

使用特权

评论回复
6
中国龙芯CDX| | 2023-10-8 15:53 | 只看该作者
楼主,对于IO口的各个位详细设置有相关参考说明嘛?

使用特权

评论回复
7
LOVEEVER| | 2023-10-8 15:55 | 只看该作者
楼主输入的是三角波输出的也是嘛?感觉貌似就是01呀

使用特权

评论回复
8
小小蚂蚁举千斤| | 2023-10-8 15:56 | 只看该作者
LOVEEVER 发表于 2023-10-8 15:55
楼主输入的是三角波输出的也是嘛?感觉貌似就是01呀

我感觉也是01,IO输出应该是特定的高低电平

使用特权

评论回复
9
小夏天的大西瓜| | 2023-10-8 19:35 | 只看该作者
中颖SH79F6484 I/O的案例分析上非常容易地就实现了功能

使用特权

评论回复
10
OKAKAKO| | 2023-10-9 15:00 | 只看该作者
中国龙芯CDX 发表于 2023-10-8 15:53
楼主,对于IO口的各个位详细设置有相关参考说明嘛?

建议查阅一下相关手册,应该有具体的指导文件

使用特权

评论回复
11
AdaMaYun| | 2023-10-9 15:00 | 只看该作者
楼主问一下PxCRy(x=0-5,y=0-7),这个是对应的IO具体的口吧

使用特权

评论回复
12
LOVEEVER| | 2023-10-21 13:50 | 只看该作者
小小蚂蚁举千斤 发表于 2023-10-8 15:56
我感觉也是01,IO输出应该是特定的高低电平

嗯嗯确实从程序上来看的话看不出来

使用特权

评论回复
13
小小蚂蚁举千斤| | 2023-10-24 09:18 | 只看该作者
小小蚂蚁举千斤 发表于 2023-10-8 15:56
我感觉也是01,IO输出应该是特定的高低电平

看来咱们的想法是一样的

使用特权

评论回复
14
AdaMaYun| | 2023-10-28 17:26 | 只看该作者
楼主讲解的很详细很明白

使用特权

评论回复
15
tpgf| | 2023-11-1 15:34 | 只看该作者
哪种模式是能适用于大部分使用场合呢

使用特权

评论回复
16
qcliu| | 2023-11-1 22:29 | 只看该作者
tpgf 发表于 2023-11-1 15:34
哪种模式是能适用于大部分使用场合呢

推挽模式或者开漏模式吧 应用的面广一些

使用特权

评论回复
17
LOVEEVER| | 2023-11-2 08:17 | 只看该作者
小小蚂蚁举千斤 发表于 2023-10-24 09:18
看来咱们的想法是一样的

其实后来我又看了一下,感觉其实IO口对于能控制得其实也可以输出不同的波形,例如PWM等

使用特权

评论回复
18
drer| | 2023-11-2 08:32 | 只看该作者
开漏输出和推挽输出哪种驱动能力高点呢

使用特权

评论回复
19
星辰大海不退缩| | 2023-11-2 08:46 | 只看该作者
LOVEEVER 发表于 2023-11-2 08:17
其实后来我又看了一下,感觉其实IO口对于能控制得其实也可以输出不同的波形,例如PWM等 ...

建议可以实际确认一下程序,很方便

使用特权

评论回复
20
星辰大海不退缩| | 2023-11-2 08:47 | 只看该作者
drer 发表于 2023-11-2 08:32
开漏输出和推挽输出哪种驱动能力高点呢

应该是推挽输出,这个从单片机结构上就能显示出来

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

283

主题

2334

帖子

5

粉丝