¡¡Åê¹Æ¼Ô
¡¡¥á¡¼¥ë
¡¡¡¡Âê̾
¡¡¡¡ÆâÍÆ ÆþÎÏÊä½õư²è¸¡º÷<OBJECT>¥¿¥°¤¬ÍøÍѲÄǽ¤Ç¤¹¡£(¾ÜºÙ)
¡¡¡¡¡¡¡¡
¡¡£Õ£Ò£Ì
[ ¥±¡¼¥¿¥¤¤Ç»È¤¦ ] [ BBS¥Æ¥£¥Ã¥«¡¼ ] [ ½ñ¹þ¤ßÄÌÃÎ ] [ teacup.¥³¥ß¥å¥Ë¥Æ¥£ ] [ ¸¡º÷ ]

Åê¹ÆÊ罸¡ª¡¡¥¹¥ì¥Ã¥É°ìÍ÷

¥¹¥ì¥Ã¥ÉºîÀ® ¾¤Î¥¹¥ì¥Ã¥É¤òõ¤¹

[PR]  ¥°¥¢¥à³Ê°Âι¹Ô µá¿Í¡¦Å¾¿¦ seoÂкö CIA
teacup. ] [ ÌµÎÁ·Ç¼¨ÈÄ ] [ ¥×¥ì¥ß¥¢¥à·Ç¼¨ÈÄ ] [ teacup.¥³¥ß¥å¥Ë¥Æ¥£ ] [ ¥Ö¥í¥° ] [ ¥Á¥ã¥Ã¥È ]

Á´89·ï¤ÎÆâ¡¢¿·Ãå¤Îµ­»ö¤«¤é10·ï¤º¤Äɽ¼¨¤·¤Þ¤¹¡£ 1  2  3  4  5  6  7  8  9  |  ¡ÔÁ°¤Î¥Ú¡¼¥¸ |  ¼¡¤Î¥Ú¡¼¥¸¡Õ 

fjcŽÆŽ­-޽8·î¹æ 4/4

 Åê¹Æ¼Ô¡§»³¸¶  Åê¹ÆÆü¡§2008ǯ 7·î30Æü(¿å)16»þ49ʬ30ÉÃ
  env mov cu0,#5
call wait_us
setb lce
nop
clrb lce
mov cu0,#40
call wait_us
ret
swait call inrb
and bf,#3
cjne bf,#3,swait
mov cu0,#50
call wait_ms
call inrb
and bf,#3
cjne bf,#3,swait
ret
wait_ms mov cu1,#0
wait_ms1        nop
nop
nop
nop
djnz cu1,wait_ms1
djnz cu0,wait_ms
ret
wait_us djnz cu0,wait_us
ret
inra mov bf,ra
nop
nop
nop
cjne bf,ra,inra
ret
inrb mov bf,rb
nop
nop
nop
nop
cjne bf,rb,inrb
ret
;------------ LCD init --------------
lcd_init        clrb    lcrs
                mov     ra,#3
                call    env
                mov     cu0,#5
                call    wait_ms
                mov     ra,#3
                call    env
                mov     cu0,#100
                call    wait_us
                mov     ra,#3
                call    env
                mov     ra,#2
                call    env
                mov     ra,#2
                call    env
                mov     ra,#8
                call    env
                mov     ra,#0   ;dsp off
                call    env
                mov     ra,#8
                call    env
                mov     ra,#0   ;dsp clr
                call    env
                mov     ra,#1
                call    env
                mov     cu0,#2
                call    wait_ms
                mov     ra,#0   ;ent
                call    env
                mov     ra,#6
                call    env
                mov     ra,#0   ;dsp on
                call    env
                mov     ra,#0eh
                call    env
ret

http://homepage2.nifty.com/JG1FJC/

 

FJC¥Ë¥å¡Ý¥¹6·î¹æ

 Åê¹Æ¼Ô¡§»³¸¶  Åê¹ÆÆü¡§2008ǯ 6·î25Æü(¿å)17»þ33ʬ25ÉÃ
  FJC¥Ë¥å¡Ý¥¹6·î¹æ
º£·î¤Ï¡¢£±£²¥Ó¥Ã¥È¥³¥¢¤Ï£²¥¹¥¿¥Ã¥¯¤Î¤¿¤á¡¢¥µ¥Ö¥ë¥Á¥ó¥³¡¼¥ë¤¬¤¢¤Þ¤ê¤Ç¤­¤Þ¤»¤ó¡£
¤½¤³¤Ç¡¢¥ê¥¿¡¼¥ó¤ò¾¯¤Ê¤¯¤¹¤ë¤¿¤á¤Î¡¢¹©É× Îã¤Î¾Ò²ð¤Ç¤¹¡£
£°¥Ú¡Ý¥¸¤Î¥µ¥Ö¥ë¡Ý¥Á¥ó¤ò¾¥Ú¡Ý¥¸¤«¤é¸Æ¤Ó½Ð¤»¤Þ¤¹¡£
£±£´¥Ó¥Ã¥È¥³¥¢¤Ç¤â£¸£°£°£È¤òͤ¨¤ë¥½¥Õ¥È¤Ë£Ð£Ã£Ì£Á£Ô£È¤ò»È¤Ã¤Æ
±þÍѤǤ­¤Þ¤¹¡£
;¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö
include 12c5xx.h
.12c509
.osc intrc ;ÆâÉô£Ò£Ã¥¯¥í¥Ã¥¯ £´£Í£È£ú
.mclre disable ;MCLR ¤ò¡¡ÆþÎϥݡݥȡ¡£Ç£Ð£³¡¡¤Ç»È¤¦
.wdt off
id 1412h
org 8h
cu1 ds 1
cu2 ds 1
gpbf ds 1
run_sw          equ     gpbf.3
w_cu ds 1 ;wait cunter
p2bf ds 1 ;ŽÍŽßް޼ŽÞް2»þ£±¤½¤Î¾£°
sub_dt ds 1 ;ret ¥¢¥É¥ì¥¹ ¥Ð¥Ã¥Õ¥¡
org 0
goto start
ingpio      mov     gpbf,gpio ;in gpio
                nop
                nop
nop
nop
nop
                cjne    gpbf,gpio,ingpio ;gpio¤Î¥·¥ç¡Ý¥È¥Ñ¥ë¥¹¤Î
;¥Î¥¤¥º¥Õ¥£¥ë¥¿¡Ý
jnb gpbf.2,lp1_1
mov sub_dt,#1
goto sub1 ;call sub1 ÉÔ»ÈÍÑ

lp1_1 jnb gpbf.3,lp1_2
       mov sub_dt,#2
goto sub2 ;call sub2 ÉÔ»ÈÍÑ
lp1_2 jb p2bf.0,lp2 ;2ŽÍŽßް޼ŽÞ¡©
ret
lp2 setb pa0 ;ŽÍŽß-޼ŽÞ£±¤«¤é¤Î£Ã£á£ì£ì¤ÇŽÍŽß-޼ŽÞ1¤Ë¤â¤É¤ê¤Þ¤¹¡£
ret
; ¥µ¥Ö¥ë¡¼¥Á¥ó ¤ò »ÈÍѤ·¤Ê¤¤ Îã
sub1 ;¥µ¥Ö¥ë¡¼¥Á¥ó½èÍý
sblp cje sub_dt,#1,lp1_1 ;ret ¤·¤Ê¤¤¤ÇÌá¤ë¡£
cje sub_dt,#2,lp1_2
ret ;1,2°Ê³°¤ÏRET
sub2 ;¥µ¥Ö¥ë¡¼¥Á¥ó½èÍý
goto sblp
start           mov w_cu,#20
;-------------- timer--------------
wait            clr     cu1
                mov     cu2,#4
