单片机汇编语言一百例docWord文档格式.docx

上传人:b****6 文档编号:21010473 上传时间:2023-01-26 格式:DOCX 页数:84 大小:25.37KB
下载 相关 举报
单片机汇编语言一百例docWord文档格式.docx_第1页
第1页 / 共84页
单片机汇编语言一百例docWord文档格式.docx_第2页
第2页 / 共84页
单片机汇编语言一百例docWord文档格式.docx_第3页
第3页 / 共84页
单片机汇编语言一百例docWord文档格式.docx_第4页
第4页 / 共84页
单片机汇编语言一百例docWord文档格式.docx_第5页
第5页 / 共84页
点击查看更多>>
下载资源
资源描述

单片机汇编语言一百例docWord文档格式.docx

《单片机汇编语言一百例docWord文档格式.docx》由会员分享,可在线阅读,更多相关《单片机汇编语言一百例docWord文档格式.docx(84页珍藏版)》请在冰豆网上搜索。

单片机汇编语言一百例docWord文档格式.docx

DELAY:

MOV30H,#0FFH

D1:

MOV31H,#0FFH

D2:

DJNZ31H,D2

DJNZ30H,D1

RET

END

方波输出

口输出高电平,延时后再输出低电

平,循环输出产生方波。

波形发生器。

程序实例():

;

直接利用口产生高低电平地形成方波步移位

显示个,十,百,千算机的内部计算都是二进

制,而二进制每除一个2,实际上是向右移一次。

所以为

了计算方便,我们选择取6个数,最后在算除法的时候,

只需要用单片机自带的右移位命令移2次就行了。

27

十六进制六位数加法(数码显示)

程序实例:

ADNUMBEREQU30H;

AD转换值

ADDNUMBEREQU31H加;

数值1

ADLEQU32H;

//

ADHEQU33H;

ADL转换高低位值

DISLEQU34H;

DISHEQU35H显;

示高低位值

ADDTOTALEQU36H第;

一次AD转换值

ADDJWEQU37H加;

法进位数

ADDHOLDEQU38H

ADDFLAGEQU39H加;

标志

ENDFLAGEQU40H

赋初值////////////////////////////////////////////

MOVADDHOLD,#00H

MOVADDNUMBER,#00H

MOVADL,#00H

MOVADH,#00H

MOVDISL,#00H

MOVDISH,#00H

MOVADDJW,#00H

MOVADDFLAG,#00H

MOVENDFLAG,#00H

MOVADDTOTAL,#00H

//////////////////////////////////////////////////

28

显示AD值//////////////////////////////////////////

ACALLDELAY

ACALLAD

MAIN3:

ACALLCAIFEN

ACALLDISPLAY

加这次的AD值,并判是否加了六次,是的话就进入死循环

ACALLADD1

INCADDFLAG

MOVA,ADDFLAG

CJNEA,#06H,MAIN2

LOOP:

AJMPLOOP

没有加到六次,继续取值加,如果没有来新AD值,还是去

显示上次加的值,有新AD值来了,显示这次AD值,并加上上

次AD值,显示///////////////////////////////////////

MAIN2:

ACALLDELAY

MOVA,ADNUMBER

CJNA,ADDTOTAL,MAIN3

AJMMAIN2

////////////////////////////////////////////AD

AD:

29

转换

MOVDPTR,#7F00H指;

向转换地址

MOVA,#03H;

指向转换口

MOVX@DPTR,A转;

MOVR1,#64H

DJNZR1,D1等;

100微秒转换完

MOVXA,@DPTR转;

换后的值给

A

MOVADNUMBER,A转;

换的值给RET

30H

拆分AD值程序//////////////////////////////////////

CAIFEN:

ANLA,#0FH

MOVADL,A取;

低位

ANLA,#0F0H

SWAPA

MOVADH,A;

取高位

MOVDISL,ADL

MOVDISH,ADH给;

显示值

显示//////////////////////////////////////////////

DISPLAY:

MOVA,DISL

MOVDPTR,#SETTAB

MOVCA,@A+DPTR

MOVSBUF,A

30

D3:

JNBTI,D3

CLRTI

MOVA,DISH

D4:

JNBTI,D4

MOVA,ADDJW

D5:

JNBTI,D5

MOVSBUF,#00H

D6:

JNBTI,D6

加法程序//////////////////////////////////////////

ADD1:

CLRC

MOVADDTOTAL,ADNUMBER

ADDCA,ADDHOLD

MOVADDHOLD,A

JNCADDJW1

INCADDJW

31

ADDJW1:

ANLA,#0FH

MOVDISL,A加;

值取低位

MOVA,ADDHOLD

MOVDISH,A加;

值取高位

///////////////////////////////////////////////

延;

MOVR3,#0AH

DD1:

MOVR1,#0FFH

D2:

MOVR2,#0FFH

DJNZR2,$

DJNZR1,D2

DJNZR3,DD1

SETTAB:

DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,

0FEH,0F6H

DB0EEH,3EH,9CH,7AH,9EH,8EH

求六位和中的最大值和最小值(数码显示)

程序实例():

32

ADH1EQU41H;

AD中最大的值

ADL1EQU42H;

AD中最小的值

ADHOLDHEQU43H

ADHOLDLEQU44H求;

AD最大值与最小

值时AD的比较值,即以此两个值为比较中转

FOUREQU45H

SUBEQU46H减;

去高低位后的值

JWHOLDEQU47H保;

存进位值

MOVADH1,#00H

MOVADL1,#00H

33

MOVADHOLDH,#00H

MOVFOUR,#00H

MOVADHOLDL,#00H

MOVJWHOLD,#00H

MOVSUB,#00H

ACALLAD取;

AD值

ACALLCAIFEN

ACALLDISPLAY显;

算最大值和最小值//////////////////////////////////

ACALLADDH

ACALLADDL

加和值显示///////////////////////////////////////

判是否加到了6次///////////////////////////////////

/////////////////////////////////////////////////

34

ACALLCAIFEN1拆;

最小值

ACALLCAIFEN2拆;

最大值

示最大值最小值

判有没有来新AD值,没有显示以前,有显示现在的///////

CJNEA,ADDTOTAL,MAIN3

AJMPMAIN2

AD转换////////////////////////////////////////////

MOVDPTR,#7F00H指;

100微秒转换完

换后的值给A

换的值给30H

35

36

MOVA,FOUR

////////////////////////////////////////////////

加法程序////////////////////////////////////////

37

AD值中的最大值////////////////////////////////////

ADDH:

MOVA,ADH1

CJNEA,#00H,ADDH1

MOVADH1,ADNUMBER

AJMPRE

ADDH1:

MOVA,ADNUMBER

SUBBA,ADH1

JCRE

RE:

RET

AD值中的最小值////////////////////////////////////

ADDL:

MOVA,ADL1

CJNEA,#00H,ADDL1

MOVADL1,ADNUMBER

AJMPRE1

ADDL1:

SUBBA,ADL1

JNCRE1

RE1:

分解AD最小值的个,十位////////////////////////////

38

CAIFEN1:

/////////////////////////////////////////////

分解AD最大值的个,十位///////////////////////

CAIFEN2:

MOVJWHOLD,ADDJW

MOVADDJW,ADL

MOVFOUR,ADH给;

39

求减去最大和最小值后的值(数码显示)

40

赋初值///////////////////////////////////////////

41

判是否加到了6次//////////////////////////////////

CJNEA,#

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1