这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 综合技术» 基础知识» nbsp,nbsp,MAX3100,nbsp,nbsp 求教求教 &n

共2条 1/1 1 跳转至

nbsp,nbsp,MAX3100,nbsp,nbsp 求教求教 关于MAX3100的问题 急~~~高手帮忙

院士
2006-09-17 18:14:16 打赏
nbsp,nbsp,MAX3100,nbsp,nbsp 求教求教 关于MAX3100的问题 急~~~高手帮忙



关键词: MAX3100 求教 关于 问题 高手 帮忙

院士
2006-12-22 22:43:00 打赏
2楼
问 最近由于串口不够用 需要扩展一个 人家建议用 MAX3100来扩展 以前没有接触过& nbsp;& nbsp;资料上放出来的汇编看了看 貌似有点不通& nbsp;& nbsp;请高手帮忙做一个C的初始化和传送协议。。。。

放出资料上的汇编
;IrDA CODE FOR MAX-3100 UART-8051 based
;************************************************
;CONSTANTS
;PORT PIN DEFINITIONS-BIN BANGING IF
DOUT BIT p1.0& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;data out (from uart)
DIN BIT p1.1& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;data in (from uart)
SCLK BIT p1.2& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;& nbsp;& nbsp;clock
CS BIT p1.3& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;chip select-act low
IRQ BIT p3.2& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;(irq)polled in this code
;RAM LOCATIONS
TX1 EQU 10H& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;transmit regs
TX2 EQU 11H
RX1 EQU 12H& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;RECEIVE REGS
RX2 EQU 13H
;***************************************************
& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;ORG 0H
BEGIN:MOV SP,#70H& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;initialize stack
CLR SCLK& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;clear sclk-normally low
;initialize& nbsp;& nbsp;8051 interal uart
MOV TMOD,#20H& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;t1 baud
MOV TH1,#253& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;reload value baud 9600/xtal 5.5M
MOV SCON,#50H& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;uart-m1.tx and rx
MOV PCON,#80H& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;double baud rate bit
MOV TCON,40H& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;start baud timer
;initialize max3100 uart-irda mode at 9600 baud
MOV TX1,#0E4H& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;high byte of config-R ints
MOV TX2,#0CAH& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;9600 baud irda mode and two stops
CALL UTLK& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;send to uart - write config
;**********************& nbsp;& nbsp;MAIN ROUTINE LOOP *********************
LOOP:JNB IRQ,URCV& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;data avail from 3100 uart?& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;IRQ为0 输出
NRECV:JBC RI,RCV51& nbsp;& nbsp;& nbsp;& nbsp;;check for 8051 rcv- tx out irda
JMP LOOP& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;hang here forever
;byte recieved from 3100 uart- get it and send out 8051 uart
URCV:MOV TX1,#0& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;read data
MOV TX2,#0& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;read data
CALL UTLK& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;send to 8051 uart -get data to rx
MOV A,RX2& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;get data to acc
MOV SBUF,A& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;send out rs-232 side 9600 baud
JMP LOOP& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;BACK TO TOP
;byte recieved from 8051 uart- get it and sent 3100uart
RCV51:MOV A,SBUF& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;data from 8-51 uart
& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;MOV TX1,#80H& nbsp;& nbsp;& nbsp;& nbsp;;tx data
& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;MOV TX2,A& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;data to irda
& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;CALL UTLK& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;send to uart-send data out IRDA
& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;JMP LOOP& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;back to top
;**********************************************************
;******SUBROUTINES
;*****UTLK -talk to uart-main routine
;******send 16bits from TX1 TX2 and rov 16 to RX1 RX2
UTLK:CLR CS& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;activate cs
& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;MOV A,TX1& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;get high byte
& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;CALL BYT8& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;SEND OUT
& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;MOV RX2,A& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;get recevied 2
& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;SETB CS& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;set cs high
& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;RET& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;DONE
;*********************************
;**BYT8- SHIFT OUT &IN 8 BITS WITH SPI CLOCKING -FROM AND TO ACC
BYT8:MOV R4,#8& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;8 bits to send
SETB DIN& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;make sure din is input
B8LP: RLC A& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;get msb of acc to carry
& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;MOV DOUT,C& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;OUT OU T ON PIN
& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;SETB SCLK& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;CLOCK HIGH-CLOCK
& nbsp;& nbsp;& nbsp;& nbsp;MOV C,DIN& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;get data after clk high
& nbsp;& nbsp;& nbsp;& nbsp;CLR SCLK& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;clock low
& nbsp;& nbsp;& nbsp;& nbsp;MOV ACC.0,C& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;put in lsbit of a
& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;DJNZ& nbsp;& nbsp;R4,B8LP& nbsp;& nbsp;& nbsp;;loop til 8bits
& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;RET& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;;done
;*****end of

& nbsp;& nbsp;END

不知道他开串口干什么。。。貌似没有用到串口啊。。。希望有高手指点我
拜师~~~~ 1: 希望有用过的达人路过& nbsp;& nbsp;顺便贴下程序短短的& nbsp;& nbsp;没多少。。。希望帮忙啦

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]