Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
17.12.2010, 00:14
|
|
Прохожий
Регистрация: 09.12.2010
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Схема так называемая "Змейка" PIC16F84a
Имеется схема EduKitBeta на основе микроконтроллера Pic16f84a. Нужно сделать так, чтобы при нажатии кнопки BT3 по вдоль всех четырех дисплеев начала бегать змейка, то есть, загарается элемент А потом загарается B и при этом тухнет A и так далее.А при обратном нажатии приостанавливается. Помогите разобраться, только начал изучать.
|
|
|
|
17.12.2010, 00:35
|
|
Прохожий
Регистрация: 09.12.2010
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: схема так называемая "Змейка" PIC16F84a
Цитата:
|
;
#include "Set16f84a.inc"
loadb macro reg,val
movlw val
movwf reg
endm
CBLOCK ORGREG
cnt1
cnt2
cnt3
segm
sec
ENDC
ORG 0
goto Start
#include "Display.inc"
Delay_ds:
movwf cnt3
DlyLp: call Delay100
decfsz cnt3,f
goto DlyLp
return
Delay100:
movlw 100 ;zagruzit 100 v reg w
Delay_ms:
movwf cnt2
OutLp: movlw 249
movwf cnt1
InLp: nop
decfsz cnt1,f ;cikl, umensaet cnt1 na 1
goto InLp
decfsz cnt2,f
goto OutLp
return
;************************************************* ******
; Inicializacni cast
Start: bsf STATUS,RP0 ; -vybor banka 1
movlw B'00101111'
movwf trisb ;DATA (B7), CLK (B4) a STR (B6) vyhody
bcf STATUS,RP0 ;vybor banka 0
; Hlavni smycka
Main: loadb sec,0
clrf hval
Loop: movf sec,w
movwf lval
call DispConv
call DispSet
movlw 5
call Delay_ds
incf sec,f
goto Loop
END
|
Цитата:
|
; Display.INC
#define STR portb,6
#define DATA portb,7
#define CLK portb,4
;************************************************* ******
CBLOCK 40h
disp0
disp1
disp2
disp3
char0
char1
char2
char3
cnt
ENDC
;************************************************* **********
Tab7segm:
addwf pcl,f
retlw B'01111111' ; A
retlw B'10111111' ; B
retlw B'11011111' ; C
retlw B'11101111' ; D
retlw B'11110111' ; E
retlw B'11111011' ; F
retlw B'11111101' ; G
;************************************************* ************
DispConv:
movf char0,w
call Tab7segm
movwf disp0
movf char1,w
call Tab7segm
movwf disp1
movf char2,w
call Tab7segm
movwf disp2
movf char3,w
call Tab7segm
movwf disp3
return
;******************************************
DispSet:
bcf STR
movlw 32
movwf cnt
DispS1: rrf disp0,f
rrf disp1,f
rrf disp2,f
rrf disp3,f
bsf DATA
btfss STATUS,C
bcf DATA
bcf CLK
nop
bsf CLK
decfsz cnt,f
goto DispS1
bsf STR
return
;************************************************* ***
|
немного поработал.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 12:11.
|
|