|
помогите с регистром сдвига |
|
|
|
Feb 15 2011, 18:18
|
Участник

Группа: Участник
Сообщений: 52
Регистрация: 7-10-10
Пользователь №: 59 988

|
Всем привет, подключил регистр сдвига 74HC164 к меге8535, но никак не удаётся управлять им....мучаюсь уже 3тий день..... подключал как сдесь  только вместо индикатора у меня табло 8х8 проблема в том что не наблюдаю никаких изменений, а иногда регистр ведет себя странно, вписывает левые значения) привожу текст проги : Код #include <MEGA8535.h>
char i;
void main(void) { DDRA = 0b11111111; PORTA = 0b11111111; //тут висят + матрицы (плюсы включают строки) DDRB = 0x00000011; PORTB = 0b00000010; //PORTB.0 - C1, PORTB.1 - Data (регистр)
for (i = 0; i<= 7; i++) { //очищаем регистр (записываем во все выводы 1) PORTB.0 = 0; PORTB.0 = 1; }; while (1) { PORTB.1 = 0; //включаем первый столбец PORTB.0 = 0; PORTB.0 = 1; delay_ms(100); PORTB.1 = 1;
for (i = 0; i<= 6; i++) { //как-бы выводим каждый раз новый столбец матрицы справа налево PORTB.0 = 0; PORTB.0 = 1; delay_ms(100); }; } } помогите пожалуста!
|
|
|
|
|
 |
Ответов
|
Feb 16 2011, 10:26
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата только вместо индикатора у меня табло 8х8 У 'табло 8х8' должно быть как минимум 16 входов (8 столбцов + 8 строк). С HC164 идет 8, куда подсоединены остальные 8? Кроме того, ваша прога вообще делает непонятно что. Цитата а иногда регистр ведет себя странно, вписывает левые значения Что вы в него записываете, то он и 'вписывает'  Вы что от него хотели получить?
|
|
|
|
|
Feb 16 2011, 17:11
|
Участник

Группа: Участник
Сообщений: 52
Регистрация: 7-10-10
Пользователь №: 59 988

|
Цитата(XVR @ Feb 16 2011, 14:26)  У 'табло 8х8' должно быть как минимум 16 входов (8 столбцов + 8 строк). С HC164 идет 8, куда подсоединены остальные 8?
Вы что от него хотели получить? PORTB - тут висят плюсы от матрицы, минусы идут на регистр.... хочу попрактиковаться с регистром сдвига......
|
|
|
|
|
Feb 16 2011, 18:18
|
Участник

Группа: Участник
Сообщений: 52
Регистрация: 7-10-10
Пользователь №: 59 988

|
Всем спасибо, нашел ошибку, вы не поверите но такое не с каждым случается, если присмотреться, то можно увидеть что я вместо 0b00000011 написал 0x00000011, ну что ж поделаешь....но зато есть другая проблема,
вчера от злости начал менять фьюзы.....думал что то с кварцем нето) доменялся, теперь 8535 не перепрошивается, менял фьюзы
cksel sut ckopt (просто от фанаря в них вбивал значения) у меня стоял кварц мини версия на 16 МГц..... сейчас не перепрошивается....как я думаю, я поставил какую-то комбинацию, наверно на другой кварц, если кто сталкивался с таким пожалуста не дайте умереть меге!!! =)
не помню какие выставил фъюзы....я их сбил потом )))
|
|
|
|
Сообщений в этой теме
sadfeel помогите с регистром сдвига Feb 15 2011, 18:18 Палыч Цитата(sadfeel @ Feb 15 2011, 21:18) PORT... Feb 15 2011, 18:31 sadfeel Цитата(Палыч @ Feb 15 2011, 21:31) Что-то... Feb 15 2011, 18:42 yakub_EZ Добрый вечер!
По моему мнению, в момент вывода... Feb 15 2011, 21:43 alexeyv У меня это реализуется примерно так:
Код#define t... Feb 16 2011, 05:22    sadfeel Цитата(Палыч @ Feb 16 2011, 22:30) Если в... Feb 16 2011, 19:02 Палыч Цитата(XVR @ Feb 16 2011, 13:26) Что вы в... Feb 16 2011, 17:12 2891oleg Насколько я знаю, на выходе LED в этом программато... Feb 16 2011, 21:09 sadfeel Купил новый МК....) потом разберусь со старым........ Feb 18 2011, 15:19  Палыч Цитата(sadfeel @ Feb 18 2011, 18:19) подс... Feb 18 2011, 17:00 lisstret Мне кажется здесь красиво было бы использовать SPI... Mar 18 2011, 10:45
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|