单片机实训之单片机与单片机的通信课程设计.doc

上传人:wj 文档编号:108133 上传时间:2022-10-03 格式:DOC 页数:16 大小:217KB
下载 相关 举报
单片机实训之单片机与单片机的通信课程设计.doc_第1页
第1页 / 共16页
单片机实训之单片机与单片机的通信课程设计.doc_第2页
第2页 / 共16页
单片机实训之单片机与单片机的通信课程设计.doc_第3页
第3页 / 共16页
单片机实训之单片机与单片机的通信课程设计.doc_第4页
第4页 / 共16页
单片机实训之单片机与单片机的通信课程设计.doc_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

单片机实训之单片机与单片机的通信课程设计.doc

《单片机实训之单片机与单片机的通信课程设计.doc》由会员分享,可在线阅读,更多相关《单片机实训之单片机与单片机的通信课程设计.doc(16页珍藏版)》请在冰豆网上搜索。

单片机实训之单片机与单片机的通信课程设计.doc

单片机课程设计

题目:

单片机与单片机的通信

学校:

福州大学至诚学院

专业:

电气工程及其自动化

年级:

07

班级:

1

姓名:

李敏昱

学号:

21079201

目录

设计概述————————————1

硬件电路图———————————2

软件设计————————————3

结论——————————————10

参考文献————————————11

附录——————————————11

一、设计概述

1、设计一块电路板,板上有两个单片机(AT89C51),单片机的外围接有开关和发光二极管,当A机开关发生变位时,其状态在B单片机中的发光二极管中反映出来,B机的开关状态在A机的二极管中也反映出来。

功能说明:

单片机U1的开关的变位,会体现在单片机U2的LED二极管D2上

单片机U2的开关的变位,会体现在单片机U1的LED二极管D1上

2、设计一块电路板,板上有3个单片机(AT89C51),3个单片机之间实现多帧通信:

A单片机为主机,I/O口上接有2个开关,和一个数码管。

当第一个开关合上的时候,A机与B机通信,将A机的地址显示在B机的数码管上,C机的数码管显示0;当第二个开关合上的时候,A机与C机通信,将A机的地址显示在C机的数码管上,B机的数码管显示0。

A机数码管显示与之通信单片机的地址。

2个开关实现互锁。

要求,先发送地址帧,再发送数据帧,数据信息可以在从机的数码管上显示。

功能说明:

单片机U1(地址为1)为主机,单片机U2(地址为2),U3(地址为3)为从机

开关SW1打向左端时,U1与U2通信,U1的数码管显示U2的地址2,U2的数码管显示U1的地址1,U3因没有单片机与之通信,其数码管显示0

开关SW1打向右端时,U1与U3通信,U1的数码管显示U3的地址3,U3的数码管显示U1的地址1,U2因没有单片机与之通信,其数码管显示0

3、设计并制作电路板,板上有3块单片机(AT89C51),可以同时实现以上2个功能,并扩展部分功能。

功能说明:

单片机U1(地址为1)为主机,单片机U2(地址为2),U3(地址为3)为从机

①开关SW1闭合时,允许多机通信。

开关SW2打向上端时,U1与U2通信,U1的数码管显示U2的地址2,U2的数码管显示U1的地址1(扩展:

之后显示5~9),U3因没有单片机与之通信,其数码管显示0

开关SW2打向下端时,U1与U3通信,U1的数码管显示U3的地址3,U3的数码管显示U1的地址1(扩展:

之后显示9~5),U2因没有单片机与之通信,其数码管显示0

②开关SW2断开时,禁止多机通信,单片机A、B之间实现状态显示

单片机U1的开关SW3的变位,会体现在单片机U2的LED二极管D2上

单片机U2的开关SW4的变位,会体现在单片机U1的LED二极管D1上

二、硬件电路图

1、

2、

3、

三、软件设计

1、程序

;//******实现两机开关变位时的状态显示******//

ORG 0000H

SJMP MAIN

ORG 0030H

MAIN:

MOV SCON, #50H ;//设置串行口工作在模式1下,接

;//收使能

MOV TMOD, #20H ;//使用定时器1,工作在模式2下

MOV TH1, #0F3H ;//波特率2400

MOV TL1, #0F3H

SETB TR1 ;//启动定时器1

START:

JNB P0.0, LOOP1 ;//P0.0为低电平,即有按键按下时,

;//跳转至LOOP1;否则顺序执行

MOV SBUF, #0FFH ;//传送信号至B机,使其对P1.0输

;//出高电平,截止LED灯,熄灭

JBC TI, S1 ;//发送结束时,跳转至S1,查询有

;//无信号接收

SJMP $-3 ;//等待发送结束信号

LOOP1:

MOV SBUF, #0FEH ;//传送信号至B机,使其对P1.0输

;//出低电平,导通LED灯,发光

JBC TI, S1 ;//发送结束时,跳转至S1,查询有

;//无信号接收

SJMP $-3 ;//等待发送结束信号

