51测试网 单片机教程XL2000开发板 单片机学习 自制编程器 单片机资料 软件下载 电子技术产品介绍如何购买 论坛

XL2000开发板+TRACER仿真器

第一个试验:点亮一个发光管第七个试验:流水灯数字显示综合练习
第二个试验:闪烁的发光管第八个试验:小键盘控制的数字显示
第三个试验:认识声音第九个试验:小键盘控制的花样彩灯
第四个试验:小喇叭发出救护车的声音第十个试验:100位计数器
第五个试验:跟我学作加减乘除法第十一个试验:试验14-通信
第六个试验:认识数码管第十二个试验:单片机唱歌---“祝你平安”
部分章节摘自平凡教程)广大用户如有更多编写好的应用源程序欢迎投稿!

试验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