;--------------------------------------------------- ; jclock.a51 ;--------------------------------------------------- ; Copyright 2003, Mathematical Assist Design Lab. Co., Ltd ; DATE: 2003/08/17 ;--------------------------------------------------- $INCLUDE (rtm8051.inc) $INCLUDE (lc80f5432a.inc) $INCLUDE (c8051_000_sub.inc) ;--------------------------------------------------- ; CODE SEGMENT ;=================================================== cseg AT 000bh ljmp timer0_int ;timer INTERRUPT VECTOR ;--------------------------------------------------- extern code rtm_int extern bit tx_pin, rx_pin, rx_flag, tx_flag public jinit cseg jinit: ; C8051 init WDT timer cross-bar mov OSCXCN, #066h ;External Oscillator Control Register mov OSCICN, #008h ;Internal Oscillator Control Register mov WDTCN, #0DEh ;WDT disable mov WDTCN, #0ADh ;WDT disable mov XBR0, #00h ;UART disable mov XBR1, #00h ; mov XBR2, #40h ;cross-bar disable orl PRT0CF,#00000001b ;0=OpenDrain 1=pushpull orl PRT1CF,#01000000b ;P1.6 OpenDrain ;--------------------------------------------------- ;set interrupt timer mov TH0, #0fch ; Timer 0 High Byte mov TL0, #000h ; Timer 0 Low Byte mov CKCON, #008h ; Timer0 Event Source = SYSCLK mov TMOD, #001h ; Timer0 = mode 1 16bit counter mov TCON, #030h ; Timer0 & Overfrow INT enable ;start orl IE, #02h ret ;=================================================== ;interrupt entry extern data rtmw extern code rtm timer0_int: ;timer int recovery set mov TH0, #0fch ; Timer 0 High Byte ; mov TL0, #000h ;TLはフリーランさせること push acc ;- push psw ;-- ;******************************** ;RX1200,TX1200用の送受信処理 mov c, tx_flag mov tx_pin, c mov c, rx_pin mov rx_flag, c ;******************************** mov a,#finttim call rtm pop psw ;-- pop acc ;- reti ;=================================================== END