5.1视觉实验:LED流水灯.pptVIP

  • 8
  • 0
  • 约1.06万字
  • 约 27页
  • 2017-06-03 发布于四川
  • 举报
机器语言:枯燥、难懂,不便于阅读和理解; 汇编语言:易记忆、相对而言更容易理解,但使用规则和技巧比较多,初学者在理解上也有一定难度。 * “人眼的反应时间:毫秒级”参考依据:液晶电视、电脑感觉不到闪屏的响应时间或频率 * * * * * 5.1 视觉实验:LED流水灯 目 录 引 言 单个灯闪烁 LED流水灯 户外广告灯 引 言 小实验: ① 注视右图中心四个黑点15秒 — 30秒钟; ② 然后朝自己身边的墙壁看(白色的墙或白色的背景)或者看此页面的白色部分; ③ 看的同时快速眨几下眼睛,看看您能看到什么? 视觉暂留现象 视觉暂留 物体在快速运动时,当人眼所看到的影象消失后,人眼仍能继续保持其影象0.1~0.4秒左右的图象,这种现象被称为视觉暂留现象。 电影 户外动画广告 电视 目 录 引 言 单个灯闪烁 LED流水灯 户外广告灯 LED驱动电路工作原理 与单片机的P1口相连 74HC04非门 P1 = 0XFF 0 0 0 0 0 0 0 0 P1.0 = 1 1 0 P1 = 0X00 1 1 1 1 1 1 1 1 P1.0 = 0 0 1 编程思路1:对P1.0进行反复置1、清0操作,以实现引脚上的LED闪烁。 单个LED闪烁范例1——程序代码 .AREA HOME(ABS, CODE) .ORG 0x0000 ;复位向量,程序起始地址 Start: SETB P1.0 ;P1.0=1,点亮LED CLR P1.0 ;P1.0=0,熄灭LED SJMP Start ;返回Start重复执行 编程思路1:对P1.0进行反复置1、清0操作,以实现引脚上的LED闪烁。 实验现象: LED不闪烁,不太亮又有点亮。 每一个汇编程序必须要有一个以HOME命名的段,否则编译时会出现警告。 以句点开头的命令为汇编命令 .AREA命令定义了一个绝对定位段——HOME .org命令在HOME程序中进行绝对定位,定位复位向量 SDCC51编译器仅支持0x0000格式,不支持0000H。 “Start”为程序的标号。在二进制层面,标号的值就是存储器的地址,而标号又是引用存储器的值的别名,因此在语言层面 标号的值就是程序的地址。 地址 操作码与操作数 助记符 注释 0000 0000 1101 0010 SETB P1.0 ;P1.0口置1,点亮LED 0000 0001 1001 0000 0000 0010 1100 0010 CLR P1.0 ;P1.0口清0,熄灭LED 0000 0011 1001 0000 0000 0100 1000 0000 SJMP 0x0000 ;跳转到程序头,重复执行 0000 0101 1111 1010 机器语言 汇编语言 单个LED闪烁范例1——问题分析 编程思路1:对P1.0进行反复置1、清0操作,以实现引脚上的LED闪烁。 实验现象: LED不闪烁,不太亮又有点亮。 问题解决: 在置1/清0操作之后,增加零点几秒或几秒的延时。 因此,如果要让人眼看到LED闪烁,我们必须将LED点亮和熄灭的停顿时间扩大接近秒的级别 计算机指令的执行速度非常快,其执行时间是微秒级的 人眼的反应时间:毫秒级 单个LED闪烁范例2——编程思路 编程思路2:对P1.0进行置1、延时、清0、延时的反复操作,使LED闪烁。 .AREA HOME(ABS, CODE) .ORG 0x0000 ;复位向量,程序起始地址 Start: SETB P1.0 ;P1.0=1,点亮LED CLR P1.0 ;P1.0=0,熄灭LED SJMP Start ;返回Start重复执行 ;执行延时Delay实体代码 ;执行延时Delay实体代码 单个LED闪烁范例2——延时程序编写 所谓停顿,就是站在那里不动,但单片机并不会停滞不前,它会一直以微秒级的速度狂奔。我们并不

文档评论(0)

1亿VIP精品文档

相关文档