文档详情

汇编语言实现LED流水灯设计单片机应用技术课件.pptx

发布:2025-04-28约1.31千字共12页下载文档
文本预览下载声明

汇编语言实现LED流水灯设计

主讲人:陈志红

《单片机应用技术》

一.设计任务

LED流水灯:用单片机的P0口控制8只LED灯,

实现LED灯从左到右循环闪烁

二任务分析

硬件

软件

1.硬件电路

2.软件程序

3.下载调试

单片机最小应用系统

+

LED驱动电路

三硬件电路

8

P0

ISP

电源

硬件结构图

AT89S51

单片机最小系统

三硬件电路

单片机的I/O端口

单片机共计32个I/O端口

当端口写1时,输出高电平,约为5V;

当端口写0时,输出低电平,约为0V;

51单片机

P0

P2

P1

P3

三硬件电路

典型的发光二极管控制电路

写入“1”

写入“0”

三硬件电路

四软件设计

根据任务要求,通过对硬件电路的分析理解,我们可以控制P0口的

8个引脚,使第1脚输出低电平(0V),延时一段时间(人眼的视觉暂留

时间约为0.05~0.2S。)后再恢复输出高电平.

然后使第2脚输出低电平,依次到第8个引脚。然后从第1引脚循环,

实现流水灯显示。

四软件设计

P0-0=0

延时

P0-7=0

延时

左移:MOVA,#0FEH

RLA

延时子程序

DELAY:MOVR7,#0FFH

DE2:MOVR6,#0FFH

DE3:DJNZR6,DE3

DJNZR7,DE2

RET

四软件设计

RG0000H ;复位后PC值为0000,程序从此处开始执行

LJMPMAIN;将程序运行指向流水灯程序

MAIN:MOVA,#0FEH;累加器A赋值FEH,即最低位为0,可点亮对应LED

LOOP:MOVP0,A ;将累加器值送P0端口

ACALLDELAY ;LED点亮后,为了便于观察,延时一段时间

RLA ;对累加器的内容循环左移

AJMPLOOP ;跳转到LOOP继续执行程序

四软件设计

ORG0100H ;延时子程序存放地址为0100H

DELAY:MOVR7,#0FFH ;对延时参数R7赋值

DE2:MOVR6,#0FFH ;对延时参数R6赋值

DE3:DJNZR6,DE3 ;R6自减一,不为0循环减一

DJNZR7,DE2 ;R6自减一,不为0跳转到DE3位置循环

RET ;子程序返回

END ;程序结束

感谢聆听!

主讲人:陈志红

《单片机应用技术》

显示全部
相似文档