Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
22.09.2006, 22:29
|
#1
|
Гражданин KAZUS.RU
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
|
Значение переменной
Как присвоить переменной значение младших или старших 4 битов регистра? Дело в том, что на 4 ножки регистра А поступает код нажатой клавиши с другого МК (число до 15), прграмма должна считывать этот код и в соответствии с кодом выполнять опрделенные действия. Поэтому я хочу присваивать значение 4 битов регистра переменной и затем работать с этим значением. Другие 4 бита у меня выполняют функции управления, поэтому на них не должна никак влиять работа со значениями первых 4 битов.Может быть я что то не так делаю (только учусь), если есть другие варианты, подскажите как их реализовать.
|
|
|
|
22.09.2006, 22:39
|
#2
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
с помощью масок и побитных логических операций.
avr123.nm.ru/05.htm
avr123.nm.ru/05a.htm
"Си для МК"
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
22.09.2006, 22:46
|
#3
|
Гражданин KAZUS.RU
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
|
Я так и думал, но хотелось бы простой пример, а то уже горит, читать нет времени.
Переменная А;
присвоить ей значение 4 младших битов регистра Б;
конец;
Хотелось бы что то подобное, но на С.
|
|
|
|
22.09.2006, 23:24
|
#4
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
такие задачи обязательно нужно решать самому !
на бумаге ручкой!
А как же еще учится-то ?
именно на простых задачках!
=========
можно так:
A = (A & 0b11110000) + (Б & 0b00001111);
=========
обязательно найдите время и прочитайте !
разберитесь что эта строка кода делает.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
22.09.2006, 23:53
|
#5
|
Гражданин KAZUS.RU
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
|
Спасибо!!!
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:39.
|
|