单片机dp801教学讲义.doc

上传人:sk****8 文档编号:4220986 上传时间:2019-10-05 格式:DOC 页数:38 大小:502.50KB
下载 相关 举报
单片机dp801教学讲义.doc_第1页
第1页 / 共38页
单片机dp801教学讲义.doc_第2页
第2页 / 共38页
单片机dp801教学讲义.doc_第3页
第3页 / 共38页
单片机dp801教学讲义.doc_第4页
第4页 / 共38页
单片机dp801教学讲义.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

1、1 初级班 注新授指令后()内数字为配套教材中页数 第一次课 1什么是单片机 微型计算机由运算、控制、存储、输入、输出五部分组成。 微型计算机 单片微型计算机 2.单片机的用途 凡是用到智能控制和自动控制的领域都离不开单片机。 3数据 利用 DP-801 单片机处理的信息全部用两位的十进制数表示。通常有两种形 式的数据: 带点数:表示存储单元的地址 不带点数:表示指令、代码 4输入、调试程序 修改数据: +1/-1 修改地址: D/A+ +1/-1 练 习: 读取前 5 个单元格中的数据。 CPU:运算、控制 AT89C2051 芯片 存储:硬盘、U 盘 24C02 存储芯片 输入:鼠标、键盘

2、 5 个按键 输出:显示器、打印机 数码管、二极管 0.0. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 00 05 02 04 01 15 RES +1 -1 D/A WRI 2 存储数据: WRI 运行程序: D/A(1.0.)+ WRI 【练习】 1输入并运行程序 0.0. 00 05 00 04 00 03 00 02 00 01 00 00 02 05 01 15 2输入 1822 页上的 6 个实例,并运行程序。 第二次课 1电路 在生活中,开灯关灯是我们最熟悉的事物了。 在 DP-801 上,我们利用指令来实现开灯关灯。 DP-801 单片机主

3、板上的 6 个发光二极管的正极与电源正极相连,二极管的 负极经限流电阻与输出口相连。 2接通指令(15) 3 接通指令功能:使 N 指向的输出口变为低电平,点亮发光二极管。DP-801 单片机只有 8 个输出口,所以 N 的取值为 0007。其中 0005 在正常状态下 表示 05 这 6 个发光二极管。 结束指令功能:告诉单片机一段程序的结束。使用 DP801 单片机可以编 写多段程序并能运行指定段的程序,就是靠结束指令来区分的。 【例 1】点亮 5 号灯。 0.0. 00 05 15 同学们会发现灯闪了一下就关上了,怎样延长灯亮的时间呢? 3延时指令(16) M 03 时 02 分 01

4、秒 00 0.1 秒 延时指令功能:使 CPU 停止工作,保持上一条指令执行后的状态在延时时 间内不变,数码管显示倒计时。 例如:延时 5 秒 02 05 01 延时 1.5 秒 02 15 00 【例 2】让 5 号灯亮 5 秒钟 0.0. 00 05 02 05 01 15 【例 3】让 0 号灯亮 5 秒,然后让 1 号灯亮 2 秒,最后让 2 号灯亮 10 秒。 机器码 助记符指令名称 操作码 操作数 操作码 操作数 接通 00 0007 JT N 结束 15 - JEISH - 机器码 助记符指令名称 操作码 操作数 操作码 操作数 延时 02 (0199) (0003) YS N,

5、M 4 大部分同学的实验结果是:0 号灯亮了 17 秒,1 号灯亮了 12 秒。因为一个 灯点亮后,没有关闭,就点亮下一个灯了。 3断开指令(17) 断开指令功能:使 N 指向的输出口变为高电平,使发光二极管关闭。 【例 3】让 0 号灯亮 5 秒,然后让 1 号灯亮 2 秒,最后让 2 号灯亮 10 秒。 0.0. 00 00 02 05 01 01 00 00 01 02 02 01 01 01 00 02 02 10 01 15 【练习】点亮 6 个发光二极管,延时 5 秒。 第三次课 1转向指令(20) 转向指令功能:又叫无条件转移指令,运行到这条指令,就转去执行 N 地 址处的指令。

6、 【例 1】让 0 号灯闪起来,闪动间隔 0.5 秒。 【例 2】让 0 号灯与 1 号灯交替闪起来,闪动间隔 0.5 秒。 机器码 助记符指令名称 操作码 操作数 操作码 操作数 断开 01 0007 DK N 机器码 助记符指令名称 操作码 操作数 操作码 操作数 转向 10 0099(地址) ZX N 闪 点亮 延时 关闭 延时 0.0. 00 00 02 05 00 01 00 02 05 00 10 00 15 交替闪 点亮 0 号 延时 关闭 0 号 点亮 1 号 延时 关闭 1 号 0.0. 00 00 02 05 00 01 00 00 01 02 05 00 01 01 10

