单片机双机通信报告详解Word格式文档下载.docx

上传人:b****1 文档编号:14095218 上传时间:2022-10-18 格式:DOCX 页数:13 大小:168.55KB
下载 相关 举报
单片机双机通信报告详解Word格式文档下载.docx_第1页
第1页 / 共13页
单片机双机通信报告详解Word格式文档下载.docx_第2页
第2页 / 共13页
单片机双机通信报告详解Word格式文档下载.docx_第3页
第3页 / 共13页
单片机双机通信报告详解Word格式文档下载.docx_第4页
第4页 / 共13页
单片机双机通信报告详解Word格式文档下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

单片机双机通信报告详解Word格式文档下载.docx

《单片机双机通信报告详解Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机双机通信报告详解Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。

单片机双机通信报告详解Word格式文档下载.docx

3、学会撰写课程设计总结报告。

4、通过课程设计,逐步形成严肃认真、一丝不苟、实事求是的工作作风和科学态度,培养学生树立一定的全局观点。

5、在课程设计过程中,要做到团结协作。

意义:

 单片机应用系统设计是单片机课程的实践性教学环节,既涉及到许多理论知识(设计原理与方法),又强调系统设计能力的锻炼,培养创新设计的能力,养成一丝不苟的工作作风,为今后从事单片机行业的工作打下基础。

二、功能要求:

单片机双机通信接口应用。

设计电路并编写程序,完成单片机与单片机之间的通信,甲机发送键盘输入的键号,乙机接收键号并在最右边的LED以十六进制的方式显示出来,通信协议:

以方式2工作,波特率为2400b/s,信息格式为8个数据位,无奇偶校验位。

三、方案论证:

1、总体设计方案:

甲机扫描键盘获得键值,乙机显示键盘的值,使用4*4的矩阵键盘,通信时,当有键按下,甲机先发送0AAH,乙机受到0AAH后发送0BBH表示可以接受,甲机只有收到0BBH后才发送键值,以保证通信的畅通与准确,波特率为2400b/s,故时钟频率为fosc=2400*64或者2400*32,选择不加倍,PCON=00h,仿真时设置如图1-1;

甲机:

扫描键盘,无键按下发送0FFH,让乙机继续等待,重新扫描;

有键按下,先发送0AAH,接受0BBH后发送键值。

乙机:

接受数据,不等于0AAH,继续接收数据;

等于0AAH,就发送0BBH,然后接受键值并显示键值。

图1-1

系统框图设计如图1-2所示:

图1-2

四、系统硬件设计:

(一)、所用的元器件及其常识:

按钮,LED数码管,AT89C51芯片。

系统硬件设计如图1-3所示:

图1-3系统硬件设计

说明:

甲机的与乙机的GND相连,两机RXD与TXD相连,乙机利用P1做I/O口接LED。

五、软件设计:

1、程序流程图如图所示:

1-4为甲机程序框图,1-5为乙机程序框图

图1-4

否是

图1-5

2、程序:

(1),甲级的c程序:

/*甲机发送,串口控制字为10010000b,1.单片机双机通信接口应用。

以方式2工作,波

特率为2400b/s,信息格式为8个数据位,无奇偶校验位SM2为0,无论TB8和RB8为0或者1,都可以接收,使数据只有八位*/

#include<

reg52.h>

#defineucharunsignedchar

voiddelay(uchar);

//延时程序

ucharscan_key(void);

//键扫描程序

voidmain(void)

{

uchari=0,j=0,k,keyvalue;

SCON=0x90;

//串口初始化,方式2,允许接收

PCON=0x00;

//电源控制,波特率不加倍

while

(1)

{

keyvalue=scan_key();

//获取键值

if(keyvalue==0x0ff)//判断是否有键按下,有键按下为0H到00fH,无键按下为0FFH

{//发送0FF,使乙机继续等待

SBUF=0x0ff;

while(TI==0){;

}

TI=0;

}

else//有键按下

SBUF=0x0aa;

//发送0AAH

while(TI==0){;

TI=0;

while(RI==0){;

RI=0;

k=SBUF;

if(k==0x0bb)//收到0BBH代表乙机允许接收,不是继续发送0AAH

{

SBUF=keyvalue;

//发送键值

while(TI==0);

break;

//发送完后跳出此循环,继续获取键值

}

}}}}

