Научно-исследовательский сайт Вячеслава Горчилина
2017-11-03
Все заметки/PIC-контроллеры
Ассемблер для 8-битных PIC-контроллеров
Разделение двухбайтного двоичного числа на четыре десятичных разряда
В программировании для pic-контроллеров часто требуется вывести двухбайтное двоичное число на четыре десятичных семисегментных индикатора. В этой заметке предлагается довольно простой алгоритм и его реализация на ассемблере. Код занимает 50 строк программы, использует 6 обязательных регистров и 2 дополнительных. В первые 4 обязательные регистра помещается результат, который позже можно будет вывести на индикаторы, а во вторые 2 регистра — начальное двоичное число. 2 дополнительных регистра можно использовать после выполнения этой программы по своему усмотрению.
Максимальное двоичное число должно быть не более 9999 — по максимальному числу разрядов индикатора. Программа же может считать числа вплоть до максимума — 65536, но в этом случае в регистре num1000 будет лежать двухразрядное двоично-десятичное число, которое можно отобразить только, если добавить ещё один — пятый разряд индикатора.
В регистры numFH,numFL заносятся значения двоичного числа — старший и младший байт соответственно. Регистры num1000..num1 будут содержать результат выполнения программы. В них будут лежать десятичные разряды — от старшего к младшему соответственно. Временные регистры temp,temp2 после окончания этой программы можно использовать по своему усмотрению.