ВСЕМ ДОБРОГО ВРЕМЕНИ СУТОК. ПРОШУ СТРОГО НЕ КРИТИКОВАТЬ - ТОЛЬКО СЁДНЯ ЗАРЕГИСТРИРОВАЛСЯ ТУТА. ПРОБЛЕМА ТАКАЯ: ПЫТАЮСЬ НА ДИСПЛЕЕ ВЫВЕСТИ 8 СИМВОЛОВ НА ПЕРВОЙ СТРОКЕ И СТОЛЬКО-ЖЕ НА ВТОРОЙ И НИ ФИГА НЕ ПОЛУЧАТСЯ. Если начинаю выводить по порядку цифры от 0 до 8, то в proteuse на жки отображается от1 до 7 (нет первого - 0 ), а на второй вообще чё попало выводится. В реале на макетке почти то-же самое (вместо первого нуля - краказябрик ). Ну а если символы не по порядку вывожу , то получается ахинея в хаосе + беспорядок. В proteuse - Pic16f877a , жки LM016L (16X2). НА МАКЕТКЕ ТОТ-ЖЕ МК, ТОКА ДИСПЛЕЙ - ACM0802C. Вот кусок программы , думаю что где то здесь накосячил. Может у кого была такая проблема ? ЛЮДИ ПОМОГИТЕ РАЗОБРАТЬСЯ. ;----------------------------------------------------- ;ВЫВОД ЗНАЧЕНИЙ РЕГ. НА ИНДИКАЩИЮ ;----------------------------------------------------- IND_JKI MOVLW 02 ;ВОЗВРАТ КУРСОРА В ИСХ. СОСТ. CALL KOM_JKI ;ЗАПИШЕМ КОМАНДУ MOVLW B'10000000' ;КУРСОР НА 0-Ю ПОЗИЦИЮ 1-Й СТРОКИ CALL KOM_JKI ;ЗАПИШЕМ КОМАНДУ MOVLW .8 ;ЧИСЛО ЗНАКОМЕСТ MOVWF COUN MOVLW R1 ;АДРЕС 1-ГО РЕГ. MOVWF FSR ;В FSR MOVFW INDF ;ПЕРЕМЕННУЮ С R1 В РАБОЧИЙ РЕГ. CALL ZAP_D ;ЗАПИШЕМ ДАННЫЕ DECF COUN,1 ;-1 ИЗ СЧЁТЧИКА BTFSC STATUS,2 ;ЕЖЕЛИ ПРОСКОЧИЛИ ВСЕ 8 РЕГ.,ТО GOTO $+3 ;НА ИНДИКАЦИЮ ВТОРОЙ СТРОКИ INCF FSR,F ;ИНАЧЕ +1 К АДРЕСУ ПЕРВОГО РЕГ. GOTO $-6 ;И ЗАПИСЫВАЕМ СЛЕДУЮЩИЙ MOVLW B'11000000' ;КУРСОР В НАЧАЛО ВТОРОЙ СТРОКИ CALL KOM_JKI ;ЗАПИШИМ КОМАНДУ MOVLW .8 ;.....................ПОЧТИ АНОЛОГИЧНО 1-Й СТРОКЕ MOVWF COUN MOVLW R1 MOVWF FSR MOVFW INDF CALL ZAP_D INCF FSR,F DECFSZ COUN,F GOTO $-4 GOTO PROG1 ;ВЕЧНЫЙ ЦИКЛ
|