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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2010, 01:57   #1
Lord_Dragon
Новичок
Джуниор
 
Регистрация: 16.05.2010
Сообщений: 2
По умолчанию Ассемблер и МК51! Завал с курсовым проектом!!!!

Для курсового нужно написать на ассемблере программу которая выводит на МК51 определенное сообщение! А я в нем не шарю! Код программы есть, но в нем ошибки!
Помогите исправить и по возможности объясните принцип работы программы!

Последний раз редактировалось Lord_Dragon; 16.05.2010 в 02:04.
Lord_Dragon вне форума Ответить с цитированием
Старый 16.05.2010, 01:58   #2
Lord_Dragon
Новичок
Джуниор
 
Регистрация: 16.05.2010
Сообщений: 2
По умолчанию

Код:
$MOD51 
Fstart equ 0 
Kon equ 8Ah 
ADR equ 0 
ORG 0
JMP START 
ORG 0003h
JMP Obrab_INT0 
ORG 0013h
JMP Obrab_INT1
ORG 001Bh
JMP obrab_T/C1
ORG 0020h 

; таблица сообщения 
TAB_MSG: 
; код символа «Г»
db 01111111b,00000001b, 00000001b, 00000001b, 00000001b 
;код символа «.»
db 01000000b, 00000000b, 00000000b, 00000000b, 00000000b 
; код символа « »
db 00000000b, 00000000b, 00000000b, 00000000b, 00000000b 
; код символа «T»
db 00000001b,00000001b, 01111111b, 00000001b, 00000001b 
; код символа «Ю»
db 01111111b, 01001000b, 01111111b, 01000001b, 01111111b 
; код символа «M»
db 01111111b, 00001110b, 000011000b, 00001110b, 01111111b 
; код символа «E»
db 01111111b, 01001001b, 01001001b, 01001001b, 01001001b 
; код символа «H»
db 01111111b, 00001000b, 00001000b, 00001000b, 01111111b 
; код символа «Ь»
db 01111111b, 01001000b, 01001000b, 01001000b, 00110000b 
; код символа « »
db 00000000b, 00000000b, 00000000b, 00000000b, 00000000b 
; код символа «О»
db 00111110b, 01000001b, 01000001b, 01000001b, 00111110b 
; код символа «С»
db 01111111b, 01000001b, 01000001b, 01000001b, 00111110b 
; код символа «H»
db 01111111b, 00001000b, 00001000b, 00001000b, 01111111b 
; код символа «О»
db 00111110b, 01000001b, 01000001b, 01000001b, 00111110b 
; код символа «В»
db 01111111b, 00001001b, 00001001b, 01001111b, 01111000b 
; код символа «A»
db 01111110b, 00001001b, 00001001b, 00001001b, 01111110b 
; код символа «H»
db 01111111b,00001000b, 00001000b, 00001000b, 01111111b
; код символа « »
db 00000000b, 00000000b, 00000000b, 00000000b,00000000b 
; код символа «В»
db 01111111b,00001001b, 00001001b, 01001111b, 01111000b
; код символа « »
db 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
; код символа «1»
db 00000000b, 01000100b, 01000010b, 01111111b, 01001001b
; код символа «5»
db 00000000b,01000111b, 01000101b, 01000101b, 00111001b
; код символа «6»
db 00000000b, 00111110b, 01001001b, 01001001b, 00110000b
; код символа «6»
db 00000000b,00111110b, 01001001b, 01001001b, 00110000b
; код символа « »
db 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
; код символа «Г»
db 01111111b, 00000001b, 00000001b, 00000001b, 00000001b
; код символа «О»
db 00111110b, 01000001b, 01000001b, 01000001b, 00111110b
; код символа «Д»
db 01100000b,00111111b, 00100001b, 00111111b, 01100000b
; код символа «У»
db 00000111b, 01001000b, 01001000b, 01001000b, 00111111b
; код символа «.»
db 01000000b,00000000b, 00000000b, 00000000b, 00000000b
; код символа « »
db 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
; код символа « »
db 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
; код символа « »
db 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
; код символа «Г»
db 01111111b, 00000001b, 00000001b, 00000001b, 00000001b
ORG 0100h

