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

51测试网(深圳学林电子有限公司)从0开始来学单片机...入门教程

前言:单片机是一门实践性非常强的学科,为此我们突破传统思路,全面围绕单片机试验,从简单的流水灯开始, 逐步的带领大家从这些简单的几行或者10几行的程序,来熟悉和理解单片机的指令......未经允许禁止转载!如需转载,请著名出处,并保留网站联接!

单片机的两位计数器

;知识要点:理解数的概念

;运行结果:数码管从00一直加到99

;ANL 0FH就是把数据与00001111相与那么遇1得原来的数遇0则为0,结果是前面的4位变0, 后面的4位保留

;P2.1 , P2.2分别是数码管控制位.CLR 则点亮

 

ORG 0000H;程序开始

LJMP MAIN;

ORG 030H;

MAIN:MOV 20H,#00H;20H单元送00

MOV A,20H;

GOON:CLR C;进位CY置0这里的作用是当数字超过9要求进位时屏蔽进位, 意思永不进位

ANL A,#0FH;屏蔽A中的高4位

MOV DPTR,#TAB;查表

MOVC A,@A+DPTR;

PP:CLR P2.2;打开个位数码管

MOV P0,A;输出到P0

ACALL DEL;延时以便观察结果

SETB P2.2;关断显示

MOV A,20H;20H再送A

SWAP A;交换A的高低4位

ANL A,#0FH;屏蔽A中的高4位

MOVC A,@A+DPTR;查表

CLR P2.1;打开十位数码管

MOV P0,A;输出到P0

ACALL DEL ;延时

SETB P2.1 ;关断显示 

MOV A,20H;20H送A

INC A; 加1

DA A;2-10进制调整

MOV 20H,A;调整后送20H

AJMP GOON;重新开始

DEL:MOV R7,#0FFH;延时子程序

DEL1:MOV R6,#01FH;

DEL2:MOV R5,#01FH;

DEL3:   DJNZ R5,DEL3;

DJNZ R6,DEL2;

DJNZ R7,DEL1;

RET;

ORG 0100H;从100H开始存放数据表0,1,2,3,4,5,6,7,8,9

TAB: db 28h,7eh,0a2h,62h,74h,61h,21h,7ah,20h,60h

;0 1 2 3 4 5 6 7 8 9

END 

程序在倚天版运行的状态瞬间第一个数码管显示2

程序在倚天版运行的状态瞬间第数码管显示34