最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

双机通信系统设计

来源:动视网 责编:小OO 时间:2025-09-29 18:27:10
文档

双机通信系统设计

双机通信系统的设计一、课程设计的目的与要求1、课程设计目的:(1)进一步理解和消化书本知识,运用所学知识和技能进行简单的设计。(2)通过课程设计提高应用能力,分析问题和解决问题的能力。(3)培养查阅资料的习惯,训练和提高自学,思考的能力。2、课程设计要求双机通信系统的设计1)掌握串行口工作方式的程序设计。2)掌握单片机通讯程序的编制。3)了解实现串行通讯的硬件环境,数据格式、数据交换的协议。4)掌握在8031系统中扩展8279键盘显示接口的方法。5)了解键盘电路工作原理及编程方法。从课程设
推荐度:
导读双机通信系统的设计一、课程设计的目的与要求1、课程设计目的:(1)进一步理解和消化书本知识,运用所学知识和技能进行简单的设计。(2)通过课程设计提高应用能力,分析问题和解决问题的能力。(3)培养查阅资料的习惯,训练和提高自学,思考的能力。2、课程设计要求双机通信系统的设计1)掌握串行口工作方式的程序设计。2)掌握单片机通讯程序的编制。3)了解实现串行通讯的硬件环境,数据格式、数据交换的协议。4)掌握在8031系统中扩展8279键盘显示接口的方法。5)了解键盘电路工作原理及编程方法。从课程设
双机通信系统的设计

 一、课程设计的目的与要求

1、课程设计目的:

(1)进一步理解和消化书本知识,运用所学知识和技能进行简单的设计。

(2)通过课程设计提高应用能力,分析问题和解决问题的能力。

(3)培养查阅资料的习惯,训练和提高自学,思考的能力。

2、课程设计要求

双机通信系统的设计

1)掌握串行口工作方式的程序设计。

2)掌握单片机通讯程序的编制。

3)了解实现串行通讯的硬件环境,数据格式、数据交换的协议。

4)掌握在8031系统中扩展8279键盘显示接口的方法。

5)了解键盘电路工作原理及编程方法。

从课程设计的目的出发,通过设计工作的各个环节,达到以下要求:

(1)能够正确理解课程设计的题目和意义,全面思考问题。

(2)运用科学合理的方法,认真按时完成。

二、课程设计课题的分析

MCS—51单片机内穿行口的SBUF有两个:接收SBUF和发送SBUF,二者在物理结构上是的,单片机用它们来接收和发送数据。专用寄存器SCON和PCON控制串行口的工作方式和波特率。定时器1作为波特率发生器。

        编程时注意两点:一时初始化,设置波特率和数据格式。二是确定数据传送方式。数据传送方式有两种:查询方式和中断方式。

        为确保通讯成功,甲机和乙机必须有一个一致的通讯协议,例程的通讯协议如下:通讯双方均采用2400波特的速率传送,甲机发送数据,乙机接收数据。双机开始通讯时,甲机发送一个呼叫信号“06”,询问乙机是否可以接收数据;乙机受到呼叫信号后,若同意接收数据则发回“00”作为应答,否则发“F0”表示暂不能接收数据;甲机只有受到乙机的应答信号“00”后才可把要发送的数据发送给乙机,否则继续向乙机呼叫,直到乙机同意接受。其发送数据格式为:字节数n:甲机将向乙机发送的数据个数

数据1~数据n:甲机将向乙机发送的n个数据

乙机接收到数据后,向甲机回发“0F”信号。甲机只有接到信号“0F”才算完成发送任务,否则继续呼叫,重发数据。

电路及程序的设计

8031串行口显示电路

                      原理图,硬件电路图,较详细的程序流程图。

流程图:

A机流程图:

B机流程图:

三、课程设计的结果

1基本功能

利用8031串行口发送和接收数据,并将接收的数据通过扩展I/O口74LS273输出到发光二极管显示,结合延时来模拟一个循环彩灯。彩灯变化花样可自行设计。

例:①L1、L2、…L8依次点亮;②L1、L2、…L8依次熄灭;③L1、L2、…L8全亮、全灭。各时序间隔为0.5秒。让发光二极管按以上规律循环显示下去。

;8031的TXD接RXD;74LS273的CS273接CS0;SO0~SO7接发光二极管的L1~L8;

CSEG    AT    0000H

        LJMP  START

CSEG    AT    4100H

PORT    EQU   0CFA0H

START:  MOV   TMOD,#20H  ;

        MOV   TL1,#0F2H  ;

        MOV   TH1,#0F2H

        MOV   87H,#00H   ;

        SETB  TR1        ;

        MOV   SCON,#50H  ;

        MOV   R1,#12H    ;

        MOV   DPTR,#TABLE

        MOV   A,DPL

        MOV   DPTR,#L1

        CLR   C

        SUBB  A,DPL      ;

        MOV   R5,A       ;

        MOV   R0,A