; Обработчик кнопки «Пуск» 
Obrab_INT0:
MOV Fstart,#1
MOV DPTR,# 
RETI

; Обработчик кнопки «Стоп» 
Obrab_INT1:
MOV Fstart,#0 
RETI

; Обработчик кнопки таймера-счетчика 1 
Obrab_T/C1:
INC R1 
RETI

;Подпрограмма задержки 1мс 
DEL1MS:
MOV R1,#25 ; повторяем 25 раз 
LREX:MOV R2,#18



LRIN: DJNZ R2,LRIN ; 36+1 мкс на 12 МГц
DJNZ R1,LREX 
RET

; Подпрограмма IND_7BIT 
IND7BIT:
RLC A
MOV R7,#7
met: RLC A
MOV P1.5,C
CLR P1.6
SET P1.6
DJNZ R7,#7,met 
RET

; Подпрограмма ZAGRUZKA 
ZAGRUZKA:
MOV DPTR,#ADR
MOV R7,#8
MOVC A,@DPTR+A 
met5: LCALL IND_7BIT
SUBB DPTR,#5
DJNZ R7,#8,met5 
RET

; Подпрограмма SHOW 
SHOW:
MOV DPRT,#TAB_MSG
ADD DPTR,#35
MOV ADR,DPTR
LCALL ZAGRUZKA
CLR P1.0
LCALL DEL1MS
SET P1.0
INC ADR
LCALL ZAGRUZKA
CLR P1.1
LCALL DEL1MS
SET P1.1
INC ADR
LCALL ZAGRUZKA
CLR P1.2
LCALL DEL1MS
SET P1.2
INC ADR
LCALL ZAGRUZKA
CLR P1.3
LCALL DEL1MS
SET P1.3
INC ADR
LCALL ZAGRUZKA
CLR P1.4
LCALL DEL1MS
SET P1.4
INC ADR
LCALL ZAGRUZKA
CLR P2.0
LCALL DEL1MS
SET P2.0
INC ADR
LCALL ZAGRUZKA
CLR P2.1
LCALL DEL1MS
SET P2.1
INC ADR
LCALL ZAGRUZKA
CLR P2.2
LCALL DEL1MS
SET P2.2
INC ADR
LCALL ZAGRUZKA
CLR P2.3
LCALL DEL1MS
SET P2.3
INC ADR
LCALL ZAGRUZKA
CLR P2.4
LCALL DEL1MS
SET P2.4
INC ADR
RET ; Подпрограмма DISPLAY 
DISPLAY:
MOV A,DPTR
CJNE A,Kon,Met3
MOV DPTR, #TAB_MSG 
Met3: LCALL SHOW
INC R2
CJNE R2,#10,Met4
ADD DPTR,#5
Met4: 
RET 
START:
MOV TMOD,# 00100000b
MOV IP,#00001000b
MOV IE,#10001101b
MOV TH1,#06
MOV TL1,#06
MOV TCON,#01000101b
MOV DPTR,#TAB_MSG
MOV R2,#0 
Met1: MOV R1,#0 
Met2:CJNE Rl,#200,Met2
MOV A,Fstart
JZ Met1
LCALL DISPLAY
JMP START
END

Последний раз редактировалось Lord_Dragon; 16.05.2010 в 02:19.
Lord_Dragon вне форума Ответить с цитированием
Старый 16.05.2010, 02:01   #3
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

1 Вы читали правила? А зачем столько восклицательных знаков в названии темы?
2 Мультипостинг не приветствуется - пользуйтесь кнопкой "правка".
3 Код оформляйте должным образом.
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Старый 17.05.2010, 00:18   #4
Lerich
Пользователь
 
Регистрация: 12.05.2010
Сообщений: 13
По умолчанию

Во прики вот это гавно, у мя таж проблема тока кода нет!!! и надеюсь что ктото поможет!!!!!!)))))))))


p.s. к чему написал не знаю, прост хотел поделиться горем)))))
Lerich вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Счётчик человеческого пульса на мк51 Lerich Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 23 25.05.2010 12:06
программирование микроконтроллера мк51 Nulled_ Фриланс 1 16.10.2009 21:02
программирование микроконтроллера МК51 Nulled_ Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 11.10.2009 13:25