Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 07.06.2007, 11:43   #1
aversI
Прописка
 
Регистрация: 23.03.2005
Адрес: Россия, г. Абакан
Сообщений: 109
Сказал спасибо: 0
Сказали Спасибо 22 раз(а) в 7 сообщении(ях)
aversI на пути к лучшему
По умолчанию Вопрос по C для MCS51

Вопрос, конечно глупый, но тем не менее:
как считать ножки порта (Р0) в С (придумали же язык чтоб я парился ) ?
В ассме всё очевидно - запись в защёлку считывание с выходов...
Реклама:
aversI вне форума  
Непрочитано 07.06.2007, 12:24   #2
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

kurs8051.narod.ru там много примеров и KEIL.com
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 07.06.2007, 12:39   #3
um
Прописка
 
Регистрация: 16.01.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 8 раз(а) в 6 сообщении(ях)
um на пути к лучшему
По умолчанию

// в IAR
char v = P0_bit.P0X; // где X - номер контакта
um вне форума  
Непрочитано 07.06.2007, 14:17   #4
aversI
Прописка
 
Регистрация: 23.03.2005
Адрес: Россия, г. Абакан
Сообщений: 109
Сказал спасибо: 0
Сказали Спасибо 22 раз(а) в 7 сообщении(ях)
aversI на пути к лучшему
По умолчанию

avr123-nm-ru
там всё на ассемблере


um
А это не чтение защёлки?
aversI вне форума  
Непрочитано 07.06.2007, 18:20   #5
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Сообщение от aversI
avr123-nm-ru
там всё на ассемблере
А если ВНИМАТЕЛЬНО посмотреть ? Это часто помогает.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 07.06.2007, 22:10   #6
mrKirill
Вид на жительство
 
Аватар для mrKirill
 
Регистрация: 12.04.2007
Сообщений: 348
Сказал спасибо: 2
Сказали Спасибо 36 раз(а) в 32 сообщении(ях)
mrKirill на пути к лучшему
По умолчанию

CodeVision AVR например так будет

char a = PINX.Y // X - порт, Y - номер бита
mrKirill вне форума  
Непрочитано 08.06.2007, 11:57   #7
tauP10
Почётный гражданин KAZUS.RU
 
Регистрация: 26.08.2006
Сообщений: 1,405
Сказал спасибо: 1
Сказали Спасибо 89 раз(а) в 69 сообщении(ях)
tauP10 на пути к лучшему
По умолчанию на Кейле выглядит так

Код:
  40          uchar putN (uchar c)
  41          {ACC=c; 
  42   1      while (TI==0) {}
  43   1       TI=0;
  44   1       P3_3=0;    // разрешили выход  (:7 процика)
  45   1       SBUF=ACC;
  46   1      
  47   1      while (TI==0) {}
  48   1      
  49   1      delay100u();  // чтоб не глушился стоп-бит
  50   1       P3_3=1;    // закрыли выход  (:7 процика)
  51   1      return c;
  52   1      }
************************************************** ****
то что выше компилируется следующим образом:
********************************
Код:
             ; FUNCTION _putN (BEGIN)
;---- Variable 'c' assigned to Register 'R6' ----
0000 AE07              MOV     R6,AR7
                                           ; SOURCE LINE # 40
                                           ; SOURCE LINE # 41
0002 EE                MOV     A,R6
0003         ?C0011:
                                           ; SOURCE LINE # 42
0003 3099FD            JNB     TI,?C0011
0006         ?C0012:
                                           ; SOURCE LINE # 43
0006 C299              CLR     TI
                                           ; SOURCE LINE # 44
0008 C2B3              CLR     P3_3
                                           ; SOURCE LINE # 45
000A F599              MOV     SBUF,A
000C         ?C0013:
C51 COMPILER V6.00i TESTLINE                                                               10/27/2006 18:18:29 PAGE 5   

                                           ; SOURCE LINE # 47
000C 3099FD            JNB     TI,?C0013
000F         ?C0014:
                                           ; SOURCE LINE # 49
000F 120000      R     LCALL   delay100u
                                           ; SOURCE LINE # 50
0012 D2B3              SETB    P3_3
                                           ; SOURCE LINE # 51
0014 AF06              MOV     R7,AR6
                                           ; SOURCE LINE # 52
0016         ?C0015:
0016 22                RET     
             ; FUNCTION _putN (END)
tauP10 вне форума  
Непрочитано 09.06.2007, 13:10   #8
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,955
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию

Сообщение от mrKirill
CodeVision AVR например так будет
char a = PINX.Y // X - порт, Y - номер бита
Речь шла о 51 семействе. В нем нету раздельных регистров на ввод и вывод, сам порт построен по схеме открытого коллектора и для того, чтобы пин был входом, надо просто записать в соотв. бит порта 1 - получится что-то типа "подтяжки" на Vcc, и эту линию порта можно безболезненно замыкать на 0. А читается - тот же бит порта, в который и пишется.
nml вне форума  
Закрытая тема

Закладки

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подскажите новичку по MCS51 Diamanten Микроконтроллеры, АЦП, память и т.д 6 10.11.2008 09:29
MCS51 Espert Микроконтроллеры, АЦП, память и т.д 8 18.03.2008 16:45
Набор подпрограмм (MCS51) для работы с DS1820 stml Микроконтроллеры, АЦП, память и т.д 2 13.11.2007 18:20
Как подключить Flash-карту к MCS51 (например AT89S8252)? Алеша Попович Микроконтроллеры, АЦП, память и т.д 0 18.04.2005 07:39


Часовой пояс GMT +4, время: 13:22.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot