类型规划项目7单片机应用技能实训(C语言学习知识)教案.doc

收藏

编号:2649753    类型:共享资源    大小:641.52KB    格式:DOC    上传时间:2020-04-26
  
8
金币
分享到微信 分享到微博 分享到QQ空间
关 键 词:
规划 计划 项目 单片机 应用 利用 运用 技能 技巧 语言 学习 知识 教案
资源描述:
-* 单片机应用技能实训(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,即位/秒。串行口有四种工作方式,这四种工作方式对应三种波特率。 工作方式0:波特率为=fsoc/12,不受SMOD位影响。 工作方式2: 波特率=2SMODfsoc/64 (9-1) 工作方式1和方式3: 波特率=2SMOD(T1溢出率)/32 (9-2) T1溢出率即为一次定时时间的倒数,即 T1溢出率= (9-3) 其中 x为定时初值,M由T1的工作方式决定,一般置T1工作方式2,M=8。将式9-3代入9-2,并整理后得: 波特率= (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或方式3。此时要计算定时器T1初值,并常设为方式2以获得需要的波特率。 重点说明如何启动发送以及如何将接收到的数据进行保存。 在黑板上绘制流程图,并通过对流程图讲解,使学生理解编写思路。 由老师与同学共同进行程序编写。 简明介绍多机通信原理。 课堂小结 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、 调整学生的注意力,为上课作准备。 互动交流 复习提问 1、串行口方式1、2的使用方法? 2、使用方式1时,初始化程序主要有哪些? 提问导思 导入 在学习了串行口方式1、2、3的应用后,我们应用串行口方式1来完成双机通信,项目要求如下: (1)甲机用一个按键来控制发送,每按一下按键,将数据缓冲区的一个数据发送给乙机。(2)乙机接收,每接收到一个数据,将数据送接收数据缓冲区,并将该数据送P1口输出,由发光二极管显示。 启发学习积极性 讲授新课 一、双机通信电路设计 1、双机通信电路方案设计 根据项目要求,本项目硬件由甲机和乙机两部分构成。甲机包括最小应用系统和按键电路(发送控制),乙机包括最小应用系统和LED显示电路(用于输出显示)。 2、电路设计 根据电路构成方案设计硬件电路原理如图7-3所示。 图7-3 电路原理图 3、元件选择 (1)复习晶振电路元件及复位电路元件的选择。 (2)复习发光二极管电路元件选择。 二、应用程序编写 1、C语言指针 指针是存放变量地址的变量,分为通用指针和存贮器指针。 (1)通用指针定义方法如下 变量类型 *变量名称; (2)存贮器指针定义方法如下 变量类型 存储类型 *变量名称;例如: char xdata *dp;//定义外部存贮器变量地址的指针dp。 (3)指针变量的赋值 *将一个变量的地址赋予指向相同数据类型的指针,例如: int a,*ap; ap=&a; *将一个指针的值赋予指向相同变量的另一个指针,例如: int a,*ap,*bp; ap=&a; bp=ap; *在定义中直接赋值,例如: int data *zh1=0x30;//将0x30 直接赋予指针zh1。 2、甲机发送程序设计 流程图设计 甲机的发送采用查询方式,发送程序的流程图如图7-4所示。 图7-4 甲机发送程序流程图 根据流程图编写程序如下: #include sbit S1=P1^0; unsigned char disp_buf[16]={0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15}; unsigned char data *sr0; void send(); //串行口发送函数 void start(); //串行口发送初始化函数 void delay(); //延时函数 /********以下是数据发送函数*************/ void send() { SBUF=*sr0; while(TI==0); TI=0; } /***********以下是初始化函数**************/ void start() { TMOD=0x21; TL1=0xf4; TH1=0xf4; TR1=1; SCON=0x50; } /************以下是主函数***************/ void main() { unsigned char i; start(); while(1) { sr0=&disp_buf; for(i=16;i>0;i--) { while(S1==1); while(S1==0); send(); delay(); sr0=sr0+1; } } } 3、乙机接收程序设计 乙机接收程序与例7-1类似,采用中断方式,参考程序如下: #include unsigned char disp_buf[16]; void start();//定义初始化函数 /*************以下是中串行口中断函数***********/ void series() interrupt 4 { unsigned char i=0; RI=0; ES=0; disp_buf[i]=SBUF; P1=disp_buf[i]; i++; if(i==16) i=0; ES=1; } /***********以下是主函数**********************/ void main() { start(); while(1); } 老师和同学共同讨论电路构成方案。 老师和同学共同在黑板上绘制电路原理图。可省略晶振电路和复位电路。 简单说明两种指针的使用区别。 在老师引导下由同学老师共同完成流程图绘制。 同学们可自行计算初值为F4H时的波特率。 在老师引导下与同学一起完成应用程序设计。 课堂小结 1、双机通信电路设计。 2、C语言指针的使用。 3、应用程序设计,重点是甲机发送程序流设计。 课后作业 自我测评4题、6题。 任务3 单片机双机通信电路的计算机仿真 一、案头 任务 单片机双机通信电路的计算机仿真 授课时间 年 月 日 授课班级 教学形式 老师演示、学生操作 授课时数 2课时 教学用具 教学资源 机房、多媒体、相关课件 课前准备 教学目标 1、单片机双机通信电路设计的计算机仿真验证。 2、提高工具软件的使用熟练程度。 3、熟练C语言指针的使用及电路应用程序设计。 教学重点 1、双机通信电路设计的计算机仿真验证。 2、相关指令的使用及程序编写与修改。 教学难点 1、仿真电路运行出错时的修改调试。 教学过程 1、proteus仿真电路绘制步骤复习。 2、用keil进行程序汇编步骤复习。 3、布置练习作业,学生进行练习并验证电路效果,老师进行指导。 教学后记 二、教学实施过程 实施环节 教学内容 导学方法 组织教学 1、检查学生出勤情况并做好记录。 2、调整学生的注意力,为上课作准备。 互动交流 复习提问 1、本项目设计的双机通信电路都有哪些功能? 提问导思 导入 刚才同学们对双机通信电路的功能作了叙述,下面就根据上次课进行的电路软硬件设计,用计算机仿真验证本次项目设计的正确性和运行效果。 启发学习积极性 讲授新课 一、使用proteus绘制仿真电路图的步骤 参照图7-3进行仿真电路绘制。 1、将所需元器件加入到对象选择器窗口 AT89S51用AT89C51代替,红色发光二极管的英文符号是“LED-RED”;电阻、电容、电解电容、按键、晶振的英文符号分别是“RES”、“CAP”“CAP-ELEC”、“BUTTON”、“CRYSTAL”。 2、放置元器件至图形编辑窗口 3、移动、删除对象和调整对象朝向 4、放置电源及接地符号 5、元器件之间的连线 6、编辑对象的属性设置元件参数 二、使用keil进行程序汇编的步骤 1、源文件的建立 输入完源程序后,保存该文件,注意必须加上扩展名.c。 2、建立工程文件 点击“Project--New Project…”菜单,出现一个对话框,要求给将要建立的工程起一个名字,---。 3、工程的设置 在 OutPut 页面,勾选“ Creat Hex file”选项。 4、编译、连接 在设置好工程后,即可进行编译、连接。点击按钮,对当前工程中的文件进行编译然后再连接,生成目标代码。 编译过程中的信息将出现在输出窗口中的Build页中,如果源程序中有语法错误,会有错误报告出现。 三、布置作业学生练习,老师指导。 1、双机通信电路仿真验证。 2、修改应用程序验证运行效果。 3、试一试,使用方式2或3进行双机通信,是否也能顺利实现功能。 利用机房相关软件进行操作演示。讲解个步骤的含义。 学生操作,老师指导。 课堂小结 1、proteus的基本操作步骤。 2、keil的操作步骤。 3、单片机双机通信电路的仿真验证。 课后作业 技能反复训练与思考题4题、5题。 任务4 单片机双机通信电路的制作与调试 一、案头 任务 单片机控制广告灯电路的制作与调试 授课时间 年 月 日 授课班级 教学形式 学生动手操作、老师指导 授课时数 2课时 教学用具 万用表、电烙铁等 教学资源 实训设备、电路制作成品 课前准备 项目3制作成品、相关电子元件采购、准备。 教学目标 1、掌握双机通信的连接方法。 2、加深对项目7的电路构成理解及应用程序。 3、掌握使用仪表进行电路测试方法,提高仪表使用的熟练程度。 4、掌握数字时钟电路构成及硬件、软件调试。 教学重点 1、复习项目3应用程序及电路构成。 2、掌握双机通信电路构成及硬件、软件调试。 教学难点 1、电路调试中的故障查找。 教学过程 1、强调实训室操作规程,注意操作安全。 2、复习项目3电路结构及应用程序。 3、对项目3成品进行运行试验。 4、由两个小组之间进行通信电路连接。 5、根据硬件电路实际对应用程序进行修改并进行运行调试。 教学后记 二、教学实施过程 实施环节 教学内容 导学方法 组织教学 1、检查学生出勤情况并做好记录。 2、调整学生的注意力,为上课作准备。 互动交流 复习提问 1、项目3制作成品的功能如何? 2、双机通信的电路连接如何? 提问导思 导入 强调操作纪律及操作安全注意事项。下面由两个小组结合,用项目3成品进行通信连接,编写应用程序进行难。期待同学们成功展示作品的时刻。 启发学习积极性 项目制作 一、项目3成品运行试验及调试 1、分发给各小组项目3成品进行运行试验,若有问题则进行调试。 2、打开项目3程序进行复习。 二、分组进行项目7制作 1、每两个小组结合为对子进行通信连接。一个设为发送,另一个设为接收。 2、各自编写相应应用程序并进行汇编。 3、写入各自的单片机芯片应用程序进行运行实验。 4、将写入程序进行交换验证运行效果。 三、修改程序,完善功能 双机通信实验成功后,再进行程序修改完善,以期能有更多的通信功能和效果。 四、制作总结 项目制作到今天,已经完成了7个项目的制作,请同学们进行各项目的制作总结,包括元件测试方法,电路构成及制作过程中出现的问题及解决方法。通过7个项目的制作,在相关单片机基本知识方面都学到了什么。 学生分组进行动手制作,老师巡回指导或示范操作。 项目制作小结 1、双机通信的电路连接。 3、应用程序编写及编译。 4、程序写入与运行调试。 课后作业 1、将项目制作调试时测试数据列表并分析。 2、总结本项目制作中出现问题及解决方法。 3、自我测评7题。
展开阅读全文
提示  得力文库 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:规划项目7单片机应用技能实训(C语言学习知识)教案.doc
链接地址:https://www.deliwenku.com/p-2649753.html
关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com  

收起
展开