SEND:   MOV   A,R0

        MOVC  A,@A+PC    ;

L1:     MOV   SBUF,A     ;

WAIT:   JBC   RI,L2      ;

        SJMP  WAIT

L2:     CLR   RI         

        CLR   TI         

        MOV   A,SBUF     

        MOV   DPTR,#PORT

        MOVX  @DPTR,A    

        ACALL DELAY      

INC   R0         

        DJNZ  R1,SEND    

        MOV   R1,#12H

        MOV   A,R5

        MOV   R0,A

        JMP   SEND

TABLE:  DB    01H, 03H, 07H, 0FH, 1FH, 3FH,7FH,0FFH,0FEH

        DB    0FCH,0F8H,0F0H,0E0H,0C0H,80H,00H,0FFH,00H

DELAY:  MOV   R4,#05H    

DEL1:   MOV   R3,#200

DEL2:   MOV   R2,#126

DEL3:   DJNZ  R2,DEL3

        DJNZ  R3,DEL2

        DJNZ  R4,DEL1

        RET

END

现象:8个LED小灯按表中取出的指令顺序点亮

2、双机通信系统的设计

(1)发送机

NAME    T13F                ;双机通讯实验(发送程序)

CSEG    AT    0000H

        LJMP  START

CSEG    AT    4100H

PORT    EQU   0CFE8H

START:  MOV   DPTR,#PORT+1  ;8279命令字

        MOV   A,#0D1H       ;清除

        MOVX  @DPTR,A

WAIT:   MOVX  A,@DPTR

        JB    ACC.7,WAIT    ;等待清除完毕

        MOV   TMOD,#20H

        MOV   TH1,#0F2H

        MOV   TL1,#0F2H

        SETB  TR1

        MOV   SCON,#50H

        MOV   87H,#80H

        MOV   50H,#00H

        MOV   51H,#00H

        MOV   52H,#00H

        MOV   53H,#00H

        MOV   54H,#00H

        MOV   55H,#00H

LOOP1:  MOVX  A,@DPTR

        ANL   A,#0FH

        JZ    LOOP1         ;有键按下?

        MOV   A,#0A0H       ;显示消隐命令

        MOVX  @DPTR,A

        MOV   DPTR,#PORT    ;读键值

        MOVX  A,@DPTR

        ANL   A,#3FH

        MOV   R7,A          ;状态保存

        MOV   50H,51H

        MOV   51H,52H

        MOV   52H,53H

        MOV   53H,54H

        MOV   54H,55H

LOP:    MOV   A,R7

        MOV   DPTR,#TAB1

        MOVC  A,@A+DPTR     ;查取数字键的字型码

        MOV   55H,A

        mov   40h,a

        SUBB  A,#80H

        JZ    ERROR         ;非数字键则跳转

        ACALL DISP

        SJMP  TXACK

DISP:   MOV   DPTR,#PORT+1

        MOV   A,#90H

        MOVX  @DPTR,A

        MOV   R6,#06H

        MOV   R1,#50H

        MOV   DPTR,#PORT

DL0:    MOV   A,@R1

        MOVX  @DPTR,A

        INC   R1

        DJNZ  R6,DL0

        RET

TXACK:  MOV   A,#06H        ;发呼叫信号"06"

        MOV   SBUF,A

WAIT1:  JBC   TI,RXYES      ;等待发送完一个字节

        SJMP  WAIT1

RXYES:  JBC   RI,NEXT1      ;等待乙机回答

        SJMP  RXYES

NEXT1:  MOV   A,SBUF        ;判断乙机是否同意接收,不同意继续呼叫

        CJNE  A,#00H,TXACK

        MOV   A,40H

        MOV   SBUF,A

WAIT2:  JBC   TI,TXNEWS

        SJMP  WAIT2

TXNEWS: JBC   RI,IF0DDH

        SJMP  TXNEWS

IF0DDH: MOV   A,SBUF

        CJNE  A,#0FH,TXACK ;判断乙机是否接收正确,不正确继续呼叫

        MOV   DPTR,#0CFE9H

        LJMP  LOOP1

ERROR:  MOV   50H,#79H

        MOV   51H,#31H

        MOV   52H,#31H

        MOV   53H,#5CH

        MOV   54H,#31H

        MOV   55H,#80H

        LCALL DISP

DD:     MOV   DPTR,#PORT+1

        MOVX  A,@DPTR

        ANL   A,#0FH

        JZ    DD            ;有键按下?

        MOV   A,#0A0H       ;显示消隐命令

        MOVX  @DPTR,A

        MOV   DPTR,#0CFE8H  ;读键值

        MOVX  A,@DPTR

        ANL   A,#3FH

        MOV   R7,A          ;状态保存

        MOV   50H,#00H

        MOV   51H,#00H

        MOV   52H,#00H

        MOV   53H,#00H

        MOV   54H,#00H

        LJMP  LOP

