Новичок
Регистрация: 25.11.2014
Сообщений: 8
Репутация: 10
|
Есть микроконтроллер на базе MCS-51. Необходимо создать функцию, в которой бы происходило бы изменение значения вывода порта. К примеру, необходимо присвоить значение 0 выводу P1_7. То функция должна иметь вид:
void PinMode (P1_7, 0); |
||
Оценка
|
Гуру
Регистрация: 13.05.2006
Сообщений: 3,908
Репутация: 1247
|
Дааааа......
Ну где то вы должны сделать #include "s8252.h" где s8252 (АТ89S8252) - модель микроконта, а файл хедера содержит описалово его регистров, портов и т.п. Например : Цитата:
/*------------------------------------------------------------------------------*/
sbit RD = 0xB7; sbit WR = 0xB6; sbit T1 = 0xB5; sbit T0 = 0xB4; sbit INT1 = 0xB3; sbit INT0 = 0xB2; sbit TXD = 0xB1; sbit RXD = 0xB0; sbit P37 = 0xB7; sbit P36 = 0xB6; sbit P35 = 0xB5; sbit P34 = 0xB4; sbit P33 = 0xB3; sbit P32 = 0xB2; sbit P31 = 0xB1; sbit P30 = 0xB0; #define Beeper_Port P37 #define Sound_ON() Beeper_Port=0 #define Sound_OFF() Beeper_Port=1 Получили много текста и 2 "мощные" функции для управления пищалкой. Это кейл. В других средах могут быть незначительные отличия И на кой хрен этот огород городить ?
Последний раз редактировалось LEAS; 01.12.2016 в 10:29.
|
||
Оценка
|
Специалист
Регистрация: 21.05.2007
Адрес: Москва
Сообщений: 474
Репутация: 212
|
Цитата:
Кроме того, управлять ножками просто, если компилятор позволяет управлять ножками по-отдельности. На AVR вообще приходится использовать конструкции вида: #define BeepOn() PORTA |= (1<<BEEP_PIN) #define BeepOff() PORTA &= ~(1<<BEEP_PIN) А при оптимизации компилятор уже заменит эту конструкцию на одну ассемблерную команду. |
||
Оценка
|
Обратная связь РадиоЛоцман Вверх |