7、 00 15 5 【例 3】让 0,1,2 号灯模仿交通灯,0 号灯亮 5 秒,1 号灯亮 2 秒,2 号灯亮 5 秒,无限循环。 0.0. 00 00 02 05 01 01 00 00 01 02 02 01 01 01 00 02 02 05 01 01 02 10 00 15(做什么用的?)标志吗? 【练习】模仿十字路口的交通灯工作。 西 东 北 南 第四次课 编写程序的过程可以分为四个步骤 【例 1】让 0 号灯亮 5 秒钟 第一步是画流程图。就是把任务用流程图的方式表示出来,形式直观,一 目了然。见下图。 第二步是根据流程图 中的任务选择指令,利用指 令助记符形式来编写源程序。 第

8、三步是按照指令表的规定,把助记符指令翻译成机器码。机器码,也称 作目标程序。只有目标程序才能输入到单片机中由 CPU 执行。 第四步是给指令代码分配存储地址。DP-801 型单片机要求从存储器的第一 个单元开始存放数据。第一个单元的地址号是 00,为了把地址号与存储数据区 分开,通常把地址号记作“0.0.” ,写在第一条指令机器码的左边。安排存储地 址,并不是在每个机器码的左边都写上地址号。而是只在每条指令的第一个机 器码左边,写上分给它的一个地址号。 第二步 第四步 第三步 源程序 地址 机器码 注释 开始 结束 点亮 0 号发光二极管 延时 5 秒 关闭 0 号发光二极管 6 JT N 0

9、.0. 00 00 ;点亮 0 号发光二极管 YS N M 0.2. 02 05 01 ;延时 5 秒 DK N 0.5. 01 00 ;关闭 0 号发光二极管 JIESH 0.7. 15 ;结束 【练习】 1让 6 个发光二极管从前向后循环跑,延时 0.1 秒。 2让 6 个发光二极管由前向后,再由后向前来回跑,延时 0.1 秒。 (23 页练习) 3顺序点亮 0 至 5 号发光二极管,再逆序关闭这 6 个发光二极管,循环。 4让 0 号灯闪 5 次。 5让 0 号灯与 5 号灯交替闪 3 次。 第五次课 【例 1】让 0 号灯闪 5 次。 方法一: 15 00 00 02 01 01 01

10、 00 02 01 01 0.0. 00 00 02 01 01 01 00 02 01 01 00 00 02 01 01 01 00 02 01 01 00 00 02 01 01 01 00 02 01 01 00 00 02 01 01 01 00 02 01 01 5 段程序 完全相同 7 这种方法简单,但使得程序冗长,浪费时间。如果闪的次数更多,实现起 来困难。 方法二:用调用子程序的方法(33) 调用指令功能:用于调用子程序。把程序中需要多次重复的一段程序作为 子程序,需要的时候只要用调用指令就可以了。 返回指令功能:由子程序返回到主程序中调用指令的下一条去执行。是子 程序结束的

11、标志。 将方法一中需要重复的程序(0 号灯闪 1 次)作为子程序,写在主程序的 后面,在主程序中连续调用 5 次,即可以实现让 0 号灯闪 5 次的效果,大大简 化了程序。如下图所示: 主程序一定从起始单元地址输入,然后再输入子程序。主程序与子程序之 机器码 助记符指令名称 操作码 操作数 操作码 操作数 调用 12 0099(地址) DY N 返回 13 - FH 主程序 子程序00 00 02 01 01 01 00 02 01 01 13 12 M 12 M 12 M 12 M 12 M 15 0.0. N :M : M 为子程 序的起始 地址 需要重复循环的部 分做子程序。 8 间可以

12、空若干个单元,主程序以 15 为结束标志,子程序以 13 为结束标志。这 种方法可以大大简化程序。 【练习】 1让 4 号灯闪 5 次。 2让 2 号灯与 3 号灯交替闪 4 次。 3让 6 个发光二极管由前向后,再由后向前来回跑 3 次。 4顺序点亮 0 至 5 号发光二极管,再逆序关闭这 6 个发光二极管,循环 6 次。 第六次课 【例 1】让 0 号灯闪 3 次,然后 1 号灯闪 3 次,再让 2 号灯闪 3 次。 主程序 子程序 1 00 00 02 01 00 01 00 02 01 00 13 12 M 12 M 12 M 12 L 12 L 15 0.0. N : M : 子程序