wait1           nop
                djnz    cu1,wait1
                djnz    cu2,wait1
djnz w_cu,wait
mov     !gpio,#101100b     ; in out set

mov w,#000010b
option

main clr p2bf ;Page 0 prgram £Ó£Å£Ô
call ingpio
jnb run_sw,run ;start sw ON
goto main
run ;¥Ú¡Ý¥¸£°¥×¥í¥°¥é¥à
clr sub_dt
call sub2 ;SUB2ñÆÈCALL

;¥Ú¡Ý¥¸£°¤Ç½ñ¤­¤­¤ì¤Ê¤¤¤Ç¥Ú¡Ý¥¸£±¤Ë°Ü¹Ô
; page 2 jmp
setb p2bf.0 ;¥Ú¡Ý¥¸ 1 prgram
setb pa0
goto run_2a
org 200h
ingpio_1 clrb pa0
goto ingpio ;¥Ú¡Ý¥¸£°¤Îingpio call
sub1_1 clrb pa0
goto sub1 ;¥Ú¡Ý¥¸£°¤Î call
sub2_1 clrb pa0
goto sub2 ;¥Ú¡Ý¥¸£°¤Î call
run_2a ;¥×¥í¥°¥é¥à¤Î¤Ä¤º¤­


call ingpio_1

;¥×¥í¥°¥é¥à £Å£Î£Ä
clr p2bf ;¥Ú¡Ý¥¸ £° prgram
clrb pa0
         goto main

http://homepage2.nifty.com/JG1FJC/

 

fjcŽÆŽ­-޽6·î¹æ 1/2

 Åê¹Æ¼Ô¡§»³¸¶  Åê¹ÆÆü¡§2008ǯ 5·î29Æü(ÌÚ)13»þ49ʬ24ÉÃ
  FJC¥Ë¥å¡Ý¥¹6·î¹æ


º£²ó¤Ï¥·¥ê¥¢¥ë£Å£Å£Ò£Ï£Í£²£´£Ì£Ã£¶£´¤ÎÆÉ¤ß½ñ¤­
£Ó£Õ£Â¥ë¡Ý¥Á¥óMPASMÈǤξҲð¤Ç¤¹¡£
³Æ¼ï¥Þ¥¤¥³¥ó¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×ÅÅÃӤʤ·¤ÇÂçÎ̥ǡݥ¿Êݸ¤Ë
±þÍѤǤ­¤Þ¤¹¡£
»ä¤Î¥Û¡Ý¥à¥Ú¡Ý¥¸¤Ç¾Ò²ðÃæ¤Î¿µ¡Ç½»þ·×¡Ê£±£¶£Æ£¸£·£·»ÈÍÑ¡Ë
¤Ç¡¢¥¹¥±¥¸¥å¡Ý¥ë¡¢µ­Ç°Æü¤Îɽ¼¨¤Î¥Ç¡Ý¥¿¡Ý¤òµ­²±
¤µ¤»¤Æ¤¤¤Þ¤¹¡£
£Ò£Ó£²£³£²£Ã¤ò»ÈÍѤ·¤ÆÆþÎϤ·¤Æ¤¤¤Þ¤¹¡£

;             24LC65 SUB
      LIST    p=16F84A

      #include              "P16F84A.INC"

              __CONFIG  _CP_OFF  &  _WDT_OFF  &  _XT_OSC
              __IDLOCS H'0101'
;                txd1    3.58MHZ
; ¨®¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¯
; ¨­ ­²    ­±    ­°    ­¯    ­®    ­­    ­¬    ­«    ­ª ¨­
; ¨­ra1   ra0   osc1  osc2  vdd   rb7  rb6   rb5    rb4 ¨­
; ¨­¡¡¡¡¡¡¡¡¡¡¡¡   £Ð£É£Ã£±£¶£Æ£¸£´                     ¨­
; ¨­ra2  ra3  ra4/to  mclr vss  rb0/int rb1  rb2   rb3  ¨­
; ¨­ ­¡    ­¢    ­£    ­¤    ­¥    ­¦    ­§    ­¨    ­© ¨­
; ¨±¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨°
;                                            sdtin sclok  sdtout
sdti equ 1 ;24lc65 data input
scl equ 2 ;       clock
sdto equ 3 ;       data output

ddc_h equ 12 ;writ start addres  H ddc set
ddc_l equ 13 ;writ start addres  L ddc set
bf equ 14
rabf equ 15
cu0 equ 16
cu1 equ 17
cu2 equ 18
cu3 equ 19
a_bf equ 20
wait_cn equ 21

dtbf_0 equ 32 ;½ñ¤­¹þ¤ß¥Ç¡¼¥¿¥Ð¥Ã¥Õ¥¡
dtbf_1 equ 33
dtbf_2 equ 34
dtbf_3 equ 35
dtbf_4 equ 36
dtbf_5 equ 37
dtbf_6 equ 38
dtbf_7 equ 39
dtbf_8 equ 40
dtbf_9 equ 41
dtbf_10 equ 42
dtbf_11 equ 43
dtbf_12 equ 44
dtbf_13 equ 45
dtbf_14 equ 46
dtbf_15 equ 47
; int wark
org 3dh
wk0 equ 61
wk1 equ 62
wk2 equ 63
org 0
goto start
org 4
;         ¡¡³ä¤ê¹þ¤ß
inttm
movwf wk0 ;push w
swapf wk0,1
swapf STATUS,0 ;     STATUS
movwf wk1
movf FSR,0 ;     FSR
movwf wk2
;               init wark

;               init end          pop     FSR STATUS w
btfsc wk1,1 ;bank 0 ?
bsf STATUS,RP0 ;no bank 1
movf wk2,0 ;pop  FSR
movwf FSR
swapf wk1,0 ;pop STATUS
movwf STATUS
swapf wk0,0 ;pop  w
retfie
start
;--------------  SW ON timer--------------
clrf cu1
clrf cu2
movlw 5
movwf cu3
st1 decfsz cu1,1
goto st1
decfsz cu2,1
goto st1
decfsz cu3,1
goto st1
;-------------- I/O set ------------
movlw 10000b ; ra set
tris PORTA
movlw 00010010b ; rb set
tris PORTB
clrf PORTA
clrf PORTA
st2 goto st2

http://homepage2.nifty.com/JG1FJC/

 

fjcŽÆŽ­-޽6·î¹æ 2/2

 Åê¹Æ¼Ô¡§»³¸¶  Åê¹ÆÆü¡§2008ǯ 5·î29Æü(ÌÚ)13»þ48ʬ24ÉÃ
  ;------------ sub -----------------
