单片机实验全解Word文件下载.docx
《单片机实验全解Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机实验全解Word文件下载.docx(38页珍藏版)》请在冰点文库上搜索。
MOVTH0,#0FFH
MOVTL0,#38H
LOOP3:
JBCTF0,LOOP
LJMPLOOP3
思考题程序二:
(定时器0中断,1查询)
LJMPMAIN
ORG000BH
LJMPDSQ0
MOVSP,#60H
CLRP1.0
MOVTMOD,#11H
MOVTH1,#0FFH
MOVTL1,#38H
SETBET0
CLRTR1
DSQ0:
JBCTF1,LOOP1
LJMPLOOP
思考题程序三:
(定时器0、1查询)
LOOP0:
JBCTF1,LOOP2
JBCTF0,LOOP4
LOOP4:
CLRTR0
LJMPLOOP0
实验程序图
思考题图
4定时器/计数器应用实验二
(1)汇编查询ORG0000H
CLREA
MOVTMOD,#06H
MOVTH0,#9CH
MOVTL0,#9CH
SETBTR0
JBCTF0,LOOP1
END
(2)C查询:
#include"
reg52.h"
#include<
intrins.h>
sbitP1_0=P1^0;
voidmain()
{TMOD=0x06;
TH0=0x9c;
TL0=0x9c;
TR0=1;
while
(1)
{if(TF0==1)
{
TF0=0;
P1_0=!
P1_0;
}
}
}
(3)汇编产生方波:
LJMPMAIN
ORG001BH
LJMPLOOP3
SETBET1
MOVTMOD,#62H
MOVTH1,#0CEH
MOVTL1,#0CEH
SETBTR1
JNBTF0,LOOP
CLRTF0
(4)C产生方波:
sbitP1_1=P1^1;
voidt1(void)interrupt3using1
P1_1=!
P1_1;
{EA=1;
ET1=1;
TMOD=0x62;
TH1=0xce;
TL1=0xce;
TR1=1;
TR0=1;
if(TF0==1)
(5)两中断产生方波汇编:
ORG000BH
LJMPLOOP1
SETBET0
LJMP$
(6)C:
voidt0(void)interrupt1using0
P1_0=!
ET0=1;
while
(1);
(7)思考汇编:
MOVTH0,#38H
MOVTL0,#38H
SETBEA
(8)C:
voidt0(void)interrupt1using1
TMOD=0x06;
TH0=0x38;
TL0=0x38;
5外部中断应用实验
ORG0000H
START:
LJMPMAIN
ORG0030H
MAIN:
MOVSP,#70H
MOVPSW,#08H
MOVIE,#00H
MOVTMOD,#02H
MOVTH0,#0CDH
MOVTL0,#0CDH
FUN:
LCALLKEY
JB20H.0,KEY1
LJMPFUN
KEY1:
SETBTR0
LOOP:
JBCTF0,LOOP1
LCALLKEY
JB20H.1,LOOP2
LJMPLOOP
LOOP1:
CPLP1.2
LOOP2:
CLRTR0
KEY:
LCALLKEYCHULI
JZEXIT
LCALLDL
LCALLKEYCHULI
JZEXIT
MOVB,20H
KEYSF:
LCALLKEYCHULI
JZKEY0
LCALLDL
LJMPKEYSF
KEY0:
MOV20H,B
EXIT:
RET
KEYCHULI:
PUSHPSW
CLRRS1
SETBRS0
SETBP1.0
SETBP1.1
MOVA,P1
CPLA
ANLA,#03H
MOV20H,A
CLRRS1
CLRRS0
POPPSW
RET
DL:
MOVR1,#20
MOVR0,#255
DL1:
DJNZR0,DL1
DJNZR1,DL1
END
MOVTMOD,#22H
MOVTH0,#0EBH
MOVTL0,#0EBH
MOVTH1,#0DFH
MOVTL1,#0DFH
CLRTR1
SETBTR0
KEY2:
JBCTF0,KEY3
JB20H.0,KEY6
LJMPKEY2
KEY3:
CPLP1.2
SETBTR1
KEY4:
JBCTF1,KEY5
JB20H.0,KEY7
LJMPKEY4
KEY5:
CPLP1.2
LJMPKEY1
KEY6:
KEY7:
CLRTF1
ANLA,#01H
6可编程并行接口芯片8255的应用实验
1》ORG0000H
ORG0030H
MOVR0,#03H
MOVA,#80H
MOVX@R0,A
MOVR0,#00H
MOVA,#01H
MOVX@R0,A;
将PA0置1
LCALLDELAY
MOVA,#00H
MOVX@R0,A;
将PA0置0
SJMPLOOP
DELAY:
MOVR6,#13H;
延迟10ms
DL0:
MOVR5,#05H
DJNZR5,$
DJNZR6,DL0
RET
2》ORG0000H
MOVR0,#03H
MOVA,#81H
将PA口设置为输出
MOVIE,#00H;
关中断
MOVTMOD,#02H;
选择方式2
MOVTH0,#06H;
设定时间为250us
MOVTL0,#06H
MOVR0,#00H
给PA口赋00H值
SETBTR0;
开定时器
JBCTF0,LOOP1;
判断是否有溢出,有溢出则转
MOVR0,#00H
CPLACC.0
重新给PA赋初值
思考》
BING:
MOVDPTR,#0003H
MOVA,#0FFH
INCA
CJNEA,#10H,LOOP3
MOVX@DPTR,A
ACALLDELAY
LJMPLOOP
;
延时子程序1s
MOVR3,#0AH
MOVTMOD,#01H
MOVTH0,#3CH
MOVTL0,#0B0H
MOVIE,#00H
JBCTF0,LOOP1
SJMPLOOP2
MOVTH0,#3CH
DJNZR3,LOOP2
CLRTR0
7A/D转换实验
1>
MOVTMOD,#02H
MOVP2,#00H
MOVDPTR,#0F00H
MOVX@DPTR,A
LCALLYANSHI
MOVXA,@R0
MOVB,#2
MULAB
MOVB,#100
DIVAB
MOV20H,A
MOVA,B
MOVB,#10
MOV21H,A
MOV22H,B
MOVA,20H
MOVDPTR,#SM
MOVCA,@A+DPTR
ANLA,#7FH
SETBP2.0
MOVP1,A
MOVR0,#50
LCALLYANSHI
DJNZR0,LOOP4
CLRP2.0
MOVA,21H
SETBP2.1
LOOP5:
DJNZR0,LOOP5
CLRP2.1
MOVA,22H
SETBP2.2
MOVP1,A
LOOP6:
DJNZR0,LOOP6
CLRP2.2
YANSHI:
SM:
DB0C0H;
DB0F9H;
1
DB0A4H;
2
DB0B0H;
3
DB099H;
4
DB092H;
5
DB082H;
6
DB0F8H;
7
DB080H;
8
DB090H;
9
2>
ORG0000H
SJMPMAIN
ORG0050H
LCALLKEY
CJNEA,#01H,LK1
LCALLK0
LK1:
CJNEA,#02H,LK2
LCALLK1
LK2:
CJNEA,#03H,LK3
LCALLK2
LK3:
CJNEA,#04H,MAIN
LCALLK3
K0:
MOVDPTR,#0000H
MOVX@DPTR,A
MOVA,#0FFH
SJMPK0
K1:
K10:
MOVX@DPTR,A
NOP
SJMPK10
K2:
K22:
CJNEA,#0FFH,K20
K21:
DECA
CJNEA,#00H,K21
K20:
INCA
SJMPK22
K3:
MOVR3,#00H
K30:
MOVA,R3
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVDPTR,#0000H
INCR3
SJMPK30
RET
MOVP1,#0CH
MOVA,P1
CPLA
ANLA,#0CH
JZKEY
MOVP1,#0CH
MOVR0,#0FEH
MOVR1,#00H
STAR:
MOVA,R0
MOVP1,A
JBP1.2,LOOP
SJMPJMZH
JBP1.3,LOP1
MOVA,#03H
JMZH:
ADDA,R1
PUSHACC
LOP2:
LCALLDELAY
JNZLOP2
POPACC
LOP1:
CJNER1,#01H,LOP3
SJMPEND0
LOP3:
MOVR0,#0FDH
MOVR1,#01H
SJMPSTAR
END0:
SJMPKEY
MOVR7,#01H;
6ms
MOVR6,#0DEH
MOVR5,#0CH
DJNZR7,DL1
TAB:
DB0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,2,2,2,2,2,3,3,3,4,4,5,6,7,8,9
DB10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41
DB42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73
DB74,75,76,78,79,80,80,81,81,81,82,82,82,82,82,83,83,83,83,83,83,83,84,84,84,84,84,84,84,84,84,84
DB84,84,84,84,84,84,84,84,84,84,83,83,83,83,83,83,83,82,82,82,82,82,81,81,81,80,80,79,78,76,75,74
DB73,72,71,7