13、 2 00 01 02 01 00 01 01 02 01 00 13 L : 子程序 3 00 02 02 01 00 01 02 02 01 00 13 P : 9 当程序中出现多个子程序时,主程序从起始单元地址输入,然后输入子程 序,多个子程序之间没有先后次序,执行的顺序由主程序来决定,每个子程序 都以 13 为结束标志。 【练习】 1让 0 号灯闪 1 次,让 1 号闪 2 次,让 2 号闪 3 次,让 3 号闪 4 次,让 4 号闪 5 次,让 5 号闪 6 次。 2让 0、3 号灯交替闪 3 次,然后 1、4 号交替闪 3 次,再 2、5 号交替闪 3 次, 大循环。 第七次课 【

14、练习】 1让发光二极管按 0-5-4-1-2-3-4-1-0-5 的顺序跑,循环 3 次。 2让发光二极管按 2-3-4-1-0-5-4-1-2-3 的顺序跑,循环 3 次。 3让 0 号灯闪 3 次,然后从 0 跑到 5,再让 5 号灯闪 3 次,再从 5 跑到 0,大 10 循环。 分析:这三道题有共同的特点,都用到了 6 个发光二极管的闪,将每个发光二 极管闪一次的过程作为子程序。 画图写指令分配地址上机 提示:1. 子程序的起始单元地址最大只能为 9.9. 2. 尽可能给主程序留出足够的空间。 3数据范围 0099 地址范围 0255 第八次课 1清用户程序 (1)清成 15 主程序

15、12 A 12 B 12 C 12 D 12 E 15 0.0. N : 子程序 1 00 00 02 01 00 01 00 02 01 00 13 A : 子程序 2 00 01 02 01 00 01 01 02 01 00 13 B : 子程序 3 00 02 02 01 00 01 02 02 01 00 13 C : 子程序 4 00 03 02 01 00 01 03 02 01 00 13 D : 子程序 5 00 04 02 01 00 01 04 02 01 00 13 D : 子程序 6 00 05 02 01 00 01 05 02 01 00 13 D : 11 0.

16、0. 14 02 15 (2)清成 00 0.0. 14 02 00(无法清掉 15) 【练习】 12、3 号交替闪,1、4 号交替闪,0、5 号交替闪,循环 3 次。 20、5 号交替闪,1、4 号交替闪,2、3 号交替闪,循环 6 次。 30、5 号同闪,1、4 号同闪,2、3 号同闪,0、5 号同闪,循环 3 次。 40、3 号同闪 3 次,1、4 号同闪 3 次,2、5 号同闪 3 次,循环 3 次。 5让 2、3 号交替闪 90 次。 第九次课 1奏乐指令(24) 奏乐指令功能:从喇叭插座上输出音频信号,能演奏 3 组音程,N 为音高, 即: 低音 0107 中音 1117 高音 2

17、127 休止符 00 M 为音长 00 6 十六分音符 100 毫秒 = 0.1 秒 01 6 八分音符 200 毫秒 = 0.2 秒 02 6. 八分符点音符 300 毫秒 = 0.3 秒 03 6 四分音符 400 毫秒 = 0.4 秒 04 6. 四分符点音符 600 毫秒 = 0.6 秒 05 6- 二分音符 800 毫秒 = 0.8 秒 06 6- 全音符 1.6 秒 07 2.4 秒 08 3.2 秒 09 6.4 秒 10 长期发音 机器码 助记符指令名称 操作码 操作数 操作码 操作数 奏乐 03 音高 音长 ZY N M 12 11 停止发音 【练习】 1. 11 55 66

18、 5 | 44 33 22 1 | 2. 33 3 | 33 3 | 35 12 3 - | 44 4. 4 | 43 3 | 55 42 1 - | 3. 2 5 同时 0 号灯闪,模仿救护车警笛声。 4 3 5 6 0 | 3 5 2 0 | 3 5 6 1- | 6 5 | 1 3 2 - | 2 3 5 0 | 2 3 6 0 | 6 1 2 3 - | 2 1 6 5 1 - | 演奏 1 个音的时间内,1 个灯完成闪的动作。 00 00 03 11 00 03 11 01 01 00 03 11 00 第十次课 【练习】用奏乐指令延时,发音配合灯闪。 10、1 同闪1、2 同闪2、