clr_GIE bcf INTCON,GIE
btfsc INTCON,GIE
goto clr_GIE
return
wait_ms movlw 10 ;cu0=5 5ms
movwf cu0
wait_ms0 movlw 0
movwf cu1
wait_ms1 nop
nop
decfsz cu1,1
goto wait_ms1
decfsz cu0,1
goto wait_ms0
return
wait_us movlw 50 ;cu0=50 50us
movwf cu0
wait_us0 decfsz cu0,1
goto wait_us0
return
wait_usf nop
return
;---------- 24LC65 contsub ----------
sdtl
call wait_usf
bsf PORTB,sdto
return
sdth call wait_usf
bcf PORTB,sdto
return
sclh     call wait_usf
bsf PORTB,scl
return
sclhm call wait_usf
bsf PORTB,scl
call wait_usf
return
scll call wait_usf
bcf PORTB,scl
return
strcnd call sdth
call sclh
call sdtl
call scll
call sdth
return
stpcnd call scll
call sdtl
call sclh
call sdth
return
rndrd
call strcnd ;24lc64 1ward read
movlw 0a0h ;page write control
movwf a_bf
call sd8
movf ddc_h,0
movwf a_bf
call sd8
movf ddc_l,0
movwf a_bf
call sd8
rndrd1 call strcnd
movlw 0a1h
movwf a_bf
call sd8
call rv8
call scll
call sdth
call sclh
call scll
call stpcnd
rndrd3 call wait_ms
return
;page write control
; £Ò£Ï£Í¤Î2FH¤«¤é£³£Æ£È¤Ë½ñ¤­¹þ¤ßŽÃŽÞްŽÀް¤ò16ŽÊŽÞ޲ŽÄ½ñ¤­¹þ¤ó¤Çcall
;ddc_h¤Èddc_l¤Ë24LC65¤Î¥¢¥É¥ì¥¹¤ò¥»¥Ã¥È
; £³£¶¥Ð¥¤¥È½ñ¤­¹þ¤ß¤Ç¤¹¤¬¥á¥â¥ê¡¼¤¬¾®¤µ¤¤¤Î¤Ç16ÇܤȤΤ߻Ĥê¤Ï£²£°£È
;ŽÃŽÞްŽÀް¤ò£Ò£Ó£²£³£²£Ã¤Ê¤É¤ÇÆÉ¤ß¹þ¤ß¤Ê¤¬¤é½ñ¤­¹þ¤á¤Ð36ŽÊŽÞ޲ŽÄ¤Î½ñ¤­¹þ¤ß¤â¤Ç¤­¤Þ¤¹¡£
wr65 movlw 0 ;writ start addres ddc set
movwf ddc_l
movlw 20h ;36 ŽÊŽÞ޲ŽÄ ½ñ¤­¹þ¤ß
movwf cu1
movlw 20h ;ŽÃŽÞްŽÀްŽÊŽÞޝŽÌާޱŽÄŽÞŽÚ޽
movwf cu2
call strcnd
movlw 0a0h ;page write control command
movwf a_bf
call sd8
movf ddc_h,0 ;addres writ H
movwf a_bf
call sd8
movf ddc_l,0 ;addres writ L
movwf a_bf
call sd8
loopw movlw 30h ^ 0ffh
addwf cu2,0
btfss 3,0
goto loopw1
movlw 20h ;16byte only Write
movwf a_bf
goto loopw2
loopw1 movf cu2,0
movwf FSR
movf 0,0
movwf a_bf
loopw2 call sd8
;mov FSR,cu2
;movlw 0
;movwf 0
incf cu2
decfsz cu1,1
goto loopw

call stpcnd

return
;8 bit reciv 24LC65
rv8 clrf a_bf
call scll
call sdth
call sclh
btfsc PORTB,sdti
bsf a_bf,7
call scll
call    sclh
btfsc PORTB,sdti
bsf a_bf,6
call scll
call sclh
btfsc PORTB,sdti
bsf a_bf,5
call scll
call sclh
btfsc PORTB,sdti
bsf a_bf,4
call scll
call sclh
btfsc PORTB,sdti
bsf a_bf,3
call scll
call sclh
btfsc PORTB,sdti
bsf a_bf,2
call scll
call sclh
btfsc PORTB,sdti
bsf a_bf,1
call scll
call sclh
btfsc PORTB,sdti
bsf a_bf,0
return
; 8bit send to 24LC65
sd8 btfss a_bf,7
call sdc0
btfsc a_bf,7
call sdc1
btfss a_bf,6
call sdc0
btfsc a_bf,6
call sdc1
btfss a_bf,5
call sdc0
btfsc a_bf,5
call sdc1
btfss a_bf,4
call sdc0
btfsc a_bf,4
call sdc1
btfss a_bf,3
call sdc0
btfsc a_bf,3
call sdc1
btfss a_bf,2
call sdc0
btfsc a_bf,2
call sdc1
btfss a_bf,1
call sdc0
btfsc a_bf,1
call sdc1
btfss a_bf,0
call sdc0
btfsc a_bf,0
call sdc1
movlw 50
movwf wait_cn
ack btfss PORTB,sdti
goto acke
decfsz wait_cn,1
goto ack
acke call wait_usf
call sclh
call scll
return
sdc1 call scll
call sdth
call sclh
call scll
return
sdc0 call scl
call sdtl
call sclh
call scll
call sdth
return

END

http://homepage2.nifty.com/JG1FJC/

 

FJC¥Ë¥å¡Ý¥¹5·î¹æ

 Åê¹Æ¼Ô¡§»³¸¶  Åê¹ÆÆü¡§2008ǯ 4·î27Æü(Æü)12»þ07ʬ6ÉÃ
  FJC¥Ë¥å¡Ý¥¹5·î¹æ
º£·î¤Ï 2Áê¥æ¥Ë¥Ý¡¼¥é¥Ñ¥ë¥¹¥â¡¼¥¿¡¼À©¸æ
¤Î¥µ¥ó¥×¥ë ¤ò £±£²£Ã£µ£°£¹£Á¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
²óÏ©¿Þ¤È¤¦¤Ï¥Û¡¼¥à¥Ú¡¼¥¸¤Î¥Ñ¥ë¥¹¥â¡¼¥¿¤Î¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤Ž¡
;-------------------------------------------
include 12c5xx.h
.12c509
.osc intrc ;ÆâÉô¥¯¥í¥Ã¥¯¡¡4MHz
.mclre disable ;MCLR ¤ò¡¡ÆþÎϥݡݥȡ¡£Ç£Ð£³¡¡¤Ç»È¤¦
.wdt off
id 1208h
; 1ÁêÎå¼§¥Ñ¥ë¥¹¥â¡¼¥¿¥³¥ó¥È¥í¡¼¥é  t.yamahara
;
;

