Автор работы: Пользователь скрыл имя, 15 Октября 2012 в 23:38, лабораторная работа
1. Выбрать метод и выполнить прямое 10/2 и обратное 2/10 преобразования
для десятичного формата m=2. Двоично-десятичное число вводится через входной порт, преобразуется в двоичное, для контроля преобразуется в двоично-десятичное и выводится через выходной порт.
2. Выполнить преобразования вода при m=4 в форматы с фиксированной и плавающей точкой в С51 – контроль результата в окне Visial.
САНКТ-ПЕТЕРБУРГСКИЙ
ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ОРГАНИЗАЦИЯ ЭВМ
Лабораторная работа №1
«Целые численные данные»
Еремеев Е.А.
Группа 3652
Преподаватель:
Скорубский В.И.
Задание.
1. Выбрать метод и выполнить прямое 10/2 и обратное 2/10 преобразования
для десятичного формата m=2. Двоично-десятичное число вводится через входной порт, преобразуется в двоичное, для контроля преобразуется в двоично-десятичное и выводится через выходной порт.
2. Выполнить преобразования вода при m=4 в форматы с фиксированной и плавающей точкой в С51 – контроль результата в окне Visial.
3. Сравнить листинги Ассемблера и С51.
#include <reg51.h>
int z;
float zz ;
char p;
int trans(char x)
{ int c= (x>>4)*10 + (x&0x0f);
return c;
}
char tio (int y)
{ p=((y/10)<<4) | (y%10);
return p;
}
main()
{ while (1)
{ { z=trans(P0)*100 + trans(P2) ;
P1=tio (z%100);
P3=tio (z/100);
zz=z ;
}
}
}