项目精选单片机应用技能实训C语言教案_第1页
项目精选单片机应用技能实训C语言教案_第2页
项目精选单片机应用技能实训C语言教案_第3页
项目精选单片机应用技能实训C语言教案_第4页
项目精选单片机应用技能实训C语言教案_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机应用技能实训(C语言)教案—项目6项目6数字时钟电路制作任务1项目相关知识学习一、案头任务项目相关知识学习授课时间年月日授课班级教学形式讲授、讨论授课时数2课时教学用具教学资源项目制作成品、课件课前准备教学目标1、了解并行通信与串行通信。2、理解串行口结构,工作方式。3、掌握串行口工作方式0的应用。4、了解LED数码管结构及显示方式。教学重点1、串行口控制寄存器的作用与用法。2、串行口工作方式0的应用。教学难点1、对串行口发送启动和接收启动的理解。教学过程1、通过对生活中数字时钟的讨论,引出项目任务。2、LED数码管结构及显示方式。3、并行通信与串行通信。4、MCS-51单片机串行口的结构。5、用于串行口的专用寄存器介绍。6、串行口工作方式0的应用。教学后记二、教学实施过程实施环节教学内容导学方法组织教学1、检查学生出勤情况并做好记录。2、调整学生的注意力,为上课作准备。互动交流复习提问1、MCS-51定时器有哪几种工作方式?2、如何用定时器来完成数字时钟的定时?本项目的终极目标是制作一个单片机控制的LED数码管静态显示数字时钟电路。提问导思导入在项目5中学习了单片机的定时器,本项目要用定时器定时,用数码管显示时间,至少要用4个数码管,每个数码管占用8位,4个LED数码管占用4个I/O端口。所以,在本项目中要扩展用于显示电路的输出端口。下面,我们在进行项目制作之前,学习LED数码管结构原理以及MCS-51单片机的串行口。启发学习积极性讲授新课一、LED数码管结构及工作原理1、LED数码管结构通常使用的是七段LED显示器,这种显示器由8个发光二极管构成,有共阴极和共阳极两种,如图6-3所示。图6-3数码管结构2.LED数码管工作原理共阴极LED数码管的8个发光二极管的阴极连在一起,接公共端COM。使用时公共端接地,当发光二极管的阳极为高电平时,发光二极管点亮。共阳数码管则与之相反。从管脚a~g及dp输入不同的8位二进制数,可显示不同的数字或字符,把控制数码管显示不同字符的8位二进制数称为段码。例如:对于共阳极数码管,若要显示0,其段码为C0H。二、LED数码管的显示方法数码管的显示方式有静态显示和动态显示两种。1、静态显示静态显示是指HYPERLINK数码管显示某一字符时,相应的发光HYPERLINK二极管恒定导通或恒定截止。这种显示方式的各位HYPERLINK数码管相互独立,公共端恒定接地(共阴极)或接正HYPERLINK电源(共阳极)。每个HYPERLINK数码管的8个字段分别与一个8位I/O口相连。2、动态显示动态显示是一位一位地轮流点亮各位HYPERLINK数码管,这种逐位点亮显示器的方式称为位扫描。通常,各位HYPERLINK数码管的相应段选线并联在一起,由一个8位的I/O口控制;各位数码管的位选线(公共阴极或阳极)由另外的I/O口线控制。三、MCS-51单片机串行接口1、并行通信和串行通信并行通信是指将组成数据字节的各位同时发送或接收,不宜用于远距离通信。串行通信是组成数据的字节中的各位按顺序逐一传送的方式,最少只需3根传输线即可,如图8-2所示。串行通信适用于远距离通信,但通信的传送速度较低。图6-4串行通信2、MCS-51单片机串行接口MCS-51单片机的串行接口由串行口缓冲寄存器SBUF、串行口控制寄存器SCON和电源控制寄存器PCON构成,通过引脚TXD(P3.1)、RXD(P3.0)来完成串行数据的发送和接收与外界进行串行通信。(1)串行口缓冲寄存器SBUFSBUF是按字节寻址的专用寄存器,它用来存放将要发送或接收到的数据。在物理上有两个独立的SBUF寄存器,一个用于发送,一个用来接收。(2)串行口控制寄存器SCONSCON是一个可以位寻址专用寄存器,它用于串行口的方式选择、发送、接收控制及保存串行口的状态信息等。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位改变串行口的波特率。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可作为发送完成的查询标志位。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<reg51.h>#defineucharunsignedcharvoiddelay_ms(ucharxms);//定义延时函数/*******以下是主函数****************/voidmain(){uchara=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简单介绍集成电路芯片74LS164工作特点。对应用程序进行介绍,延时程序由学生进行编写。课堂小结1、LED数码管结构原理及显示方式。2、并行通信、串行通信的概念。3、MCS-51单片机串行口结构及SCON各位作用。4、串行口方式0应用举例。课后作业自我测评1题、2题、3题、4题。任务2数字时钟电路硬件、软件设计一、案头任务数字时钟电路硬件、软件设计授课时间年月日授课班级教学形式讲授、讨论授课时数2课时教学用具教学资源课件、单片机应用制作成品课前准备教学目标1、掌握串行口工作方式0的应用。2、掌握数字时钟电路的整体构成。3、掌握C语言数值计算的方法。4、理解应用程序的编程思路。教学重点1、串行口工作方式0的应用。2、应用程序的编程思路及相关指令使用。教学难点1、应用程序的编写思路及相关程序。教学过程1、复习提问串行口方式0的主要应用。2、介绍项目任务要求。3、根据项目任务要求引导设计硬件电路。4、C语言数值计算方法。4、应用程序流程图绘制。5、应用程序设计。教学后记二、教学实施过程实施环节教学内容导学方法组织教学检查学生出勤情况并做好记录。调整学生的注意力,为上课作准备。互动交流复习提问1、串行口控制寄存器SCON各位的作用?2、如何用方式0扩展并行输出?提问导思导入在学习了串行口结构及方式0应用后,我们应用串行口方式0扩展4个并行输出口来输出显示时间,项目要求如下:(1)用4个LED数码管采用静态显示,分别显示时和分,用一个发光二极管表示秒。(2)用两个按键,一个用来调小时,一个用来调分钟。启发学习积极性讲授新课一、数字时钟电路设计1、数字时钟电路构成方案设计根据项目要求,本项目硬件由按键电路(调时)、单片机最小应用系统、扩展输出电路和数码管显示电路构成。关键是扩展输出电路构成。扩展输出用芯片74HC595来完成。2、电路设计根据电路构成方案设计,对各组成部分进行设计。关键是扩展输出及显示电路的设计。硬件电路原理图如图6-7所示。图6-7数字时钟电路原理2、元件选择(1)复习晶振电路元件及复位电路元件的选择。(2)复习发光二极管电路元件选择。(3)数码管的选择。二、应用程序编写1、C语言数值计算的方法。(1)算术运算算术运算常用的有:+、-、*、/、%五种。“/”是除法运算,即两个整数相除,商仍为整数,舍去小数部分(余数)。“%”为取模运算(取余运算),参与运算的两个整数,结果为两个数相除之后的余数。例如:unsignedinta,b,c,d;a=12;b=8;c=a/b;//结果是c=1。d=a%b;//结果是d=4。(2)复合运算C语言中的复合运算符使得语句的书写更加简洁,符号左则的变量既是源操作数又是目的操作数。例如:unsignedchara=0x01,b=0x02,c=0x03,d=0x04;a/=b;//a=a/b=0b+=0x01;//b=b+1=0x03c|=0x80;//c=c|0x80=0x83d<<=1;//d=d<<1=0x082、应用程序流程图绘制根据项目要求,分别绘制主程序和中断服务程序流程图如图6-8所示。图6-8程序流程图3、程序设计根据流程图编写程序,参考程序如下:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintucharhour=12,min=0,sec=0;//定义小时、分钟、和秒变量ucharcont_1s;//定义1S定时次数变量sbitS1=P1^0;//定义S1键sbitS2=P1^1;//定义S2键sbitxskzw=P2^1;//定义显示控制位sbitled=P2^0;uchardisp_buf[4];//定义显示缓冲单元ucharcodetab[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0xff};//定义段码表/**********以下是初始化函数************/voidstart(){TMOD=0x11;//定时器工作方式TL0=(65536-20000)%256;//置定时器初值,一次定时20msTH0=(65536-20000)/256;SCON=0x00;//串行口初始化cont_1s=50;//置1S定时次数EA=1;//开放中断ET0=1;//开定时器中断TR0=1;//启动定时器T0}/**********以下是时间显示函数*********/voidsjxs(){uchari,tmp;//定义中间变量xskzw=0;//控制位清0,准备串行发送显示段吗for(i=0;i<4;i++)//循环发送4位{tmp=disp_buf[i];//显示数据送tmpSBUF=tab[tmp];//查显示段吗送SBUF进行串行发送while(TI==0);//等待发送完TI=0;//为下次发送做好准备}xskzw=1;//控制位置1,将显示段吗送出显示当前时间}/**********下以是数据处理函数*********/voidsjcl(ucharin1,in2){ucharfen,shi;shi=in1;fen=in2;disp_buf[0]=fen%10;//分钟个位disp_buf[1]=fen/10;//分钟十位disp_buf[2]=shi%10;//小时个位disp_buf[3]=shi/10;//小时十位}/***以下是定时器TO中断函数,用于产生时、分、秒信号***/voidsz()interrupt1{TL0=(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)//到60秒否?{sec=0;//到60秒则秒清0min++;//分钟加1if(min==60)//到60分否?{min=0;//到60分钟则分清0hour++;//小时加1if(hour==24)//到24小时否?hour=0;//到24小时则小时清0}}sjcl(hour,min);//调用数据处理函数sjxs();//调用时间显示函数}elseif(cont_1s==25)//到0.5S延时了吗?led=0;//秒闪烁亮}/*********以下是主函数***************/voidmain(){start();//调用初始化函数while(1)//大循环{if(S1==0){delay_ms(10);//若S1按下则调用10ms延时函数去抖动if(S1==0)txs();//S1仍然按下则调用调小时函数}if(S2==0)//若S2按下则调用10ms延时函数去抖动{delay_ms(10);if(S2==0)//S2仍然按下则调用调分钟函数tfz();}}}4、是否需要去抖动处理?老师和同学共同讨论电路构成方案。老师讲解74HC593与单片机的连接及扩展级连方法。老师和同学共同在黑板上绘制电路原理图。对自述运算可多举几个例子。在老师引导下由同学老师共同完成流程图绘制。在老师引导下与同学一起完成应用程序设计。延时子函数、调小时子函数、调分钟子函数由学生独立完成。课堂小结1、数字时钟电路设计。2、C语言数值计算的方法。3、应用程序设计,关键是程序流程图设计。课后作业自我测评5题、6题。任务3数字时钟电路的计算机仿真一、案头任务防盗报警器电路的计算机仿真授课时间年月日授课班级教学形式老师演示、学生练习授课时数2课时教学用具教学资源机房、相关课件课前准备教学目标1、数字时钟电路设计的计算机仿真验证。2、提高工具软件的使用熟练程度。3、熟练C语言相关指令的使用及电路应用程序设计。教学重点1、数字时钟电路设计的计算机仿真验证。2、程序编写与修改。教学难点1、仿真电路运行出错时的修改调试。教学过程1、proteus仿真电路绘制步骤复习。2、用keil进行程序汇编步骤复习。3、布置练习作业,学生进行练习并验证电路效果,老师进行指导。教学后记二、教学实施过程实施环节教学内容导学方法组织教学1、检查学生出勤情况并做好记录。2、调整学生的注意力,为上课作准备。互动交流复习提问1、本项目设计的数字时钟电路都有哪些功能?提问导思导入刚才同学们对数字时钟电路的功能作了叙述,下面就根据上次课进行的电路设计及程序编写,用计算机仿真验证本次项目设计的正确性和运行效果。启发学习积极性讲授新课一、使用proteus绘制仿真电路图的步骤参照图6-7绘制仿真电路图。1、将所需元器件加入到对象选择器窗口AT89S51用AT89C51代替,红色发光二极管的英文符号是“LED-RED”;电阻、电容、电解电容、按键、晶振的英文符号分别是“RES”、“CAP”“CAP-ELEC”、“BUTTON”、“CRYSTAL”;绿色数码管的英文符号是“7SEG-COM-CAT-GRN”。2、放置元器件至图形编辑窗口3、移动(删除)对象和调整对象朝向4、放置电源及接地符号5、元器件之间的连线6、编辑对象的属性设置元件参数二、使用keil进行程序汇编的步骤1、源文件的建立输入完源程序后,保存该文件,注意必须加上扩展名.c。2、建立工程文件点击“Project--NewProject…”菜单,出现一个对话框,要求给将要建立的工程起一个名字,---。3、工程的设置(针对我们的单片机制作项目进行简单设置)在OutPut页面,勾选“CreatHexfile”选项。4、编译、连接在设置好工程后,即可进行编译、连接。点击按钮,对当前工程中的文件进行编译然后再连接,生成目标代码。编译过程中的信息将出现在输出窗口中的Build页中,如果源程序中有语法错误,会有错误报告出现。三、布置作业学生练习,老师指导。1、数字时钟电路仿真验证。2、在仿真软件中对定时器初值进行不同参数设置,观察有什么变化。3、在仿真软件采用74LS164代替74HC595进行仿真,观察仿真运行效果,想一想为什么出现相应效果。4、修改应用程序验证运行效果。利用多媒体或机房相关软件进行操作演示。讲解个步骤的含义。课堂小结1、proteus的基本操作步骤。2、keil的操作步骤。3、单片机电动机正反转控制电路的仿真验证。课后作业技能反复训练与思考题3题、7题。任务4数字时钟电路的制作与调试一、案头任务单片机控制广告灯电路的制作与调试授课时间年月日授课班级教学形式学生动手操作、老师指导授课时数2课时教学用具万用表、电烙铁等教学资源实训设备、电路制作成品课前准备数字时钟电路PCB板、相关电子元件采购、准备。教学目标1、掌握项目相关元件的测试方法。2、掌握使用相关工具进行电路制作的操作方法。3、掌握使用仪表进行电路测试方法,提高仪表使用的熟练程度。4、掌握数字时钟电路构成及硬件、软件调试。教学重点1、掌握相关元件测试方法。2、掌握数字时钟电路构成及硬件、软件调试。教学难点1、电路调试中的故障查找。教学过程1、强调实训室操作规程,注意操作安全。2、防盗报警器电路各元件及使用工具简介。3、学生进行元件测试。4、分组进行硬件电路制作。5、分组进行硬件电路调试。6、根据硬件电路实际对应用程序进行修改并进行运行调试。教学后记二、教学实施过程实施环节教学内容导学方法组织教学1、检查学生出勤情况并做好记录。2、调整学生的注意力,为上课作准备。互动交流复习提问1、能否用调时键进行时间减1?2、如何对数码管进行简单测试?提问导思导入强调操作纪律及操作安全注意事项。经过前面几个项目的制作,同学们已经有了制作经验

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论