S1:

JBC RI, LOOP2 ;//接收到信号后,跳转LOOP2,并

;//清0信号接收标志RI

SJMP FIN ;//若无信号接收,跳转至FIN,准

;//备开始新一轮循环

LOOP2:

MOV A, SBUF ;//将接收到的信号导入P1口,对

;//LED灯进行控制

MOV P1, A

FIN:

SJMP MAIN ;//跳转,新循环

END

流程图5-1见附录

2、程序

主机(地址为1):

ORG 0000H

SJMP MAIN

ORG 0030H

MAIN:

MOV SCON, #0D0H ;//设置串行口工作在模式3下,接

;//收使能

MOV TMOD, #20H ;//使用定时器1,工作在模式2下

MOV TH1, #0E6H ;//波特率1200

MOV TL1, #0E6H

SETB TR1 ;//启动定时器

JNB P1.6, CASE1 ;//开关左拨与B机(地址为2)通

;//讯

JNB P1.7, CASE2 ;//开关右拨与C机(地址为3)通

;//讯

SJMP LOOP

;//**********与B机(地址为2)通信**********//

CASE1:

SETB TB8 ;//第9位发送1

CLR TI ;//清发送中断标志位

MOV SBUF, #02H ;//发送地址02H

JNB TI, $ ;//等待发送结束

CLR TI ;//清发送中断标志位

CLR TB8 ;//第9位发送0

MOV SBUF, #06H ;//发送本机地址01H,06H为共阴

;//极LED显示1字型编码

JNB TI, $ ;//等待发送结束

CLR RI ;//清接收中断标志位

JNB RI, $ ;//等待接收结束

MOV P2, SBUF ;//显示接收信息

JNB P1.6, $ ;//等待开关变换

SJMP MAIN ;//开始新的判断

;//**********与C机(地址为3)通信**********//

CASE2:

SETB TB8 ;//第9位发送1

CLR TI ;//清发送中断标志位

MOV SBUF, #03H ;//发送地址03H

JNB TI, $ ;//等待发送结束

CLR TI ;//清发送中断标志位

CLR TB8 ;//第9位发送0

MOV SBUF, #06H ;//发送本机地址01H,06H为共阴

;//极LED显示1字型编码

JNB TI, $ ;//等待发送结束

CLR RI ;//清接收中断标志位

JNB RI, $ ;//等待接收结束

MOV P2, SBUF ;//显示接收信息

JNB P1.7, $ ;//等待开关变换

SJMP MAIN ;//开始新的判断

END

从机1(B机,地址为2):

ORG 0000H

SJMP MAIN

ORG 0030H

MAIN:

MOV TMOD, #20H ;//使用定时器1,工作在模式2下

MOV TH1, #0E6H ;//波特率1200

MOV TL0, #0E6H

SETB TR1 ;//启动定时器

MOV SCON, #0D0H ;//设置串行口工作在模式3下,接收

;//使能

SETB SM2 ;//接收主机送出的地址码

CLR RI ;//清接收中断标志位

JNB RI, $ ;//等待接收结束

MOV A, SBUF ;//判断主机所要通信从机的是否为

;//本机,不是则跳转OFF

CJNE A, #02H, OFF

CLR SM2 ;//接收主机送出的按钮状况

CLR RI ;//清接收中断标志位

JNB RI, $ ;//等待接收结束

MOV A, SBUF ;//显示接收信息

MOV P2, A

CLR TI //清发送中断标志位

MOV SBUF, #5BH ;//发送本机地址02H,5BH为共阴极

;//LED显示2字型编码

JNB TI, $ ;//等待发送结束

AJMP MAIN ;//跳转等待下一次多机通信

OFF:

MOV P2, #3FH ;//显示0,3FH为共阴极LED显示0

;//字型编码

AJMP MAIN

END

从机2(C机,地址为3):

ORG 0000H

SJMP MAIN

ORG 0030H

MAIN:

MOV TMOD, #20H ;//使用定时器1,工作在模式2下

MOV TH1, #0E6H ;//波特率1200

MOV TL0, #0E6H

SETB TR1 ;//启动定时器

MOV SCON, #0D0H ;//设置串行口工作在模式3下,接收

;//使能

SETB SM2 ;//接收主机送出的地址码

CLR RI ;//清接收中断标志位

JNB RI, $ ;//等待接收结束

MOV A, SBUF ;//判断主机所要通信从机的是否为

;//本机,不是则跳转OFF

CJNE A, #03H, OFF

CLR SM2 ;//接收主机送出的按钮状况

CLR RI ;//清接收中断标志位

JNB RI, $ ;//等待接收结束

MOV A, SBUF ;//显示接收信息

MOV P2, A

CLR TI ;//清发送中断标志位

MOV SBUF, #4FH ;//发送本机地址03H,4FH为共阴极

;//LED显示3字型编码

JNB TI, $ ;//等待发送结束

AJMP MAIN ;//跳转等待下一

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1