单片机Word文档格式.docx
- 文档编号:19080379
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:22
- 大小:18.84KB
单片机Word文档格式.docx
《单片机Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
MOVB,#100
DIVAB
MOVHUND,A
MOVB,#10
ADDA,B
MOVTEN,A
3.5;
比较40H,41H单元的大小,大的存GR,小的存LE,相等存两个
GREQU30H
LEEEQU31H
MOVA,40H
SUBBA,41H
JZABC
JCBCD
MOVGR,40H;
没借位
MOVLEE,41H
SJMP$
BCD:
MOVGR,41H;
有借位
MOVLEE,40H
MOVGR,40H;
相等操作
END
3.6;
X>
0,Y=X;
X=0,Y=20H:
X<
0,Y+X+5
XEQU31H
YEQU32H
MOVA,X
JBACC.7,BCD
MOVY,X
ADDA,#5
MOVY,A
MOVY,20H
3.7;
根据R3的内容,转身相应的程序
MOVDPTR,#T_TAB
MOVA,R3
RLA
JMP@A+DPTR
T_TAB:
AJMPPR0
AJMPPR1
AJMPPR2
AJMPPR3
AJMPPR4
AJMPPR5
PR0:
PR1:
NOP
PR2:
PR3:
NOP
PR4:
PR5:
3.8;
接收码为3AH,47H,65H,70H,8BH放在20H,R3存放要找的序号
MOVR3,#0FFH
INCR3
MOVDPTR,#T_TAB
MOVA,R3
MOVCA,@A+DPTR
CJNEA,20H,ABC
MOVDPTR,#T_TAB1
RLA
JMP@A+DPTR
T_TAB1:
AJMPPR0
AJMPPR1
AJMPPR2
AJMPPR3
AJMPPR4
AJMPPR5
DB3AH,47H,65H,70H,8BH
3.9;
为10ms的子程序
ACALLdelay
delay:
MOVR6,#5
delay2:
MOVR5,#249
delay1:
DJNZR5,delay1
DJNZR6,delay2
RET
3.10;
多字节乘10的程序,数据块放在20单元为首地址,第一个单元放字节数
ORG0000H
MOVR4,#00H
MOVR0,#20H
MOV30H,@R0;
字节数
INCR0
MOVA,@R0
MOVB,#10
MULAB
ADDA,R4
MOV@R0,A
MOVR4,B
DJNZ30H,ABC
MOV@R0,B
3.11;
设首地址为20H单元里面放字节数,后面就放排序的数
BBC:
DEC30H;
比较次数
MOVR1,#22H
CLRF0;
交换标记
MOVA,@R0;
@r0,@R1
CLRC;
清C
SUBBA,@R1
JZABC1
JCABC1
XCHA,@R0;
交换数据
XCHA,@R1
XCHA,@R0
SETBF0;
设置交换标记
ABC1:
INCR1
JBF0,BBC
3.12;
BCD码减法程序
MOVR0,#20H
MOVA,R0
ADDA,R3;
加上字节数
DECA;
被减数最后一个单元
MOVR0,A
MOVR1,#30H
MOVA,R1
减数最后一个单元
MOVR1,A
MOVA,#9AH
ADDA,@R0
DAA;
调整指令
MOV@R0,A;
保存结果到被减数
CPLC
DECR1
DECR0
DJNZR3,ABC
3.14;
按图写程序
MOVC,P2.2
ORLC,TF0
ANLC,P1.1
MOV20H.0,C
MOVC,IE1
ORLC,/25H
ANLC,20H.0
ANLC,/26H
MOVP1.3,C
3.15;
根据逻辑表达式写程序
X0bit00H
X1bit01H
X2bit02H
X3bit03H
X4bit04H
X5bit05H
X6bit06H
X7bit07H
Ybit08H
MOVC,X0
ANLC,X1
ANLC,X2
MOVF0,C;
保存第一项
ANLC,/X1
MOV09H,C;
为后一项准备
ANLC,/X2
ORLC,F0
CPLC
保存前两项的反
MOVC,09H
ANLC,X3
前三项
MOVC,X7
ANLC,/X4
ANLC,/X5
ANLC,/X6
MOVY,C
3.16;
c=a^2+b^2
AAEQU21H
BBEQU22H
CCEQU20H
MOVA,AA
ACALLPP;
获得a平方
MOVCC,A
MOVA,BB
获得b平方
ADDA,CC;
a^2+b^2
DAA
PP:
MOVDPTR,#P_TAB
P_TAB:
DB0,1,4,9,16H,25H,36H,49H,64H,81H
3.17;
求两个数据(60H,70H)块中最大值的乘积
MOVR0,#60H
ACALLF_MAX
MOVB,A;
第一个数据块的最大值
MOVR0,#70H
ACALLF_MAX;
最大值在A
MULAB
MOV5FH,A
MOV5EH,B
F_MAX:
MOVA,@R0;
数据块长度(字节数)
MOVR7,A;
R7保存长度
CLRA
ABC2:
MOV50H,@R0;
CJNEA,50H,ABC
ABC:
JNCABC1
A中放大数
ABC1:
DJNZR7,ABC2
5.1ORG0000H
SETBP1.1;
输入端要置1
MOVC,P1.1
MOVP1.0,C
SJMPABC
5.2ORG0000H
MOVP1,#11111111B
MOVA,P1
ORLA,#00001111B
MOVP1,A
5.3ORG0000H
bbb:
JBP1.7,AAA
movr6,#200
abc:
CPLP1.0
djnzr6,abc
bbc:
djnzr6,bbc
AAA:
sjmpbbb
movr7,#125
nop
nop
djnzr7,delay1
ret
end
5.4ORG0000H
MOVDPTR,#Z_TAB
MOVA,#15
MOVCA,@A+DPTR
Z_TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB88H,83H,0c6H,0A1H,86H,8EH
MOVR2,#1
MOVR3,#11111110B
MOVR4,#8
MOVA,R2
MOVP2,R3
MOVP1,#0FFH
INCR2
MOVR3,A
DJNZR4,ABC
SJMPBBC
movr7,#1
delay3:
movr6,#5
movr5,#250
djnzr5,delay1
djnzr6,delay2
djnzr7,delay3
5.5ORG0000H
MOVP1,#00001111B
MOVA,P1;
按了键,知道哪一行
B里行信息
MOVP1,#11110000B
列信息
ADDA,B;
11101110=EEH11011110=DEH
备份了键值在B
MOVP2,A
MOV7FH,#0FFH;
7FH单元存放第几个数
MOVDPTR,#S_TAB
INC7FH;
指向下一个数
MOVA,7FH
CJNEA,B,AAA
;
显示数
MOVDPTR,#Z_TAB;
10110110
MOVP3,A
DB88H,83H,0c6H,0A1H,86H,8EH,0B6H
S_TAB:
DB0EEH,0DEH,0BEH,07EH,0EdH,0DdH,0BdH,07dH
DB0EbH,0DbH,0BbH,07bH,0E7H,0D7H,0B7H,077H,0FFH
6.1ORG0000H
AJMPAAA
ORG0013H
AJMPBBB
MOVIE,#84H;
10000100SETBEASETBEX1
MOVTCON,#04H;
00000100
以上两条指令是设置外中断0(INT0)
AAA1:
SJMPAAA1
BBB:
CPLA
SWAPA
MOVP1,A
ACALLDELAY
RETI
PUSH05H;
延时程序
PUSH06H
PUSH07H
MOVR7,#4
MOVR6,#250
MOVR5,#250
DJNZR5,delay3
DJNZR7,delay1
POP07H
POP06H
POP05H
MOVTMOD,#00100000B
MOVTH1,#230
MOVTL1,#230
SETBTR1;
以上设置波特率为1200
MOVSCON,#50H;
方式1,且允许的接收
JNBRI,$;
等待数据的到来
CLRRI
MOVA,SBUF
6.2ORG0000H
ORG0003H
MOVIE,#81H;
MOVTCON,#01H;
00000001
MOVR4,#3
MOVP1,#0FFH;
开机显示0
INCR4
MOVDPTR,#Z_TAB
MOVA,R4
CJNER4,#15,BBB1
MOVR4,#0
BBB1:
SETBP3.3
RETI
MOVR7,#1
7.1ORG0000H
AJMPMAIN0
ORG000BH
AJMPT_0
MAIN0:
100ms,选择了方式1(16),选择了(定时)
MOVTMOD,#00000001B;
T0,T1,TR0
MOVTH0,#3CH;
初值65536-50000=15536(3CB0H)->
T0
MOVTL0,#0B0H;
设起点
SETBTR0;
在TCON.4
MOVIE,#10000010B;
设置了T0中断
MOVA,#11111110B
sjmp$
T_0:
MOVTL0,#0B0H;
7.2ORG0000H
ORG001BH
AJMPT_1
100ms,T0选择了方式1(16),选择了(定时)T1计数,方式2(8)
MOVTMOD,#01100001B;
MOVTH1,#0FBH;
100H-5=FB
MOVTL1,#0FBH
SETBTR1
MOVIE,#10001010B;
设置了T0,T1中断
CPLP1.0
CPLP1.2
T_1:
CPLP1.7
7.3ORG0000H
100ms,T0选择计数方式2(8),T1定时,方式2
MOVTMOD,#00100110B;
MOVTH0,#0FFH;
MOVTL0,#0FFH;
启动T0
SETBP1.0
ACALLdelay500u
CLRP1.0
CPLP1.1
SJMPT_0
delay500u:
MOVTH1,#6;
MOVTL1,#6;
JNBTF1,$;
等TF=1
CLRTF1
RET
7.4ORG0000H
T0必须是定时方式1,起动条件为TR0=1,
MOVTMOD,#11100001B;
T1选择计数方式2,门控位为1,两个起动条件
MOVTH0,#3CH;
50000个脉冲
MOVTL0,#0B0H
SETBTR0
MOVIE,#10000010B
MOVR2,#10
MAIN1:
MOVA,TL1
CJNEA,#16,ABC
MOVTL1,#1
SJMPMAIN1
MOVTL0,#0B0H
DJNZR2,T_0_0
CPLP3.7
MOVR2,#10
T_0_0:
RETI
8.1a
MOVSCON,#01000000B;
设置串行发送为方式1
MOVR2,#0
MOVSBUF,R2
JNBTI,$;
等待TI等于1(发送完成)
CLRTI;
清除发送标志
ACALLDELAY
CPLP3.2
CJNER2,#16,ABC
8.2b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机