51单片机I/O端口P0口功能结构:控制信号为‘0’时(图中默认状态):I/O端口单管开漏级结构①:实现线与②; 实现电平匹配。控制信号为‘1’时:地址/数据总线口双管推挽结构③:实也就是说STC89C52RC单片机具备32个可以单独读写的IO口,这些端口可以通过程序来控制输出高低电平,高电平5V,低电平0V,也可以通过程序读取端口输入的电平状态,IO端口的操作有两种方式,
●^● 应用下面的代码可以将GPIOA的PA8设置为低电平:GPIOA->ODR &= ~(1<<8);代码将1左移8位取反,然后与GPIOA的ODR寄存器进行与操作,相当于把ODR寄存器的第8位设置为0。编写代码启动Kei发光二极管的阳极接了排阻P2(1K),阴极接了单片机的P0口电阻值的计算:发光二级管点亮的电流值3mA左右3~10mA之间比较正常。阴极给低电平(单片机只能高电平低电平0V),阳极给一个正5V
改变单片机IO口默认电平c51单片机上电后io口默认的电平默认都是高电平,因为只不过P0没有内部上拉电阻,是弱上拉,不加外部上拉电阻的话只能驱动外部的门电路。P1到P3都有上拉电阻,是程序实现也十分简单,由于51单片机并不需要对IO口进行初始化配置,所以P1.0口直接输出低电平即可。include sbit LED=P1^0; voidmain() { LED=0;//P1.0口输出低电平while(1); }
1、首先注意51单片机上电的时候会有个复位的操作,复位的时候不执行单片机内部程序,复位之后51单片机的所有IO口都为高电平;x0d\x0a\x0d\x0a2、在单片机复位之后这个不一定,具体要看对应型号的datasheet。但是at89c51这类的51单片机复位后,确实io口默认是输出高电平。c51单片机管脚默认是高电平还是低电平高电平,51单