微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机初级篇—单个指示灯左移

单片机初级篇—单个指示灯左移

时间:11-26 来源:互联网 点击:
功能说明:通过取表的方法,使P1口的指示灯,进行单个指示灯左移运动。

一、硬件电路



二、程序:

ORG 00H;程序开始

*******************************************

START: MOV DPTR,#TABLE;数据指针指向表头地址⑴

********************************************

S1:MOVA,#00H;设置地址偏移量⑵

*************************************************

MOVCA,@A+DPTR;根据DPRT到表内取显示码⑶

******************************************************

CJNEA,#0fe0h,S2;判断是否是结束码

LJMPSTART

********************************************

S2:

MOVP1,A;将取到的显示码送P1口显示

LCALL DELAY

INCDPTR;数据指针加1

LJMPS1

****************************************

DELAY:MOVR5,#20;延时子程序

D1:MOVR6,#20

D2:MOVR7,#248

DJNZR7,$

DJNZR6,D2

DJNZR5,D1

RET

*********************************************

TABLE:

DB 01H,02H,04H,08H ;显示码表

DB 10H,20H,40H,80H,

db 00h,00h,00h,00h

db 00h,00h,00h,00h

db0feh

end

三、理论依据:

1、取表的大要素:

(1)定义表头指针

MOVDPTR,#TABLE;数据指针指向表头地址⑴

(2)定义偏移量

MOVA,#00H;设置地址偏移量⑵

(3)取值

MOVCA,@A+DPTR;根据DPRT到表内取显示码⑶

2、 制表要领:

(1)要有标号,以“:”冒号相隔。

(2)DB开头,DB与数值之间要有“空格”。

(3)数值为十进制0—255,十六进制0—0FFH,二进制00000000B—11111111B

(4)数值以“,”逗号相隔。

一般要有结束码,也可以没用。作为结束码时,不能与里面的数值相同。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top