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

上传人:b****2 文档编号:24095848 上传时间:2023-05-24 格式:DOCX 页数:23 大小:68.74KB
下载 相关 举报
项目7单片机应用技能实训C语言教案.docx_第1页
第1页 / 共23页
项目7单片机应用技能实训C语言教案.docx_第2页
第2页 / 共23页
项目7单片机应用技能实训C语言教案.docx_第3页
第3页 / 共23页
项目7单片机应用技能实训C语言教案.docx_第4页
第4页 / 共23页
项目7单片机应用技能实训C语言教案.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

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

《项目7单片机应用技能实训C语言教案.docx》由会员分享,可在线阅读,更多相关《项目7单片机应用技能实训C语言教案.docx(23页珍藏版)》请在冰豆网上搜索。

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

项目7单片机应用技能实训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,即位/秒。

串行口有四种工作方式,这四种工作方式对应三种波特率。

工作方式0:

波特率为=fsoc/12,不受SMOD位影响。

工作方式2:

波特率=2SMOD×fsoc/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

unsignedchardataa_at_0x40;

unsignedchar*zz;

/**************以下就是初始化函数*****************/

voidstart()

{

zz=&a;*zz=0;

SCON=0X50;

TMOD=0X21;

TL1=0XF4;TH1=0XF4;

EA=1;ES=1;TR1=1;

}

/*********以下就是串行口中断函数***********/

voidseries()interrupt4

{

if(RI==1)

{

*zz=SBUF;

RI=0;TI=0;

SBUF=a;

}

if(TI==1)

TI=0;

}

/************以下就是主函数*************/

voidmain()

{

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)存贮器指针定义方法如下

变量类型存储类型*变量名称;例如:

charxdata*dp;//定义外部存贮器变量地址得指针dp。

(3)指针变量得赋值

*将一个变量得地址赋予指向相同数据类型得指针,例如:

inta,*ap;

ap=&a;

*将一个指针得值赋予指向相同变量得另一个指针,例如:

inta,*ap,*bp;

ap=&a;bp=ap;

*在定义中直接赋值,例如:

intdata*zh1=0x30;//将0x30直接赋予指针zh1。

2、甲机发送程序设计流程图设计

甲机得发送采用查询方式,发送程序得流程图如图7-4所示。

图7-4甲机发送程序流程图

根据流程图编写程序如下:

#include

sbitS1=P1^0;

unsignedchardisp_buf[16]={0,1,2,3,4,5,6,

7,8,9,10,11,12,13,14,15};

unsignedchardata*sr0;

voidsend();//串行口发送函数

voidstart();//串行口发送初始化函数

voiddelay();//延时函数

/********以下就是数据发送函数*************/

voidsend()

{

SBUF=*sr0;

while(TI==0);

TI=0;

}

/***********以下就是初始化函数**************/

voidstart()

{

TMOD=0x21;

TL1=0xf4;TH1=0xf4;TR1=1;

SCON=0x50;

}

/************以下就是主函数***************/

voidmain()

{

unsignedchari;

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

unsignedchardisp_buf[16];

voidstart();//定义初始化函数

/*************以下就是中串行口中断函数***********/

voidseries()interrupt4

{

unsignedchari=0;

RI=0;ES=0;

disp_buf[i]=SBUF;

P1=disp_buf[i];

i++;

if(i==16)

i=0;

ES=1;

}

/***********以下就是主函数**********************/

voidmain()

{

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--NewProject…”菜单,出现一个对话框,要求给将要建立得工程起一个名字,---。

3、工程得设置

在OutPut页面,勾选“CreatHexfile”选项。

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题。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1