双机通讯实验报告_第1页
双机通讯实验报告_第2页
双机通讯实验报告_第3页
双机通讯实验报告_第4页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、双机通讯实验报告 单片机实验报告 化 (自动化 1 级) 实验名称:串行通讯实验 一、实验目得 1。掌握单片机串行口工作方式; 2。掌握双机通讯得接口电路设计及程序设计。 二、实验设备 1、 pc机; .单片机最小系统教学实验模块; 3、 数码管显示模块 三、实验内容 1. 双机通信 由两套单片机试验装置(两个实验小组)共同完成该实验。我们u1为甲机,u2为乙机。甲机发送本机(学生本人)学号后8位给乙机,乙机接收该位数据,并显示在8位数码管上 电路如图1所示。 要求串行通信方式为方式1,波特率为00bi/s,不加倍,单片机外部晶振频率为1、092m。 图1 双机通信原理示意图 附加要求:乙机接

2、收完毕后,将本机(乙机)得学号后8位发送回甲机,甲机显示在数码管上。 2、 、 单片机与 机通信 单片机向pc机发送数据。单片机向pc机重复发送本机(学生本人)学号,发送波特率为120,采用方式1,单片机外部晶振频率为11、5。 四、实验原理 .1 串行通讯得方式 在串行通讯中,有两种基本得通讯方式:异步通讯,同步通讯 异步串行通讯规定了字符数据得传送格式,既每个数据以相同得帧格式发送.每个帧信息由起始位、数据位、奇偶校验位与停止位组成。本实验主要学习异步通讯得实现方法。 在异步通讯中,每一个字符要用起始位与停止位作为字符开始与结束得标志,以至占用了时间。所以在数据块传送时,为了提高通讯速度,

3、常去掉这些标志,而采用同步通讯.同步 通讯不像异步通讯那样,靠起始位在每个字符数据开始时发送与接受同步.而就是通过同步字符在每个数据块传送开始时使收/发双方同步. 按照通讯方式,又可将数据传输线路分成三种:单工方式、半双工方式、全双工方式。 (1)单工方式 在单工方式下,通讯线得一端联接发送器,另一端联接接收器,它们形成单向联接,只允许数据按照一个固定得方向传送。 (2)半双工方式 在半双工方式下,系统中得每个通讯设备都由一个发送器与一个接收器组成,通过收发开关接到通讯线路上,如图331所示。在这种方式中,数据能从a站送到b站,也能从b站传送到站,但就是不能同时在二个方向上传送,即每次只能一个

4、站发送,另一个站接收. 图2 半双工通讯方式 图3-中得收发开关并不就是实际得物理开关,而就是由软件控制得电子开关,由通讯线两端得半双工通讯协议进行功能切换。 ()全双工(flduplex)方式 虽然半双工方式比单工方式灵活,但它得效率依然较低.从发送方式切换到接收方式所需得时间一般大约为数毫秒,这么长得时间延迟在对时间较敏感得交互式应用(例如远程检测监视控制系统)中就是无法容忍得.重复线路切换所引起得延迟积累,正就是半双工通信协议效率不高得主要原因。 半双工得这种缺点就是可以避免得,而且方法很简单,即采用信道划分技术。在图332得全双工连接中,不就是交替发送与接收,而就是可同时发送与接收。全

5、双工通讯系统得每一端都包含发送器与接收器,数据可同时在两个方向上传送. 图3 全双工通讯方式 4.2 单片机串行口工作方式 在静态数码管显示实验中,我们熟悉了单片机串口工作方式0;单片机串口还具有有3种工作方式。如下表所示: 这3种工作方式,均用于串行异步通讯。在异步串行通讯得一个字节得传送中,必须包括了起始位(0)与停止位(1)。除此之外,方式1具有位(1个字节)得数据位(低位在先),方式2、则除这位之外,还具有一个可编程得第9位,这个第9位编程通常被编程为奇偶校验位.我们将在下一个实验中用到它。 串口工作方式在特殊寄存器sc中设置。 其中得sm与m位确定了串口工作方式。要使通讯双方能够通讯

6、成功,必须具有相同得串口工作模式;rn为允许接收位,本实验中因为双方都要进行接收,因此ren也都应设为1。t8与b8这里暂不涉及。利用以下语句来设置scon: mo sn, 50h 。 。3 波特率得设置 在异步串口通讯中,一个很重要得工作就就是进行串口波特率得设置。波特率就是指串口通讯中每秒传送得位数,单位为bs,它反映了串行口通讯得速度;同时,通讯双方得速度必须一致,才能够顺利进行通讯。 在串口工作方式1、中,传送波特率都就是可变得。单片机内部通过定时器t1来提供发送与接收缓存器得内部移位时钟。也就就是说,要确定串行通讯得波特率,必须对t1进行相 关设置。1单片机系统对此时t1得设置有以下

7、固定得规定: ()必须工作在定时器状态; (2)必须工作在"8位自动重载'工作模式; 这必须在特殊寄存器tmod中进行设置.关于mo得详细内容,我们在实验十七已经讲过。可以利用以下语句来设置tmd: mv mod, #20h 除了对o得设置外,还必须设置定时器1得定时值,也就就是保存在th1中得8位重载值。这直接影响到波特率得大小: 它通过以下公式进行计算: 其中得smo为特殊寄存器con得最高位。当它置1时,可以将波特率增大1倍。 在双机通讯中,只要双方得波特率一致就能够完成通讯了;但就是,在标准得异步通讯协议中,只有几种波特就是适用得。例如00bps,2400bs,480