;
;                GND     s1    s2    s3
;         ¨£¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¤
; ¨¢­¨    ­§    ­¦    ­¥    ¨¢
; ¨¢VSS  GP0    GP1   GP2   ¨¢
; ¨¢   PIC12C509            ¨¢
; ¨¢VDD   GP5   GP4   GP3   ¨¢
; ¨¢­¡    ­¢    ­£    ­¤    ¨¢
; ¨¦¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¥
; DC5V   ccw    s4     £ã£÷
;                       IN            IN
s1 equ gpio.0 ;¥Ñ¥ë¥¹¥â¥¿¡¼¦Õ£±½ÐÎÏ
s2 equ gpio.1 ;¥Ñ¥ë¥¹¥â¥¿¡¼¦Õ£²½ÐÎÏ
s3 equ gpio.2 ;¥Ñ¥ë¥¹¥â¥¿¡¼¦Õ£³½ÐÎÏ
s4 equ gpio.4 ;¥Ñ¥ë¥¹¥â¥¿¡¼¦Õ£´½ÐÎÏ
org 08h
stc ds 1 ;¥â¡¼¥¿¡¼°ÌÃÖ¥«¥¦¥ó¥¿¡¼
tmdt ds 1 ;¥¿¥¤¥Þ¡¼¥Ç¡¼¥¿¡¼
cu1 ds 1 ;ÈÆÍÑ
cu2 ds 1
bf ds 1
gpbf ds 1 ;£Ç£Ð£É£Ï£î£ï¥Ð¥Ã¥Õ¥¡
ccwin equ gpbf.5 ;£Ã£Ã£×²óž»ÊÎáÉé¥Ñ¥ë¥¹ÆþÎÏ
cwin equ gpbf.3 ;£Ã£Ã£×²óž»ÊÎáÉé¥Ñ¥ë¥¹ÆþÎÏ
     org 0
goto start
; £Ç£Ð£É£Ï¤ÎÆÉ¤ß¹þ¤ß
; £±£²£Ã£µ£°£¹£Á¤òÆâÉô£Ò£Ãȯ¿¶¤Ç»ÈÍѤ·¤Þ¤¹¤Î¤Ç1¥µ¥¤¥¯¥ë£´£Í£È£ú¡¿4
;  £±u£ó¤ÇÌó£±£°u£ó¤Î´Ö¤Ë£ç£ði£ï¤ÎÃͤ¬ÊѲ½¤¹¤ë¤ÈÆÉ¤ßľ¤·¤È¤Ê¤ê
;  £Ã£Ã£×¡¤£Ã£×À©¸æ¥Ñ¥ë¥¹¤ËÆþ¤ë£±£°u£ó°Ê²¼¤Î¥Î¥¤¥º¤ò¥«¥Ã¥È¤Ç¤­¤Þ¤¹¡£
;   £Î£Ï£Ð¤ò£±¤ÄÁý¤ä¤¹»ö¤Ç£±u£ó¥Õ¥¤¥ë¥¿¡¼¤ò¿­¤Ð¤»¤Þ¤¹Ž¡
ingp mov gpbf,gpio ;gpbf ¤Ë gpio ¤Î Ãͤò Æþ¤ì¤ë¡£
nop ; £±u£ó
nop
nop
cjne gpbf,gpio,ingp ;gpio¤ÎÃͤ¬ÊѤï¤Ã¤Æ¤¤¤ì¤Ðingp¤Ø¥¸¥ã¥ó¥×
ret
;   ÅŸ»Î©¤Á¾å¤¬¤ê»þ¤Î¸íưºîËɻߥ¿¥¤¥Þ¡¼
start           clr     cu1
                clr     cu2

                mov     bf,#2
start1          nop
                djnz    cu1,start1
                djnz    cu2,start1
djnz bf,start1
                mov     !gpio,#101000b     ; gpio i/o set
                clr     gpio