19、3 同闪3、4 同闪4、5 同闪3、4 同闪 2、3 同闪1、2 同闪0、1 同闪,循环 3 次。 20、1、2 同闪1、2、3 同闪2、3、4 同闪3、4、5 同闪2、3、4 同闪 1、2、3 同闪0、1、2 同闪,循环 3 次。 32、5 同闪1、4 同闪0、3 同闪1、4 同闪2、5 同闪,循环 4 次。 40、1、2 依次闪,5、4、3 依次闪,交替闪 5 次。 50、1 与 5、4 交替闪,1、2 与 3、4 交替闪,循环 10 次,用数码管计数。 60、3 交替闪1、4 交替闪2、5 交替闪1、4 交替闪0、3 交替闪,循 环 30 次,数码管计数,然后 6 个发光二极管同闪 10

20、 次,计数。 70、1、2 依次闪,5、4、3 依次闪,循环 10 次,计数,然后 0 至 5 至 0 依次 闪,循环 20 次,计数。 . . . 13 第十一次课 1显示指令(55) 显示指令功能:可以开关数码管。N 为 00 表示关闭;N 为 01 表示打开。当 执行关数码管指令后,尽管看不到,但送给数码管的数都是有效的,当再执行 开数码管指令后,数码管显示最后一次送给它的数。这条指令是为了节省电源 而设置的。 【例 1】关闭数码管 5 秒钟。 0.0. 05 00 02 05 01 15 【例 2】让数码管亮 5 秒钟,灭 5 秒钟,循环 3 次。 0.0. 12 10 12 10 1

21、2 10 15 1.0. 05 01 02 05 01 05 00 02 05 01 13 试一试:例 1 与例 2 中,用奏乐指令来代替延时可以吗?(不可以) 【例 3】将 0 号灯点亮 5 秒钟,同时关闭数码管。 0.0. 05 00 00 00 02 05 01 15 试一试:此例题用奏乐指令来代替延时可以吗?(可以)说明,奏乐指令不能 直接与显示指令搭配使用。 2送数指令(44) 机器码 助记符指令名称 操作码 操作数 操作码 操作数 显示 05 0001 XS N 14 送数指令功能:将数送到数码管上显示。在 DP801 单片机中,只有一个 存放数据的单元,就是数码管,因此所有数的操

22、作都是对数码管进行的。 【例 4】将 30 送到数码管上显示 5 秒钟。 0.0. 04 30 02 05 01 15 问题 1:执行此程序后,数码管上不显示 30,而是显示时间倒计时。因为延时 指令有占用数码管的优先权,此时要想达到延时的效果,只能用奏乐指令。 【例 5】将 30 送到数码管上显示 5 秒钟后,关闭数码管。 0.0. 04 30 03 00 09 0.5. 05 00 03 00 09 10 05 15 问题 2:数码管一直显示 30,不执行关闭数码管指令,显然此时用奏乐指令不 行,还得用延时指令。 0.0. 04 30 03 00 09 0.5. 05 00 02 05 0

23、1 10 05 15 结论:通过此例题说明,当使用送数指令时,不能用延时指令,因为数码管会 被占用进行倒计时,此时需要用奏乐指令来延时。 【练习】 1设计一个十进制和四位二进制对照程序,数码管上显示十进制数,用 0、1、2、3 这四个灯表示二进制数,灯亮表示“1” ,灯灭表示“0” 。 十进制数 二进制数 00 0000 01 0001 02 0010 03 0011 机器码 助记符指令名称 操作码 操作数 操作码 操作数 送数 04 0099 SS N 15 04 0100 05 0101 06 0110 07 0111 08 1000 09 1001 10 1010 11 1011 12

24、1100 13 1101 14 1110 15 1111 2让 0 号灯亮 0.4 秒,然后让 1 号灯亮 0.6 秒,最后让 2 号灯亮 0.8 秒,循环, 在程序运行过程中数码管一直处于关闭状态。 3让 6 个发光二极管从前向后,再从后向前循环跑,延时 0.2 秒,在程序运行 过程中数码管一直处于关闭状态。 第十二次课 1加数指令(45) 加数指令功能:将数码管上的数当成被加数,N 为加数,相加的结果送数 码管显示。 【例 1】计算 33+56=?,结果显示 6.4 秒。 0.0. 04 33 06 56 03 00 09 15 【例 2】计算 23+36+19=?,结果显示 4 秒。 0

