微处理器实验.docx
- 文档编号:3803866
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:27
- 大小:149.87KB
微处理器实验.docx
《微处理器实验.docx》由会员分享,可在线阅读,更多相关《微处理器实验.docx(27页珍藏版)》请在冰豆网上搜索。
微处理器实验
实验一:
输入输出口实验——LED循环灯
1.实验原理图:
2.实验软件代码:
ORG0000H
AJMPSTART
ORG0030H
START:
MOVA,#0FEH;
XH:
MOVP2,A;
ACALLD_TIME;
RRA
SJMPXH;
D_TIME:
MOVR7,#00H
D_TIME1:
MOVR6,#00H
DJNZR6,$
DJNZR7,D_TIME1
RET
END
3.其他方法1:
#include
sbitgate0=P2^0;
sbitgate1=P2^1;
sbitgate2=P2^2;
sbitgate3=P2^3;
sbitgate4=P2^4;
sbitgate5=P2^5;
sbitgate6=P2^6;
sbitgate7=P2^7;
voiddelay()
{
intm=10000;
while(m>0)
m--;
}
voidmain(void)
{
gate0=!
gate0;delay();
gate1=!
gate1;delay();
gate2=!
gate2;delay();
gate3=!
gate3;delay();
gate4=!
gate4;delay();
gate5=!
gate5;delay();
gate6=!
gate6;delay();
gate7=!
gate7;delay();
}
4.其他方法2:
#include
#defineucharunsignedchar
#defineuintunsignedint
voiddelay(uinti)
{
while(i)
i--;
}
voidmain(void)
{
uinti;
uchartemp;
while
(1)
{
temp=0x01;
for(i=0;i<8;i++)
{
P2=~temp;
delay(10000);
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++)
{
P2=~temp;
delay(10000);
temp>>=1;
}
}
}
实验二:
显示器实验
1.实验原理图:
2.实验软件代码:
ORG0000H
MOVIE,#85H
MOVTCON,#05H
CLRPSW.5
MOVSP,#5FH
MOVR4,#00H
MOVA,#00100001B
MOVP0,A
MOVA,#01000011B
MOVP2,A
MOVA,#01100101B
MOVP1,A
3.其他方法1:
#include
#defineucharunsignedchar
#defineuintunsignedint
voiddelay(uinti);
voidmain(void)
{
uinti,AA[8]={0x80,0xf8,0xa4,0x88,0x8e,0x82,0xb0,0x92};
uintBB[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
while
(1)
{
for(i=0;i<8;i++)
{
P2=BB[i];
P0=AA[i];
delay(50);
}
}
}
voiddelay(uintt)
{
uintbt;
for(;t;t--)
for(bt=0;bt<2;bt++);
}
实验三:
MCS—51中断实验
1.实验原理图:
2.实验软件代码
ORG0000H
LJMPSTAR
ORG0003H
LJMPTT0
ORG0013H
LJMPTT1
ORG0030H
STAR:
MOVIE,#85H
MOVTCON,#05H
CLRPSW.5
MOVSP,#5FH
MOVR4,#00H
MOVA,#00100001B
MOVP0,A
MOVA,#01000011B
MOVP2,A
MOVA,#01100101B
MOVP1,A
LJMPSHAN1
TT0:
SETBPSW.5
RETI
TT1:
INCR4
RETI
SHAN1:
MOVA,R4
MOVB,#15
DIVAB
MOVR6,B
MOVA,#00100000B
MOVP0,A
LCALLDELAY
MOVA,#00100001B
ADDA,R6
MOVP0,A
LCALLDELAY
JNBPSW.5,SHAN1
MOVA,#00100001B
MOVP0,A
MOVR6,#00H
CLRPSW.5
LJMPSHAN2
RET
SHAN2:
MOVA,R4
MOVB,#14
DIVAB
MOVR6,B
MOVA,#00000001B
MOVP0,A
LCALLDELAY
MOVA,R6
SWAPA
ANLA,#11110000B
MOVR7,A
MOVA,#00100001B
ADDA,R7
MOVP0,A
LCALLDELAY
JNBPSW.5,SHAN2
MOVA,#00100001B
MOVP0,A
MOVR6,#00H
CLRPSW.5
LJMPSHAN3
RET
SHAN3:
MOVA,R4
MOVB,#13
DIVAB
MOVR6,B
MOVA,#01000000B
MOVP2,A
LCALLDELAY
MOVA,#01000011B
ADDA,R6
MOVP2,A
LCALLDELAY
JNBPSW.5,SHAN3
MOVA,#01000011B
MOVP2,A
MOVR6,#00H
CLRPSW.5
LJMPSHAN4
RET
SHAN4:
MOVA,R4
MOVB,#12
DIVAB
MOVR6,B
MOVA,#00000011B
MOVP2,A
LCALLDELAY
MOVA,R6
SWAPA
ANLA,#11110000B
MOVR7,A
MOVA,#01000011B
ADDA,R7
MOVP2,A
LCALLDELAY
JNBPSW.5,SHAN4
MOVA,#01000011B
MOVP2,A
MOVR6,#00H
CLRPSW.5
LJMPSHAN5
RET
SHAN5:
MOVA,R4
MOVB,#11
DIVAB
MOVR6,B
MOVA,#01100000B
MOVP1,A
LCALLDELAY
MOVA,#01100101B
ADDA,R6
MOVP1,A
LCALLDELAY
JNBPSW.5,SHAN5
MOVA,#01100101B
MOVP1,A
MOVR6,#00H
CLRPSW.5
LJMPSHAN6
RET
SHAN6:
MOVA,R4
MOVB,#10
DIVAB
MOVR6,B
MOVA,#00000101B
MOVP1,A
LCALLDELAY
MOVA,R6
SWAPA
ANLA,#11110000B
MOVR7,A
MOVA,#01100101B
ADDA,R7
MOVP1,A
LCALLDELAY
JNBPSW.5,SHAN6
MOVA,#01100101B
MOVP1,A
MOVR6,#00H
CLRPSW.5
LJMPSHAN1
RET
DELAY:
MOVR0,#8
D1:
MOVR1,#126
D2:
MOVR2,#122
D3:
DJNZR2,D3
DJNZR1,D2
DJNZR0,D1
RET
END
实验四:
模数转换器ADC0809实验
1.实验原理图:
2.实验软件代码
ORG0000H
AJMPSTAR
ORG000BH
LJMPINT_T0
ORG0030H
STAR:
MOV80H,#00H
MOV0A0H,#00H
MOVTMOD,#02H
MOVTH0,#245
MOVTL0,#00H
MOVIE,#82H
SETBTR0
WAIT:
CLRP3.0
SETBP3.0
CLRP3.0
JNBP3.6,$
SETBP3.7
MOVR6,P1
XIA50:
CJNER6,#50,JUD50
MOVA,#10000110B
MOVP0,A
MOVA,#00111111B
MOVP2,A
JMPWAIT
JUD50:
JNCXIA100
MOVA,#10111111B
MOVP0,A
MOVA,R6
XHC1:
MOVB,#5
DIVAB
CJNEA,#0,OU1
MOV0A0H,#00111111B
JMPWAIT
OU1:
CJNEA,#1,OU2
MOV0A0H,#00000110B
JMPWAIT
OU2:
CJNEA,#2,OU3
MOV0A0H,#01011011B
JMPWAIT
OU3:
CJNEA,#3,OU4
MOV0A0H,#01001111B
JMPWAIT
OU4:
CJNEA,#4,OU5
MOV0A0H,#01100110B
JMPWAIT
OU5:
CJNEA,#5,OU6
MOV0A0H,#01101101B
JMPWAIT
OU6:
CJNEA,#6,OU7
MOV0A0H,#01111101B
JMPWAIT
OU7:
CJNEA,#7,OU8
MOV0A0H,#00000111B
JMPWAIT
OU8:
CJNEA,#8,OU9
MOV0A0H,#01111111B
JMPWAIT
OU9:
CJNEA,#9,WAIT
MOV0A0H,#01101111B
JMPWAIT
XIA100:
CJNER6,#100,JUD100
MOVA,#11011011B
MOVP0,A
MOVA,#00111111B
MOVP2,A
JMPWAIT
JUD100:
JNCXIA150
MOVA,#10000110B
MOVP0,A
CLRC
MOVA,R6
SUBBA,#50
LJMPXHC1
XIA150:
CJNER6,#150,JUD150
MOVA,#11001111B
MOVP0,A
MOVA,#00111111B
MOVP2,A
;SETBP0.0
LJMPWAIT
JUD150:
JNCXIA200
MOVA,#11011011B
MOVP0,A
CLRC
MOVA,R6
SUBBA,#100
LJMPXHC1
XIA200:
CJNER6,#200,JUD200
MOVA,#11100110B
MOVP0,A
MOVA,#00111111B
MOVP2,A
;SETBP0.0
LJMPWAIT
JUD200:
JNCXIA250
MOVA,#11001111B
MOVP0,A
MOVA,R6
SUBBA,#150
LJMPXHC1
XIA250:
CJNER6,#250,JUD250
MOVA,#11101101B
MOVP0,A
MOVA,#00111111B
MOVP2,A
;SUBBA,#200
LJMPWAIT
JUD250:
JNCXIA300
MOVA,#11100110B
MOVP0,A
MOVA,R6
SUBBA,#200
LJMPXHC1
XIA300:
LJMPWAIT
INT_T0:
CPLP3.1
RETI
DELAY:
MOVR7,#07FH
DJNZR7,$
RET
END
实验五:
数模转换实验
1.实验原理图:
2.实验软件代码
ORG0000H
SJMPSTART
ORG0003H
SJMPJIAYA
ORG0030H
START:
MOVR5,#0
MOVDPTR,#TABLE
SETBEA
SETBEX0
SETBIT0
MAIN:
CLRP3.0
SETBEA
SETBEX0
SETBIT0
MOVA,R5
MOVP1,A
MOVX@DPTR,A
MOVB,#00110011B
DIVAB
MOVR3,A
MOVA,B
MOVB,#0101B
DIVAB
MOVR4,A
CLRA
ADDA,R3
MOVCA,@A+DPTR
MOVP0,#00000001B
MOVP2,A
ACALLDELAY
CLRA
ADDA,R4
MOVCA,@A+DPTR
MOVP0,#00000010B
MOVP2,A
ACALLDELAY
SETBP3.0
AJMPMAIN
RET
JIAYA:
INCR5
INCR5
INCR5
INCR5
INCR5
RETI
DELAY:
MOVR7,#25
D1:
MOVR6,#25
DJNZR6,$
DJNZR6,$
DJNZR7,D1
RET
TABLE:
DB01000000B,01111001B,00100100B,00110000B,00011001B
DB00010010B,00000010B,01111000B,00000000B
DB00010000B
END
实验六:
串行口实验
1.实验原理图:
2.实验软件代码
主片代码:
ORG0000H
SJMPMAIN
ORG0003H
SJMPINT_T0
ORG0023H
SJMPINTUR
MAIN:
SETBEA
SETBEX0
SETBES
SETBSM0
CLRSM1
CLRSM2
SETBREN
SETBIT0
SETBPS
MOVR7,#00H
CLRTB8
MOVP0,#00H
MOVP1,#00H
HERE:
JMPHERE
INT_T0:
MOVA,R7
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP1,A
MOVSBUF,A
INCR7
MOVA,R7
MOVB,#16
DIVAB
MOVR7,B
RETI
INTUR:
JBCTI,CLETI
JBCRI,CLERI
CLETI:
CLRTI
RETI
CLERI:
CLRRI
MOVA,SBUF
MOVP0,A
RETI
TABLE:
DB00111111B;0
DB00000110B;1
DB01011011B;2
DB01001111B;3
DB01100110B;4
DB01101101B;5
DB01111101B;6
DB00000111B;7
DB01111111B;8
DB01101111B;9
DB01110111B;10
DB01111100B;11
DB00111001B;12
DB01011110B;13
DB01111001B;14
DB01110001B;15
END
从片代码:
ORG0000H
SJMPMAIN
ORG0003H
SJMPINT_T0
ORG0023H
SJMPINTUR
MAIN:
SETBEA
SETBEX0
SETBES
SETBSM0
CLRSM1
CLRSM2
SETBREN
SETBIT0
CLRTB8
SETBPS
MOVR7,#00H
MOVP0,#00H
MOVP1,#00H
HERE:
JMPHERE
INT_T0:
MOVA,R7
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVSBUF,A
MOVP0,A
INCR7
MOVA,R7
MOVB,#16
DIVAB
MOVR7,B
RETI
INTUR:
JBCTI,CLETI
JBCRI,CLERI
CLETI:
CLRTI
RETI
CLERI:
MOVA,SBUF
MOVP1,A
RETI
TABLE:
DB00111111B;0
DB00000110B;1
DB01011011B;2
DB01001111B;3
DB01100110B;4
DB01101101B;5
DB01111101B;6
DB00000111B;7
DB01111111B;8
DB01101111B;9
DB01110111B;10
DB01111100B;11
DB00111001B;12
DB01011110B;13
DB01111001B;14
DB01110001B;15
END
实验七:
点阵LED汉字显示
1.实验原理图:
2.实验软件代码
R_CNTEQU31H
NUMBEQU32H
TCOUNTEQU33H
ORG00H
LJMPSTART
ORG0BH
LJMPINT_T0
ORG30H
START:
MOVR0,#00H;显示的幕次(即每一幕显示的行码起始序号)置0
MOVR_CNT,#00H;列码序号置0
MOVNUMB,#00H;行码序号置0
MOVTCOUNT,#00H
MOVTMOD,#01H
MOVTH0,#(65536-5000)/256;定时5ms
MOVTL0,#(65536-5000)MOD256
SETBTR0
MOVIE,#82H
SJMP$
INT_T0:
MOVTH0,#(65536-5000)/256
MOVTL0,#(65536-5000)MOD256
MOVDPTR,#TAB;取列码表首地址
MOVA,R_CNT
MOVCA,@A+DPTR
MOVP3,A
MOVDPTR,#NUB;输出行码
MOVA,NUMB
MOVCA,@A+DPTR
MOVP0,A;
INCNUMB
NEXT1:
INCR_CNT
MOVA,R_CNT
CJNEA,#8,NEXT2
MOVR_CNT,#00H
MOVNUMB,R0
NEXT2:
INCTCOUNT
MOVA,TCOUNT
CJNEA,#40,NEXT4;每个数字显示200ms。
必须在TCOUNT数值是8的整数倍时再进行下面的移位操作,否则先是衔接时会乱。
MOVTCOUNT,#00H
INCR0;上一幕显示行码的起始序号+1
CJNER0,#88,NEXT3
MOVR0,#00H
NEXT3:
MOVNUMB,R0;送新一幕显示行码的起始序号
NEXT4:
RETI
TAB:
DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH
NUB:
DB00H,00H,00H,00H,00H,00H,00H,00H;空
DB00H,00H,3EH,41H,41H,41H,3EH,00H;0
DB00H,00H,00H,00H,21H,7FH,01H,00H;1
DB00H,00H,27H,45H,45H,45H,39H,00H;2
DB00H,00H,22H,49H,49H,49H,36H,00H;3
DB00H,00H,0CH,14H,24H,7FH,04H,00H;4
DB00H,00H,72H,51H,51H,51H,4EH,00H;5
DB00H,00H,3EH,49H,49H,49H,26H,00H;6
DB00H,00H,40H,40H,40H,4FH,70H,00H;7
DB00H,00H,36H,49H,49H,49H,36H,00H;8
DB00H,00H,32H,49H,49H,49H,3EH,00H;9
DB00H,00H,00H,00H,00H,00H,00H,00H;空
END
自发自收汇编调试程序如下:
ORG0000H
LJMPMAIN
ORG0023H
AJMPSBS1;转至中断服务子程序
ORG0050H
MAIN:
MOVSP,#60H
MOVTMOD,#20H;定时器1设为模式2
MOVTL1,#0FAH;
MOVTH1,#0FAH;置定时器初值
SETBTR1;启动T1
MOVSCON,#50H;将串口设置为方式1,REN=1
MOVR0,#30H;发送数据区首地址送R0
MOVR1,#50H;接收数据区首地址送R1
MOVR2,#20H;置发送数据个数送R2
LCALLSOUT;调用发射子程序
SETBES;
SETBEA;开中断
LOOP:
AJMPLOOP;等待中断
ORG0100H;中断服务子程序
SBS1:
JNBRI,SEND;TI=1,为发送中断
ACALLSIN;RI=1,为接收中断
SJMPNEXT
SEND:
ACALLSOUT;调用发送子程序
NEXT:
RETI
SOU
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微处理器 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)