|
|
FJC¥Ë¥å¡Ý¥¹11·î¹æ
º£·î¤Ï2Áê¥æ¥Ë¥Ý¡¼¥é¥Ñ¥ë¥¹¥â¡¼¥¿¡¼À©¸æ
¤Î¥µ¥ó¥×¥ë £±£²£Ã£µ£°£¹£Á¤Î MPSA ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
²óÏ©¿Þ¤È¤¦¤Ï¥Û¡¼¥à¥Ú¡¼¥¸¤Î¥Ñ¥ë¥¹¥â¡¼¥¿¤Î¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤Ž¡
;-------------------------------------------
LIST P=12C509A
#include "P12C509A.INC"
;ÆâÉô¥¯¥í¥Ã¥¯¡¡4MHz
;MCLR ¤ò¡¡ÆþÎϥݡݥȡ¡£Ç£Ð£³¡¡¤Ç»È¤¦
__CONFIG _MCLRE_OFF & _CP_OFF & _WDT_OFF &_IntRC_OSC
__IDLOCS H'0306'
; 1ÁêÎå¼§¥Ñ¥ë¥¹¥â¡¼¥¿¥³¥ó¥È¥í¡¼¥é t.yamahara
;
;
;
; GND s1 s2 s3
; ¨£¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¤
; ¨¢¨ § ¦ ¥ ¨¢
; ¨¢VSS GP0 GP1 GP2 ¨¢
; ¨¢ PIC12C509 ¨¢
; ¨¢VDD GP5 GP4 GP3 ¨¢
; ¨¢¡ ¢ £ ¤ ¨¢
; ¨¦¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¥
; DC5V ccw s4 £ã£÷
; IN IN
;
s1 equ 0 ;¥Ñ¥ë¥¹¥â¥¿¡¼¦Õ£±½ÐÎÏ GPIO_0
s2 equ 1 ;¥Ñ¥ë¥¹¥â¥¿¡¼¦Õ£²½ÐÎÏ GPIO_1
s3 equ 2 ;¥Ñ¥ë¥¹¥â¥¿¡¼¦Õ£³½ÐÎÏ GPIO_2
s4 equ 4 ;¥Ñ¥ë¥¹¥â¥¿¡¼¦Õ£´½ÐÎÏ GPIO_4
ccwin equ 5 ;£Ã£Ã£×²óž»ÊÎáÉé¥Ñ¥ë¥¹ÆþÎÏ GPIO_5
cwin equ 3 ;£Ã£Ã£×²óž»ÊÎáÉé¥Ñ¥ë¥¹Æþ GPIO_3
stc equ 8 ;¥â¡¼¥¿¡¼°ÌÃÖ¥«¥¦¥ó¥¿¡¼
tmdt equ 9 ;¥¿¥¤¥Þ¡¼¥Ç¡¼¥¿¡¼
cu1 equ 10 ;ÈÆÍÑ
cu2 equ 11
bf equ 12
gpbf equ 13 ;£Ç£Ð£É£Ï£î£ï¥Ð¥Ã¥Õ¥¡
org 0
goto start
; £Ç£Ð£É£Ï¤ÎÆÉ¤ß¹þ¤ß
; £±£²£Ã£µ£°£¹£Á¤òÆâÉô£Ò£Ãȯ¿¶¤Ç»ÈÍѤ·¤Þ¤¹¤Î¤Ç1¥µ¥¤¥¯¥ë£´£Í£È£ú¡¿4
; £±u£ó¤ÇÌó£±£°u£ó¤Î´Ö¤Ë£ç£ði£ï¤ÎÃͤ¬ÊѲ½¤¹¤ë¤ÈÆÉ¤ßľ¤·¤È¤Ê¤ê
; £Ã£Ã£×¡¤£Ã£×À©¸æ¥Ñ¥ë¥¹¤ËÆþ¤ë£±£°u£ó°Ê²¼¤Î¥Î¥¤¥º¤ò¥«¥Ã¥È¤Ç¤¤Þ¤¹¡£
; £Î£Ï£Ð¤ò£±¤ÄÁý¤ä¤¹»ö¤Ç£±u£ó¥Õ¥¤¥ë¥¿¡¼¤ò¿¤Ð¤»¤Þ¤¹Ž¡
ingp movf GPIO,0 ;gpbf ¤Ë GPIO ¤Î Ãͤò Æþ¤ì¤ë¡£
movwf gpbf
nop ; £±u£ó
nop
nop
movf GPIO,0 ;GPIO¤ÎÃͤ¬ÊѤï¤Ã¤Æ¤¤¤ì¤Ðingp¤Ø¥¸¥ã¥ó¥×
subwf gpbf,0
btfss 3,2
goto ingp
retlw 0
; ÅŸ»Î©¤Á¾å¤¬¤ê»þ¤Î¸íưºîËɻߥ¿¥¤¥Þ¡¼
start clrf cu1
clrf cu2
movlw 2
movwf bf
start1 nop
decfsz cu1,1
goto start1
decfsz cu2,1
goto start1
decfsz bf,1
goto start1
movlw 101000b ; GPIO i/o set
TRIS GPIO
clrf GPIO
movlw 000111b ; trm0 i/o Pul up
OPTION
loop0 clrf GPIO ;motor off
bsf GPIO,s1 ;¥â¥¿¡¼¤ò£°¥Ý¥¸¥·¥ç¥ó¤Ë ¥»¥Ã¥È
clrf stc
loop1 call ingp ;£±£°u£ó¥½¥Õ¥È¥Õ¥¤¥ë¥¿¡¼¤ò¤È¤¦¤·¤ÆÆþÎÏ´Æ»ë
btfss gpbf,cwin ;£Ã£×¥Ñ¥ë¥¹£É£Î
goto incs
btfss gpbf,ccwin ;£Ã£Ã£×¥Ñ¥ë¥¹£É£Î
goto decs
goto loop1
;£Ã£×¥Ñ¥ë¥¹£É£Î
incs incf stc,1 ;°ÌÃÖ¥«¥¦¥ó¥¿¡¼¡Ü£±(£±¥¹¥Æ¥Ã¥×»þ·×²ó¤ê°ÌÃÖ¡Ë
movlw 4
subwf stc,0
btfss 3,2
goto tmset
clrf stc
goto tmset
; £Ã£Ã£×¥Ñ¥ë¥¹£É£Î
decs movlw 1 ;°ÌÃÖ¥«¥¦¥ó¥¿¡¼¡Ü£±(£±¥¹¥Æ¥Ã¥×È¿»þ·×²ó¤ê°ÌÃÖ¡Ë
subwf stc,1
btfsc 3,0
goto tmset
movlw 3
movwf stc
; °ÌÃÖ¥«¥¦¥ó¥¿¡¼¤Ë¹ç¤ï¤»¤ÆÎå¼§
tmset movlw 1
subwf stc,0
btfsc 3,2
goto p1
movlw 2
subwf stc,0
btfsc 3,2
goto p2
movlw 3
subwf stc,0
btfsc 3,2
goto p3
bsf GPIO,s1 ;¥â¡¼¥¿°ÌÃÖ 0 Îå¼§
bcf GPIO,s2
bcf GPIO,s3
bcf GPIO,s4
goto tmon
p1 bcf GPIO,s1 ;¥â¡¼¥¿°ÌÃÖ £± Îå¼§
bsf GPIO,s2
bcf GPIO,s3
bcf GPIO,s4
goto tmon
p2 bcf GPIO,s1 ;¥â¡¼¥¿°ÌÃÖ £² Îå¼§
bcf GPIO,s2
bsf GPIO,s3
bcf GPIO,s4
goto tmon
p3 bcf GPIO,s1 ;¥â¡¼¥¿°ÌÃÖ £³ Îå¼§
bcf GPIO,s2
bcf GPIO,s3
bsf GPIO,s4
goto tmon
; ÉéÆþÎϤΥѥ륹¤¬£Ï£Æ£Æ¡ÊÅ۵£È¡Ë¤Ë¤Ê¤ë¤Þ¤ÇÂԤġ£
tmon call ingp
btfss gpbf,cwin
goto tmon
btfss gpbf,ccwin
goto tmon
goto loop1
END
|
|