8、0bps,9600bps等等. 而通过这个公式可以瞧出,并不就是所有得晶振频率都能够得到准确得上述波特率。比如采用12hz晶振,代入公式进行运算,就无法得到00ps得准确波特率(th1必须为小数了)。在这种情况下,过去人们都使用软件补偿得方法,尽量得到准确得波特率;而现在,市场上有很多通讯专用得晶振,例如、684mh、1、0592mh得晶振,都能够直接得到准确得波特率.因此在进行本实验时,必须使用通讯专用晶振(如果使用仿真器,则设置为使用仿真头得外接晶振,并将11、0592m得晶振插入仿真头 当波特率已经确定,就可以反向推导出th1得取自大小,例如,在本次实验中,我们要求波特率为4800b,在

9、晶振采用11、09mhz得情况下,推出th=0fh. 五、实验步骤 .参考图并进行电路设计,画出电路图,并用导线正确连接两套装置得单片机最小系统实验模块,并连接最小系统模块与数码管显示模块。 2。照实验要求编写程序流程图,然后编写程序,对编写得程序进行仿真调试,直至通讯成功。 六、实验报告 . 在该实验中,单片机串行口工作在什么工作方式下?说明该工作方式得特点。 工作在工作方式 1。8 位数据通讯,波特率可变. 2. 波特率就是什么?怎样设置单片机串口通讯得波特率?如果实验要求通讯波特率为4800bps ,怎样修改程序? 特率就是指串口通讯中每秒传送得位数,单位为 bs,它反映了串行口通讯得速

10、度。 单片机内部通过定时器来提供发送与接收缓存器得内部移位时钟。必须工作在定时器状态;必须工作在"8 位自动重载'工作模式。 3. 详细说明本次实验采用得通讯协议. 码数位8在示显并,据数位8该收接机乙,机乙给位8后号学)人本生学(机本送发机甲管上。乙机接收完毕后,将本机(乙机)得学号后8位发送回甲机,甲机显示在数码管上. 4. 给针对实验要求编写本机得程序流程图、程序清单并给予适当解释, 并说明合作单片机(合 合作同学). 这里有两个程序,一个就是先接受,一个就是先发送。 nlde sc12c5a60s2、h defn ucr unigne ha voi init(oid)

11、; void en(oid); vo dlay(ugnd i i); uchar xueha=6,6,6,6,,6,; void min(o) ;)(tin send(); hil(1); vi ini(void) tmo=0x20; th1=0xfd; ;dx=1lt scon=0x0; con=0x00; tr1=; vod sen(void) ;i rahcu o del(200); bu=0xa; ;0=it;)=it(elihw ;0=i;)0=r(elh e(bu!=0b); /-???? ;)08(yaed f(i=;i=7;i+) sbuf=xuehi; ;0;)0=i(lih

12、w ;)(yale ;9=fub ;)01(yaled / voi dely(unsied nt ) unsigned char j; )i;;(ro )+;52j;0=j(rof ; inlud stc2c5a60s2、 #deine uchr nsigned chr vod init(void); vid receive(voi); od deay(unigned it i); void diplay(uar ,uhar b); o duanxuan(uhar c); uchr xuhao8=0; vi main(d) ;)(n ;)(evicer wil(1) isplay(1,xueh

13、o0); ;)3(yald 0=0x0; ;)oaheux,2(alpsid ;)(aled ;00x0=p diplay(3,xao); ;)(ald 0=0x00; display(4,uehao3); dl(3); p0=0x0; islay(,xao4); delay(3); ;0=0p ispla(6,uehao); dela(3); p0=0x0; dsplay(7,xuehao); ;)3(yaed x00; ;)7oex,8(apsid ;)3(yaled p0=0x; / void init(oid) ;00=1mp 0m=0x; 2m1=0x0; p2m0=xff; tod

14、0x0; ;dfx0=1t t1=fd; scn0x50; co=0x0; tr=; void recive(vo) har ey; ;0=j rahcu d ;0=ir;)0=ir(elih ;)aax0=!fs(elih suf0xbb; whl(ti=);ti=0; entsuf;/ while(ri0);ri0; /-? dlay(10); fo(j=;7;+) ;fubsjaeu ;0=i;)0=ir(lihw /???/ o isay(uhar a,ucha b) ,8,9x0,99x,0bx0,4x0,9fx0,0cx0=21ofn doc ahu0xf8,0x8,0x90, /

15、 0xff, 0 /;fx ;)a(nauxad switch () :0 esac ;0of=0p break; :1 a ;1f=0p ;kaerb cas : ;ofni=p brea; :3 ea p0=ino3; bra; :4 esac p0f4; ;kar se : ;5fni=0p;kaerb case 6: p=nfo; ;karb :7 sac =ino7; ;kerb as 8: pinfo8; ;keb :9 esac p0=info9; break; : es ;0ofn= ;kerb:11 esc ;11ofn=0p ;kab voi unxun(ucar c) )c( hcws case 1: ;10x0=p brk; a : p2x02; brea; :3 ea ;4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论