如何不用RXD和TXD作74LS595的傳輸 |
答題得分者是:kaust541109
|
tai012
一般會員 發表:3 回覆:0 積分:0 註冊:2007-12-10 發送簡訊給我 |
如何不用RXD和TXD作74LS595的傳輸
小弟要作一個6個16x16LED顯示屏和電腦溝通, 8051的RXD接去74LS595的14腳(SER) 8051的TXD接去74LS595的11腳(SRCLK) 程式凡的TIMER0中斷如下: TIMER0: PUSH ACC MOV TH0,#0FCH ;1ms MOV TL0,#18H MOV A,#97 ADD A,DPL MOV DPL,A MOV A,#0 ADDC A,DPH MOV DPH,A MOV A,#0 MOVC A,@A DPTR MOV SBUF,A WAIT: JBC TI,GO AJMP WAIT GO: MOV A,DPL SUBB A,#1 MOV DPL,A MOV A,DPH SUBB A,#0 MOV DPH,A MOV A,#0 MOVC A,@A DPTR MOV SBUF,A WAIT1: JBC TI,GO1 AJMP WAIT1 GO1: MOV R0,#03H MLOOP: MOV A,DPL SUBB A,#31 MOV DPL,A MOV A,DPH SUBB A,#0 MOV DPH,A MOV A,#0 MOVC A,@A DPTR MOV SBUF,A WAIT2: JBC TI,GO2 AJMP WAIT2 GO2: MOV A,DPL SUBB A,#1 MOV DPL,A MOV A,DPH SUBB A,#0 MOV DPH,A MOV A,#0 MOVC A,@A DPTR MOV SBUF,A WAIT3: JBC TI,GO3 AJMP WAIT3 GO3: DJNZ R0,MLOOP ;loop 3 times SETB P1.7 ;74LS154 pin 18(G1) = high NOP SETB P1.6 ;595(RCLK) = high NOP NOP CLR P1.6 MOV A,R2 ORL A,#0F0H MOV R2,A MOV A,P1 ORL A,#0FH ANL A,R2 MOV P1,A CLR P1.7 INC R2 INC DPTR INC DPTR MOV A,R2 ANL A,#0FH JNZ GO4 SETB 00H MOV A,DPL SUBB A,#32 MOV DPL,A MOV A,DPH SUBB A,#0 MOV DPH,A CLR TR0 GO4: POP ACC RETI 這樣我要如何修改其他PORT位代替TXD和RXD 編輯記錄
㊣ 重新編輯於 2008-04-05 15:58:17, 註解 分類為問題非求才. 問題說明仍不清楚‧
|
harrypp
中階會員 發表:7 回覆:124 積分:61 註冊:2006-08-31 發送簡訊給我 |
|
kaust541109
一般會員 發表:2 回覆:7 積分:6 註冊:2008-04-10 發送簡訊給我 |
可以用其他的PORT代替TXD跟RXD的動作,但執行速度會比寫入SBUF慢,畢竟SBUF是用硬體處理,在Clock上要省很多,
Send_To_74LS595: MOV R2, #8 $Loop: RRC A MOV P2.0, C ;;隨便那個IO Port,代替RXD送出資料 CLR P2.1 ;;隨便那個IO Port,代替TXD送出CLK SETB P2.1 DJNZ R2, $Loop RET
編輯記錄
kaust541109 重新編輯於 2008-04-14 11:13:21, 註解 無‧
|
harrypp
中階會員 發表:7 回覆:124 積分:61 註冊:2006-08-31 發送簡訊給我 |
|
kaust541109
一般會員 發表:2 回覆:7 積分:6 註冊:2008-04-10 發送簡訊給我 |
|
harrypp
中階會員 發表:7 回覆:124 積分:61 註冊:2006-08-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |