《双机通讯实验报告》由会员分享,可在线阅读,更多相关《双机通讯实验报告(11页珍藏版)》请在人人文库网上搜索。

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

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

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

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

5、可同时在两个方向上传送。图3 全双工通讯方式42单片机串行口工作方式在静态数码管显示实验中,我们熟悉了单片机串口工作方式0;单片机串口还具有有3种工作方式。如下表所示:这3种工作方式,均用于串行异步通讯。在异步串行通讯的一个字节的传送中,必须包括了起始位(0)和停止位(1)。除此之外,方式1具有8位(1个字节)的数据位(低位在先),方式2、3则除这8位之外,还具有一个可编程的第9位,这个第9位编程通常被编程为奇偶校验位。我们将在下一个实验中用到它。串口工作方式在特殊寄存器SCON中设置。其中的SM0和SM1位确定了串口工作方式。要使通讯双方能够通讯成功,必须具有相同的串口工作模式;REN为允许。

6、接收位,本实验中因为双方都要进行接收,因此REN也都应设为1。TB8和RB8这里暂不涉及。利用以下语句来设置SCON:MOV SCON, #50H43 波特率的设置在异步串口通讯中,一个很重要的工作就是进行串口波特率的设置。波特率是指串口通讯中每秒传送的位数,单位为BPS,它反映了串行口通讯的速度;同时,通讯双方的速度必须一致,才能够顺利进行通讯。在串口工作方式1、3中,传送波特率都是可变的。单片机内部通过定时器T1来提供发送与接收缓存器的内部移位时钟。也就是说,要确定串行通讯的波特率,必须对T1进行相关设置。51单片机系统对此时T1的设置有以下固定的规定:()必须工作在定时器状态;()必须工。

7、作在“8位自动重载”工作模式;这必须在特殊寄存器TMOD中进行设置。关于TMOD的详细内容,我们在实验十七已经讲过。可以利用以下语句来设置TMOD:MOV TMOD, #20H除了对TMOD的设置外,还必须设置定时器T1的定时值,也就是保存在TH1中的8位重载值。这直接影响到波特率的大小:它通过以下公式进行计算:其中的SMOD为特殊寄存器PCON的最高位。当它置1时,可以将波特率增大1倍。在双机通讯中,只要双方的波特率一致就能够完成通讯了;但是,在标准的异步通讯协议中,只有几种波特是适用的。例如1200bps,2400bps,4800bps,9600bps等等。而通过这个公式可以看出,并不是所。

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

9、H10F4H。五、实验步骤 1参考图1并进行电路设计,画出电路图,并用导线正确连接两套装置的单片机最小系统实验模块,并连接最小系统模块与数码管显示模块。 2照实验要求编写程序流程图,然后编写程序,对编写的程序进行仿真调试,直至通讯成功。 六、实验报告 1在该实验中,单片机串行口工作在什么工作方式下?说明该工作方式的特点。 工作在工作方式1。8位数据通讯,波特率可变。2波特率是什么?怎样设置单片机串口通讯的波特率?如果实验要求通讯波特率为4800bps,怎样修改程序? 特率是指串口通讯中每秒传送的位数,单位为BPS,它反映了串行口通讯的速度。单片机内部通过定时器T1来提供发送与接收缓存器的内部移。

10、位时钟。必须工作在定时器状态;必须工作在“8位自动重载”工作模式。3详细说明本次实验采用的通讯协议。 甲机发送本机(学生本人)学号后8位给乙机,乙机接收该8位数据,并显示在8位数码管上。乙机接收完毕后,将本机(乙机)的学号后8位发送回甲机,甲机显示在数码管上。4给针对实验要求编写本机的程序流程图、程序清单并给予适当注释,并说明合作单片机(合作同学)。这里有两个程序,一个是先接受,一个是先发送。# include #define uchar unsigned charvoid init(void);void send(void);void delay(unsigned int i);uchar 。

