|
回复:单个数码管显示程序——开发板程序之一
汇编版本
;*
;**************************************************************************
;
; (C) Copyright 2007,单片机初学者园地
; All Rights reserved.
;
;项目名称: 51单片机学习开发系统
;
;本文件名称:first_mcu.asm
;
; 完成作者 : 单片机初学者——mcu_51
; 当前版本 : V1.0
; 完成作者 :
; 完成日期 :
; 描 述 : 这个程序专门为刚刚开始接触单片机的学习者设计的,
; 主要是帮助其学会单片机是怎么调试的,如何自己编写的程
; 序,从课本的迷团中走出来。
; 本程序结构简单、合理,有帮助于初学者养成良好的编
; 程风格。
;***************************************************************************
;*
;***********本段为硬件I/O口定义************
LED0 EQU P0.0
LED1 EQU P0.1
LED2 EQU P0.2
LED3 EQU P0.3
DIG0 EQU P0.4 ;数码管位0
DIG1 EQU P0.5 ;数码管位1
BUZZ EQU P3.3
ORG 0000H ;上电后程序从这里运行
AJMP MAIN
ORG 0100H
MAIN:
LED_DISP: MOV R0,#10
CLR A
MOV R2,A
MOV DPTR,#tab
LED_DISP1: LCALL DELAY600MS
MOV A,R2
MOVC A,@A+DPTR
MOV P1,A
CLR DIG0 ;选择数码管0
INC R2
DJNZ R0, LED_DISP1
LJMP LED_DISP
DELAY600MS: MOV R5,#60 ;延时子程序,延时约0.6秒
D11: MOV R6,#20
D21: MOV R7,#248
DJNZ R7,$
DJNZ R6,D21
DJNZ R5,D11
RET
;实验板上的7段数码管0~9数字的共阴显示代码
tab: DB 3FH,06H,5bH,4fH,66H,6dH,7dH,07H,07FH,06fH
END |
|