硬件:max3100使用问题请教
在使用MAX3100作为串口通信时,本来在上电时,我用士波器观察晶振的振荡情况,完全正常,
可是当我一运行程序,发现晶振停振,应该说是被软件关断,然后重新上电振荡恢复正常.程序
是参考资料上的.如下,有什么问题呢?我用士波器在输出端看不到任何的波形.为什么会停振
呢?
用过的认指点一二
;IRDA CODE FOR MAX-3100 UART BASED
;*******************************************************
;PORT PIN DEFINITONS BIT BANGING IF
DOUT BIT P1.1
DIN BIT P1.0
SCLK BIT P1.2
CS BIT P1.3
IRQ BIT P3.2
;RAM LOCATIONS
TX1 EQU 10H
TX2 EQU 11H
RX1 EQU 12H
RX2 EQU 13H
;*******************************************************
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN: MOV SP, #70H ;INITIALIZE STACK
CLR SCLK
;INITIALIZE MAX3100 UART-IRDA MODE AT 9600 BAUD
MOV TX1, #0E4H ;HIGHT BYTE OF CONFIG -R INTS
MOV TX2, #0CAH ;9600 BAUD IRDA MODE AND TWO
STOPS
CALL UTLK
TXS:
MOV A, #55H
MOV TX1, #80H ;TX DATA
MOV TX2, A ;DATA TO IRDA
CALL UTLK
SJMP TXS
;SUBROUTINES
;UTRL TALK TO UART MAIN ROUTINE
;SEND 16 BITS FORM TX1 TX2 AND REV 16 TO RX1 RX2
UTLK: CLR CS
MOV A, TX1
CALL BYT8
MOV RX1, A
MOV A, TX2
CALL BYT8
MOV RX2, A
SETB CS
RET
;BYT8 SHIFT OUT & IN 8 BITS WITH SPI CLOCKING FROM AND TO ACC
BYT8: MOV R4, #8
SETB DIN
B8LP: RLC A
MOV DOUT, C
SETB SCLK
MOV C, DIN
CLR SCLK
MOV ACC.0, C
DJNZ R4, B8LP
RET
发表时间:2002年5月11日17:55:00