Bascom и 74hc299

Обсуждаем контроллеры компании Atmel.
Ответить
skdon
Родился
Сообщения: 15
Зарегистрирован: Ср май 25, 2011 10:23:21

Bascom и 74hc299

Сообщение skdon »

Вечер добрый коты и котята ;)
Помогите плиз решить проблемку. Или ткнуть носом, что я сделал не так. Нужно поуправлять 74hc299 с пом. avr (пишу на bsccome).
В принципе с управлением разобрался. Код ниже:

Код: Выделить всё

$regfile = "attiny13.dat"
$crystal = 1200000
$hwstack = 16
$swstack = 16
$framesize = 16
$noramclear

Config Portb = Output

Dim A As Byte
Dim B As Byte
Dim C As Byte

Do
If A < 9 Then
A = A + 1
Else
A = 0
End If
C = Lookup(6 , Indicator)
Shiftout Portb.1 , Portb.0 , C , 1
Pulseout Portb , 2 , 5
Waitms 100
Loop
End
                      '
Indicator:
Data &B11000000
Data &B11111001
Data &B10100100
Data &B10110000
Data &B10011001
Data &B10010010
Data &B10000010
Data &B11111000
Data &B10000000
Data &B10010000
Подскажите, пожалуйста, почему данный код не работает без задержки Waitms 100. Ведь как я понимаю, данная строчка будет в дальнейшем тормозить всю программу. Как от нее избавиться?
Вложения
74hc299.rar
(17.71 КБ) 148 скачиваний
Реклама
Аватара пользователя
Enigm
Говорящий с текстолитом
Сообщения: 1663
Зарегистрирован: Вт апр 03, 2012 20:36:41
Откуда: Сочи

Re: Bascom и 74hc299

Сообщение Enigm »

Запускаем таймер с прерыванием напрмер 1Кгц. это будет шаг в 1 миллисекунду.
Заводим переменную Time И будем ее увеличивать на единичку каждый раз заходя в прерывание.
Создаем условие TIme >= 100
Если больше или равно 100 то исполняем все что вы написали и в конце обнуляем TIme.
Если нет то крутимся дальше .
Вот и получится что ваша часть будет исполнятся раз в 100 миллисекунд.
И нечего не останавливается.
Это если я правильно разобрал ваш баском.
Реклама
skdon
Родился
Сообщения: 15
Зарегистрирован: Ср май 25, 2011 10:23:21

Re: Bascom и 74hc299

Сообщение skdon »

Я тоже думал о таймере, но смущает то, что даже при такой реализации (waitms 100) иногда на сегментах проскакивает какая то белеберда. Т.е. светится цифра, а потом нет нет да и проскочит что то не то. Хотя на 74hc595 данная реализация работает отлично. Но нужно прилепить именно к 74hc299 т.к. имеется много в наличии. Вот я и подумал, может подключил не правильно.
Ответить

Вернуться в «AVR»