voiddelay(ucharn)//延时子程序

charj;

while(n--)

for(j=1;

j<

122;

j++)

{;

ucharscan_key(void)//键盘扫描

uchari,j,temp_i,temp_j,key_value=0x0ff;

uchara,b;

temp_i=0x10;

temp_j=0x01;

P1=0x0f0;

a=P1;

if(a!

=0x0f0)//判断有无键按下以及消抖

delay(10);

=0x0f0)

for(i=0;

i<

4;

i++)

for(j=0;

b=~(temp_i<

<

i);

P1=b;

a=P1;

if((a&

(temp_j<

j))==0)

key_value=i*4+j;

}}

returnkey_value;

(2)甲机汇编程序:

ORG0000H

LJMPMAIN

ORG0100H

MAIN:

CLRA;

主程序

MOVSCON,#90H;

串口初始化

MOVPCON,#00H;

波特率不加倍

LOOP:

LCALLSCAN_KEY

LOOP1:

CJNER7,#0FFH,YOUJIAN;

有键按下转移

MOVSBUF,#0FFH

WAIT1:

JNBTI,WAIT1

CLRTI

SJMPLOOP

YOUJIAN:

MOVSBUF,#0AAH;

有键按下,先发AA再发键值

WAIT2:

JNBTI,WAIT2

WAIT3:

JNBRI,WAIT3

CLRRI

MOVR6,SBUF

CJNER6,#0BBH,YOUJIAN

MOVSBUF,R7

WAIT4:

JNBTI,WAIT4

LJMPLOOP

DELAY:

MOVR5,#04H;

延时子程序,10ms

LOOP5:

MOVR6,#0FAH

LOOP6:

DJNZR6,LOOP6

DJNZR5,LOOP5

RET

SCAN_KEY:

MOVR7,#0FFH;

键扫描通过R7返回

MOVA,#0F0H

MOVP1,A

MOVA,P1

XRLA,#0F0H

JZLOOP1

LCALLDELAY

KEY1:

MOVA,#0FEH

MOVP1,A

CJNEA,#0EEH,S01

MOVR7,#00H

LJMPLOOP1

S01:

CJNEA,#0DEH,S02

MOVR7,#04H

S02:

CJNEA,#0BEH,S03

MOVR7,#08H

S03:

CJNEA,#7EH,KEY2

MOVR7,#0CH

KEY2:

MOVA,#0FDH

CJNEA,#0EDH,S04

MOVR7,#01H

S04:

CJNEA,#0DDH,S05

MOVR7,#05H

S05:

CJNEA,#0BDH,S06

MOVR7,#09H

S06:

CJNEA,#7DH,KEY3

MOVR7,#0DH

KEY3:

MOVA,#0FBH

CJNEA,#0EBH,S07

MOVR7,#02H

S07:

CJNEA,#0DBH,S08

MOVR7,#06H

S08:

CJNEA,#0BBH,S09

MOVR7,#0AH

S09:

CJNEA,#7BH,KEY4

MOVR7,#0EH

KEY4:

MOVA,#0F7H

CJNEA,#0E7H,S10

MOVR7,#03H

S10:

CJNEA,#0D7H,S11

MOVR7,#07H

S11:

CJNEA,#0B7H,S12

MOVR7,#0BH

S12:

CJNEA,#77H,S13

MOVR7,#0FH

S13:

LJMPLOOP1;

END

(3)乙机C语言程序:

/*串口控制字为10010000b,方式2;

foc=2400*32(或者2400*64)SM2为0,无论TB8和RB8为0或者1,都可以接收,使数据只有八位*/

#defineucharunsignedchar

Ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};

uchari,j,k,h;

//串口初始化

//电源控制字,波特率不加倍

P1=0x00;

//初始状态不显示

REN=1;

while(RI==0){;

}//接收

RI=0;

k=SBUF;

if(k==0x0aa)//判断接收的是不是0AAH,不是继续接收

SBUF=0x0bb;

//是,发送0BBH

}//接收键值

i=SBUF;

P1=ta

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

当前位置:首页 > 工作范文 > 行政公文

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

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