系統(tǒng)晶振是 11.0592 MHz ;51單片機(jī)發(fā)送單片機(jī)程序 ;此程序用Proteus仿真通過;此程序在硬件上測試通過 ;2007-05-27 ;附有簡化電路圖 ;為了使初學(xué)者能看懂,程序與圖盡可能的簡單扼要 ;實驗現(xiàn)象為,發(fā)送端的P1口的哪個鍵被接下,接收端的哪個燈對應(yīng)著亮 ;如果把兩個單片機(jī)的T和R通過無線模塊(如基于MCP2120芯片的模塊)來擴(kuò)充,便可做成無線通信 ORG 0000H AJMP START ORG 0040H START: MOV SP,#60H MOV SCON,#50H ;串口 方式 1 MOV TMOD,#20H ;T1 方式2 MOV TL1,#0FDH ;波特率 9600 的常數(shù) MOV TH1,#0FDH SETB TR1 MOV r5,#00h WAIT: MOV p1,#0ffh MOV a ,p1 MOV r5,a lcall delay ;讀鍵盤,這里去抖動,還要加幾句話 MOV a ,p1 nop CJNE A,5,WAIT ;是否有鍵輸入 MOV SBUF,a ;串口輸出鍵盤輸入的值 NOP SS: JBC TI,WAIT ;是否發(fā)送完畢 SJMP SS DELAY: ;延時子程序 PUSH 0 ;保存現(xiàn)場 PUSH 1 MOV 0,#06H DELAY1: MOV 1,#0H DJNZ 1,$ DJNZ 0,DELAY1 POP 1 ;恢復(fù)現(xiàn)場 POP 0 RET END
;系統(tǒng)晶振是 11.0592 MHz ;51單片機(jī)接收單片機(jī)程序 ;此程序用Proteus仿真通過 ;此程序在硬件上測試通過 ;2007-05-27 ;附有簡化電路圖 ;為了使初學(xué)者能看懂,程序與圖盡可能的簡單扼要 ;實驗現(xiàn)象為,發(fā)送端的P1口的哪個鍵被接下,接收端的哪個燈對應(yīng)著亮 ;如果把兩個單片機(jī)的T和R通過無線模塊(如基于MCP2120芯片的模塊)來擴(kuò)充,便可做成無線通信 ORG 0000H AJMP START ORG 0040H START: MOV SCON,#50H ;串口 方式 1 MOV TMOD,#20H ;T1 方式 2 MOV TL1,#0FDH ;波特率 9600 的常數(shù) MOV TH1,#0FDH SETB TR1 WAIT: JBC RI,DIS_REC ;是否接收到數(shù)據(jù) sjmp wait DIS_REC: MOV A,SBUF ;讀串口接收到的數(shù)據(jù) MOV p1,a SJMP wait end |