• Как собрать несколько двоичных чисел в одно.
• Как извлечь несколько разрядов из двоичного числа. скачать (22 МБ)
Если видеозапись не идёт, установите flash-плеер и проверьте звуковую карту, либо скачивайте материалы. Если вместо видео - зелёный экран, переустановите flash-плеер (просто скачайте последнюю версию). Если видео "дёргается", поставьте его на паузу и дайте немного подгрузиться. Плеер для просмотра flash-видео на домашней машине скачать здесь . Разверните видео на весь экран. Если напишут "Видео не найдено", "Video not found" - перезапустите видео ещё раз.
Программы на CodeVisionAVR:
#include <mega8515.h> // Сшивка двух битовых полей в одно.
int A, B, X;
void main(void)
int A, B, X;
void main(void)
{
DDRC = 0b11111111;
A = 0b1101;
B = 0b1001;
X = A << 4 | B; // Считываем число A, сдвигаем его на 4 бита влево. Считываем число В, склеиваем его с А и перезаписываем в ячейку Х.
PORTC = X; // Выводим число X в порт.
}
__________________________________________________________________________________
#include <mega8515.h> // Разделение одного битового поля на два.
#include <delay.h>
#include <delay.h>
int W, A, B;
void main(void)
{
DDRC = 0b11111111;
W = 0b11011001; // Исходное число, которое мы режем на два.
A = (W & 0b11110000) >> 4; // Берём число W, извлекаем из него 4 бита слева и сдвигаем их вправо до конца. Перезаписываем в ячейку А.
B = W & 0b00001111; // Берём число W, извлекаем из него 4 бита справа. Перезаписываем в ячейку B.
PORTC = A; // Выводим в порт числа А и В поочереди.
delay_ms(3000);
PORTC = B;
}
}