繁体   English   中英

用于设置ATMEL AT89C51微控制器I / O引脚的C代码

[英]C code to set i/o pins for ATMEL'S AT89C51 microcontroller

谁能帮助我如何在C编程中设置I / O配置。 这是我的代码,我使用keil uvision4作为我的思想来生成hex文件,并使用isis proteus对电路进行建模。

当我尝试使用DDRA=0xFFPORTA=0 我收到未定义DDRA和PORTA的错误。 有没有我必须包括的任何特定标头

这是代码

 #include <AT89X51.H>

 #define PORT2     P2


void main (void)
{
DDRA=0xff;
    PORTA=0xff; 
}

我知道这很旧,但我刚遇到它,也许其他人也会

您似乎缺少了一个包含项:

#include <avr/io.h>

那应该为您提供PORTx和DDRx所需的定义。

您可能需要包含注册文件示例#include <REGX51.H> 它具有端口的定义,因此您可以直接使用P2等。

我认为这3个规则:PORTA DDRA PINA只能用于AVR MCU系列,例如ATmega8,而不能用于51兼容MCU。

这就是为什么您找不到定义注册表的位置的原因。

进行如下操作:

1, #include <REGX51.H> ,而不是AVR MCU系列的avr/io.h

2,将IO端口用作P0,P1,P2

当您要写入端口时,P0 = 0xFF;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM