[英]C code to set i/o pins for ATMEL'S AT89C51 microcontroller
谁能帮助我如何在C编程中设置I / O配置。 这是我的代码,我使用keil uvision4作为我的思想来生成hex文件,并使用isis proteus对电路进行建模。
当我尝试使用DDRA=0xFF
和PORTA=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.