中高职一体化资源 单片机技术与应用基础 08第八章 第五节 单元教学设计2(ok).docVIP

  • 12
  • 0
  • 约7.59千字
  • 约 18页
  • 2020-10-18 发布于北京
  • 举报

中高职一体化资源 单片机技术与应用基础 08第八章 第五节 单元教学设计2(ok).doc

光机电应用技术资源库 单元教学设计 20 —20 学年 第 学期 课程名称: 电子技术基础 授课专业: 任课教师: 单元序号及单元标题:第8章 串行口的工作原理及应用 8.5 串行口应用设计案例(2) 授课班级 上课 时间 周 月 日 第 节 上课 地点 周 月 日 第 节 教 学 目 的 通过案例学习,掌握串行口通信的编程和应用方法,为后面学习打下基础。 教学 目标 能力(技能)目标 知识目标 能熟练掌握串行口通信的编程和应用方法 掌握串行口通信的编程和应用方法。。 重点 难点 及 解决方法 教学重点:掌握串行口通信的编程和应用方法。 教学难点:掌握串行口通信的编程和应用方法。 解决方法: 参考资料 单元教学设计 第一部分:组织教学和复习上次课主要内容 (时间:5 分钟) 提问: ? 【步骤一】 新知识的引入 (时间:35 分钟) 。 【步骤二】讲解新知识 8.5.4 多机通信的应用设计 下面通过一个具体案例,介绍如何来实现单片机的多机通信。 【例8-7】实现主单片机分别与3个从单片机串行通信,原理电路见图8-26。用户通过分别按下开关k1、k2或k3来选择主机与对应1#、2#或3#从机串行通信,当黄色LED点亮,表示主机与相应的从机连接成功;该从机的8个绿色LED闪亮,表示主机与从机在进行串行数据通信。如果断开k1、k2或k3,则主机与相应从机的串行通信中断。  图8-26 主机与3从机的多机通信的原理电路与仿真 本例实现主、从机串行通信,各从机程序都相同,只是地址不同。串行通信约定如下: (1)3台从机的地址为01H~03H。 (2)主机发出的0xff为控制命令,使所有从机都处于SM2=1的状态。 (3)其余的控制命令:00H—接收命令,01H—发送命令。这两条命令是以数据帧形式发送的。 (4)从机的状态字如图8-27所示。 图8-27 从机状态字格式约定 其中:ERR(D7位)=1,表示收到非法命令。TRDY(D1位)=1,表示发送准备完毕。RRDY(D0位)=1,表示接收准备完毕。 串行通信时,主机采用查询方式,从机采用中断方式。主机串行口设为方式3,允许接收,并置TB8为1。因只有1个主机,所以主机SCON控制寄存器中的SM2不要置1,故控制字即0xd8。  参考程序如下: //主机程序 #includereg51.h #includemath.h sbit switch1=P0^0;//定义k1与P0.0连接 sbit switch2=P0^1;//定义k2与P0.1连接 sbit switch3=P0^2;//定义k3与P0.2连接 void main()//主函数 { EA=1;//总中断允许 TMOD=0x20;//设置T1定时方式2自动装载初值 TL1=0xfd;//波特率设为9600 TH1=0xfd; PCON=0x00;//SMOD=0,不倍增 SCON=0xd0;//SM2设为0,TB8设为0 TR1=1;//启动定时器T1 ES=1;//允许串行口中断 SBUF=0xff;//串行口发送0xff while(TI==0);//判是否发送完毕 TI=0;//发送完毕,TI清0 while(1) { delay_ms(100); if(switch1==0)//判是否k1按下,k1按下往下执行 { TB8=1;//第9位数据为1,送TB8,准备发地址帧 SBUF=0x01;//串行口发1#从机的地址0x01以及TB8=1 while(TI==0);//判是否发送完毕 TI=0;//发送完毕,TI清0 TB8=0;//发送的第9位数据为0,送TB8,准备发数据帧 SBUF=0x00;//串行口发送0x00以及TB8=0 while(TI==0);/判是否发送完毕 TI=0;//发送完毕,TI清0 } if(switch2==0)//判是否k2按下,k2按下往下执行 { TB8=1;//发送的第9位数据为1,发地址帧 SBUF=0x02;//串行口发2#从机的地址0x02 while(TI==0);/判是否发送完毕 TI=0;//发送完毕,TI清0 TB8=0;//准备发数据帧 SBUF=0x00;//发数据帧0x00及TB8=0 while(TI==0);//判是否发送完毕 TI=0;//发送完毕,TI清0 } if(switch3==0)

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档