您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 模板/表格 > 51单片机汇编语言教案单片机备课本中职篇.
第八九课时教学内容I/O口的简单应用——循环彩灯教学重难点1.1、I/O作为一般的输入输出口时,有何要求?2、发光二极管工作参数〖新课内容:〗一、循环彩灯硬件电路在最小硬件系统基础上,用P1口作输出,用低电平驱动LED发光管,LED发光条件是:电压1.8V左右,电流8~10mA。为满足要求,电路中串接限流电阻,经计算取360Ω。电路如图所示。二、软件设计软件设计是在最小软件系统基础上,根据所要求的显示方式,用位操作指令CLRP1.X/SETBP1.X,对某位口操作,也可用数据传送指令MOVP1,#DATA,对多位口同时操作。如:设计一个由8个小灯构成的循环彩灯,要求8个小灯依次亮灭,然后重复循环程序为:ORG0000H360Ω+5V8.2KRSTVCC+5V+5V+5V4031AT89S51189181920EA10μF6MHz20PLJMPSETUPORG0030HSETUP:CLRP1.0SETBP1.0CLRP1.1SETBP1.1CLRP1.2SETBP1.2CLRP1.3SETBP1.3………SETBP1.7LJMPSETUPENDDELAY:MOVR2,#80HDEL1:MOVR3,#0FFHDEL2:DJNZR3,DEL2DJNZR2,DEL1RET三、引出指令1、NOP空操作指令2、循环转移指令DJNZRn,rel;先执行RnRn-1,然后判断,若Rn=0,则程序顺序执行,否则就转移,转移到rel处,转移范围为-128B~+127B。DJNZdirect,rel;同上面类似。1、用和返回指令LCALLaddr16;长调用指令,调用子程序,子程序可在64KB空间内任意位置,同LJMP指令。MOVR2,#80HDEL1:MOVR7,#0FFHDEL2:DJNZR7,DEL2DJNZR2,DEL1MOVR2,#80HDEL1:MOVR7,#0FFHDEL2:DJNZR7,DEL2DJNZR2,DEL1ACALLaddr11;断调用指令,调用子程序,同LJMP指令。RET;调用返回指令,子程序结束后,执行该指令程序将返回到调用子程序处继续向下执行。上面的程序也可写成:ORG0000HLJMPSETUPORG0030HSETUP:CLRP1.0LCALLDELAYSETBP1.0CLRP1.1LCALLDELAYSETBP1.1CLRP1.2SETBP1.2CLRP1.3SETBP1.3………SETBP1.7LJMPSETUPDELAY:MOVR2,#80HDEL1:MOVR3,#0FFHDEL2:DJNZR3,DEL2DJNZR2,DEL1RETEND注意:书写子程序时的注意事项1、书写子程序一定要有名称(标号)2、书写子程序一定要有RET返回指令3、参数的传递4、子程序和主程序间的关系如下图所示:断点主程序子程序子程序2断点主程序子程序1我们到上面的一段程序输入到wave仿真环境中,然后通过在线编程,把程序下载到单片机中,看实验箱上的小灯是否按照编写的程序亮灭的,也可以先通过软件仿真结果,也能判断正确与否,执行上面的程序我们可以看出来有P1口控制的8个小灯当中,低四个先亮,亮一段时间后再灭掉,接着高个小灯再亮,亮一会,再灭,重复循环。作业题:在循环彩灯硬件电路的基础上,设计一个循环彩灯程序,使小灯依次点亮后熄灭,再从头开始,重复8次反思:本堂课内容比较有趣味性,同学们学起来感觉比较得心应手,希望以后在没有趣味的课程中也能体现出今天的这种势头。第十课时教学内容LED数码管及其显示方式教学重难点1.了解数码管的分类与显示原理。2.数码管电路的连接。3.如何设置与排列数码管的显示数据,教学过程一、LED数码管1.外型和引脚LED数码管如上图所示。正面为一个矩形,上面有七个笔画组成的8和圆点表示的小数点,共计8个,分别用a、b、c、d、e、f、g、dp代表各个笔画的名称,故又称为8“段”数码管,每一个段内部都有一个LED发光管和他们对应。上下两头各有5个引脚。其中有8个引脚分别和a、b、c、d、e、f、g、dp对应,两头中间引脚内部是相连的,接的是8个LED的公共端(Commonality)(即数码管的“位”),用COM表示。2.内部结构内部结构分为共阳型和共阴型,如上面图所示。3.LED数码管的编码(Code)方式从LED的内部结构看,要点亮它,跟我们前面讲的8个循环彩灯相似,8个小灯亮的共阴型abcdefgdp共阳型+5Vcomabcdefgdpcom方式不同,在数码管上显示不同的字符。一般用8位二进制数代表每个段。A为低位,Dp为高位,即:D7D6D5D4D3D2D1D0dpgfedcba如要显示0,就须把对应的a、b、c、d、e、f段的LED点亮,如果用正逻辑表示,即1亮0灭,显示0要求段的数据为3FH,同样显示其他字符也有对应数据表示。也就是显示字符的编码。下面为数码管的正逻辑编码:0:3FH;1:06H;2:5BH;3:4FH;4:66H;5:6DH;6:7DH7:07H;8:7FH;9:6FH。注意:共阴型数码管于正逻辑编码方式一致,共阳型数码管恰好相反。二、LED数码管静态显示方式LED数码管显示电路在单片机系统中分为静态(StaticStage)显示和动态(DynamicStage)显示。1.特点:(1)静态显示时数码管的段需要一个8位I/O口控制。(2)数码管的位:接“电源”或接“地”(3)静态显示方式,编程简单,但占用的I/O口线较多,(4)一般适用显示位数较少的场合。下面是其应用的例子:2.硬件电路(共阳型)P1口的数码管是完整电路,其余口为示意电路。显示程序(在四个数码管上分别显示0、1、2、3)ORG0000HLJMPSETUPORG0030HSETUP:MOVA,#3FHCPLAMOVP1,AMOVA,#06HCPLAMOVP3,AMOVA,#5BHCPLAMOVP0,AMOVA,#4FHCPLAMOVP2,Adp390Ω+5VP0P2最小系统P1P3a第一位第二位第四位第三位SJMPSETUPEND程序执行到这里,在P1口控制的数码管上显示“0”,继续往下执行,会在P3,P0,P2口上分别显示“1”,“2”,“3”,通过在线编程,把这段程序下载到单片机上,运行会在4个数码管上显示0,1,2,3三、LED数码管动态显示方式1.特点:(1)将所有数码管的所有相同的段连接在一起,8个段共8组,由一个8位的I/O口控制。(2)每一个数码管的公共端由一位I/O口控制。通过分时向段送数据和位控制信号,使各数码管轮流显示,这种数码管显示方式就称为动态扫描(Scan)电路。(3)动态显示方式,编程相对复杂,但占用的I/O口线较少。(4)一般适用显示位数较多的场合。1.硬件电路(共阳型)adpP0最小······+5V段数据由P0口输出,外接上拉电阻,位由P2.0~P2.3输出,用低电平驱动三极管,三极管输出接数码管的公共端。作业:假设有一数码管,他们的连接是,P1口的,P1。7接A,依次类推,请同学们排出数码显示数据。反思:数码管是单片机技术中非常常见的一种显示程序设计,是其它显示程序设计的基础,学好数据管的显示后,为以后的液晶显示点阵显示打下一个好的基础,本次课程内容学生反应学起来比较吃力,可能是电子基础方面的知道忘记了。在以后的课程中,设计得这方面的知道应该先复习一下。第十一课时教学内容查表指令与程序设计教学重难点1.掌握查表指令的用法。2.使用查表指令的注意事项。教学过程〖新课内容:〗LED数码管的动态显示程序,要求在数码管上显示0123ORG0000HLJMPSETUPORG0030HSETUP:MOVA,#3FHCPLAMOVP0,ACLRP2.0LCALLDELAYSETBP2.0MOVA,#06HCPLAMOVP0,ACLRP2.1LCALLDELAYSETBP2.1MOVA,#5BHCPLAMOVP0,ACLRP2.2LCALLDELAYSETBP2.2MOVA,#4FHCPLACLRP2.3LCALLDELAYSETBP2.3LJMPSETUPDELAY:…………RETEND二、引出指令查表指令及伪指令1.MOVCA,@A+DPTR;A------(A+DPTR)该指令是从内部ROM中读取一个数,是当前A中的值8位和DPTR中的值16位相加得到一个16位的地址,将ROM中该地址中的数据读出送入累加器ACC。该指令可以访问ROM中的任意一个单元。2.MOVCA,@A+PC;A------(A+PC)3.DB(定义字节伪指令)(D:Define,B:Byte)格式:[标号:]DB8位二进制数表功能:从指定的地址单元开始,定义若干个8位内存单元的数据,数据之间用“,”隔开。三、查表程序设计要用到查表指令和定义的数据表格。一般分三个步骤。1.用DPTR作基址寄存器时1)基址值(表格首地址)送入DPTR2)变址值(表中要查的项与表格首地址之间的间隔字节数)送入累加器A3)执行MOVCA,@A+DPTR;四、查表程序设计数码管动态显示程序上面的显示程序只能显示固定的数据,无实际意义。下面我们利用查表指令设计一动态扫描程序。ORG0000HLJMPSETUPORG0030HSETUP:MOV70H,#0MOV71H,#1MOV72H,#2MOV73H,#3MAIN:LCALLDISLJMPMAINDIS:MOVDPTR,#TABMOVA,70HMOVCA,@A+DPTRCPLAMOVP0,ACLRP2.0LCALLDELAYSETBP2.0MOVA,71HMOVCA,@A+DPTRCPLAMOVP0,ACLRP2.1LCALLDELAYSETBP2.1MOVA,72HMOVCA,@A+DPTRCPLAMOVP0,ACLRP2.2LCALLDELAYSETBP2.2MOVA,73HMOVCA,@A+DPTRCPLAMOVP0,ACLRP2.3LCALLDELAYSETBP2.3RETTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDELAY:MOVR2,#80HDEL:DJNZR2,DELRETEND例:用查表法求y=x2,设原变量x值在R0中,x取值范围为0~9,求得结果存放在R1中。程序如下:AA:MOVA,R0MOVA,@A+DPTRMOVR1,ARETTAB:DB0,1,4,9,16,25,36,49,64,81注意:表格一定要写全表格中的内容之间用逗号隔开,定义表格要有规律表格不能放在子程序中表格放在子程序区,但不能放在子程序中间。作业:1,数码显示程序设计,书反思:此堂课是一门复习课,是教同学们如何用DPTR或PC与MOVC和A寄存器指令合作实现数据的读写,也称查表指令。主要是一些常用数据要多次引用,学习比较简单,效果较好。第十二课时教学内容AT89S51单片机中断系统教学重难点1,什么叫中断2,51单片机的5种中断3,中断控制的应用。教学过程:一、中断(Interrupt)概述1.中断的概念所谓中断是指CPU正在处理某件事时,外部发生了某一事件(如定时器溢出),请求(Requle)CPU迅速处理(Process),CPU暂时中断当前的工作,转入处理所发生的事件,处理完毕后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。实现这种功能的部件称为中断系统,产生中断的请求源称为中断源。2.中断的调用过程二、与中断系统有关的SFRa)定时/计数器控制寄存器TCON(88H)IE1IT1IE0IT08BH8AH89H88HTCON(TimeControl)的字节地址为88H,表明该寄存器的每一位可位寻址。其中:IT0:外部中断0的触发方式选择位,当IT0=0时为电平触发(LeverTriggering),IT0=1时为边沿触发(EdgeTriggering)。IE0:为外部中断0的标志位。IT1:同IT0类似。IE1:同IE0类似。现行程序现行程序现行程序中断服务程序CPU是怎么知道中断请求的尼?CPU会在每个机器周期的S5P
本文标题:51单片机汇编语言教案单片机备课本中职篇.
链接地址:https://www.777doc.com/doc-6877265 .html