• / 16
  • 下载费用:10 金币  

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

关 键 词:
项目7单片机应用技能实训(C语言)教案.doc
资源描述:
单片机应用技能实训 (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: 波特率=2 SMOD×fsoc/64 (9-1)工作方式 1 和方式 3:波特率=2 SMOD×(T1 溢出率)/32 (9-2)T1 溢出率即为一次定时时间的倒数,即T1 溢出率= (9-3)fsocx12M)(其中 x 为定时初值,M 由 T1 的工作方式决定,一般置 T1工作方式 2,M=8。将式 9-3 代入 9-2,并整理后得:波特率= (6-)(384xfscSOD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 时,允许串行口接收当通信需要进行波特率设置时,应采用方式 1或方式 3。此时要计算定时器 T1 初值,并常设为方式 2 以获得需要的波特率。重点说明如何启动发送以及如何将接收到的数据进行保存。数据。串行口采样 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 所示。根据流程图,编写参考程序如下:#includeunsigned char data a _at_ 0x40;unsigned char *zz;在黑板上绘制流程图,并通过对流程图讲解,使学生理解/**************以下是初始化函数 *****************/void start(){zz= *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、 调整学生的注意力,为上课作准备。互动交流复习提问 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=*将一个指针的值赋予指向相同变量的另一个指针,例如:int a,*ap,*bp;ap= bp=ap;*在定义中直接赋值,例如:int data *zh1=0x30;//将 0x30 直接赋予指针 zh1。2、甲机发送程序设计 流程图设计甲机的发送采用查询方式,发送程序的流程图如图 7-4 所示。图 7-4 甲机发送程序流程图根据流程图编写程序如下:#includesbit 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()种指针的使用区别。在老师引导下由同学老师共同完成流程图绘制。同学们可自行计算初值为 F4H 时的波特率。在老师引导下与同学一起完成应用程序设计。{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=for(i=16;i0;i--){while(S1==1);while(S1==0);send();delay();sr0=sr0+1;}}}3、乙机接收程序设计乙机接收程序与例 7-1 类似,采用中断方式,参考程序如下:#includeunsigned 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);}课堂小结 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 题。
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:项目7单片机应用技能实训(C语言)教案.doc
链接地址:https://www.weizhuannet.com/p-9788496.html
微传网是一个办公文档、学习资料下载的在线文档分享平台!

网站资源均来自网络,如有侵权,请联系客服删除!

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网络工作室版权所有

     经营许可证编号:冀ICP备18006529号-1 ,公安局备案号:13028102000124

收起
展开