Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2011, 01:15   #1
mak_laptev
Новичок
Джуниор
 
Регистрация: 14.12.2011
Сообщений: 1
По умолчанию Разработать микропроцессорную систему управления с матричным светодиодным табло (Assembler)

Табло состоит из 16 строк по 8 светодиодов в каждой строке. Обеспечить вывод на табло символ «Л», временной интервал между выводом строк 2 секунды. Полностью выведенный символ отображается в течении 10 и секунд. Для управления использовать микропроцессор К1810ВМ86 аналог Intel 8086. Для работы использовать эмулятор EMU 8086

Способ Вывода: Динамический
Наличие ОЗУ: Нет

Есть исходники:

1) ОЗУ нет, вывод статистический
Код:
     name "BM86"

org 100h 

Start:
    mov AX,3
    int 10h  
    mov CH, 32
    mov AH, 1
    int 10h  
    mov AX, 0
    mov SI, AX

NewStr:  

    mov DH , Data + SI
    mov DL ,0 

NewDiod:


    mov CX, DX  
    mov DX, SI  
    mov DH, DL  
    mov DL, CL  
    mov BH, 0   
    mov AH, 2
    int 10h     
    mov DX, CX  
    
    mov BL,0
    rol DH,1
    mov AL, DH
    and AL, 01  
    jz ColorGen
    mov BL,5 
ColorGen:
    add BL,9h  
    
    mov CX ,01h 
    
    mov BH, 00h 
    mov AH, 9   
    mov AL, 254 
    int 10h 
    
    inc DL  
    inc DL 
    
    mov AL, DL
    xor AL, 10h
    jnz NewDiod
    inc SI 
    
    mov AH, 00
    int 1Ah 
    mov BX, DX 
    add BX, 36        

jae ClockStr 
CloackStrRound:
mov AH, 00
int 1Ah
and DX, 8000h
jnz CloackStrRound 
ClockStr:
mov AH, 00
int 1Ah
mov AX, BX
sub AX, DX
jae ClockStr


mov AX, SI
xor AX, 16
jnz NewStr

mov AH, 00
int 1Ah
mov BX, DX 
add BX, 182
ClockOut:
mov AH, 00
int 1Ah
mov AX, BX
sub AX, DX
jae ClockOut

jmp Start

ret

Data db 00FH, 01FH, 033H, 033H, 033H, 033H, 033H, 033H, 033H, 033H, 033H, 033H, 033H, 033H, 073H, 073H
2) ОЗУ есть, вывод динамический
Код:
org 100h

name "Tablo"

org 100h

jmp start       ; jump over data declaration

msg1:      db       "00001111", 0Dh, 24h 
msg2:      db       "00011111", 0Dh, 24h  
msg3:      db       "00110011", 0Dh, 24h     
msg4:      db       "00110011", 0Dh,, 24h 
msg5:      db       "00110011", 0Dh,, 24h 
msg6:      db       "00110011", 0Dh, 24h 
msg7:      db       "00110011", 0Dh, 24h 
msg8:      db       "00110011", 0Dh,, 24h 
msg9:      db       "00110011", 0Dh,, 24h 
msg10:     db      "00110011", 0Dh, 24h 
msg11:     db      "00110011", 0Dh, 24h 
msg12:     db      "00110011", 0Dh, 24h 
msg13:     db      "00110011", 0Dh, 24h 
msg14:     db      "00110011", 0Dh, 24h 
msg15:     db      "01110011", 0Dh, 24h 
msg16:     db      "01110011", 0Dh, 24h    

msg17:      db      "00001111", 0Dh,0Ah, 24h 
msg18:      db      "00011111", 0Dh,0Ah, 24h  
msg19:      db      "00110011", 0Dh,0Ah, 24h     
msg20:      db      "00110011", 0Dh,0Ah, 24h 
msg21:      db      "00110011", 0Dh,0Ah, 24h 
msg22:      db      "00110011", 0Dh,0Ah, 24h 
msg23:      db      "00110011", 0Dh,0Ah, 24h 
msg24:      db      "00110011", 0Dh,0Ah, 24h 
msg25:      db      "00110011", 0Dh,0Ah, 24h 
msg26:     db      "00110011", 0Dh,0Ah, 24h 
msg27:     db      "00110011", 0Dh,0Ah, 24h 
msg28:     db      "00110011", 0Dh,0Ah, 24h 
msg29:     db      "00110011", 0Dh,0Ah, 24h 
msg30:     db      "00110011", 0Dh,0Ah, 24h 
msg31:     db      "01110011", 0Dh,0Ah, 24h 
msg32:     db      "01110011", 0Dh,0Ah, 24h

clear:    db "          ",0Dh,0Ah,24h   

start: 
mov dx,msg17
next_str:
mov ah,09h
int 21h
add dx,11
cmp dx,msg32
jg  end_cycle
call Time_1    
jmp next_str 

end_cycle:
 
mov ax,6     
mov al,0     
mov bh,7     
mov ch,0     
mov cl,0
mov dh,15    
mov dl,15    
int  10h

mov bp,0030          


start_din: 
mov dx,msg1
next_str_din:
mov ah,09h
int 21h    
push dx
mov ah,09h
mov dx,clear
int 21h 
pop dx
add dx,10
cmp dx,msg16
jg  end_cycle2
jmp next_str_din
end_cycle2:
 
mov ax,6     
mov al,0     
mov bh,7     
mov ch,0     
mov cl,0     
mov dh,15    
mov dl,15    
int  10h

dec bp
cmp bp,0
je delay       
                  
jmp start_din     

delay:
call Time_2    
jmp start

Time_1 PROC 
mov cx, 00fh
m1: nop
loop m1
ret         
Time_1 ENDP      

Time_2 PROC 
mov cx, 00fh
m2: nop
loop m2
ret         
Time_2 ENDP
Переделать надо одну из них, лишь бы работала в соответствии с заданием.
mak_laptev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чего стоит разработать свою операционную систему? panda88 Свободное общение 13 23.07.2010 19:43
Разработать информационно-справочную систему budgie Помощь студентам 5 22.05.2010 09:16
Требуется разработать систему распознавания изображения alexlink Фриланс 1 10.02.2010 19:11
Я хочу написать систему управления архивом статей Mitron БД в Delphi 7 28.01.2008 21:35