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