11、xuehao8=6,6,6,6,6,6,6;void main(void)init();send();while(1);void init(void)TMOD=0x20;TH1=0xfd;TL1=0xfd; SCON=0x50;PCON=0x00;TR1=1;void send(void)uchar i;dodelay(200);SBUF=0xaa;while(TI=0);TI=0;while(RI=0);RI=0;while(SBUF!=0xbb);/-?delay(80);for(i=0;i0;i-)for(j=0;j#define uchar unsigned charvoid init。

12、(void);void receive(void);void delay(unsigned int i);void display(uchar A,uchar B);void duanxuan(uchar c);uchar xuehao8=0;void main(void)init();receive();while(1)display(1,xuehao0);delay(3);P0=0x00; display(2,xuehao1);delay(3);P0=0x00;display(3,xuehao2);delay(3);P0=0x00; display(4,xuehao3);delay(3);。

13、P0=0x00;display(5,xuehao4);delay(3);P0=0x00; display(6,xuehao5);delay(3);P0=0x00;display(7,xuehao6);delay(3);P0=0x00; display(8,xuehao7);delay(3);P0=0x00;/void init(void)P0M1=0X00;P0M0=0Xff; P2M1=0x00;P2M0=0xff;TMOD=0x20;TH1=0xfd;TL1=0xfd; SCON=0x50;PCON=0x00;TR1=1;void receive(void)uchar enpty;uchar j=0;dowhile(RI=0);RI=0;while(SBUF!=0xaa);SBUF=0xbb;while(TI=0);TI=0;enpty=SBUF;/while(RI=0);RI=0;/-?delay(10);for(j=0;j0;i-)for(j=0;j125;j+);5实验心得。(必须).。6 附能说明实验原理的实验照片。(必须)11。

单片机双机通信c语言实验心得,双机通讯实验报告相关推荐

  1. 计算机交换机配置实验心得,网络配置实验心得

    <网络配置实验心得>由会员分享,可在线阅读,更多相关<网络配置实验心得(10页珍藏版)>请在人人文库网上搜索. 1.网络配置实验心得 #网络配置实验心得1#1.实验目的理解IC ...

  2. 计算机交换机配置实验心得,交换机系统配置实验心得5

    你还在为交换机基本配置实验报告而烦恼么?不用担心,下面就是小编带来的交换机系统配置实验心得,希望能帮助大家! 交换机系统配置实验心得1 单交换机的VLAN配置 [基本原理] VLAN(Virtual ...

  3. 单片机双机通信c语言实验心得,80C51单片机双机通信与多机通信的使用方法

    80C51单片机之间的串行通信主要可分为双机通信和多机通信,本节举例说明双机通信与多机通信的使用方法. 1.双机通信硬件电路如果两个80C51单片机系统距离较近,那么就可以将它们的串行口直接相连,实现 ...

  4. 单片机双机通信c语言实验心得,单片机双机通信实验报告.doc

    单片机双机通信实验报告 计算机与信息工程学院综合性实验报告 专业:物联网 年级/班级: 2015-2016学年第一学期 课程名称单片机原理及应用指导教师学号姓名实验地点实验时间2015.11.14项目 ...

  5. 双机通信c语言程序,上传一个自己编写的I2C双机通信程序

    本帖最后由 micro_听海 于 2012-11-24 19:58 编辑 这几天一直在搞AVR的twi(twi就是i2c)双机通信程序,使用的是两块arduino开发板.因为最总要这个通信程序最总是要 ...

  6. c语言实验心得100字,实验心得100字_100个面试常见经典问题_100个面试问题和答案...

    职场范文网专题频道"实验心得100字"的相关文章,提供与"实验心得100字"的所有资讯,希望我们所做的能让您感到满意! 在维护工作中,我们发现有些基站的蓄电池使 ...

  7. 微型计算机原理实验心得,微机原理实验心得体会.doc

    微机原理实验心得体会 PAGE PAGE 20 微机原理实验心得体会 篇一:微机原理实验总结微机原理实验总结不知不觉,微机原理与接口技术实验课程已经结束了.回想起来受益匪浅,主要是加深了对计算机的一些 ...

  8. 微型计算机原理实验心得,微机原理实验的心得体会.docx

    微机原理实验的心得体会 微机原理实验心得体会 篇一:微机原理实验总结 微机原理实验总结 不知不觉,微机原理与接口技术实验课程已经结束了.回想起来受益匪浅,主要是加深了对计算机的一些硬件情况和运行原理的 ...

  9. java数值计算实验心得体会,计算方法实验心得体会

    计算机实验报告 要有心得体会的 计算机实验心得体会 通过一个学期对<计算机网络实用技术>这门课程的学习,对于我来说它已不陌生. 首先对于课程安排,感觉很紧凑,几乎不遗漏任何的知识点. 理论 ...

最新文章

  1. CV_8UCV_32FCV_32S
  2. python中ThreadLocal的理解与使用
  3. codeforces 791A-C语言解题报告
  4. JavaScript 中的函数介绍
  5. 这个“十一”长假,你是背“锅”出行吗?
  6. 连厕所都不敢去了!这家公司使用AI监控员工工作效率 “摸鱼”就会被解雇
  7. 红黑树的红黑有什么意义_红枸杞和黑枸杞有什么不同?黑枸杞真的比红枸杞要好吗?...
  8. jquery学习笔记之选择器
  9. AMTD:一种适应性移动目标防御方法
  10. 卸载wps后,安装完office 2010 图标异常,类型未识别问题
  11. 无光驱安装redhat企业版
  12. 洲际酒店集团加码粤港澳大湾区和海南自贸港,三亚逸衡酒店、金普顿酒店将面世...
  13. FHQ TREAP 学习总结
  14. @Inject 注解的使用
  15. 【操作系统实验】Linux环境下用进程实现哲学家进餐问题——C语言完整代码+详细实验报告
  16. TM1637数码管显示
  17. Kafka入门教程及安装
  18. WOT博科聂小云:WLAN网络容量性能设计和优化
  19. Java新生代垃圾收集器
  20. 基于stm32的模拟楼道光控开关的实验

热门文章

  1. (三)全志T507主板6路AHD摄像头的使用
  2. 正则表达式来判断输入0-100之间的整数或两位小数的方法
  3. pwnable.kr [Toddler's Bottle] - uaf
  4. “如果你有1000万头猪,你打算怎么管?”——特驱集团数据化养猪
  5. 用Turtle实现筛选素数(质数)
  6. 直击乌镇 | 猎豹移动傅盛:机器人将成为下一场产业革命载体
  7. 【交互设计】如何描述你的产品
  8. java web程序示例_示例Web应用程序提示列表
  9. jxl导不出来_JXL导出及添加批注实战
  10. 2022年陕西二级建造师施工文件归档管理精选题及答案