单片机串行通信实验报告.doc

单片机串行通信实验报告.doc

ID:53255781

大小:304.00 KB

页数:13页

时间:2020-04-02

单片机串行通信实验报告.doc_第1页
单片机串行通信实验报告.doc_第2页
单片机串行通信实验报告.doc_第3页
单片机串行通信实验报告.doc_第4页
单片机串行通信实验报告.doc_第5页
资源描述:

《单片机串行通信实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验六串行通信实验报告班级:学号:姓名:教师:一、双机通信由两套单片机试验装置(两个实验小组)共同完成该实验。我们U1为甲机,U2为乙机。甲机发送本机(学生本人)学号后8位给乙机,乙机接收该8位数据,并显示在8位数码管上。电路如图1所示。要求串行通信方式为方式1,波特率为2400bit/s,不加倍,单片机外部晶振频率为11.0592M。实验电路图:1、C源程序清单甲机(U1)代码:#include#defineucharunsignedcharvoiddelay(uchari);voidsend(uch

2、artemp);voidinit(void);voidmain(void){init();delay(200);while(1){send('^');send(1);send(2);send(1);send(3);send(2);send(2);send(3);send(1);}}/***********初始化***********/voidinit(void){SCON=0x40;//串口模式1只发送不接收TMOD=0x20;//T1工作模式2TH1=0xf4;//波特率2400TL1=0xf4;PCON=0x00;//不加倍SMO

3、D=0TI=0;TR1=1;//开定时中断}/*********发送函数**********/voidsend(uchartemp){SBUF=temp;while(TI==0);TI=0;delay(50);}/**********延时函数**********/voiddelay(uchari){unsignedintj;for(i;i>0;i--)for(j=0;j<100;j++);}乙机(U2)代码:#include#defineucharunsignedchar#defineuintunsig

4、nedintvoidinit(void);voiddelay(uchart);voidxianshi(void);ucharcodedistable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴数码管段码ucharcodewi[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};uchartab[9]={0,0,0,0,0,0,0,0,0};uchari=0,temp;uinta,b,c,d,e,f,g,h;voidmain()

5、{init();while(1){xianshi();}}/////////////初始化///////////////voidinit(void){PCON=0x00;//不加倍SMOD=0SCON=0x50;//设置串口方式1且允许串口接收REN=1TMOD=0x20;//设置T1为方式2TH1=0xf4;TL1=0xf4;//设置波特率2400TR1=1;//开启定时器1ES=1;//允许串行口中断EA=1;//允许全局中断}////////////串口中断接收程序////////////voidreceive()interru

6、pt4{temp=SBUF;while(RI==0);RI=0;if(temp=='^')temp=0;tab[i]=temp;i++;if(i==9){i=0;a=tab[1];b=tab[2];c=tab[3];d=tab[4];e=tab[5];f=tab[6];g=tab[7];h=tab[8];}}/////////////数码管显示/////////////voidxianshi(void){uchari,dm,wx;//m1:m000=标准;01=推挽;10=输入;11=开漏输出P1M1=0X00;P1M0=0Xff;P

7、2M1=0X00;P2M0=0Xff;//设定P1,P2推挽输出while(1){for(i=1;i<9;i++){//ram[i]=tab[i];dm=distable[tab[i]];//取显示段码wx=wi[i-1];//取位选码P1=0x00;//关显示P2=dm;//段码赋给P2口P1=wx;//点亮位选的那个数码管delay(1);//延时}}/*uchark,ram[8];ram[0]=a;ram[1]=b;ram[2]=c;ram[3]=d;ram[4]=e;ram[5]=f;ram[6]=g;ram[7]=h;for

8、(k=0;k<8;k++){P2=distable[ram[k]];P1=wi[k];P2=0x00;delay(1);}*/}//////////////延时函数/////////////voiddelay(uchar

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。