51单片机汇编语言教案单片机备课本中职篇.
-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN
第八 九课时
教学内容
I/O口的简单应用——循环彩灯
教学重难点
1. 1、I/O作为一般的输入输出口时,有何要求?
2、发光二极管工作参数 〖新课内容:〗
一、循环彩灯硬件电路
在最小硬件系统基础上,用P1口作输出,用低电平驱动LED发光管,LED发光条件是:电压1.8V左右,电流8~10mA。为满足要求,电路中串接限流电阻,经计算取360Ω。电路如图所示。
二、软件设计
软件设计是在最小软件系统基础上,根据所要求的显示方式,用位操作指令CLR
P1.X/SETB P1.X,对某位口操作,也可用数据传送指令MOV P1,#DATA,对多位口同时操作。 如:设计一个由8个小灯构成的循环彩灯,要求8个小灯依次亮灭,然后重复循环 程序为:
ORG 0000H LJMP SETUP ORG 0030H
SETUP:
2
+5V 360Ω +5V VCC +5V EA 40 31 AT89S51 1 8 9 181920 RST 8.2K +5V 10μF 6MHz 20P
CLR P1.0
SETB P1.0
SETB P1.1 CLR P1.2 SETB P1.2 CLR P1.3 SETB P1.3 CLR P1.1 MOV R2, #80H DEL1: MOV R7,#0FFH DEL2:DJNZ R7,DEL2 DJNZ R2,DEL1
MOV R2, #80H DEL1: MOV R7,#0FFH DEL2:DJNZ R7,DEL2
SETB P1.7 LJMP SETUP END
DELAY: MOV R2,#80H DEL1: MOV R3,#0FFH DEL2: DJNZ R3,DEL2 DJNZ R2,DEL1 RET
三、引出指令 1、NOP 空操作指令 2、循环转移指令
……… DJNZ R2,DEL1 DJNZ Rn,rel ;先执行Rn Rn-1,然后判断,若Rn=0,则程序顺序执行, 否则就转移,转移到rel处,转移范围为-128B~+127B。 DJNZ direct,rel ;同上面类似。 1、 用和返回指令
LCALL addr16 ;长调用指令,调用子程序,子程序可在64KB空间内任意 位置,同LJMP指令。
ACALL addr11 ;断调用指令,调用子程序,同LJMP指令。
RET ;调用返回指令,子程序结束后,执行该指令程序将返回到调用子程
序处继续向下执行。
上面的程序也可写成:
3
ORG 0000H LJMP SETUP ORG 0030H
SETUP: CLR P1.0 LCALL DELAY
SETB P1.0
CLR P1.1
LCALL DELAY SETB P1.1
CLR P1.2
SETB P1.2
CLR P1.3
SETB P1.3
……… SETB P1.7
LJMP SETUP
DELAY: MOV R2,#80H DEL1: MOV R3,#0FFH DEL2: DJNZ R3,DEL2 DJNZ R2,DEL1 RET
END
注意:书写子程序时的注意事项
1、 书写子程序一定要有名称(标号) 2、 书写子程序 一定要有RET返回指令 3、 参数的传递
4、子程序和主程序间的关系如下图所示:
主程序 子程序 断点 主程序 子程序子程序断点 4
我们到上面的一段程序输入到wave仿真环境中,然后通过在线编程,把程序下载到单片机中,看实验箱上的小灯是否按照编写的程序亮灭的,也可以先通过软件仿真结果,也能判断正确与否,
执行上面的程序我们可以看出来有P1口控制的8个小灯当中,低四个先亮,亮一段时间后再灭掉,接着高个小灯再亮,亮一会,再灭,重复循环。
作业题:
在循环彩灯硬件电路的基础上,设计一个循环彩灯程序,使小灯依次点亮后熄灭,再从头开始,重复8次
反思:本堂课内容比较有趣味性,同学们学起来感觉比较得心应手,希望以后在没有趣味的课程中也能体现出今天的这种势头。
第十课时
教学内容
LED数码管及其显示方式
教学重难点
1.了解数码管的分类与显示原理。 2.数码管电路的连接。
3.如何设置与排列数码管的显示数据, 教学过程 一、LED数码管
5