好文档 - 专业文书写作范文服务资料分享网站

项目单片机应用技能实训C语言教案 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

单片机应用技能实训(C语言)教案—项目7

项目7 单片机双机通信电路制作 任务1 项目相关基本知识学习 一、案头 任务 项目相关基本知识学习 授课时间 年 月 日 授课班级 教学形式 讲授、讨论 授课时数 2课时 教学用具 教学资源 项目制作成品、课件 课前准备 教学目标 1、了解串行通信波特率的概念。 2、理解串行口4种工作方式的波特率。 3、掌握串行口方式1、2、3的应用。 4、了解多机通信原理。 教学重点 串行口工作方式1的应用。 教学难点 1、对串行口方式1波特率的理解。 2、多机通信原理。 教学过程 1、通过复习提问,引出项目任务。 2、串行通信的波特率。 3、串行口工作方式1、2、3。 4、串行口应用举例。 5、多机通信原理简介。 教学后记 二、教学实施过程 实施环节 教学内容 组织教学 1、检查学生出勤情况并做好记录。 2、调整学生的注意力,为上课作准备。 复习提问 1、串行口方式0是如何完成串行数据的发送的? 2、方式0主要用于什么?方式0能用于双机通信吗? 本项目的终极目标是制作单片机双机通信电路。 导入 在项目8中学习了串行口方式0的应用,但要进行双机通信时,要采用串行口的其他工作方式。下面,我们在进行项目制作之前,学习项目相关基本知识。 讲授新课 一、MCS-51单片机串行口的波特率 波特率是反映串行通信快慢的一个物理量,串行口每秒钟发送或接收二进制数据的位数称为波特率,单位为b/s,即位/秒。串行口有四种工作方式,这四种工作方导学方法 互动交流 提问导思 启发学习积极性 当通信需要进行波特率设置时,应采用方式1或式对应三种波特率。 工作方式0:波特率为=fsoc/12,不受SMOD位影响。 工作方式2: 波特率=2SMOD×fsoc/64 (9-1) 工作方式1和方式3: 波特率=2SMOD×(T1溢出率)/32 (9-2) T1溢出率即为一次定时时间的倒数,即 1T1溢出率=M (9-3) (2?x)?12?fsoc方式3。此时要计算定时器T1初值,并常设为方式2以获得需要的波特率。 重点说明如何启动发送以及如何将接收到的数据进行保存。 在黑板上绘制流程图,并通过对流程图讲解,使学生理解编写思路。 由老师与同学共同进行程序编写。 简明介绍多机通信原理。 其中 x为定时初值,M由T1的工作方式决定,一般置T1工作方式2,M=8。将式9-3代入9-2,并整理后得: 2SMOD?fsoc波特率= M384(2?x)(6-4) 当已知晶振频率和所需的波特率时,可由式6-4计算定时器的初值。 二、MCS-51单片机串行口工作方式1、2、3及应用 1、方式1 方式1是波特率可调的8位数据异步通信方式,发送或接收一帧信息为10位,其中包括1位起始位0,8位数据位和1位停止位1。 方式1的发送是在T1=0的条件下,由任何一条以SBUF为目的地址的数据传送指令作为启动发送开始的。数据从TXD引脚输出。当发送完一帧数据后,置中断标志TI为1。 串行口置为方式1,若RI=0,REN=1时,允许串行口接收数据。串行口采样RXD(P3.0引脚),当采样到由1到0跳变时,确认是起始位“0”,便开始接收一帧数据。方式1接收时,必须同时满足以下两个条件: (1)RI=0; (2)停止位为1或SM2=0。 在满足以上两个条件后,8位数据存入SBUF,停止送入RB8位,同时置中断标志RI为1。若不满足这两个条件,接收到数据不能存入SBUF,此组数据丢失。 2、方式2 方式2是9位数据异步通信方式,发送一帧信息为11位,其中一位起始位0、8位数据位、第9位数据位和一位停止位1。 方式2的发送方法方式1类似,区别是发送前,第九位数据先送入TB8,8位数据发送之后,发送第九位数据,最后自动生成停止位1。 串行口置为方式2,若RI=0,REN=1时,允许串行口接收数据。串行口采样RXD(P3.0引脚),当采样到由1到0跳变时,确认是起始位“0”,便开始接收一帧数据。方式2接收时,必须同时满足以下两个条件: (1)RI=0; (2)SM2=0或收到的第九位数据等于1。 在满足以上两个条件后,8位数据存入SBUF,第九位数据进入RB8位,置中断标志RI为1。若不满足这两个条件,接收到数据不能存入SBUF,此组数据丢失。 3、方式3 方式3为波特率可调的9位异步通信方式,除了波特率有所区别之外,其余都与方式2相同。 4、应用举例 方式2和方式3主要用于多机通信,我们放在“项目相关知识延伸”中进行介绍。这里举例说明方式1的使用方法。 例7-1 置串行口方式1,允许发送和接收,采用中断方式。初始化完成后,将串行口接收到的数据存于40H单元,再将该数据通过串行口方式1发送。试编写应用程序。 解:该程序包括三部分,初始化、串行口发送和串行口中断服务程序,流程图如图7-2所示。根据流程图,编写参考程序如下: #include unsigned char data a _at_ 0x40; unsigned char *zz; /**************以下是初始化函数*****************/ void start() { zz=&a; *zz=0; SCON=0X50; TMOD=0X21; TL1=0XF4; TH1=0XF4; EA=1; ES=1; TR1=1; } /*********以下是串行口中断函数***********/ void series() interrupt 4 { if(RI==1) { *zz=SBUF; RI=0;TI=0; SBUF=a; } if(TI==1) TI=0; } /************以下是主函数*************/ void main() { start(); while(1); } 图7-2 例7-1程序流程图 三、单片机多机通信简介 1、多机通信原理 单片机多机通信一般采用主从式多机通信方式。将一台设为主机,其他N台为从机,系统连接结构示意图如图7-10所示。多机通信原理如下: 图7-10 多机通信示意图 (1)主机发出的信息有两类,一类是地址信息,用来确定需要和主机通信的从机,其特征是主机串行发送的第九位数据TB8为1,即主机令TB8为1来呼叫从机;另一类是命令或数据信息,特征是串行传送的第九位数据TB8为0,实现主从间的数据传送。 (2)各从机使SM2=1时,只能接收到主机发来的地址信息;使SM2=0时,接收主机发送的命令或数据信息。 (3)各从机只能发送数据信息,其特征是第九位数据TB8为0。 主从式多机通信的一般过程如下: (1)使所有从机的SM2=1,以便接收主机发来的地址码。 (2)主机发出一帧地址信息,其中包括8位需要与之通信的从机地址码和第九位特征码TB8=1。 (3)各从机接收到地址信息后,将其与自己的地址码相比较,若与本机地址相同,则该从机使SM2清0以接收主机随后发来的命令或数据信息;对于地址不相同的从机,仍保持SM2=1的状态,对主机随后发来的数据不予理睬。 (4)主机给已被寻址的从机发送命令或数据(第九位数据TB8=0)。 课堂小结 1、串行口波特率。 2、串行口工作方式1、2、3及其应用。 3、方式1应用举例。 4、多机通信简介。 课后作业 自我测评1题、2题、3题。 任务2 双机通信电路的硬件、软件设计 一、案头 任务 双机通信电路的硬件、软件设计 授课时间 年 月 日 授课班级 教学形式 讲授、讨论 授课时数 2课时 教学用具 教学资源 课件、单片机应用制作成品 课前准备 教学目标 1、掌握串行口工作方式1、2、3的应用。 2、掌握双机通信电路的整体构成。 3、掌握C语言指针的使用。 4、理解应用程序的编程思路。 教学重点 1、串行口工作方式1的应用。 2、应用程序的编程思路及相关指令使用。 教学难点 1、应用程序的编写思路及相关程序。 教学过程 1、复习提问串行口方式1、2的使用方法。 2、介绍项目任务要求。 3、根据项目任务要求引导设计硬件电路。 4、C语言指针介绍。 5、应用程序流程图绘制。 6、应用程序设计。 教学后记 二、教学实施过程 实施环节 教学内容 导学方法 组织教学 1、检查学生出勤情况并做好记录。 互动交流 2、调整学生的注意力,为上课作准备。

项目单片机应用技能实训C语言教案 - 图文

单片机应用技能实训(C语言)教案—项目7项目7单片机双机通信电路制作任务1项目相关基本知识学习一、案头任务项目相关基本知识学习授课时间年月日授课班级教学形式讲授、讨论授课时数2课时教学用具教学资源项目制作成品、课件课前准备教学目标1、了解串行通信波特率的概念。2、理解串行口4种工作方式的波特率。3、掌握串行口方式1
推荐度:
点击下载文档文档为doc格式
3yvvj1zr0o565jb3urou8mpoj7ocb000zp9
领取福利

微信扫码领取福利

微信扫码分享