|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
求教求教 關(guān)于MAX3100的問(wèn)題 急~~~高手幫忙 |
| 作者:galton1982 欄目:技術(shù)交流 |
最近由于串口不夠用 需要擴(kuò)展一個(gè) 人家建議用MAX3100來(lái)擴(kuò)展 以前沒(méi)有接觸過(guò) 資料上放出來(lái)的匯編看了看 貌似有點(diǎn)不通 請(qǐng)高手幫忙做一個(gè)C的初始化和傳送協(xié)議。。。。 放出資料上的匯編 ;IrDA CODE FOR MAX-3100 UART-8051 based ;************************************************ ;CONSTANTS ;PORT PIN DEFINITIONS-BIN BANGING IF DOUT BIT p1.0 ;data out (from uart) DIN BIT p1.1 ;data in (from uart) SCLK BIT p1.2 ; clock CS BIT p1.3 ;chip select-act low IRQ BIT p3.2 ;(irq)polled in this code ;RAM LOCATIONS TX1 EQU 10H ;transmit regs TX2 EQU 11H RX1 EQU 12H ;RECEIVE REGS RX2 EQU 13H ;*************************************************** ORG 0H BEGIN:MOV SP,#70H ;initialize stack CLR SCLK ;clear sclk-normally low ;initialize 8051 interal uart MOV TMOD,#20H ;t1 baud MOV TH1,#253 ;reload VALUE baud 9600/xtal 5.5M MOV SCON,#50H ;uart-m1.tx and rx MOV PCON,#80H ;double baud rate bit MOV TCON,40H ;start baud timer ;initialize MAX3100 uart-irda mode at 9600 baud MOV TX1,#0E4H ;high byte of config-R ints MOV TX2,#0CAH ;9600 baud irda mode and two stops CALL UTLK ;send to uart - write config ;********************** MAIN ROUTINE LOOP ********************* LOOP:JNB IRQ,URCV ;data avail from 3100 uart? IRQ為0 輸出 NRECV:JBC RI,RCV51 ;check for 8051 rcv- tx out irda JMP LOOP ;hang here forever ;byte recieved from 3100 uart- get it and send out 8051 uart URCV:MOV TX1,#0 ;read data MOV TX2,#0 ;read data CALL UTLK ;send to 8051 uart -get data to rx MOV A,RX2 ;get data to acc MOV SBUF,A ;send out RS-232 side 9600 baud JMP LOOP ;BACK TO TOP ;byte recieved from 8051 uart- get it and sent 3100uart RCV51:MOV A,SBUF ;data from 8-51 uart MOV TX1,#80H ;tx data MOV TX2,A ;data to irda CALL UTLK ;send to uart-send data out IRDA JMP LOOP ;BACK to top ;********************************************************** ;******SUBROUTINES ;*****UTLK -talk to uart-main routine ;******send 16bits from TX1 TX2 and rov 16 to RX1 RX2 UTLK:CLR CS ;activate cs MOV A,TX1 ;get high byte CALL BYT8 ;SEND OUT MOV RX2,A ;get recevied 2 SETB CS ;set cs high RET ;DONE ;********************************* ;**BYT8- SHIFT OUT &IN 8 BITS WITH SPI CLOCKING -FROM AND TO ACC BYT8:MOV R4,#8 ;8 bits to send SETB DIN ;make sure din is input B8LP: RLC A ;get msb of acc to carry MOV DOUT,C ;OUT OU T ON PIN SETB SCLK ;CLOCK HIGH-CLOCK MOV C,DIN ;get data after clk high CLR SCLK ;clock low MOV ACC.0,C ;put in lsbit of a DJNZ R4,B8LP ;loop til 8bits RET ;done ;*****end of END 不知道他開串口干什么。。。貌似沒(méi)有用到串口啊。。。希望有高手指點(diǎn)我 拜師~~~~ |
| 2樓: | >>參與討論 |
| 作者: galton1982 于 2006/2/25 8:14:00 發(fā)布:
為什么沒(méi)有人啊。。 為什么沒(méi)有達(dá)人支援下啊。。。拜托了 |
|
| 3樓: | >>參與討論 |
| 作者: galton1982 于 2006/2/25 21:05:00 發(fā)布:
再拜托 難道木有同志用過(guò)嗎 要是有用過(guò)的拜托指導(dǎo)下我吧~~ |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |