技术中心
 
 

基于单片机的双机通信设计

   日期:2012-09-19     来源:互联网    

  一、实验目的

  1、掌握双机通信的原理和编程方法。

  2、学习8251A的使用方法

  二、实验内容

  1、实验原理图:

  

  2.实验内容

  如图所示,TXC和RXC分别为8251A的发送时钟和接收时钟。它由片外8253A的OUT1提供。本实验要求以查询方式进行收发。要完成本实验,需2台 DVCC系列实验系统。其中一台为串行发送,一台为串行接收,在1号机上装串行发送程序,在2号机上装串行接收程序,则在1号机上键入的字符显示在2号机的显示器上。

  由于本系统监控中未对8253A、8251A进行初始化,因此本实验开始必须对8253、8251进行初始化,然后才可以直接进入对串行口状态的查询。

  三、程序

  系统晶振是 6.0 MHz

  ORG 07F0H

  START:

  MOV SP,#60H

  mov A,#02H

  MOV R0,#79H

  MOV @R0,A

  INC R0

  MOV A,#10H

  MOV @R0,A

  INC R0

  MOV A,#01H

  MOV @R0,A

  INC R0

  MOV A,#03H

  MOV @R0,A

  INC R0

  MOV A,#00H

  MOV @R0,A

  INC R0

  MOV A,#08H

  MOV @R0,A

  MOV A,#7EH

  MOV DPTR,#1FFFH

  MOVX @DPTR,A

  MOV 87H,#80H

  MOV SCON,#50H ;串口 方式 1

  MOV TMOD,#20H ;T1 方式 1

  MOV TL1,#0F3H ;波特率 9600 的常数

  MOV TH1,#0F3H

  SETB TR1 ;开中断

  CLR ET1

  CLR ES

  WAIT:

  JBC RI,DIS_REC ;是否接收到数据

  LCALL DISP ;

  SJMP WAIT ;

  DIS_REC:

  MOV A,SBUF ;读串口接收到的数据

  LCALL DATAKEY ;显示输入的数字(0-F)

  DB 79H,7EH

  AJMP WAIT

  DATAKEY: MOV R4,A

  MOV DPTR,#1FFFH

  MOVX A,@DPTR

  MOV R1,A

  MOV A,R4

  MOV @R1,A

  CLR A

  POP 83H

  POP 82H

  MOVC A,@A+DPTR

  INC DPTR

  CJNE A,01H,DATAKEY2

  DEC R1

  CLR A

  MOVC A,@A+DPTR

  DATAKEY1: PUSH 82H

  PUSH 83H

  MOV DPTR,#1FFFH

  MOVX @DPTR,A

  POP 83H

  POP 82H

  INC DPTR

  PUSH 82H

  PUSH 83H

  RET

  DATAKEY2: DEC R1

  MOV A,R1

  SJMP DATAKEY1

  DISP: SETB 0D4H

  MOV R1,#7EH

  MOV R2,#20H

  MOV R3,#00H

  DISP1:

  MOV DPTR,#DATACO

  MOV A,@R1

  MOVC A,@A+DPTR

  MOV DPTR,#0FF22H

  MOVX @DPTR,A

  MOV DPTR,#0FF21H

  MOV A,R2

  MOVX @DPTR,A

  LCALL DELAY

  DEC R1

  CLR C

  MOV A,R2

  RRC A

  MOV R2,A

  JNZ DISP1

  CLR 0D4H

  RET

  DELAY: MOV R7,#03H

  DELAY0: MOV R6,#0FFH

  DELAY1: DJNZ R6,DELAY1

  DJNZ R7,DELAY0

  RET

  DATAC DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

  DB 88H,83H,0C6H,0A1H,86H,8EH,0BFH,0CH,89H,0DEH

  END

  四、 实验步骤?

  1、准备2台DVCC系列实验仪,确定1号为发送,2号为接收。?

  2、将1号RXD插孔和2号的TXD插孔相连。?

  3、将1号TXD插孔和2号的RXD插孔相连。?

  4、将1号GND插孔和2号的GND插孔相连(共地)。?

  5、将8253CS插孔和Y4插孔相连,8251CS和Y5插孔相连。?

  6、将SIO区D0—D7和BUS2区 XD0—XD7相连。?

  7、先运行2号机,在2号机提示符“P.....”状态下,输入0D00后,再按EXEC键进入等待接收状态,显示器显示“8251—2”。

  8、再运行1号机,在1号机处于提示符“P.....”状态下,输入0E00H后,按EXEC键,进入串行发送状态。显示器显示“8251—1”。

  9、在1号机的键盘上输入数字键,应在2号机显示器上显示对应数字值。?

  10、输入数字键后再按MON键,1号机显示“8251 good”。如果不输入数字键直接按MON键,则显示“Err”,如果双机通信不能正常进行,也显示“Err”。

 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