请教一下怎么设置IO口驱动LED灯。
我用的是普通IO口,串联一个2.2K电阻,然后串联一个1206的贴片LED灯,然后直接接地。上电后灯竟然亮了,我的程序没有驱动它,它也亮。IO口初始化是准双向口 MCU是8H1K08实测IO口的电压和电源电压一致。
这个情况大家遇到过吗?
这很正常,由于I/O寄存器(P0/P1/P2/P3...)上电初始值是0xff
IO口初始化为准双向口后,内部弱上拉电阻会立即将I/O拉高
由于你的LED是高驱动的,所以上电后灯就会亮 在这看32位8051教学视频,送USB转双串口, 6M bps下载速度
去看第四集上 下点亮一颗灯有不明白的跟帖冲哥 建议设计电路的时候设计为低电平点亮。 我用的是普通IO口,串联一个2.2K电阻,然后串联一个1206的贴片LED灯,然后直接接地。上电后灯竟然亮了
====前面分析到 I/O 是高阻输入,但可能你会对I/O 初始化为准双向口,瞬间准双向高,亮了下
解决:
1,先对外置0,再改变 I/O 的工作模式
2,将你这个外部2.2K电阻省掉/短接,该I/O工作在高阻:打开内部 4K 上拉,亮;关闭 4K 上拉,灭
在这个 STC 全球最专业的8051爱好者互助社区,必须让您成为点灯大师,然后成为 GUI/FreeRTOS专家
不要用高驱动,双向口本来就是输出高,对地二极管就亮呗!尽量用低输出控制二极管,注意力加上拉电阻,别用内部,程序能改的都是复位后的,上电复位前是不可控的。要看芯片出厂设定, 你用的哪个型号?哪个IO?
STC8系列、STC32系列,上电后除了P3.0 P3.1外都是高阻,不会亮的,先输出低电平,再设置为推挽输出。 梁工 发表于 2023-2-1 23:21
你用的哪个型号?哪个IO?
STC8系列、STC32系列,上电后除了P3.0 P3.1外都是高阻,不会亮的,先输出低电平 ...
STC8H1K08程序设置IO为准双向口,IO使用的是P1.0 我用的是普通IO口,串联一个2.2K电阻,然后串联一个1206的贴片LED灯,然后直接接地。上电后灯竟然亮了
====前面分析到 I/O 是高阻输入,但可能你会对I/O 初始化为准双向口,瞬间准双向高,亮了下
解决:
1,先对外置0,再改变 I/O 的工作模式
2,将你这个外部2.2K电阻省掉/短接,该I/O工作在高阻:打开内部 4K 上拉,亮;关闭 4K 上拉,灭
在这个 STC 全球最专业的8051爱好者互助社区,必须让您成为点灯大师====你认真学习下我们的答复
页:
[1]