Код 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
и т. д. напрямую.