TAB1:   DB 3FH,06H,5BH,4FH,80H,80H  ;键值字型码表

        DB 66H,6DH,7DH,07H,80H,80H

        DB 7FH,6FH,77H,7CH,80H,80H

        DB 39H,5EH,79H,71H,80H,80H

        DB     80H,80H,80H,80H

END

(2)接收机

NAME    T13J                ;双机通讯实验

CSEG    AT    0000H

        LJMP  START

CSEG    AT    4100H

PORT    EQU   0CFE8H

START:  MOV   DPTR,#PORT+1  ;8279命令字

        MOV   A,#0D1H       ;清除

        MOVX  @DPTR,A

WAIT:   MOVX  A,@DPTR

        JB    ACC.7,WAIT    ;等待清除完毕

        MOV   TMOD,#20H     

        MOV   TH1,#0F2H     ;初始化定时器

        MOV   TL1,#0F2H

        SETB  TR1

        MOV   SCON,#50H     ;初始化串行口

        MOV   87H,#80H

        MOV   50H,#00H

        MOV   51H,#00H

        MOV   52H,#00H

        MOV   53H,#00H

        MOV   54H,#00H

        MOV   55H,#00H

        SJMP  RXACK

DISP:   MOV   DPTR,#PORT+1

        MOV   A,#90H

        MOVX  @DPTR,A

        MOV   R6,#06H

        MOV   R1,#50H

        MOV   DPTR,#PORT

DL0:    MOV   A,@R1

        MOVX  @DPTR,A

        INC   R1

        DJNZ  R6,DL0

        RET

RXACK:  JBC   RI,IF06H      ;接收呼叫信号

        SJMP  RXACK

IF06H:  MOV   A,SBUF        ;判断呼叫是否有误

        CJNE  A,#06H,TX15H

TX00H:  MOV   A,#00H

        MOV   SBUF,A

WAIT1:  JBC   TI,RXBYTES    ;等待应答信号发送完

        SJMP  WAIT1

TX15H:  MOV   A,#0F0H       ;向甲机报告接收的呼叫信号不正确

        MOV   SBUF,A

WAIT2:  JBC   TI,HAVE1

        SJMP  WAIT2

HAVE1:  SJMP  RXACK

RXBYTES:JBC   RI,HAVE2

        SJMP  RXBYTES

HAVE2:  MOV   A,SBUF

        MOV   R7,A

        MOV   A,#0FH

        MOV   SBUF,A

WAIT3:  JBC   TI,LOOP1

        SJMP  WAIT3

LOOP1:  MOV   DPTR,#PORT+1

        MOV   A,#0A0H       ;显示消隐命令

        MOVX  @DPTR,A

        MOV   50H,51H

        MOV   51H,52H

        MOV   52H,53H

        MOV   53H,54H

        MOV   54H,55H

        MOV   A,R7

        MOV   55H,A

        LCALL DISP

        LJMP  RXACK

END

四、课程设计的心得与体会

单片机的课程设计是这学期的最后一个课设了,主要是把学习的课本知识运用到实践中。我选择的是第三个题目,双机通信系统设计,选择这个课题的同学比较少,本来想好好的发挥一下,结果失败了。基本的要求达到了,但是,我们少了一些环节,键盘接入后不能正确的传输过去。虽然没有成功,但是我们从中学到了一些课堂上不能得到的知识。我认为,课程设计的目的不只在于结果的成功与否,而在于锻炼我们的实际动手能力,从而学到一些实质性的操作意。紧张的实操环节已经结束了,希望在此次课设中的收获能够对接下来的相关专业学习有所帮助。

感谢老师的指导!

五、参考文献

[1] 李全利.单片机原理与接口技术.高等教育出版社

[2] 李向军.单片机原理与接口技术实验指导书.自编教材

[3] 李江全.单片机数据通讯及测控应用技术详解.电子工业出版社

文档

双机通信系统设计

双机通信系统的设计一、课程设计的目的与要求1、课程设计目的:(1)进一步理解和消化书本知识,运用所学知识和技能进行简单的设计。(2)通过课程设计提高应用能力,分析问题和解决问题的能力。(3)培养查阅资料的习惯,训练和提高自学,思考的能力。2、课程设计要求双机通信系统的设计1)掌握串行口工作方式的程序设计。2)掌握单片机通讯程序的编制。3)了解实现串行通讯的硬件环境,数据格式、数据交换的协议。4)掌握在8031系统中扩展8279键盘显示接口的方法。5)了解键盘电路工作原理及编程方法。从课程设
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top