25、.0. 04 23 06 36 06 19 03 00 05 03 00 08 15 机器码 助记符指令名称 操作码 操作数 操作码 操作数 加数 06 0099 JS N 16 当用奏乐指令代替延时指令时,注意时间的表示 代码 时间 00 0.1 秒 01 0.2 秒 02 0.3 秒 03 0.4 秒 04 0.6 秒 05 0.8 秒 06 1.6 秒 07 2.4 秒 08 3.2 秒 09 6.4 秒 如延时 4 秒,可以用两条奏乐指令拼凑时间: 03 00 05 03 00 08 【例 3】制作一个计数器,让它从 0 开始每次增加 1,延时 1 秒。 0.0. 04 00 03 0

26、0 03 03 00 04 06 01 10 02 15 试一试:如果和超过了 99,会出现什么情况? 当超过 99 时,高位数码管采用十六进制表示,能表示的最大的数为 F9(159) 。 【例 4】制作一个计数器,让它显示 0 号灯闪的次数。 0.0. 04 00 06 01 00 00 03 00 02 01 00 03 00 02 10 02 15 2减数指令(52) 17 减数指令功能:将数码管上的数当成被减数,N 为减数,相减的结果送数 码管显示。 【例 5】计算 56-30=?,结果显示 3 秒。 0.0. 04 56 07 30 03 00 04 03 00 07 15 【例 6

27、】计算 56-30+19=?,结果显示 6.4 秒。 0.0. 04 56 07 30 06 19 03 00 09 15 【例 7】制作一个计数器,让它从 99 开始每次减 1,延时 0.8 秒。 0.0. 04 99 03 00 05 07 01 10 02 15 【练习】 1让 6 个发光二极管同时闪,利用数码管计闪的次数。 2让发光二极管从 5 跑到 0 号,边跑边奏乐,从中音 6 到中音 1,同时数码管 上显示相应的音符。 3让 0 号与 3 号发光二极管交替闪,在数码管上显示相应的发光二极管的代码。 如亮 0 号灯就显示 00,亮 3 号灯就显示 03,循环 5 次。 4让 6 个

28、发光二极管循环跑起来(从 0 跑到 5,再跑回 0) ,在数码管上显示相 应的发光二极管的代码。如亮 0 号灯就显示 00,亮 1 号灯显示 01。循环 3 次。 5让发光二极管从 0 跑到 5 号,边跑边奏乐,从中音 1 到中音 6,奏中音 7 时, 关闭所有发光二极管,奏高音 1 时,点亮所有发光二极管;再奏中音 7,关闭 所有发光二极管,再让发光二极管从 5 跑到 0 号,从中音 6 到中音 1,同时数 码管上显示相应的音符,如奏中音 1 就显示 01。 6顺序点亮 0 至 5 号发光二极管,再逆序关闭这 6 个发光二极管,同时数码管 机器码 助记符指令名称 操作码 操作数 操作码 操作

29、数 减数 07 0099 JIS N 18 上显示相应的发光二极管的代码,如亮 0 号灯就显示 00,亮 1 号灯就显示 01, 循环。 第十三次课 1数相等转指令(51) 数 相等 转指令功能:比较数码管上的数与 N 是否相等,若相等,则转到地址 M 去执行 指令,否则执行下一条指令。 【例 1】让 5 号发光二极管闪 10 次,利用数码管计数。 【例 2】让 2 号与 3 号发光二极管交替闪 90 次,且用数码管计数。 机器码 助记符指令名称 操作码 操作数 操作码 操作数 数相等转 11 (0099)(0099) SDZ N M 流程图 Y N 结束 送数 00 加 1 5 号灯闪 1

30、次 开始 无条件转 与 10 相等吗? 0.0. 04 00 06 01 00 05 03 00 02 01 05 03 00 02 11 10 19 10 02 1.9. 15 19 【练习】 1顺序点亮 0 至 5 号发光二极管,再逆序关闭这 6 个发光二极管,循环 20 次, 数码管计数。 2让 6 个发光二极管从前向后,再从后向前循环跑 25 次,数码管计数。 30、1 与 5、4 交替闪,1、2 与 3、4 交替闪,循环 10 次,用数码管计数。 40、5 号交替闪,1、4 号交替闪,2、3 号交替闪,循环 16 次,数码管计循 环的次数,循环结束后数码管一直处于关闭状态。 50、5

31、 号同闪,1、4 号同闪,2、3 号同闪,0、5 号同闪,1、4 号同闪,循 环 13 次,数码管计循环的次数,循环结束后数码管一直处于关闭状态。 6让 0 号灯与 5 号灯交替闪 3 次,在数码管上显示相应的发光二极管的代码。 如亮 0 号灯就显示 00,亮 5 号灯就显示 05,循环 5 次。 7让 0、3 号灯交替闪 3 次,然后 1、4 号交替闪 3 次,再 2、5 号交替闪 3 次, 同时数码管上显示相应的发光二极管的代码,循环 3 次。 第十四次课 【例 1】画流程图,判断 5 号灯闪的次数。 0.0. 04 00 0.2. 06 01 00 05 03 00 02 01 05 0