mov w,#000111b    ; trm0 i/o Pul up
option
loop0 clr gpio ;motor  off
setb s1 ;¥â¥¿¡¼¤ò£°¥Ý¥¸¥·¥ç¥ó¤Ë ¥»¥Ã¥È
clr stc
loop1           call    ingp ;£±£°u£ó¥½¥Õ¥È¥Õ¥¤¥ë¥¿¡¼¤ò¤È¤¦¤·¤ÆÆþÎÏ´Æ»ë
jnb cwin,incs ;£Ã£×¥Ñ¥ë¥¹£É£Î
jnb ccwin,decs ;£Ã£Ã£×¥Ñ¥ë¥¹£É£Î
goto loop1
;£Ã£×¥Ñ¥ë¥¹£É£Î
incs inc stc ;°ÌÃÖ¥«¥¦¥ó¥¿¡¼¡Ü£±(£±¥¹¥Æ¥Ã¥×»þ·×²ó¤ê°ÌÃÖ¡Ë
cjne stc,#4,tmset
clr stc
goto tmset
;   £Ã£Ã£×¥Ñ¥ë¥¹£É£Î
decs sub stc,#1 ;°ÌÃÖ¥«¥¦¥ó¥¿¡¼¡Ü£±(£±¥¹¥Æ¥Ã¥×È¿»þ·×²ó¤ê°ÌÃÖ¡Ë
jc      tmset
mov stc,#3
;             °ÌÃÖ¥«¥¦¥ó¥¿¡¼¤Ë¹ç¤ï¤»¤ÆÎå¼§
tmset cje stc,#1,p1
cje stc,#2,p2
cje stc,#3,p3
setb s1 ;¥â¡¼¥¿°ÌÃÖ 0 Îå¼§
clrb s2
clrb s3
clrb s4
jmp tmon
p1 clrb s1 ;¥â¡¼¥¿°ÌÃÖ £± Îå¼§
setb s2
clrb s3
clrb s4
jmp tmon
p2 clrb s1 ;¥â¡¼¥¿°ÌÃÖ £² Îå¼§
clrb s2
setb s3
clrb s4
jmp tmon
p3 clrb s1 ;¥â¡¼¥¿°ÌÃÖ £³ Îå¼§
clrb s2
clrb s3
setb s4
jmp tmon
;    ÉéÆþÎϤΥѥ륹¤¬£Ï£Æ£Æ¡ÊÅ۵£È¡Ë¤Ë¤Ê¤ë¤Þ¤ÇÂԤġ£
tmon call    ingp
jnb cwin,tmon
jnb ccwin,tmon
goto loop1

http://homepage2.nifty.com/JG1FJC/

 

fjcŽÆŽ­-޽4·î¹æ 1/4

 Åê¹Æ¼Ô¡§»³¸¶  Åê¹ÆÆü¡§2008ǯ 3·î27Æü(ÌÚ)16»þ20ʬ9ÉÃ
  £Æ£Ê£Ã¥Ë¥å¡Ý¥¹4·î¹æ
16F84¤ò»ÈÍѤ·¤¿¼þÇÈ¿ô޶޳ŽÝŽÀ-¤Î¾Ò²ð¤Ç¤¹¡£
£Ô£°£Ã£Ë£±¤òÆþÎϤˡ¢£Ô£Í£Ò£°³ä¹þ¤ß¤Ç¥ª¥Ð¡Ý¥Õ¥í¥¦¥«¥¦¥ó¥È¡£
ɽ¼¨¤Ë¤Ï£²·å£±£¶¹Ô ±Õ¾½É½¼¨´ï¤ò»ÈÍÑ
Äê»þ´Ö£Ô£Ï£Ã£Ë£±¤ËÆþ¤Ã¤¿¥Ñ¥ë¥¹¿ô¤ò¿ô¤¨£±£Óʬ¤ËÊÑ´¹¤·
£±£°¿Ê¿ôÊÑ´¹¡¢¥¢¥¹¥­¡¼ÊÑ´¹¤·¤Æ£Ì£Ã£Äɽ¼¨¤·¤Þ¤¹¡£
Ì󣱡¥£²£²£Ë£È£ú¤Î¥Æ¥¹¥È½ÐÎÏ¥Ô¥óÉÕ¤­¡£
;
; £Ð£É£Ã£±£¶£Æ£¸£´¡¿£±£¶Ê¸»ú¡ß£²¹ÔÂбþ
; ¥«¥¦¥ó¥¿¡¼±Õ¾½É½¼¨¥×¥í¥°¥é¥à;
; £Ð£É£Ã PIC16F84-10/P¡Ê¤½¤ì°Ê³°¤Ë¤â±þÍѲÄǽ¡Ë
; ±Õ¾½ £Í£±£¶£³£²¡¤£Í£±£¶£·£²¡¤£Ó£Ã£±£¶£°£²£ÂÅù
; ¥¯¥í¥Ã¥¯ 10MHz
; ¥Ô¥ó¥¢¥µ¥¤¥ó¡§¡ÊÅŸ»¡¦¥¯¥ê¥¹¥¿¥ë¡¦¥³¥ó¥È¥é¥¹¥ÈÄ´À°£Ö£ÒÅù¤ÎÇÛÀþ¤Ï¾Êά¡Ë
;
; £Ð£É£Ã£±£¶£Æ£¸£´ ±Õ¾½¥â¥¸¥å¡¼¥ë
; ()Æâ¤Ï¥Ô¥óÈÖ¹æ
; RA3(2) ¡á EN(ENABLE)
; RA2(1) ¡á RS
; RA0(17)                  =      cunter test 1.22KHz
; GND(0V) ¡á R/~W
; rb7(13) ¡á DB7
; rb6(12) ¡á DB6
; rb5(11) ¡á DB5
; rb4(10) ¡á DB4
; rb3(19) ¡á DB3
; rb2(9) ¡á DB2
; rb1(7) ¡á DB1
; rb0(6) ¡á DB0
; ra4(3)                  ¡á      t0ck ¥«¥¦¥ó¥¿¡¼ÆþÎÏ
; ¢¡£Ð£É£Ã£±£¶£Æ£¸£´ÍѤ˥³¡¼¥Ç¥£¥ó¥°¤·¤Æ¤¢¤ê¤Þ¤¹¤¬¡¢
; °ìÉô²þ¤¤¹¤ì¤Ð¤½¤ì°Ê³°¤Î¥Ç¥Ð¥¤¥¹¤Ç¤â»ÈÍѲÄǽ¤Ç¤¹¡£
; ¢¡£²£°Ê¸»ú¤ä£´¹Ô¤Î±Õ¾½¤Ë¤â±þÍѤǤ­¤Þ¤¹¡£
; ¢¡¥¯¥í¥Ã¥¯¤Ï10MHz¤òÁÛÄꤷ¤Æ¤¢¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¥¯¥í¥Ã¥¯¤Ç¤Ï
; ¥¦¥§¥¤¥È¿ô¤ò¿¾¯Êѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
; ¢¡ ROM¥é¥¤¥¿¡¼¥Ç¥Ð¥Ã¥°µ¡Ç½¤ò»ÈÍѤλþ¤Ë¤Ï¤Ç¤­¤ë¤À¤±£ò£â£¶¤òÆþÎϥݡ¼¥È
;        ¤Ç»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤Ž¡£Ï£Õ£ÔƱ»Î¤Ç£È¤È£Ì¤¬¤Ö¤Ä¤«¤ë¤Î¤ò¤Õ¤»¤°¤¿¤á¤Ç¤¹¡£
;         ¤Þ¤¿¤Ï £ò£â¥Ý¡¼¥È¥×¥ë¥¢¥Ã¥×¤ò¤·¤Ê¤¤¤è¤¦£Ï£Ð£Ô£É£Ï£ÎÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
include 16f84.h ; ¤³¤³¤Ç¤Ï£±£¶£Æ£¸£´¤òÁªÂò
.osc hs ; ¥ª¥·¥ì¡¼¥¿£Ø£Ô
.wdt off ; ¥¦¥©¥Ã¥Á¥É¥Ã¥°£Ï£Æ£Æ
.pwrt on ; ¥Ñ¥ï¡¼¥¢¥Ã¥×¥¿¥¤¥Þ£Ï£Î
.protect off ; ¥×¥í¥Æ¥¯¥È£Ï£Æ£Æ
id 0205h
eeorg 0
eedata 'Yamahara'
;include rd84_ak.asm ;¥Ç¥Ð¥Ã¥¯»þ»È¤¦ ;rom writer debug
; £Ì£Ã£ÄÀ©¸æ
EN equ ra.3
RS equ ra.2
;------------------------------
;dbug¥Õ¥¡¥¤¥ë ¤Ê¤·
cn equ 0eh ;dbug »þ";"¤Çºï½ü
wait_cn2 ds 12h ;rd84_ak.asm¤Ë¤«¤¤¤Æ¤¢¤ë¤Î¤Ç¥À¥Ö¤ê
wait_cn ds 11h
tris_rb ds 10h
;------------------------------
org 15h

x ds 4
y ds 4
cu1 ds 1
cu2 ds 1
cu3 ds 1
dd ds 10
yy ds 4 ;
xx ds 5 ;
zz ds 4 ; ±é»»·ë²Ì(4bytes)
crc ds 1

tmdt ds 4
wk0 ds 1
wk1 ds 1
wk2 ds 1

org 0
goto start

org 4
;   £ô£é£í£å£ò¡¡³ä¤ê¹þ¤ß
inttm           movwf   wk0             ;push w
                swapf   wk0,1
                swapf   status,0        ;     status
                movwf   wk1
                movf    fsr,0           ;     fsr
                movwf   wk2
;               init wark
call clr_gie
clrb t0if
add tmdt[2],#1
movlw 1
btfsc c
addwf tmdt[1]
btfsc c
addwf tmdt[0]

setb gie
;               init end          pop     fsr status w
                btfsc   wk1,1           ;bank 0 ?
                setb    rp0             ;no bank 1
                movf    wk2,0           ;pop  fsr
                movwf   fsr
                swapf   wk1,0           ;pop status
                movwf   status
                swapf   wk0,0           ;pop  w
                retfie

start clr dd[0]
clr dd[1]
mov dd[2],2
start1 nop
nop
djnz dd[0],start1
djnz dd[1],start1
djnz dd[2],start1
mov tris_rb,#00000000b ;tris_b buffa

setb rp0
mov rb,#0 ; DB7-DB0¥Ô¥ó¤òOUT¤Ë All 0
mov ra,#10010b ; E,RS,test_out ¥Ô¥ó¤òOUT¤Ë,rxd in


mov option,#10111000b ;¥Ç¥Ð¥Ã¥¯»þ£Ò£â¥×¥ë¥¢¥Ã¥×¤·¤Ê¤¤¡Ê£Ò£Ó£²£³£²£Ã £Ï£Õ£Ô¤È¤Ö¤Ä¤«¤ë¤¿¤á¡Ë
clrb rp0
clr ra
clr rb
call init_lcd ; £Ì£Ã£Ä½é´ü²½
mov intcon,#10100000b
main0 clr tmdt[0]
clr tmdt[1]
clr tmdt[2]
clr     tmdt[3]
clr tmr0
main setb gie

; ¼þÇÈ¿ô¥«¥¦¥ó¥È
call tm1s
call tm1s
mov tmdt[3],tmr0
;-----dbug------

;mov dbd,tmdt[2] ;tmdt[2]¤ÎÃͤò£Ò£Ï£Í¥é¥¤¥¿¡¼¤Ë½ÐÎÏ
;call dbug
;---------------
call    cuntdsp
goto main0

http://homepage2.nifty.com/JG1FJC/

 

fjcŽÆŽ­-޽4·î¹æ 2/4

 Åê¹Æ¼Ô¡§»³¸¶  Åê¹ÆÆü¡§2008ǯ 3·î27Æü(ÌÚ)16»þ17ʬ40ÉÃ
  tm1s mov cu3,#2
mov cu2,#0
mov cu1,#0
tm1s_l nop
djnz cu1,tm1s_l
xor ra,#1      ;ra0 test out 1.22KHz
djnz cu2,tm1s_l
djnz cu3,tm1s_l
ret

clr_gie clrb gie
jb gie,clr_gie
ret


cuntdsp call clr_gie
cjne tmdt[0],#0,ttc0
cjne tmdt[1],#0,ttc0
cjne tmdt[2],#0,ttc0
cje tmdt[3],#0,dd0
ttc0 mov xx[0],tmdt[3]
mov xx[1],tmdt[2]
mov yy[0],#56h ;5d
mov yy[1],#9h ;7
call mul_xy ;data*1885*1.23 75dh*1.268=956h
mov dd[3],zz[3]
mov dd[2],zz[2]
mov dd[1],zz[1]
mov dd[0],zz[0]
mov xx[0],tmdt[1]
clr xx[1]
mov yy[0],#5dh
mov yy[1],#7h
call mul_xy ;data*1885
mov yy[0],dd[0]
mov yy[1],dd[1]
mov yy[2],dd[2]
mov yy[3],dd[3]
clr xx[0]
clr xx[1]
mov xx[2],zz[0]
mov xx[3],zz[1]
call add_xy
mov x[0],xx[0]
mov x[1],xx[1]
mov x[2],xx[2]
mov x[3],xx[3]
call div_1000 ;/1000
mov tmdt[3],zz[0]
mov tmdt[2],zz[1]
mov tmdt[1],zz[2]
mov tmdt[0],zz[3]
dd0 call dtset_1
clr dd[0]
clr dd[1]
clr dd[2]
clr dd[3]
clr dd[4]
clr dd[5]
clr dd[6]
clr dd[7]
clr dd[8]
clr dd[9]
mov y[0],#0 ;10,0000,0000
mov y[1],#0cah
mov y[2],#9ah
mov y[3],#3bh
mov crc,x[3]
dd1 call sub_xy
jnc dd1_1
cja x[3],crc,dd1_1
inc dd[0]
call dtset_2
goto dd1
dd1_1 mov y[0],#0 ;1,0000,0000
mov y[1],#0e1h
mov y[2],#0f5h
mov y[3],#5h
mov crc,x[3]
dd2 call dtset_1
call sub_xy
jnc dd2_1
cja x[3],crc,dd2_1
inc dd[1]
call dtset_2
goto dd2
dd2_1 mov y[0],#80h ;1000,0000
mov y[1],#96h
mov y[2],#98h
mov y[3],#0h
dd3 call dtset_1
call sub_xy
jnc dd3_1
cje x[3],#0ffh,dd3_1
inc dd[2]
call dtset_2
goto dd3
dd3_1 mov y[0],#40h ;100,0000
mov y[1],#42h
mov y[2],#0fh
mov y[3],#0h
dd4 call dtset_1
call sub_xy
jnc dd4_1
cje x[3],#0ffh,dd4_1

inc dd[3]
call dtset_2
goto dd4
dd4_1 mov y[0],#0a0h ;10,0000
mov y[1],#86h
mov y[2],#1h
mov y[3],#0h
dd5 call dtset_1
call sub_xy
jnc dd5_1
cje x[3],#0ffh,dd5_1
inc dd[4]
call dtset_2
goto dd5
dd5_1 mov y[0],#10h ;1,0000
mov y[1],#27h
mov y[2],#0h
mov y[3],#0h
dd6 call dtset_1
call sub_xy
jnc dd6_1
cje x[3],#0ffh,dd6_1

inc dd[5]
call dtset_2
goto dd6
dd6_1 mov y[0],#0e8h ;1000
mov y[1],#3h
mov y[2],#0h
mov y[3],#0h
dd7 call dtset_1
call sub_xy
jnc dd7_1
cje x[3],#0ffh,dd7_1
inc dd[6]
call dtset_2
goto dd7
dd7_1 mov y[0],#64h ;100
mov y[1],#0
mov y[2],#0
mov y[3],#0
dd8 call dtset_1
call sub_xy
jnc dd8_1
cje x[3],#0ffh,dd8_1
inc dd[7]
call dtset_2
goto dd8
dd8_1 mov y[0],#0ah ;10
mov y[1],#0h
mov y[2],#0h
mov y[3],#0h
dd9 call dtset_1
call sub_xy
jnc dd10
cje x[3],#0ffh,dd10
inc dd[8]
call dtset_2
goto dd9
dd10 mov dd[9],tmdt[3]
call lcd_top


mov rb,#'F'
call write_lcd8
mov rb,#'c'
call write_lcd8
mov rb,#20h ; ' '
call write_lcd8
call write_lcd8
mov rb,dd[0]
or rb,#30h
call write_lcd8
mov rb,dd[1]
or rb,#30h
call write_lcd8
mov rb,dd[2]
or rb,#30h
call write_lcd8
mov rb,dd[3]
or rb,#30h
call write_lcd8
mov rb,dd[4]
or rb,#30h
call write_lcd8
mov rb,dd[5]
or rb,#30h
call write_lcd8
mov rb,dd[6]
or rb,#30h
call write_lcd8
mov rb,dd[7]
or rb,#30h
call write_lcd8
mov rb,dd[8]
or rb,#30h
call write_lcd8
mov rb,dd[9]
or rb,#30h
call write_lcd8

mov rb,#'H'
call write_lcd8
mov rb,#'z'
call write_lcd8

clrb RS
ret
;---------- sub ------------------

dtset_1 mov x[3],tmdt[0]
mov x[2],tmdt[1]
mov x[1],tmdt[2]
mov x[0],tmdt[3]
ret
dtset_2 mov tmdt[0],x[3]
mov tmdt[1],x[2]
mov tmdt[2],x[1]
mov tmdt[3],x[0]
ret

http://homepage2.nifty.com/JG1FJC/

 

fjcŽÆŽ­-޽4·î¹æ 3/4

 Åê¹Æ¼Ô¡§»³¸¶  Åê¹ÆÆü¡§2008ǯ 3·î27Æü(ÌÚ)16»þ07ʬ48ÉÃ
  ±Õ¾½½é´ü²½¥ë¡¼¥Á¥ó
init_lcd
mov wait_cn,#15 ; wait 15ms
call wait_ms

clrb RS ; RS='L'
mov rb,#00110000b
call write_lcd8
mov wait_cn,#5 ; wait 4.1ms
call wait_ms

mov rb,#00110000b
call write_lcd8
mov wait_cn,#100 ; wait 100us
call wait_us

mov rb,#00110000b
call write_lcd8 ; 0 0 0011 (3)

mov rb,#00111000b
call write_lcd8 ; 0 0 0010 (8bit)
;
mov rb,#00001000b ; duty,font set9
call write_lcd8

mov rb,#00000001b ; ¥¯¥ê¥¢¥³¥Þ¥ó¥É
call write_lcd8
mov wait_cn,#2 ; ¥¯¥ê¥¢¤¬½ª¤ï¤ë¤Þ¤ÇÂÔ¤Ä
call wait_ms

mov rb,#00000110b ; entry mode set
call write_lcd8

mov rb,#00001110b ; display on,cursor on
call write_lcd8
ret
;
; £¸¥Ó¥Ã¥È¥â¡¼¥ÉÀìÍѱվ½¥é¥¤¥È¥ë¡¼¥Á¥ó
;
write_lcd8 nop
nop
nop
setb EN ; £Å¥Ô¥ó¤ò'H'
nop
clrb EN

mov wait_cn,#40
call wait_us
ret
;----------- LCD clr cursol top ---------
lcd_top clrb RS

mov rb,#00000001b ; ¥¯¥ê¥¢¥³¥Þ¥ó¥É
call write_lcd8
mov wait_cn,#2 ; ¥¯¥ê¥¢¤¬½ª¤ï¤ë¤Þ¤ÇÂÔ¤Ä
call wait_ms
mov rb,#10000000b
call write_lcd8 ; ¥«¡¼¥½¥ë¤ò£±¹ÔÌÜ¤Ë°ÜÆ°
setb RS
ret
div_1000 mov y[3],#3
mov y[2],#0e8h
clr y[0]
clr y[1]
clr zz[0]
clr zz[1]
clr zz[2]
clr zz[3]
div_1001 mov dd[0],x[0]
mov dd[1],x[1]
mov dd[2],x[2]
mov dd[3],x[3]
call sub_xy
jc div_1003
div_1002 mov x[0],dd[0]
mov x[1],dd[1]
mov x[2],dd[2]
mov x[3],dd[3]
goto div_1004
div_1003 cja x[3],dd[3],div_1002
add zz[2],#1
movlw 1
btfsc c
addwf zz[3],1
goto div_1001
wait_ms
wait_ms0
mov wait_cn2,#0
wait_ms1
nop
nop
nop
nop
nop
nop
nop
djnz wait_cn2,wait_ms1
djnz wait_cn,wait_ms0
ret
div_1004 mov y[2],#3
mov y[1],#0e8h
clr y[0]
clr y[3]
div_1005 mov dd[0],x[0]
mov dd[1],x[1]
mov dd[2],x[2]
mov dd[3],x[3]
call sub_xy
jc div_1007
div_1006 mov x[0],dd[0]
mov x[1],dd[1]
mov x[2],dd[2]
mov x[3],dd[3]
goto div_1008
div_1007 cja x[3],dd[3],div_1006
add zz[1],#1
movlw 1
btfsc c
addwf zz[2],1
btfsc c
addwf zz[3],1
goto div_1005

div_1008 mov y[1],#3
mov y[0],#0e8h
clr y[2]
clr y[3]
div_1009 mov dd[0],x[0]
mov dd[1],x[1]
mov dd[2],x[2]
mov dd[3],x[3]
call sub_xy
jc div_1011
div_1010 mov x[0],dd[0]
mov x[1],dd[1]
mov x[2],dd[2]
mov x[3],dd[3]
ret
div_1011 cja x[3],dd[3],div_1010
add zz[0],#1
movlw 1
btfsc c
addwf zz[1],1
btfsc c
addwf zz[2],1
btfsc c
addwf zz[3]
goto div_1009


sub_xy
sub x[0],y[0]
movlw 1
btfss c
subwf x[1],1
btfss c
subwf x[2],1
btfss c
subwf x[3],1

sub x[1],y[1]
movlw 1
btfss c
subwf x[2],1
btfss c
subwf x[3],1

sub x[2],y[2]
movlw 1
btfss c
subwf x[3],1

sub x[3],y[3]
ret
; ¦Ì£ó¥ª¡¼¥À¡¼¤Î¥¦¥§¥¤¥È
wait_us
wait_us0
djnz wait_cn,wait_us0
ret

dsms cjae x[1],#10,dsms1
mov x[3],x[1]
or x[3],#30h
ret
dsms1 mov x[3],x[1]
add x[3],#37h
ret

http://homepage2.nifty.com/JG1FJC/

 

fjcŽÆŽ­-޽4·î¹æ 4/4

 Åê¹Æ¼Ô¡§»³¸¶  Åê¹ÆÆü¡§2008ǯ 3·î27Æü(ÌÚ)16»þ06ʬ3ÉÃ
  div_32 mov xx[4],#0
cjne yy[1],#0,div_320
cjne yy[0],#0,div_320
clr xx[3]
clr xx[2]
clr xx[1]
clr xx[0]
ret
div_320
mov cn,#10h
div_321
setb c
rl xx[0]
rl xx[1]
rl xx[2]
rl xx[3]
rl xx[4]
sub xx[2],yy[0]
movlw 1
btfss c
subwf xx[3],1
btfss c
subwf xx[4],1
sub xx[3],yy[1]
movlw 1
btfss c
subwf xx[4],1
jc div_322
div_3211 add xx[2],yy[0]
movlw 1
btfsc c
addwf xx[3],1
btfsc c
addwf xx[4],1
add xx[3],yy[1]
movlw 1
btfsc c
addwf xx[4],1
clrb xx[0].0
div_322 cje xx[4],#0ffh,div_3211
djnz cn,div_321
ret
mul_xy mov zz[0],xx[0]
mov zz[1],xx[1]
clr zz[2]
clr zz[3]
mov cn,#16
mul_xy0
btfss zz[0].0
goto mul_xy9

bcf zz[0].0

add zz[2],yy[0]
movlw 1
btfsc c
addwf zz[3],1
btfsc c
addwf zz[0],1

add zz[3],yy[1]
movlw 1
btfsc c
addwf zz[0],1

mul_xy9:
movb c,zz[0].0
rr zz[3]
rr zz[2]
rr zz[1]
rr zz[0]

djnz cn,mul_xy0
ret
add_xy add xx[0],yy[0]
movlw 1
btfsc c
addwf xx[1],1
btfsc c
addwf xx[2],1
btfsc c
addwf xx[3],1

add xx[1],yy[1]
movlw 1
btfsc c
addwf xx[2],1
btfsc c
addwf xx[3],1

add xx[2],yy[2]
movlw 1
btfsc c
addwf xx[3],1

add xx[3],yy[3]
ret

;---------------------------------
dsm mov x[1],x[0]
and x[1],#0fh
call dsms
mov x[2],x[3]
mov x[1],x[0]
and x[1],#0f0h
rr x[1]
rr x[1]
rr x[1]
rr x[1]
call dsms
mov x[1],x[3]
ret

http://homepage2.nifty.com/JG1FJC/

 

fjcŽÆŽ­-޽3·î¹æ 1/2

 Åê¹Æ¼Ô¡§»³¸¶  Åê¹ÆÆü¡§2008ǯ 3·î12Æü(¿å)18»þ03ʬ25ÉÃ
  FJC¥Ë¥å¡¼¥¹3·î¹æ
2·î¹æ¤Ç¾Ò²ð¤Î¥í¥¸¥Ã¥¯¥Æ¥¹¥¿¡Ý¤Î¡¢±Õ¾½É½¼¨Éô¥×¥í¥°¥é¥à¡£

16F84¤Î£Ð£Ï£Ò£Ô£Â¤òÆþÎϥݡ¼¥È¤È¤·¤Æ£¸¥Ó¥Ã¥È¤Î¥í¥¸¥Ã¥¯
¤ò´Æ»ë¤·¤Æ¡¢£Ò£Ó£²£³£²£Ã¤è¤ê¥Ç¡¼¥¿¡¼¤ò¼õ¿®¤·¤Æ±Õɽɽ¼¨
¤·¤Þ¤¹¡£
£Ò£Ó£²£³£²£Ã¥Ý¡Ý¥È¤Ï£Í£Á£Ø£²£³£²¤Ê¤É¤Î£²£³£²£Ã¥É¥é¥¤¥Ð¤Ï
ÉÔÍפǤ¹¡£Ä¾¤Ë£Ò£Ø¡¤£Ô£Ø¤òÀܳ¤Ç¤­¤Þ¤¹¡£
¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö¡ö
; ¥í¥¸¥Ã¥¯¥Á¥¨¥Ã¥«¡¼ÍÑ
; £Ð£É£Ã£±£¶£Æ£¸£´¡¿£±£¶Ê¸»ú¡ß£²¹ÔÂбþ
; ¥­¥ã¥é¥¯¥¿±Õ¾½É½¼¨¥×¥í¥°¥é¥à;
;                2001ǯ12·î16Æü »³¸¶
; »ÈÍѴĶ­
; £Ð£É£Ã PIC16F84-10/P¡Ê¤½¤ì°Ê³°¤Ë¤â±þÍѲÄǽ¡Ë
; ±Õ¾½ £Í£±£¶£³£²¡¤£Í£±£¶£·£²¡¤£Ó£Ã£±£¶£°£²£ÂÅù
; ¥¯¥í¥Ã¥¯ 10.0MHz
;
;
; ¥Ô¥ó¥¢¥µ¥¤¥ó¡§¡ÊÅŸ»¡¦¥¯¥ê¥¹¥¿¥ë¡¦¥³¥ó¥È¥é¥¹¥ÈÄ´À°£Ö£ÒÅù¤ÎÇÛÀþ¤Ï¾Êά¡Ë
;
; £Ð£É£Ã£±£¶£Æ£¸£´ ±Õ¾½¥â¥¸¥å¡¼¥ë
; ()Æâ¤Ï¥Ô¥óÈÖ¹æ
; RA3(2) ¡á E(ENABLE)
; RA2(1) ¡á RS
; ra017) =      txd
; ra1(18) =      rxd
; GND(0V) ¡á R/~W
; rb7(13) ¡á DB7
; rb6(12) ¡á DB6
; rb5(11) ¡á DB5
; rb4(10) ¡á DB4
; rb3(19) ¡á DB3
; rb2(9) ¡á DB2
; rb1(7) ¡á DB1
; rb0(6) ¡á DB0
;
; ¢¡£Ð£É£Ã£±£¶£Æ£¸£´ÍѤ˥³¡¼¥Ç¥£¥ó¥°¤·¤Æ¤¢¤ê¤Þ¤¹¤¬¡¢
; °ìÉô²þ¤¤¹¤ì¤Ð¤½¤ì°Ê³°¤Î¥Ç¥Ð¥¤¥¹¤Ç¤â»ÈÍѲÄǽ¤Ç¤¹¡£
; ¢¡£²£°Ê¸»ú¤ä£´¹Ô¤Î±Õ¾½¤Ë¤â±þÍѤǤ­¤Þ¤¹¡£
; ¢¡¥¯¥í¥Ã¥¯¤Ï10MHz¤òÁÛÄꤷ¤Æ¤¢¤ê¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¥¯¥í¥Ã¥¯¤Ç¤Ï
; ¥¦¥§¥¤¥È¿ô¤ò¿¾¯Êѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
;
include 16f84.h ; ¤³¤³¤Ç¤Ï£±£¶£Æ£¸£´¤òÁªÂò
.osc hs ; ¥ª¥·¥ì¡¼¥¿£Ø£Ô
.wdt off ; ¥¦¥©¥Ã¥Á¥É¥Ã¥°£Ï£Æ£Æ
.pwrt on ; ¥Ñ¥ï¡¼¥¢¥Ã¥×¥¿¥¤¥Þ£Ï£Î
.protect off ; ¥×¥í¥Æ¥¯¥È£Ï£Æ£Æ
id 9910h
eeorg 0
eedata 'Yamahara'
;btime equ 33 ; 9600bps @4.19MHz
btime equ 83 ; 9600bps @10MHz
txd equ ra.0 ;rs232c ch1
rxd equ ra.1
txdd equ rb.7 ;dbug rs232c ch2
rxdd equ rb.6
E equ ra.3
RS equ ra.2
org 0ch
ch ds 1 ; Á÷¿®¼õ¿®¥Ç¡¼¥¿¡Ê£¸¥Ó¥Ã¥È¡Ë
rs ds 1 ; ¥¦¥§¥¤¥È»þ´ÖÄ´À°ÍÑ
cn ds 1 ; ¥Ó¥Ã¥È¿ô
wait_cn ds 1
wait_cn2 ds 1
rxdt ds 1
dd ds 4
org 0
goto start

