首页
基础教程 | 单片机设计实例 | 常用芯片 | 电子基础
当前位置:单片机教程 >> 单片机设计实例 >> 浏览文章 今天是:
单片机设计实例

单片机控制LED按1闪1秒按2闪10秒

作者:    来源:本站原创    点击数:   更新时间:2008年09月30日   
 

ORG 30H ;初始化地址
START:MOV SP,#5FH ;初始化堆栈
MOV P2,#0ffH ;将P2端口打开(位)
MOV P3,#0FFH ;将P3端口打开(位)
L1:JNB P3.2,L2 ;P3.2上接有一只按钮,它按下时,P3.2=0(字)
JNB P3.3,L3 ;P3.3上接有一只按钮,它按下时,P3.3=0(字)
LJMP L1 ;跳转到L1
L2:lJMP YS1MS ;闪烁1秒
LJMP L1 ;跳转到L1
L3:LJMP YS10MS ;闪烁10秒
LJMP L1 ;跳转到L1

YS1MS:MOV p0,#07FH ; 给数码管置数“.”
MOV p2,#0FFH ; 打开八个数码管“.”给整个P2口打开
LCALL DELAY ; 调用延时子程序
mov p2,#00H ; 关闭八个数码管“.”
LCALL DELAY ; 调用延时子程序
LJMP YS1MS ; 返回

YS10MS:MOV P0,#07FH ;给数码管置数“.”
MOV P2,#0FFH ;打开八个数码管“.”给整个P2口打开
LCALL DELAY10MS ;调用延时子程序
MOV P2,#00H ;关闭八个数码管“.”
LCALL DELAY10MS ;调用延时子程序
LJMP YS10MS ;返回

;延时1秒子程序
DELAY:MOV R7,#250 ;把250送入工作寄存器R7
D1:MOV R6,#250 ;把250送入工作寄存器R6
D2:DJNZ R6,D2 ;工作寄存器R6每次减1,即执行250次
DJNZ R7,D1 ;工作寄存器R7每次减1,即执行250次
RET ;返回调用子程序

;延时10秒子程序
DELAY10MS:MOV R5,#10 ; 把10送入工作寄存器R5
dd1:LCALL DELAY ; 调用
DJNZ R5,dd1 ; 工作寄存器R5每次减1,即执行10次
RET ; 返回调用子程序
END ; 结束
单片机网www.51hei.com 第12群 模留哥的作品,欢迎转载,保留版权。




 
发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口
网友评论(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
 >> 推荐文章
单片机USB-ISP下载线制作
自制单片机实验板
单片机一键多功能按键识别设
 >> 阅读排行
keil教程
单片机DS18B20水温控制系统
单片机电子时钟设计
单片机交通灯设计
单片机课程设计
单片机时钟设计
单片机数字钟设计
单片机键盘程序(4×4矩阵式
单片机串口通讯
八路抢答器论文含原理图电路
 >> 相关文章
单片机与plc的区别和比较
自学单片机的方法
STC单片机扩展P4口的应用
单片机双机串口通信程序设计
51学习板4*4键盘的c51与汇编程序
51单片机实验板DS18B20测温程序
单片机驱动16*16点阵LED汉字显示
单片机控制机械手设计论文
51单片机可调数码钟
c8051f系列单片机应用介绍

站长:刘兴国 站长信箱:372xcom1@21cn.com
单片机教程 @ www.51hei.com 2007-2008