32、3 00 02 11 20 M 流程图 结束 送数 00 加 1 2、3 号交替闪 开始 无条件转 与 90 相等吗? 0.0. 04 00 06 01 00 02 03 00 02 01 02 00 03 03 00 02 01 03 11 90 23 10 02 2.3. 15 结束 送数 00 加 1 5 号灯闪 开始 无条件转 与 20 相等吗? Y N 20 次 20 10 02 M: 15 0.0. 04 01 0.2. 00 05 03 00 02 01 05 03 00 02 06 01 11 20 M 10 02 M: 15 0.0. 04 01 0.2. 11 20 M 0

33、0 05 03 00 02 01 05 03 00 02 06 01 10 02 M: 15 0.0. 04 00 0.2. 06 01 11 20 M 00 05 03 00 02 01 05 03 00 02 10 02 M: 15 结束 送数 01 加 1 5 号灯闪 开始 无条件转 与 20 相等吗? Y N 结束 送数 01 加 1 5 号灯闪 开始 无条件转 与 20 相等吗? Y N 结束 送数 00 加 1 5 号灯闪 开始 无条件转 与 20 相等吗? Y N 19 次 19 次 19 次 21 结论:通过这四段程序,我们会发现后三种程序都少执行了一次闪的动作。因 为执行加数

34、指令之后,就直接进行判断,当数码管上显示 20 时,直接跳出循环, 没有再执行闪的动作。 【例 2】0 号灯闪 2 次的时间内,1 号灯闪 6 次,循环 10 次,数码管计数。 分析: 1此题可以用数相等转与子程序的调用配合完成。 20 号灯闪 2 次的时间内,1 号灯闪 6 次,可以看成 0 号灯闪 1 次的时间 内,1 号灯闪 3 次,重复执行两次。因此可以把它作为子程序。 3主程序则用数相等转指令来完成循环 10 次,计数,循环的内容为两次 调用子程序,流程图如下: 4在子程序中要实现 0 号灯闪 1 次的时间内,1 号灯闪 3 次的任务,就要 掌握时间的分配。分配的方法有多种,如下图所

35、示: 分配方案一:0 号灯亮时,1 号灯闪 1 次,0 号灯灭时,1 号灯闪 2 次。 主程序 结束 送数 00 加 1 调用子程序 开始 无条件转 与 10 相等吗? 调用子程序 0.0. 04 00 0.2. 06 01 12 M 12 M 11 10 N 10 02 N: 15 M: 00 00 13 22 分配方案二:0 号灯亮时,1 号灯闪 2 次,0 号灯灭时,1 号灯闪 1 次。 分配方案三:0 号灯亮时,1 号灯闪 1 次半,0 号灯灭时,1 号灯闪 1 次半。 0 号灯闪 1 次 0 号灯灭 1 号灯闪 3 次 0 号灯亮 延时 延时 1 号灯灭 1 号灯亮 延时 延时 1

36、号灯灭 1 号灯亮 延时 延时 1 号灯灭 1 号灯亮 延时 延时 代替延时 代替延时 0 号灯闪 1 次 0 号灯灭 1 号灯闪 3 次 0 号灯亮 延时 延时 1 号灯灭 1 号灯亮 延时 延时 1 号灯灭 1 号灯亮 延时 延时 1 号灯灭 1 号灯亮 延时 延时 代替延时 代替延时 23 【例 2】让 0 号、3 号灯同闪 3 次,1 号、4 号灯同闪 4 次,2 号、5 号灯同闪 5 次,循环。 流程图 结束 开始 送数 00 加 1 0、3 同闪 1 次 无条件转 与 3 相等吗? 送数 00 加 1 1、4 同闪 1 次 无条件转 与 4 相等吗? 送数 00 加 1 2、5 同

37、闪 1 次 无条件转 与 5 相等吗? 0.0. 04 00 0.2 06 01 00 00 00 03 03 00 02 01 00 01 03 03 00 02 11 03 23 10 02 2.3. 04 00 2.5 06 01 00 01 00 04 03 00 02 01 01 01 04 03 00 02 11 04 46 10 25 4.6. 04 00 4.8 06 01 00 02 00 05 03 00 02 01 02 01 05 03 00 02 11 05 69 10 48 6.9. 15 24 【练习】 1数码管从 00 开始计数,每次增加 1,延时 1 秒,到

38、60 后再递减,每次减 1 到 00,循环。 20、3 号同闪 3 次,1、4 号同闪 3 次,2、5 号同闪 3 次,循环 20 次,数码 管计循环的次数,循环结束后数码管一直处于关闭状态。 30、1 同闪1、2 同闪2、3 同闪3、4 同闪4、5 同闪3、4 同闪 2、3 同闪1、2 同闪0、1 同闪,循环 15 次,数码管计循环的次数,循环 结束后数码管一直处于关闭状态。 第十五、十六次课 10、3 交替闪1、4 交替闪2、5 交替闪1、4 交替闪0、3 交替闪,循 环 30 次,数码管计数,然后 6 个发光二极管同闪 10 次,数码管计数。 20、1、2 依次闪,5、4、3 依次闪,循

39、环 10 次,数码管计数,然后 0 至 5 至 0 依次闪,循环 20 次,数码管计数。 30、1、2 同闪1、2、3 同闪2、3、4 同闪3、4、5 同闪2、3、4 同闪 1、2、3 同闪0、1、2 同闪,循环 8 次,数码管计循环的次数,循环结束后 数码管一直处于关闭状态。 4让发光二极管按 0-5-4-1-2-3-4-1-0-5 的顺序跑,同时数码管上显示相应的 发光二极管的代码,循环 3 次。 5让发光二极管按 2-3-4-1-0-5-4-1-2-3 的顺序跑,循环 3 次,在程序运行过 程中数码管一直处于关闭状态。 6让 0 号灯闪 3 次,然后从 0 跑到 5,再让 5 号灯闪 3

40、 次,再从 5 跑到 0,同 时数码管上显示相应的发光二极管的代码,循环 3 次后数码管一直处于关闭状 态。 72、3 号交替闪,1、4 号交替闪,0、5 号交替闪,循环 3 次后数码管一直处 于关闭状态。 82、5 同闪1、4 同闪0、3 同闪1、4 同闪2、5 同闪,循环 4 次,奏 乐,同时数码管上显示演奏的音符。 90、1、2 依次闪,5、4、3 依次闪,两组交替闪 5 次,奏乐,同时数码管上 25 显示演奏的音符。 中级班 注:需要自备两头为双插孔的导线 10 根和两头为针状导线 10 根。 第一次课 10、5 号交替闪,1、4 号交替闪,2、3 号交替闪,循环 16 次,数码管计循

41、 环的次数,循环结束后数码管一直处于关闭状态。 20、5 号同闪,1、4 号同闪,2、3 号同闪,0、5 号同闪,1、4 号同闪,循 环 13 次,数码管计循环的次数,循环结束后数码管一直处于关闭状态。 3让 0 号灯与 5 号灯交替闪 3 次,在数码管上显示相应的发光二极管的代码。 如亮 0 号灯就显示 00,亮 5 号灯就显示 05,循环 5 次。 4让 0、3 号灯交替闪 3 次,然后 1、4 号交替闪 3 次,再 2、5 号交替闪 3 次, 同时数码管上显示相应的发光二极管的代码,循环 3 次。 第二次课 【实验一】同时点亮 05 号灯,循环。 运行程序后,将图中所示的 05 号短路环

42、依次取下,观察发光二极管的状态。 【实验二】同时点亮 05 号灯,循环。 将 05 号短路环全部取下。 运行程序后,将 05 号短路环全部取下,6 个发光二极管全不亮了。在没有短 路环的情况下,怎样让发光二极管亮起来? 如图所示,用两头为双插孔的导线将输出端口的 00 号针与 1 号短路环上侧 的针连接起来,观察实验现象。 26 同理,将输出端口的 01 号针与 2 号短路环上侧的针相连,以此类推。 结论:输出端口的 0005 号针与短路环外侧的针在电路中是相通的。 【实验三】输入如下程序。 (短路环全部取下) 0.0. 00 00 02 05 01 10 00 15 运行程序后,将导线的一端

43、插在输出端口的 00 号针上,另一端依次插在 05 号短路环外侧的针上,观察实验现象。 【实验四】将实验三程序中的第一条指令改为“00 07” 运行程序后,将导线的一端插在输出端口的 07 号针上,另一端依次插在 05 号短路环外侧的针上,观察实验现象。 结论:接通指令后面的操作数指的是 DP-801 的输出端口 0007,断开指令同 理。 【实验五】将用户程序清除,将短路环全部取下,然后导线一端插在 GND 针上, 另一端插在任意一个短路环外侧的针上,观察实验现象。 【实验六】将用户程序清除,将短路环全部安上,然后导线一端插在 GND 针上, 另一端插在 0005 任意一个输出针上,观察实验

