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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2010, 01:07   #1
marina_sergina
Пользователь
 
Регистрация: 10.05.2010
Сообщений: 17
По умолчанию нужно исправить ошибку

Задание:разработать принципиальную схему и управляющию программу на языке Assembler устройства реализующего следующий алгоритм- в исходном состоянии устройство переодически зажигает светодиод,подключенный к одной из линии портов.При нажатии на одну из кнопок клавиатуры номер нажетой кнопки отображается на индикаторе,а частота зажигания светодиода увеличивается в 2 раза.
мой вариант:
схема с запоминанием состояния
тип микроконтроллера PIC16F877
отображение данных на семисегментном индикаторе
пленочная клавиатура
периуд моргания светодиода 1.5 секунды


моя программа выглядит так,но схема не работает помогите найти ошибку!
Код:
list p=16f877
#include "p16f877.inc"
M	EQU	H'000C'
org 0
 	GOTO	START
ORG 4
;----------preryvanie----------
 	DECF	M, F
 	BCF INTCON,T0IF           
 	RETFIE ;------END PRERYVANIE
;------------------------------
START	CLRF	PORTB
    CLRF PORTC
    BSF STATUS,RPO;PAGE1
    MOVLW b'00111000'
    MOVLW TRISB
    CLRF  TRISC
    ;DECF TRISB, F
    BCF STATUS, RPO;PAGE0
    BSF INTCON,	   T0IE
    BSF INTCON,    GIE
;------------------------------
loop
	clrf PORTB
	bsf  PORTB,0
	bcf  PORTB,1
	bcf  PORTB,2
	btfsc PORTB,3
	goto  k1
	btfsc PORTB,4
	goto  k4
	btfsc PORTB,5
	goto  k7
	bcf PORTB,0
	bcf PORTB,1
	bcf PORTB,2


	bsf PORTB,1
	bcf PORTB,0
	bcf PORTB,2
	btfsc PORTB,3
	goto k2
	btfsc PORTB,4
	goto k5
	btfsc PORTB,5
	goto k8
	bcf PORTB,1
	bcf PORTB,0
	bcf PORTB,2
	bsf PORTB,2
	bcf PORTB,0
	bcf PORTB,1
	btfsc PORTB,3
	goto k3
	btfsc PORTB,4
	goto k6
	btfsc PORTB,5
	goto k9
	bcf PORTB,2
	bcf PORTB,0
	bcf PORTB,1


	goto TIMER
k1
	clrf PORTC
	bsf  PORTC,0
	call TIMER1
	goto    loop
k2
	clrf PORTC
	bsf  PORTC,1
	call TIMER1
	goto    loop
k3
	clrf PORTC
	bsf  PORTC,2
	call TIMER1
	goto    loop
k4
	clrf PORTC
	bsf  PORTC,3
	call TIMER1
	goto    loop
k5
	clrf PORTC
	bsf  PORTC,4
	call TIMER1
	goto    loop
k6
	clrf PORTC
	bsf  PORTC,5
	call TIMER1
	goto    loop
k7
	clrf PORTC
	bsf  PORTC,6
	call TIMER1
	goto    loop
k8
	clrf PORTC
	bsf  PORTC,6
	call TIMER1
	goto    loop
k9
	clrf PORTC
	bsf  PORTC,6
	call TIMER1
	goto    loop	
;-------------------------
TIMER   BCF PORTC,7
	BSF STATUS,RPO
	MOVLW B'10000100'
	MOVWF OPTION_REG
	BCF STATUS,RPO
VREMYACALL	VV
	BTFSC PORTC,7
	GOTO loop
	BSF PORTC,7
	GOTO VREMYA
VV      MOVLW D'229'
	MOVWF TMR0
        BSF STATUS,RPO
	BCF OPTION_REG,  5

	BCF STATUS,RPO
	MOVLW D'184'
	MOVWF M
CYCLE    MOVF M, F
	BTFSS STATUS,Z
	GOTO CYCLE
	BSF STATUS,RPO
	BSF OPTION_REG,   5

	BCF STATUS,RPO
	RETURN
;---------------------------
TIMER1 BCF PORTC,7
	BSF STATUS,RPO
	MOVLWB'10000010'
	MOVWF OPTION_REG
	BCF STATUS,RPO
VREMYA1	     CALL  VV1
	BTFSC PORTC,7
	RETURN
	BSF PORTC,7
	GOTO VREMYA1
VV1 MOVLW D'220'
	MOVWF TMR0
	BSF STATUS,RPO
	BCF OPTION_REG,   5

	BCF STATUS,RPO
	MOVLW D'245'
	MOVWF M
CYCLE1  MOVF M, F
	BTFSS STATUS,Z
	GOTO CYCLE1
	BSF STATUS,RPO
	BSF OPTION_REG,   5
	
	BCF STATUS,RPO
	RETURN
END
схему я прекрапила,она собрана в Proteus
Изображения
Тип файла: bmp kp.BMP (88.8 Кб, 141 просмотров)

Последний раз редактировалось Stilet; 16.12.2010 в 10:02.
marina_sergina вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите исправить ошибку kinza Помощь студентам 5 09.06.2009 15:27
нужно исправить ошибку TheVenny Помощь студентам 17 06.11.2008 16:26
Исправить ошибку LLIypLLIyH Помощь студентам 5 16.06.2008 16:50