org 4
retfie
start clr dd[0]
clr dd[1]
mov dd[2],#3
start1 nop
nop
djnz dd[0],start1
djnz dd[1],start1
djnz dd[2],start1
mov !ra,#00010b ; txd,E,RS¥Ô¥ó¤òOUT¤Ë,rxd in
mov !rb,#00000000b ; DB7-DB0¥Ô¥ó¤òOUT¤Ë
clr ra
clr rb
clrb gie
setb txd
call init_lcd ; £Ì£Ã£Ä½é´ü²½
main mov ch,#'T' ;ŽÛ޼ŽÞޝޏŽÃŽÞްŽÀÁ÷¿®Í×µá
call transmit
call receive
mov rxdt,ch

dsp_11
clrb RS
mov rb,#10000000b+64
call write_lcd8 ; ¥«¡¼¥½¥ë¤ò£²¹ÔÌÜ¤Ë°ÜÆ°
setb RS
mov cn,#31h
dsp_2 mov rb,cn
call write_lcd8
inc cn
mov ch,rxdt
and ch,#2
call onoff

mov rb,cn
call write_lcd8
inc cn
mov ch,rxdt
and ch,#4
call onoff

mov rb,cn
call write_lcd8
inc cn
mov ch,rxdt
and ch,#8
call onoff
mov rb,cn
call write_lcd8
inc cn
mov ch,rxdt
and ch,#10h
call onoff
mov rb,cn
call write_lcd8
inc cn
mov ch,rxdt
and ch,#20h
call onoff
mov rb,cn
call write_lcd8
inc cn
mov ch,rxdt
and ch,#40h
call onoff
mov rb,cn
call write_lcd8
inc cn
mov ch,rxdt
and ch,#80h
call onoff
mov rb,cn
call write_lcd8
inc cn
mov ch,rxdt
and ch,#1
call onoff

goto main

http://homepage2.nifty.com/JG1FJC/

 

°Ê¾å¤Ï¡¢¿·Ãå½ç21ÈÖÌܤ«¤é30ÈÖÌܤޤǤε­»ö¤Ç¤¹¡£ 1  2  3  4  5  6  7  8  9  |  ¡ÔÁ°¤Î¥Ú¡¼¥¸ |  ¼¡¤Î¥Ú¡¼¥¸¡Õ 
¡¿9 


[PR]