单片机XIAOWANGTONGZHIWord文件下载.docx

上传人:b****5 文档编号:16561754 上传时间:2022-11-24 格式:DOCX 页数:17 大小:18.20KB
下载 相关 举报
单片机XIAOWANGTONGZHIWord文件下载.docx_第1页
第1页 / 共17页
单片机XIAOWANGTONGZHIWord文件下载.docx_第2页
第2页 / 共17页
单片机XIAOWANGTONGZHIWord文件下载.docx_第3页
第3页 / 共17页
单片机XIAOWANGTONGZHIWord文件下载.docx_第4页
第4页 / 共17页
单片机XIAOWANGTONGZHIWord文件下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

单片机XIAOWANGTONGZHIWord文件下载.docx

《单片机XIAOWANGTONGZHIWord文件下载.docx》由会员分享,可在线阅读,更多相关《单片机XIAOWANGTONGZHIWord文件下载.docx(17页珍藏版)》请在冰豆网上搜索。

单片机XIAOWANGTONGZHIWord文件下载.docx

12

13

14

Y

15

16

18

19

21

26

33

32

30

MOVA,20H

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOV21H,A

SJMP$

TAB:

DB0,1,5,15,16,18,19,21

DB26,33,32,30,13,11,8

END

四、连加程序

MOVR1,#60H

MOVR2,#30H

ACALLSUM

SUM:

PUSHPSW

MOV@R1,#0

INCR1

DECR1

LOOP:

ADDA,@R1

MOV@R1,A

MOVA,@R1

ADDCA,#0

DJNZR2,LOOP

POPPSW

RET

实验二多字节数乘法和除法

1.编写一个双字节数乘以单字节数的程序,实现(R4)(R3)×

(R2)→(R4)(R3)(R2)。

并验证:

BBFFH×

BBH,3FFFH×

A2H,FFFFH×

0AH

MOVA,R3

MOVB,R2

MULAB

MOVR5,A

MOVR6,B

MOVA,R4

ADDA,R6

MOVR6,A

MOVA,B

ADDCA,#00H

MOVR7,A

RET

2.编写一个双字节数除以单字节数的程序,实现(R7)(R6)÷

(R5)→(R5)(R6)…(R7)。

BBFFH÷

BBH,3FFFH÷

A2H,FFFFH÷

DIVP:

MOVA,R7

MOVB,R5

DIVAB

MOV30H,A

MOVR7,B

LCALLDIVPI

MOVR5,30H

DIVPI:

MOVR2,#8

CLRC

MOVA,R6

RLCA

MOVR6,A

MOVA,R7

MOVR7,A

MOVF0,C

CLRC

SUBBA,R5

ANLC,/F0

JCNEXT

INCR6

NEXT:

DJNZR2,LOOP

实验三数制转换

1.编写一个双字节二进制数转换成BCD码数的程序。

已知双字节数存放在R7、R6中,转换结果从高位到低位依次放入片内RAM52H~50H单元中。

5678H、3A5CH、FF00H的转换结果

BTOBCD:

CLRA

MOV52H,A

MOV51H,A

MOV50H,A

MOVR1,#16

CLRC

MOVA,R6

RLCA

MOVR6,A

MOVA,R7

MOVR7,A

MOVA,50H

ADDCA,50H

DAA

MOVA,51H

ADDCA,51H

MOVA,52H

ADDCA,52H

DJNZR1,LOOP

实验四并行口的应用

P1.4~P1.5接两个按钮开关,P1.0~P1.1接两个发光二极管L1、L2,编写一个程序实现模拟汽车转弯灯控制。

P1.5P1.4

状态

11

L1、L2全灭

10

左转灯闪(L1以1Hz的频率闪烁)

01

右转灯闪(L2以1Hz的频率闪烁)

00

双闪(L1、L2同时以1Hz的频率闪烁)

ORG0000H

SJMPMAIN

ORG0030H

MOVA,P1

SWAPA

ANLA,#03H

CJNEA,#00H,L1

SETBP1.0

CPLP1.1

MOVC,P1.1

MOVP1.0,C

ACALLDEL

L1:

CJNEA,#01H,L2

L2:

CJNEA,#02H,L3

SETBP1.1

CPLP1.0

L3:

SETBP1.0

DEL:

MOVR7,#5

DEL1:

ACALLDELAY

DJNZR7,DEL1

DELAY:

MOVR2,#200

LOOPS:

MOVB,#248

NOP

DJNZB,$

DJNZR2,LOOPS

实验六定时器/计数器及中断的使用

实验电路如右图所示。

要求采用定时器/计数器中断方式编程实现八只发光二极管的如下显示方式:

第一秒L1、L3亮,第二秒L2、L4亮,第三秒L5、L7亮,第四秒L6、L8亮,第五秒L1、L3、L5、L7亮,第六秒L2、L4、L6、L8亮,第七秒全亮,第八秒全灭。

第九秒以后又从头开始,一直循环下去。

