试验9------单片机小键盘控制的花样彩灯

发布者:CaptivatingGaze最新更新时间:2011-02-25 手机看文章 扫描二维码
随时随地手机看文章

试验9------单片机小键盘控制的花样彩灯

该程序示例了单片机键盘控制p1口流水灯花样的方法;具体表现为:p3.2 3.2  3.4  3.5四个小按键

分别实现了四个控制:

1启动,停止;在任何状态下按此键程序停止运行.

2 跑灯,p1.0---1.7亮点流动:

3 流水灯; p1.0-1.7 依次点亮

4 交错等; p0.O,P0.2,P0.4,P0.6和p0.1,P0.3,P0.5,P0.7轮流点亮

该程序调试通过:

;************;

;亮灯控制程序;

;************;

;

;************;

;中断入口程序;

;************;

;

ORG 0000H

LJMP START

ORG 0003H

RETI

ORG 000BH

RETI

ORG 0013H

RETI

ORG 001BH

RETI

ORG 0023H

RETI

;

;************;

; 初始化程序 ;

;************;

;

CLEAR: RET

;

;************;

; 主 程 序 ;

;************;

;

START:ACALL CLEAR

STAR1:MOV P3,#0FFH

JNB P3.4,FUN0

JNB P3.5,FUN1

JNB P3.2,FUN2

JNB P3.3,FUN3 ;关闭按纽

JNB F0,STAR1 ;曾经有键按下F0置1

RET

;

FUN0:LCALL DL10MS ;消岸抖动

JB P3.4,STAR1

WAITL0:JNB P3.4,WAITL0 ;等待键释放

SETB F0

FUN01:LCALL FUN00

LCALL STAR1

LJMP FUN01

;

FUN1:LCALL DL10MS ;消岸抖动

JB P3.5,STAR1

WAITL1:JNB P3.5,WAITL1 ;等待键释放

SETB F0

FUN10:LCALL FUN11

LCALL STAR1

LJMP FUN10

;

FUN2:LCALL DL10MS ;消岸抖动

JB P3.2,STAR1

WAITL2:JNB P3.2,WAITL2 ;等待键释放

SETB F0

FUN20:LCALL FUN22

LCALL STAR1

LJMP FUN20

;

FUN3:LCALL DL10MS ;消岸抖动

JB P3.3,STAR1

WAITL3:JNB P3.3,WAITL3 ;等待键释放

CLR F0

MOV P1,#0FFH ;关显示

LJMP STAR1

;

FUN00:MOV A,#0FEH

FUN000:MOV P1,A

LCALL DL05S

JNB ACC.7,OUT

RL A

AJMP FUN000

OUT: RET

;

FUN11:MOV A,#0FEH

FUN111:MOV P1,A

LCALL DL05S

JZ OUT

RL A

ANL A,P1

AJMP FUN111

;

FUN22:MOV A,#0AAH

MOV P1,A

LCALL DL30S

CPL A

MOV P1,A

LCALL DL30S

RET

;

;************;

; 延时程序 ;

;************;

;

DL512:MOV R2,#0FFH

LOOP1: DJNZ R2,LOOP1

RET

DL10MS:MOV R3,#14H

LOOP2: LCALL DL512

DJNZ R3,LOOP2

RET

DL05S:MOV R4,#0AH

LOOP3: LCALL DL10MS

DJNZ R4,LOOP3

RET

DL30S:MOV R5,#03H

LOOP4:LCALL DL05S

DJNZ R5,LOOP4

RET 

end

引用地址:试验9------单片机小键盘控制的花样彩灯

上一篇:试验8 ---------小键盘控制的数字显示
下一篇:试验10 ---------100位计数器

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved