设置io口c程序,c程序怎么设置单片机IO口为强推免输出

1,c程序怎么设置单片机IO口为强推免输出单片机的IO口的带负载能力没有那么大 , (最大是20毫安)你要通过一个开关管来驱动,就是p1.1接三极管的B极,再将你的线圈加电回路里面加入E极C极(根据你所选择的PNP/NPN)比方说,单片机电源电压5v,那么,导通的时候,流经线圈的电流就很大了,100毫安以上,那肯定不行 。单片机都会被拉复位的 。STC单片机的资料在STC官网里面很详细,都可以免费下载 。网址在百度一搜索就行 。
2 , stc单片机如何将IO口设为强推挽输出C程序怎么设置比如我设P11口为可通过设置PXM1:PXM0的值:PXM1:PXM0 0 0 准双向口(传统IO) 0 1 推挽输出(强上拉 ,电流可达20mA,尽量少用) 1 0 仅为输入(高阻) 1 1 开漏,如传统8051的P0口例:C语言中直接赋值 P1M0 = 0xC0; P1M1 = 0xA0;//P1.7开漏 , P1.6高阻,P1.5强推挽输出,其他准双向IO口 。
3,求问单片机如何用c语言来设置IO口使IO口进入到输入或输出模式可以这么考虑!单片机的IO口缺省时一般都是双向,既可以是输入又可以是输出,C语言中判断这个口是输入还是输出要看表达式的形式,比如:sbitkey=P1^0;if(key==1).....这里是作为输入的,因为是读入,再判断值单片机的io口缺省时一般都是双向 , 既可以是输入又可以是输出,c语言中判断这个口是输入还是输出要看表达式的形式,比如:sbit key=p1^0;if(key==1).....这里是作为输入的,因为是读入 , 再判断值key=1;这里是作为输出,因为直接给其赋值 。【设置io口c程序,c程序怎么设置单片机IO口为强推免输出】
4,单片机怎么用c语言设置IO口输入或输出IO口的输入输出是通过对单片机寄存器的配置来实现的 。C51的单片机IO口本来就是双向的不需要设置 。STM32单片机的IO口用C语言的设置方法如下:void LED_Config(void) GPIO_InitTypeDef GPIO_Structure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //PC10-LED(指示灯) GPIO_Structure.GPIO_Pin= GPIO_Pin_10; GPIO_Structure.GPIO_Speed= GPIO_Speed_2MHz; GPIO_Structure.GPIO_Mode= GPIO_Mode_Out_PP; GPIO_Init(GPIOC,&GPIO_Structure);//LED}例如:P3M0=0;P3M1=127;//0-6推挽输出P1M0=0;P1M1=255; //all 推挽输出而51单片机的所有IO引脚,在启动后默认都是1 。因此,如之前没有对此引脚进行过置0操作的话 , 可以直接读该引脚 。但为了保险起见,也为了使程序通用、可移植,最好在读取之前对此引脚置1 。是说用串口方法让上位机发给单片机一个指令 之后单片机再返还给上位机一个指令?单片机的io口缺省时一般都是双向,既可以是输入又可以是输出,c语言中判断这个口是输入还是输出要看表达式的形式,比如:sbit key=p1^0;if(key==1).....这里是作为输入的,因为是读入,再判断值key=1;这里是作为输出 , 因为直接给其赋值 。单片机的管脚都可以输入也可以输出的啊 (P0口需要加上拉电阻实现三态)sbit p01 = P0^`1;p01 = 1就是输出sbit a = p01 就是输入5,单片机IO口C语言怎么设置输入把P^4和P^7在前面申明个位定义sbit a = P^4;sbit b = P^7;这个问题和编译器有关系的,单片机C编程中位定义有两种形式:sbit 变量名=P1^2;第一种P1_2=变量名;第二种有的编译器中两种通用,有的就是只有一种能用,第一种用于位声明,第二种用于位赋值单片机的IO口 , 如51单片机的IO口,直接是双向IO口,不需要设置即可用作输入或者输出 。如P0=0x40;这里是设置为输出;Temp=P2;这是将P2口作为输入读取数据有些单片机如STM32单片机的IO口是多功能复用IO口,只需要指定IO口的模式即可如STM32的LED驱动IO口设置初始化程序如下:void LED_Config(void)GPIO_InitTypeDef GPIO_Structure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //PC10-LED(指示灯)GPIO_Structure.GPIO_Pin= GPIO_Pin_10;GPIO_Structure.GPIO_Speed= GPIO_Speed_2MHz;GPIO_Structure.GPIO_Mode= GPIO_Mode_Out_PP;GPIO_Init(GPIOC,&GPIO_Structure); //LED }1、单片机的IO口缺省时一般都是双向,既可以是输入又可以是输出,C语言中判断这个口是输入还是输出要看表达式的形式,比如:sbit key=P1^0;if(key==1).....这里是作为输入的,因为是读入,再判断值key=1;这里是作为输出 , 因为直接给其赋值 。2、例程: P3M0=0;P3M1=127;//0-6推挽输出P1M0=0;P1M1=255; //all 推挽输出而51单片机的所有IO引脚,在启动后默认都是1 。因此 , 如之前没有对此引脚进行过置0操作的话,可以直接读该引脚 。但为了保险起见 , 也为了使程序通用、可移植 , 最好在读取之前对此引脚置1 。改成这样:#include "REG8051.h" #include #include sbit at=P1^4; sbit led=P0^7; void main() { PCON|=0x02; PCR0=0xFF; PUCR0=0xFF; PCR1=0x00; led=at; }例如:p3m0=0;p3m1=127;//0-6推挽输出p1m0=0;p1m1=255; //all 推挽输出而51单片机的所有io引脚,在启动后默认都是1 。因此 , 如之前没有对此引脚进行过置0操作的话,可以直接读该引脚 。但为了保险起见,也为了使程序通用、可移植,最好在读取之前对此引脚置1 。

    推荐阅读