《项目6单片机应用技能实训C语言教案.pdf》由会员分享,可在线阅读,更多相关《项目6单片机应用技能实训C语言教案.pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机应用技能实训单片机应用技能实训(C(C 语言语言) )教案工程教案工程 6 6工程工程 6 6数字时钟电路制作数字时钟电路制作任务 1工程相关知识学习一、案头任务授课时间教学形式教学用具课前准备教学目标工程相关知识学习年月日讲授、讨论1、了解并行通信与串行通信。2、理解串行口构造,工作方式。3、掌握串行口工作方式 0 的应用。4、了解 LED 数码管构造及显示方式。1、串行口控制存放器的作用与用法。2、串行口工作方式 0 的应用。1、对串行口发送启动和接收启动的理解。1、通过对生活中数字时钟的讨论,引出工程任务。2、LED 数码管构造及显示方式。3、并行通信与串行通信。4、MCS-51
2、单片机串行口的构造。5、用于串行口的专用存放器介绍。6、串行口工作方式 0 的应用。教学内容1、检查学生出勤情况并做好记录。2、调整学生的注意力,为上课作准备。1、MCS-51 定时器有哪几种工作方式?2、如何用定时器来完成数字时钟的定时?本工程的终极目标是制作一个单片机控制的LED 数码管静态显示数字时钟电路。导学方法互动交流提问导思授课班级授课时数教学资源2 课时工程制作成品、课件教学重点教学难点教学过程教学后记二、教学实施过程实施环节组织教学复习提问导入在工程 5 中学习了单片机的定时器,本工程要用定时器定时, 启 发 学 习用数码管显示时间,至少要用 4 个数码管,每个数码管占用 8积
3、极性位,4 个 LED 数码管占用 4 个 I/O 端口。所以,在本工程中要扩展用于显示电路的输出端口。 下面, 我们在进展工程制作之前,学习 LED 数码管构造原理以及 MCS-51 单片机的串行口。讲授新课一、LED 数码管构造及工作原理1、LED 数码管构造通常使用的是七段 LED 显示器,这种显示器由 8 个发光二极管构成,有共阴极和共阳极两种, 如图 6-3 所示。用多媒体展示图 6-3。提问学生其他数字的段码。介绍连接方法并说明静态显示的优缺点。介绍连接方法并说明动态显示的优缺点。图 6-3 数码管构造2. LED 数码管工作原理共阴极 LED 数码管的 8 个发光二极管的阴极连在
4、一起,接公共端。使用时公共端接地,使用时公共端接地, 当发光二极管的阳极为高电平时,当发光二极管的阳极为高电平时, 发发光二极管点亮。共阳数码管则与之相反。光二极管点亮。共阳数码管则与之相反。从管脚 ag 及 dp 输入不同的 8 位二进制数,可显示不同的数字或字符, 把控制数码管显示不同字符的8 位二进制数称为段码。例如:对于共阳极数码管,假设要显示0,其段码为 C0H。二、LED 数码管的显示方法数码管的显示方式有静态显示和动态显示两种。1、静态显示静态显示是指数码管显示*一字符时,相应的发光二极管恒定导通或恒定截止。 这种显示方式的各位数码管相互独立, 公共端恒定接地共阴极或接正电源共阳
5、极 。每个数码管的 8 个字段分别与一个 8 位 I/O 口相连。2、动态显示动态显示是一位一位地轮流点亮各位数码管, 这种逐位点亮显示器的方式称为位扫描。 通常, 各位数码管的相应段选线并联在一起,由一个 8 位的 I/O 口控制;各位数码管的位选线公共阴极或阳极由另外的 I/O 口线控制。三、MCS-51 单片机串行接口1、并行通信和串行通信并行通信是指将组成数据字节的各位同时发送或接收, 不宜用于远距离通信。串行通信是组成数据的字节中的各位按顺序逐一传送的方式,最少只需 3 根传输线即可,如图8-2 所示。串行通信适用于远距离通信,但通信的传送速度较低。图 6-4 串行通信2、MCS-5
6、1 单片机串行接口MCS-51 单片机的串行接口由串行口缓冲存放器 SBUF、串行口控制存放器 SCON 和电源控制存放器 PCON 构成,通过引脚T*DP3.1 、R*DP3.0来完成串行数据的发送和接收与外界进展串行通信。1串行口缓冲存放器 SBUFSBUF 是按字节寻址的专用存放器,它用来存放将要发送或接收到的数据。在物理上有两个独立的SBUF 存放器,一个用于发送,一个用来接收。2串行口控制存放器 SCONSCON 是一个可以位寻址专用存放器, 它用于串行口的方式选择、发送、接收控制及保存串行口的状态信息等。 SCON 中各位的名称如表 6-2 所示。SCON 位位名称D7SM0D6S
7、M1D5SM2D4REND3TB8D2RB8D1TID0RI重 点 说 明SCON 的使用。SCON 中各位的定义如下:SM0、SM1:串行口工作方式选择位。4 种不同取值对应 4 种工作方式如表 6-3 所示。SM2:在方式 2、3 中用作多机通信控制位。REN:允许接收控制位。REN=0 时制止接收,REN=1 时允许接收。TB8:发送数据的第九位。RB8:接收数据的第九位。TI:发送中断请求标志位。RI:接收中断请求标志位。3电源控制存放器 PCONPCON 对串行口的影响是通过其 SMOD 位改变串行口的波特率。SMOD 位位于 PCON 的最高位,即 PCON.7,当 SMOD=1时
8、串行口的波特率是 SMOD=0 时的两倍方式0 除外 。PCON在单片机复位时,SMOD=0。二、MCS-51 单片机串行口工作方式 0 的应用1、串行口方式 0 的发送与接收串行口工作方式 0 是 8 位同步移位存放器方式。串行数据由R*DP3.0引脚输入或输出,同步移位脉冲由 T*DP3.1引脚输出。方式 0 主要用于 I/O 端口的扩展。1方式 0 的发送方式 0 的发送操作是在 TI=0 的情况下,执行以 SBUF 为目的字节的数据传送指令开场的。例如:SBUF=a;8 位数据发送完成后,由硬件将 TI 置 1,向 CPU 请求中断。假设中断不开放,TI 可作为发送完成的查询标志位。T
9、I=1 后,必须用软件将其清 0,以便再次发送数据。2方式 0 的接收方式 0 的接收操作是在 RI=0 的条件下,由 REN 置 1 指令来启动接收。收到 8 位数据后,由硬件将RI 置 1,向 CPU 请求中断。假设中断不开放,RI 可作为接收完成的查询标志位。RI=1后,必须用软件将其清 0,以便再次接收数据。2、方式 0 应用举例例 1 :使用串入并出芯片 74LS164 与单片机相连,使用串行口方式 0 扩展 8 位并行输出,接线示意图如图6-5 所示。8 位并行输出接 8 个发光二极管,要求控制8 个发光二极管反复亮灭。程序设计如下采用查询方式 :对方式 0 的发送与接收详细说明。
10、用多媒体展示课件图6-5简单介绍集成电路芯片74LS164 工作特点。对应用程序进展介绍,延时程序由学生进展编写。图 6-5 方式 0 扩展并行输出*include *define uchar unsigned charvoid delay_ms(uchar *ms); /定义延时函数/*以下是主函数*/void main()uchar a=0*ff;SCON=0;/置串行口方式 0,相关标志位、控制位清0。while(1)SBUF=a;/启动串行发送while(!TI);/等待串行发送完成TI=0;/TI 清 0,准备再次发送数据a=a;delay_ms (200);课堂小结1、LED 数码
11、管构造原理及显示方式。2、并行通信、串行通信的概念。3、MCS-51 单片机串行口构造及SCON 各位作用。4、串行口方式 0 应用举例。自我测评 1 题、2 题、3 题、4 题。课后作业任务 2 数字时钟电路硬件、软件设计一、案头任务授课时间教学形式教学用具课前准备教学目标数字时钟电路硬件、软件设计年月日讲授、讨论1、掌握串行口工作方式 0 的应用。2、掌握数字时钟电路的整体构成。3、掌握 C 语言数值计算的方法。4、理解应用程序的编程思路。1、串行口工作方式 0 的应用。2、应用程序的编程思路及相关指令使用。1、应用程序的编写思路及相关程序。1、复习提问串行口方式 0 的主要应用。2、介绍
12、工程任务要求。3、根据工程任务要求引导设计硬件电路。4、C 语言数值计算方法。4、应用程序流程图绘制。5、应用程序设计。教学内容1、 检查学生出勤情况并做好记录。2、 调整学生的注意力,为上课作准备。导学方法互动交流授课班级授课时数教学资源2 课时课件、单片机应用制作成品教学重点教学难点教学过程教学后记二、教学实施过程实施环节组织教学复习提问导入1、串行口控制存放器 SCON 各位的作用?2、如何用方式 0 扩展并行输出?提问导思在学习了串行口构造及方式0 应用后,我们应用串行口方式 0启 发 学 习扩展 4 个并行输出口来输出显示时间,工程要求如下:积极性1用 4 个 LED 数码管采用静态
13、显示,分别显示时和分,用一个发光二极管表示秒。 2用两个按键,一个用来调小时,一个用来调分钟。一、数字时钟电路设计1、数字时钟电路构成方案设计根据工程要求,本工程硬件由按键电路调时 、单片机最小应用系统、 扩展输出电路和数码管显示电路构成。 关键是扩展输出电路构成。扩展输出用芯片74HC595 来完成。2、电路设计根据电路构成方案设计, 对各组成局部进展设计。 关键是扩展输出及显示电路的设计。硬件电路原理图如图6-7 所示。教师和同学共同讨论电路 构 成 方案。教 师 讲 解74HC593 与单片机的连接及扩展级连方法。教师和同学共同在黑板上绘制电路原理图。讲授新课图 6-7 数字时钟电路原理
14、对自述运算可多举几个例子。2、元件选择1复习晶振电路元件及复位电路元件的选择。2复习发光二极管电路元件选择。3数码管的选择。二、应用程序编写1、C 语言数值计算的方法。1算术运算算术运算常用的有:+、-、*、/、%五种。 “/是除法运算,即两个整数相除,商仍为整数,舍去小数局部余数。 “%为取模运算取余运算 ,参与运算的两个整数,结果为两个数相除之后的余数。例如:unsigned int a,b,c,d;a=12;b=8;c=a/b;/结果是 c=1。d=a%b;/结果是 d=4。2复合运算C 语言中的复合运算符使得语句的书写更加简洁, 符号左则的变量既是源操作数又是目的操作数。例如:unsi
15、gned char a=0*01,b=0*02,c=0*03,d=0*04;a/=b;/a=a/b=0b+=0*01;/b=b+1=0*03c|=0*80;/c=c|0*80=0*83d=1;/d=d1=0*082、应用程序流程图绘制根据工程要求,分别绘制主程序和中断效劳程序流程图如图6-8 所示。在教师引导下由同学教师共同完成流 程 图 绘制。图 6-8 程序流程图3、程序设计根据流程图编写程序,参考程序如下:*include *define uchar unsigned char*define uint unsignedintuchar hour=12,min=0,sec=0;/定义小时、
16、分钟、和秒变量uchar cont_1s;/定义 1S 定时次数变量在教师引导下与同学一sbit S1=P10;/定义 S1 键起完成应用sbit S2=P11;/定义 S2 键程序设计。sbit *skzw=P21;/定义显示控制位sbit led=P20;uchar disp_buf4;/定义显示缓冲单元uchar code tab12=0*c0,0*f9,0*a4,0*b0,0*99,0*92,0*82,延 时 子 函0*f8,0*80,0*90,0*88,0*ff;/定义段码表数、调小时/*以下是初始化函数*/子函数、调void start()分钟子函数TMOD=0*11;/定时器工作
17、方式由学生独立TL0=(65536-20000)%256;/置定时器初值,一次定时 20ms完成。TH0=(65536-20000)/256;SCON=0*00;/串行口初始化cont_1s=50;/置 1S 定时次数EA=1;/开放中断ET0=1;/开定时器中断TR0=1;/启动定时器 T0/*以下是时间显示函数*/void sj*s()uchar i,tmp;/定义中间变量*skzw=0;/控制位清 0,准备串行发送显示段吗for(i=0;i4;i+)/循环发送 4 位tmp=disp_bufi;/显示数据送 tmpSBUF=tabtmp;/查显示段吗送 SBUF 进展串行发送while(
18、TI=0);/等待发送完TI=0;/为下次发送做好准备*skzw=1;/控制位置 1,将显示段吗送出显示当前时间/*下以是数据处理函数*/void sjcl(uchar in1,in2)uchar fen,shi;shi=in1;fen=in2;disp_buf0=fen%10;/分钟个位disp_buf1=fen/10;/分钟十位disp_buf2=shi%10;/小时个位disp_buf3=shi/10;/小时十位/*以下是定时器 TO 中断函数,用于产生时、分、秒信号*/void sz() interrupt1TL0=(65536-20000)%256;/重装定时器初值TH0=(6553
19、6-20000)/256;cont_1s-;/1S 定时中断次数减 1if(cont_1s=0)/到 1s 定时了吗?cont_1s=50;/重置 cont_1sled=1;/秒闪烁灭sec+;/秒加 1if(sec=60)/到 60 秒否?sec=0;/到 60 秒则秒清 0min+;/分钟加 1if(min=60)/到 60 分否?min=0;/到 60 分钟则分清 0hour+;/小时加 1if(hour=24)/到 24 小时否?hour=0;/到 24 小时则小时清 0sjcl(hour,min);/调用数据处理函数sj*s();/调用时间显示函数else if(cont_1s=25
20、)/到 0.5S 延时了吗?led=0;/秒闪烁亮/*以下是主函数*/void main()start();/调用初始化函数while(1)/大循环if(S1=0)delay_ms(10);/假设 S1 按下则调用 10ms 延时函数去抖动if(S1=0)t*s();/S1 仍然按下则调用调小时函数if(S2=0)/假设S2按下则调用10ms延时函数去抖动delay_ms(10);if(S2=0)/S2 仍然按下则调用调分钟函数tfz();4、是否需要去抖动处理?课堂小结1、数字时钟电路设计。2、C 语言数值计算的方法。3、应用程序设计,关键是程序流程图设计。自我测评 5 题、6 题。课后作业
21、任务 3 数字时钟电路的计算机仿真一、案头任务授课时间教学形式教学用具课前准备教学目标防盗报警器电路的计算机仿真年月日教师演示、学生练习1、数字时钟电路设计的计算机仿真验证。2、提高工具软件的使用熟练程度。3、熟练 C 语言相关指令的使用及电路应用程序设计。1、数字时钟电路设计的计算机仿真验证。2、程序编写与修改。1、仿真电路运行出错时的修改调试。1、proteus 仿真电路绘制步骤复习。2、用 keil 进展程序汇编步骤复习。3、布置练习作业,学生进展练习并验证电路效果,教师进展指导。教学内容1、检查学生出勤情况并做好记录。2、调整学生的注意力,为上课作准备。1、本工程设计的数字时钟电路都有
22、哪些功能?刚刚同学们对数字时钟电路的功能作了表达, 下面就根据上次课进展的电路设计及程序编写, 用计算机仿真验证本次工程设计导学方法互动交流提问导思启 发 学 习积极性授课班级授课时数教学资源2 课时机房、相关课件教学重点教学难点教学过程教学后记二、教学实施过程实施环节组织教学复习提问导入的正确性和运行效果。讲授新课一、使用 proteus 绘制仿真电路图的步骤参照图 6-7 绘制仿真电路图。利用多媒体或机房相关软件进展操作演示。讲解个步骤的含义。1、将所需元器件参加到对象选择器窗口AT89S51 用 AT89C51 代替,红色发光二极管的英文符号是“LED-RED;电阻、电容、电解电容、按键
23、、晶振的英文符号分别是“ RES、 “CAP“CAP-ELEC、 “BUTTON、“CRYSTAL; 绿色数码管的英文符号是 “7SEG-CAT-GRN。2、放置元器件至图形编辑窗口3、移动(删除)对象和调整对象朝向4、放置电源及接地符号5、元器件之间的连线6、编辑对象的属性设置元件参数二、使用 keil 进展程序汇编的步骤1、源文件的建立输入完源程序后,保存该文件,注意必须加上扩展名.c。2、建立工程文件点击“Project-New Project菜单,出现一个对话框,要求给将要建立的工程起一个名字,-。3、工程的设置针对我们的单片机制作工程进展简单设置在 OutPut 页面,勾选“ Cre
24、at He* file选项。4、编译、连接在设置好工程后,即可进展编译、连接。点击按钮,对当前工程中的文件进展编译然后再连接,生成目标代码。编译过程中的信息将出现在输出窗口中的Build 页中, 如果源程序中有语法错误,会有错误报告出现。三、布置作业学生练习,教师指导。1、数字时钟电路仿真验证。2、在仿真软件中对定时器初值进展不同参数设置,观察有什么变化。3、在仿真软件采用74LS164 代替 74HC595 进展仿真,观察仿真运行效果,想一想为什么出现相应效果。4、修改应用程序验证运行效果。课堂小结1、proteus 的根本操作步骤。2、keil 的操作步骤。3、单片机电动机正反转控制电路的
25、仿真验证。技能反复训练与思考题 3 题、7 题。课后作业任务 4 数字时钟电路的制作与调试一、案头任务授课时间教学形式教学用具课前准备教学目标单片机控制广告灯电路的制作与调试年月日万用表、电烙铁等授课班级教学资源实训设备、电路制作成品学生动手操作、教师指导授课时数2 课时数字时钟电路 PCB 板、相关电子元件采购、准备。1、掌握工程相关元件的测试方法。2、掌握使用相关工具进展电路制作的操作方法。3、掌握使用仪表进展电路测试方法,提高仪表使用的熟练程度。4、掌握数字时钟电路构成及硬件、软件调试。1、掌握相关元件测试方法。2、掌握数字时钟电路构成及硬件、软件调试。1、电路调试中的故障查找。1、强调
26、实训室操作规程,注意操作平安。2、防盗报警器电路各元件及使用工具简介。3、学生进展元件测试。4、分组进展硬件电路制作。5、分组进展硬件电路调试。6、根据硬件电路实际对应用程序进展修改并进展运行调试。教学内容1、检查学生出勤情况并做好记录。2、调整学生的注意力,为上课作准备。1、能否用调时键进展时间减1?2、如何对数码管进展简单测试?导学方法互动交流提问导思教学重点教学难点教学过程教学后记二、教学实施过程实施环节组织教学复习提问导入强调操作纪律及操作平安考前须知。经过前面几个工程的制作,同学们已经有了制作经历, 但本工程比拟复杂, 期待同学们成功展示作品的时刻。由学生分组展开实际操作。建议每组2
27、人,最好每组不超过 3 人。一、认识工程相关元件及元件测试1、复习发光二极管、电阻等元件测试方法并进展操作练习。2、数码管测测试。3、复习按键的测试方法并进展测试。二、按元件上下层次依次进展插装与焊接1、电阻的插装与焊接。2、电容、晶振的插装与焊接。3、40 脚及 16 脚 IC 插座插装与焊接。4、按键及数据线插座的插装与焊接。5、数码管的插装与焊接。启 发 学 习积极性工程制作学生分组进展 动 手 制作,教师巡回指导或示*操作。由学生动手操作,教师进展巡回指导,必要时进 展 示 * 操作。三、电路连接完成各元件的连接后,将电源线引出或将USB 座焊接在电路板上,使用电脑上的 5V 电源。往
28、届学生制作成品如下:将所测试数据列表记录并 妥 善 保存。四、硬件电路调试1、通电之前,先用万用表检查各电源线与地线之间是否有短路现象,测试 40 脚及 16 脚 IC 插座各脚对地电阻值并记录,分析各电阻值是否合理。 假设发现有不合理值, 则要进展分析查找及处理。点按控制按键,测量相应引脚电阻是否为0。2、不插单片机芯片,接通电源,检查所有插座或器件的电源端是否有符合要求的电压值, 如发现电压值偏离较多, 应立即中断供电并检查处理。接地端电压是否为 0V,测试 40 脚及 16 脚IC 插座各脚对地电压并记录,分析各电压值是否合理。3、在不插上单片机芯片时,接通电源,模拟单片机输出低电平将对
29、应引脚接地 ,检查相应的外部电路是否正常观察发光二极管是否点亮 。模拟74HC595 输出低电平,检查数码管相应位是否点亮。五、写入应用程序试运行学生动手实际操作,根据硬件电路实际对应用程序进展修改后,汇编生成目标文件写入单片机芯片进展运行调试。运行正常后,再对应用程序进展修改以期能有更好的效果实现。假设正常写入程序, 接通电源后,系统不能正常工作, 可以通过测试 18、19、30 脚的直流电位初步判定单片机最小系统是否已经正常工作。工 程 制 作小结1、元件测试方法。2、元件插装与焊接及电路连接。3、硬件电路调试。4、程序写入与运行调试。1、将工程制作调试时测试数据列表并分析。2、总结本工程制作中出现问题及解决方法。3、自我测评 7 题。课后作业