Изобретение относится к вычислительной технике и предназначено для генерации знаков в устройствах отображения информации. Цель изобретения - расширение области применения генератора, за . счет возможности формирования знако повернутых в плоскости отображения На фиг, 1 приведена структурная схема генератора знаков; на фиг. 2 кодировка направлений единичных векторов; на.фиг. 3 - один из генер руемых знаков,. Генератор знаков содержит последовательно соединенные первый регис 1, первый блок 2 памяти, первьш счетчик 3 и второй блок 4 памяти, блок 5 управления, второй счетчик 6, дешифратор 7, последовательно соединенные сумматор 8, второй регистр 9 и третий блок 10 памяти, выходы которого подключены соответственно к первому и второму умножителям 11 и 12, третий счетчик 13, выход которого соединен с одним из входов злемента совпадения 14. Генератор работает следующим образом.. В качестве примера конкретного выполнения предлагаемого устройства рассматривается генератор з,наков. чертежно-графического автомата, предназначенного для нанесения знаковой информации на бумажный носитель. Формирование знаков производи ся путем вычерчивания последователь ности векторов,Векторы кодируются двоичными восьмиразрядными словами Набор таких слов составляет подпрограмму знаков и хранится во втором блоке памяти 4. Векторы характеризуются направлениями и длиной. Направление векто ра кодируется четырехразрядным двоичнь м числом. Всего имеется 16 диск ретных направлений, отстоящих друг от друга на 22,5. Кодировка направ лений единичных векторов показана на фиг. 2. Длина вектора определяет ся количеством единичных векторов, которое в векторе кодируется трехразрядным двоичным числом. Растр знака из 7 7 единичных векторов. Слово, определяющее вектор, состоит из четьфех разрядов (1-4) кода направления вектора, трех разрядов (5-7) количества единичных векто02ров, одного разряда (8) положения пишущего элемента. Если вектор необходимо вычерчивать, в восьмом разряде записывается единица; Если необходимо произвести перенос пишущего элемента без вычерчивания - записывается ноль. Для вычерчивания векторов применяются единичные векторы. Всего имеется по количеству направлений 16 единичных векторов. Единичные векторы кодируются в элементарных шагах восьмиразрядными двоичными числами. Слово, определяющее единичный вектор, состоит из четырех разрядов (1-4) числа элементарных шагов по оси X и четьфех разрядов (5-8) числа элементарных шагов по оси У. Максимально единичный вектор по одной координате может содержать . восемь элементарных шагов. Единичные векторы позволяют в неявном виде закодировать величину угла наклона, по. которому проходит вектор. Это.необходимо для поворота знака. Применение единичных векторов позволяет сократить объем памяти, необходимой при повороте знака. Информация о единичных векторах хранится в третьем блоке 10 памяти. Объем этой памяти составляет 16 байт. Для вычерчивания нужного знака следует обращение к генератору знаков с кодом знака. Код знака в сопровождении синхросигнала подается на вход генератора знаков и фиксируется на первомрегистре 1, а синхросигнал сопровождения знака поступает в блок 5 управления. По коду знака из первого блока 2 памяти выбирается на первый сметчик 3 код промежуточного адреса. По адресу первого счетчика 3 следует обращение во второй блок 4 памяти, происходит считывание первого байта формирования знака. Информация о направлений вычерчиваемого вектора поступает на вход сумматора 8, где происходит суммирование кода направления вектора и кода угла поворота знака. После суммирования получается четьфехразрядное двоичное число, являющееся кодом направления повернутого вектора. Этот код фиксируется на втором регистре 9. Код направления повернутого вектора является адресом, по которому обращаются в третий блок 10 j
памяти. Из третьего блока 10 памяти считывается информация о количестве элементарных шагов по осям X и У для данного направления единичного .вектора. Информация о количестве элементарных шагов по оси Х(1-4 разряд) поступает на первый умножитель 11, информация о количестве элементарных щагов по оси У (5-8 разряд) поступает на второй умножитель 12. В умножителях 11 и 12 происходит перемножение числа единичных векторов на число элементарных шагов в единичном векторе. В результате перемножения получается число эле- ментарных шагов по осям У и X. Информация о числе элементарных шагов по осям X и У подается на выход генератора знаков и записывается во второй и третий счетчики 6 .и 13. После записи информации в счетчики 6 и 13 под Действием управляющих импульсов, поступающих из блока 5 управлеция, происходит вычитание из двоичных чисел, записанных в счетчиках 6 и 13. Навыходе счетчиков 6 и 13 присутствуют сигналы лог. 1. -В процессе вычитания, двоичных чисел из счетчиков 6 и 13 происходит вычерчр ваниё вектора. После того, . как в счетчиках 6 и 13 установятся нулевые состояния, на выходах счетчиков 6 и 13 появляются сигналы лог. О. На выходе элемента совпадения 14 появляется сигнал лог. 1, который пересчитывает на единицу первый счетчик 3 и запрещает прохождение управляющих сигналов с блока 5 управления
Таким образом, первый вектор зяака сформирован полностью. Далее происходит выборка следующего байта из второго блока 4 памяти и процесс повторяется до тех пор, пока не будет сформирован знак. При распознавании байта, являющегося признаком конца знака, обращение к второму . блоку 4 памяти прекращается.. Блок 5 управления вырабатывает сигнал, обнуляющий первый счетчик 3. Генератор знаков готов к приему кода знака и формированию нового знака.
Рассмотрим на конкретном примере как осуществляется поворот знака. Например, необходимо произвести вычерчивание знака 1, повернутого на 45 относительно горизонтальной оси. По коду знака 1, который
фиксируется на первом регистре 1, из первого блока 2памяти выбирается на первый счетчик 3 код промежуточного адреса. По адресу с первого счетчика 3 следует обращение во второй блок 4 памяти, происходит считывание первого байта формирования знака. В первом байте 01001111, в 1-4 разряде записан код направления вычерчиваемого вектора, в 5-7 разряде число единичных векторов в двоичном коде, в 8 разряде положение пера. Код направления вектора (0100) поступает в сумматор 8, на вход которого одновременно с кодом знака поступает код угла поворота 0010, происходит суммирование кода направления вектора и кода угла поворота. Код повернутого вектора (0110) фиксируется на втором регистре 9 и является адресом, по которому обращаются в третий блок 10 памяти. По адресу (0110) из третьего блока 10 памяти считывается байт (01100110), который характеризует единичный вектор данного направления В 1-4 разряде в двоичном коде записано число элементарнык шагов пооси X (6 шагов), в 5-8 разряде - число .элементарных шагов по оси У (6 шагов Информация о числе элементарных шагов по осям X и У поступает соответственно на первый и второй умножители 11 и 12, где происходит пе1 емножение числа элементарных Щагов по осям X и У на число единичных векторов (7 векторов), которое поступает на умножители 11 и 12 с в.торого блока 4 памяти. В результате перемножения получаем число элементарных щаго по осям X и У (42 шага), необходимых для вычерчивания первого вектор а. Число элементарных шагов по осям X и У записьгоа ется соответственно во второй и третий счетчики 6 и 13 и подается на выход генератора зна-ков. После записи чисел в счетчики 6 и 13 на выходе элемента совпадения 14 появляется сигнал, разрешающий прохождение управляющих импульсов на счетчики 6 и 13 и выход генератора знаков. Под действием управляющих импульсов с блока 5 управления происходит вычитание чисел, записанных в счетчиках 6 и 13. В процессе вычитания двоичных чисел из счетчиков 6 и 13 производится вычерчивание вектора. Направление
движения пишущего элемента определяется по коду направления с помощью дешифратора 7. После установки нулевых состояний в счетчиках 6 и 13 на вьгходе элемента совпадения 14 появляется сигнал лог. 1, который запрещает прохождение управляющих сигналов с блока 5 управления и пересчитьгоает на единицу первый счетчик 3. Происходит выборка следующего байта 00001001 из второго блока 4 памяти. В сумматоре 8 код направления вектора 0000 суммируется с кодом угла поворота- 0010. По коду повернутого вектора 0010 из третьего
блока 10 памяти выбирается байт 01100110 единичного вектора. В умножителях 11, 12 производятся перемножения чисел 100 и 0110, результаты заносятся в счетчики 6 и 13 и вычитаются.
Таким образом, первый и второй векторы знака сформированы полностью. Далее производится выборка байта 00000000, являющегося признаком конца знака. По этому байту в блоке 5 управления формируется сигнал, обнуляющий первыйСчетчик 3. Генератор знаков готов к формированию следующего знака.
название | год | авторы | номер документа |
---|---|---|---|
Генератор знаков | 1985 |
|
SU1251063A1 |
Генератор символов | 1989 |
|
SU1633386A1 |
Генератор знаков | 1983 |
|
SU1166169A1 |
Генератор знаков | 1982 |
|
SU1049959A1 |
Генератор знаков | 1979 |
|
SU911576A2 |
Устройство для отображения информации | 1986 |
|
SU1319072A1 |
Кнопочный номеронабиратель | 1982 |
|
SU1149429A1 |
Устройство для отображения информации | 1985 |
|
SU1316028A2 |
Генератор случайных процессов | 1981 |
|
SU985786A1 |
Устройство для вычисления элементарных функций | 1980 |
|
SU1035604A1 |
ГЕНЕРАТОР ЗНАКОВ, содержащий последовательно соединенные первый регистр, первый блок памяти, первый счетчик и второй блок памяти, первый выход которого является первым выходом генератора, второй счетчик дешифратора, выходы которого йвляются вторым и третьим выходами генератора, блок управления, первый вход которого соединен с вторым выходом второго блока памяти, первый выход - с вторым входом первого счетчика, второй выход - с первым входом второго счетчика, третий выход - с первым входом первого регистра, второй вход которого является первым входом генератора, о т л и ч а ю щ .ии с я тем, что, с целью расширения области применения генератора ,за счет возможности формирования знаков, повернутых в плоскости отображения, в него введены последовательно соединенные сумматор, второй регистр и третий блок памяти, выходы которого соединены соответственно с первым и вторым умножителями, вторые входы которого соединены с вторым выходом второго блока памяти,. а выходы умножителей являются соответственно четвертым и пятым выходом генератора и .соединены с вторыми входами второго и третьего счетчиков, первьй вход третьего счетчика соеди(Л нен с первым входом второго счетчика и является шестым выходом генератора, вьхходы второго и третьего счетчиков соединены с элементом совпадения, выход которого соединен с третьим входом первого счетчика и вторым входом блока управления, первый вход сумматора соединен с третьим Од выходом второго блока памяти, второй вход второго регистра соединен с четвертым выходом блока управления, Ю вход дешифратора соединен с выходом сумматора.
,
OW1 0100 0011 0010
опо
1010 1011 liOO 1101- 1110 Фиг
0100
у
/ ,
QOOO
Фиг.З
Авторское свидетельство СССР N758138, кл | |||
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторское свидетельство СССР I 760079, кл | |||
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1985-06-30—Публикация
1983-04-06—Подача