Код C для установки выводов ввода / вывода для микроконтроллера ATMEL'S AT89C51

Может кто-нибудь помочь мне о том, как установить конфигурацию ввода / вывода в программировании на C. Это мой код, я использую keil uvision4 в качестве идеала для генерации шестнадцатеричного файла и isis proteus для моделирования схемы.

Когда я пытаюсь использовать DDRA=0xFF а также PORTA=0, Я получаю ошибку, что DDRA и PORTA не определены. есть ли какой-то конкретный заголовок, который я должен включить, что я не

Вот код

 #include <AT89X51.H>

 #define PORT2     P2


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

3 ответа

Я знаю, что это старо, но я только сталкивался с этим и возможно кто-то еще будет

Похоже, вам не хватает включить:

#include <avr/io.h>

Это должно дать вам PORTx и DDRx определяет, что вы ищете.

Я думаю, что это 3 правила: PORTA DDRA PINA можно использовать только в семействе микроконтроллеров AVR, таких как ATmega8, и нельзя использовать в 51 микроконтроллере совместимости.

Вот почему вы не можете найти, где определены регистры.

Сделайте следующее:

1, #include <REGX51.H>, не avr/io.h для семейства микроконтроллеров AVR

2, используйте порт ввода-вывода как P0, P1, P2

когда вы хотите написать порт, P0 = 0xFF;

Возможно, вам придется включить пример файла реестра #include <REGX51.H>, У него есть определения для портов, так что вы можете использовать P2 и т. д. напрямую.

Другие вопросы по тегам