SJMPMAIN

ORG000BH

SJMPTMOO

MOVTMOD,#01H

MOVTH0,#3CH

MOVTL0,#0B0H

SETBET0

SETBEA

MOVR2,#20

MOVR3,#00

MOVDPTR,#TAB

SETBTR0

TMOO:

MOVTH0,#3CH

DJNZR2,EXIT

MOVA,R3

MOVCA,@A+DPTR

MOVP1,A

INCR3

CJNER3,#08,EXIT

EXIT:

RETI

DB0FAH,0F5H,0AFH,5FH

DB0AAH,55H,00,0FFH

实验七静态显示程序

MOVSCON,#00

MOVR7,#02

ANLA,#0FH

MOVSBUF,A

JNBTI,$

CLRTI

MOVA,@R0

DJNZR7,LOOP

DB11H,0D7H,98H,92H

DB56H,32H,30H,97H

DB10H,12H,14H,70H

DB39H,0D0H,38H,3CH

静态显示自增一

(1)ORG0000H

MOV30H,#34H

MOV31H,#12H

MOVTMOD,#01H

MOVR2,#020

INC30H

MOVA,30H

CJNEA,#00H,TMO1

INC31H

TMO1:

ACALLDIS

DIS:

MOVR0,#30H

MOVR7,#02

LP2:

DJNZR7,LP2

(2)ORG0000H

SJMPCTOP

MOV30H,#21H

MOV31H,#43H

MOV32H,#10

MOVTMOD,#01

SETBTR0;

启动定时器T0

MOVIE,#82H;

ET0为1,定时器0允许中断

CTOP:

DJNZ32H,RET1

CJNEA,#0,A1

A1:

MOV50H,A

ANLA,#0F0H

MOV51H,A

MOVA,31H

MOV52H,A

MOV53H,A

DISP:

MOVR2,#04

MOVR0,#50H

LP0:

DJNZR2,LP0

RET1:

RETI

DB11H,0D7H,98H,92H

DB56H,32H,30H,97H

DB10H,12H,14H,70H

DB39H,0D0H,38H,3CH

实验八动态显示程序

编写一动态显示程序。

要求:

将片内RAM33H~30H单元中的数显示出来。

LP3:

MOVR6,#0DFH

MOVR7,#03

CLRP2.0

CLRP2.1

CLRA

MOVP0,A

SETBP2.0

CLRP2.0MOVP0,#00

SETBP2.1

RRA

DEL0:

MOVR5,#250

LP1:

DJNZR5,LP1

CLRA

CLRP2.0

MOVP0,#00

INCR0

MOVR5,#250

DJNZR5,LP2

DJNZR7,LP0

SJMPLP3

DB77H,44H,3EH,6EH,4DH,6BH,7BH,46H,7FH,6FH,5FH,79H,33H,7CH,3BH,1BH

实验九键盘显示程序

编写一键盘显示程序。

对矩阵键盘进行判键,并采用动态显示,将键码按计算器显示模式进行显示。

ORG0000H

KPIN:

MOVP1,#0F0H;

行线低4位输出低电平

MOVA,P1;

从高4位读取列线值

ANLA,#0F0H;

屏蔽低4位获得列线值

MOVB,A;

暂存列线值

MOVP1,#0FH;

列线高4位输出低电平

从低4位读取行线值

ANLA,#0FH;

屏蔽高4位获得行线值

ORLA,B;

行、列值合并,得到按键特征码

CJNEA,#0FFH,KPIN1;

判断有按键否

MOV30H,#0FFH

ACALLDISP

AJMPEXIT;

与0FFH相等,无按键,重新扫描

KPIN1:

有按键,把特征码暂存→B

MOVDPTR,#TABKP;

DPTR指向键码表首地址

MOVR3,#0;

顺序码初始化

KPIN2:

MOVA,R3;

按顺序码查表

CJNEA,B,KPIN3;

按键特征码与查表特征码比较

相等,顺序码有效,得到键码→A

CJNEA,30H,DHJ

SJMPDK

DHJ:

MOV30H,R3

MOV55H,54H

MOV54H,53H

MOV53H,52H

MOV52H,51H

MOV51H,50H

DK:

AJMPEXIT

KPIN3:

INCR3;

不相等,调整顺序码,准备查下一个

CJNEA,#0FFH,KPIN2;

是否为表格结束标志

SJMPKPIN;

是,重新扫描

MOVR1,#0DFH

MOVR2,#06

LOOP1:

MOVA,R1

MOVR1,A

MOVR5,#04;

延时2ms

LOOP2:

DJNZR5,LOOP2

TABKP:

DB0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DH,0EBH

DB0DBH,0BBH,7BH,0E7H,0D7H,0B7H,77H,67H,0FFH

DB77H,44H,3EH,6EH,4DH,6BH,7BH,46H,7FH,6FH,5FH

DB79H,33H,7CH,3BH,1BH

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

当前位置:首页 > 小学教育 > 小升初

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

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