单片机怎么用c语言设置I/O口输入或输出
具体怎么写,本人新手刚刚接触单片机。单片机是STC90C516RD+。这个型号的单片机数据手册里没写怎么编程。...
具体怎么写,本人新手刚刚接触单片机。单片机是STC90C516RD+。这个型号的单片机数据手册里没写怎么编程。
展开
6个回答
展开全部
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
}
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。
P3M0=0;
P3M1=127;//0-6推挽输出
P1M0=0;
P1M1=255; //all 推挽输出
而51单片机的所有IO引脚,在启动后默认都是1。因此,如之前没有对此引脚进行过置0操作的话,可以直接读该引脚。但为了保险起见,也为了使程序通用、可移植,最好在读取之前对此引脚置1。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-18
展开全部
单片机的管脚都可以输入也可以输出的啊 (P0口需要加上拉电阻实现三态)
sbit p01 = P0^`1;
p01 = 1就是输出
sbit a = p01 就是输入
sbit p01 = P0^`1;
p01 = 1就是输出
sbit a = p01 就是输入
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
新手,你要编程,需要先看看编程软件的使用,然后对照着在用c或者汇编来在软件中编写程序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是说用串口方法让上位机发给单片机一个指令 之后单片机再返还给上位机一个指令?
追问
刚刚学习 不太懂您说的什么意思
追答
那你这想用I/O控制什么?比如P0=0 或者P0=1 就相当于输出了 单片机只输出高低两种状态
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询