Реализация контроллера индикатора на базе микроконтроллера К1816ВЕ31, страница 3

2500 A.D. 8051 Macro Assembler  -  Version 4.02a

               ------------------------------------------------

                       Input  Filename : 444.asm

                       Output Filename : 444.obj

    1   0100                                         org 100h

    2   0100   FC 60 DA F2 66          codtbl:     db 0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0h,0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8eh

        0105   B6 BE E0 FE F6

        010A   EE 3E 9C 7A 9E

        010F   8E

    3   0000                                                  org 0h

    4   0000   E4                                 clr a                               

    5   0001   79 00                            mov r1,#0h

    6   0003   7B 12                             mov r3,#12h

    7   0005   7C 34                             mov r4,#34h

    8   0007   BB 00 02                       cjne r3,#0,step3            

    9   000A   01 20                            ajmp step5

   10   000C   7A FF               step3:   mov r2,#ffh                  

   11   000E   B4 99 01          step1:   cjne a,#99h,step2

   12   0011   09                                 inc r1                            

   13   0012   24 01                step2:   add a,#1

   14   0014   D4                                da a

   15   0015   DA F7                          djnz r2,step1          

   16   0017   B4 99 01                       cjne a,#99h,step6

   17   001A   09                                inc r1

   18   001B   24 01                step6:   add a,#1

   19   001D   D4                                 da a

   20   001E   DB EC                           djnz r3,step3

   21   0020   B4 99 01           step5:    cjne a,#99h,step4

   22   0023   09                                  inc r1

   23   0024   24 01                step4:    add a,#1

   24   0026   D4                                  da a

   25   0027   FD                                  mov r5,a

   26   0028   EC                                mov a,r4

   27   0029   60 05                            jz step8

   28   002B   ED                                 mov a,r5

   29   002C   DC F2                           djnz r4,step5

   30   002E   01 31                             ajmp step7

   31   0030   1D                    step8:    dec r5                

   32   0031   ED                    step7:    mov a,r5           

   33   0032   78 13                             mov r0,#13h

   34   0034   D6                                        xchd a,@r0

   35   0035   C4                                         swap a

   36   0036   18                                         dec r0

   37   0037   D6                                        xchd a,@r0

   38   0038   75 F0 0A                      mov b,#10

   39   003B   E9                                mov a,r1

   40   003C   84                                 div ab

   41   003D   C4                                swap a

   42   003E   25 F0                            add a,b

   43   0040   78 11                            mov r0,#11h

   44   0042   D6                                        xchd a,@r0

   45   0043   C4                                         swap a

   46   0044   18                                         dec r0

   47   0045   D6                                        xchd a,@r0

   48   0046   7E FE               initd:  mov r6,#0feh

   49   0048   7F 04                                    mov r7,#4h

   50   004A   78 10                                   mov r0,#10h

   51   004C   74 FF               dsply: mov a,#0ffh

   52   004E   F5 B0                                   mov p3,a

   53   0050   90 01 00                               mov dptr,#codtbl

   54   0053   E6                                         mov a,@r0

   55   0054   93                                         movc a,@a+dptr

   56   0055   F5 90                                    mov p1,a

   57   0057   EE                                         mov a,r6

   58   0058   F5 B0                                    mov p3,a

   59   005A   23                                         rl a

   60   005B   FE                                        mov r6,a

   61   005C   08                                         inc r0

   62   005D   DF ED                                 djnz r7,dsply

63   005F   01 46                                   ajmp initd

4.3 Расчёт необходимого объёма памяти.

Память, занимаемая программой равна 121 байт.

Заключение

В данной курсовой работе была разработана схема электрическая принципиальная контроллера индикатора на основе микросхемы К1816ВЕ31. Была разработана программа преобразования двоичного кода в семисегментный код.  Разработанная программа заняла объем памяти 121 байт.

Литература

1.  Андреев Д. В. Программирование микроконтроллеров MCS-51: Учебное пособие. – Ульяновск: УлГТУ, 2000. – 88с.

2.  Цифровые и аналоговые интегральные микросхемы: Справочник/С. В. Якубовский, Л. И. Ниссельсон, В. И. Кулешова и др.; Под ред. С. В. Якубовского. – М.: Радио и связь, 1989. – 496 с.: ил.

3.  Проектирование цифровых устройств на однокристальных микросхемах/ В. В. Сташин, А. В. Урусов, О. Ф. Мологонцева. – М.: Энергоатомиздат, 1990. – 224 с.