реклама на сайте
подробности

 
 
> Глюк с AT89C51, Динамическая индикация
AntonBDV88
сообщение Sep 8 2006, 14:50
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 8-09-06
Пользователь №: 20 209



Здравстуйте!!!
Такая проблема : значит написал простейшую программу динамической
индикации, и она не работает, т.е. пишет постоянно во всех индикаторах
один и тот же знак. Вооюще не понимаю где здесь может быть ошибка :
( Код знака выдается через P0, катоды индикаторов переключаются с помощью
P2.6, P2.7 )

Код
Org 0000h
  sjmp START

;Вектор прерывания Int0
Org 0003h  
reti
  
;Вектор прерывания Int1
Org 0013h
reti

;Вектор прерывания таймера T0
Org 000Bh  
reti

;Вектор прерывания таймера T1
Org 001Bh  
reti

;=========================================
; Начало программы
Org 0040h
START:
;----------
;----------  
; начальные установки
mov P0,#00h
mov P1,#00h
mov P2,#00h
mov SP,#45h
mov TMOD,#00010001b
mov TCON,#00h
mov IP,#00h
mov IE,#10001011b

mov PSW,#00001000b; 1 банк регистров
mov R7,#00h; признак - какой индикатор надо включать
l:
mov P2,#00h
cjne R7,#00h,ind1
mov A,#02h
acall indis
setb P2.6
mov R7,#01h
sjmp ind4
ind1:
mov A,#05h
acall indis
setb P2.7
mov R7,#00h
ind4:
sjmp l

indis:
add A,#03h
movc A,@A+PC
mov P0,A
ret
; Таблица символов для индикации
db 01111101b; "0"
db 01100000b; "1"
db 00111110b; "2"
db 01111010b; "3"
db 01101011b; "4"
db 01011011b; "5"
db 01011111b; "6"
db 01110000b; "7"
db 01111111b; "8"
db 01111011b; "9"
db 01111101b; "0"
;-------------------------------------
END


Если не сложно подскажите пожалуйста или подкиньте работающий пример.
Заранее спасибо
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AntonBDV88
сообщение Sep 8 2006, 16:21
Сообщение #2





Группа: Новичок
Сообщений: 3
Регистрация: 8-09-06
Пользователь №: 20 209



volkanaft

Цитата
1.Непонятно зачем такая дикая частота мультипликации (~100кГц)
поди транзистор в катоде стоит - может не успевать перекл. на такой частоте.


У меня как раз процедура и вызывается от прерывания таймера(~20мс), это я просто здесь так
"влоб" написал.
Просто самое непонятное то, что в когда прогоняю в симуляторе все работает как надо, а
прошитый контроллер врет. Может мне контроллер попался брачный(паленый) или я его уже
подпалил слегка(напряжение записи случайно 13В поставил) smile.gif))

А можно подкинуть примерчик рабочий чтоб записать его (для опытов) пжл ?

Сообщение отредактировал AntonBDV88 - Sep 8 2006, 16:22
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 14:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01356 секунд с 7
ELECTRONIX ©2004-2016