44、现象。 练习 1用 6 号 I/O 口控制 0 号发光二极管,让 0 号发光极二管闪起来,数码管计闪 动的次数。 2用 7 号 I/O 口控制 2 号发光二极管,用 6 号 I/O 口控制 3 号发光二极管,让 27 2、3 号发光二极管交替闪起来,数码管计闪动的次数。 第三次课 用 DP801 控制变光管(DP801-1 板) 。物理连线如下图,用两头为双插孔的导线 按图示接连好。 DP801 主板 变光管 实验前将 DP-801 上的 6 个短路环接好,观察变光管的颜色。 【实验一】点亮 0 号和 4 号发光二极管,观察变光管的颜色。 【实验二】点亮 0 号发光二极管,关闭 4 号发光二极

45、管,观察变光管的颜色。 【实验三】点亮 4 号发光二极管,关闭 0 号发光二极管,观察变光管的颜色。 请你通过实验判断变光管有几种颜色? 颜色 CHU1 CHU2 白 0 0 黄 1 1 红 0 1 绿 1 0 练习 1让变光管按红、黄、绿的顺序变色,循环 10 次,并用数码管计数。 2让变光管按红、黄、绿的顺序变色,循环 10 次,并用数码管计数。循环结 束后,变光管为白色。 28 第四次课 1让变光管按绿、黄、红的顺序变色,循环 90 次,并用数码管计数。 2让变光管先闪 10 次绿光后,再闪 10 次黄光,最后闪 10 次红光,关闭,用 数码管计每次闪动的次数。 3利用 DP-801 上

46、的 6 个发光二极管与变光管制作一组灯,有如下规律: 当变光管为红色时,DP-801 实现跑灯,从 0 跑到 5; 当变光管为绿色时,DP-801 实现跑灯,从 5 跑到 0; 当变光管为黄色时,DP-801 实现依次点亮 05 号灯; 当变光管为白色时,DP-801 实现逆序关灯; 循环 10 次,计数。 第五次课 用 DP801 控制三色灯,物理连线如下图,在三色灯板上用两头为针状导线按图 示连好线,用配备的宽数据线将三色灯左侧的 26 针座与 DP801 上的 26 针座连 接好。 实验前将 DP-801 上的 6 个短路环接好,观察三色灯的状态。 【实验一】点亮 0 号和 1 号发光二

47、极管,观察三色灯的变化。 【实验二】点亮 0 号发光二极管,关闭 1 号发光二极管,观察三色灯的变化。 【实验三】点亮 1 号发光二极管,关闭 0 号发光二极管,观察三色灯的变化。 【实验四】点亮 2 号和 3 号发光二极管,观察三色灯的变化。 【实验五】点亮 2 号发光二极管,关闭 3 号发光二极管,观察三色灯的变化。 【实验六】点亮 3 号发光二极管,关闭 2 号发光二极管,观察三色灯的变化。 【实验七】点亮 4 号和 5 号发光二极管,观察三色灯的变化。 【实验八】点亮 4 号发光二极管,关闭 5 号发光二极管,观察三色灯的变化。 【实验九】点亮 5 号发光二极管,关闭 4 号发光二极管

48、,观察三色灯的变化。 29 通过以上实验你得出什么结论?你能找出三色灯三种颜色的变化规律吗? 三色灯 输出口 颜色 0 1 2 3 4 5 黄 1 1 1 1 1 1 白 0 0 0 0 0 0 绿 0 1 0 1 0 1 红 1 0 1 0 1 0 注:1断开,0接通 【练习】 1让 3 个灯同时按红、黄、绿的顺序循环变色 10 次,数码管计数。 2 关闭,灯按红黄绿顺序循环变色 5 次,关闭,数码管计数;然后 关闭,灯按绿黄红顺序循环变色 5 次,关闭,数码管计数;然后 关闭,灯按黄红绿顺序循环变色 5 次,关闭,数码管计数;然后 关闭。 第六次课 用 DP801 控制三色灯,用宽数据线将三色灯左侧的 26 针座与 DP801 上右侧的 26 针座连接好。并按如下要求在三色灯板上连接好线。 CHU06 CHU15 CHU24 CHU33 CHU42 CHU51 实验前将 DP-801 上的 6 个短路环接好,观察三色灯的状态。 【实验一】点亮 0 号和 1 号发光二极管,观

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 自然科学

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。