资源描述:
《51单片机实验及代码》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、.单片机实验实验一:开发环境的应用(1)将数据存储器的40H-4FH的内容复制成00H-0FH,并将40H-4FH的内容整体复制到外部数据存储器的1050H-105FH.(2)P1口接八只二极管,使二极管逐个循环点亮ORG0000HAJMPSTARTORG0100HSTART:MOVA,#00HMOVR0,#40HLOOP:MOV@R0,AINCAINCR0CJNEA,#10H,LOOPSECOND:MOVDPTR,#1050HMOVR1,#40HCOPY:MOVA,@R1MOVX@DPTR,AINCD
2、PTRINCR1CJNER1,#50H,COPYSJMP$END实验二:外部中断(1)用单脉冲信号申请中断,在中断服务程序中对输出信号进行翻转(可通过P1.0接一二极管观察)..ORG0000HLJMPSTARTORG0003HLJMPINTORG0100HSTART:SETBEX0SETBPX0SETBIT0SETBEASJMP$INT:CPLP1.0RETIEND(1)用单脉冲信号申请中断,要求对中断进行累加计数,并将计数结果显示在二极管上ORG0000HLJMPSTARTORG0003HLJMPI
3、NTORG0100HSTART:MOVA,#00HMOVP1,ASETBEX0SETBPX0SETBIT0SETBEASJMP$INT:MOVP1,AINCARETIEND..实验三:定时器实验(1)用定时器1的方式1定时,P1.0节发光二极管,使二极管每秒闪烁五次ORG0000HLJMPMAINORG001BHLJMPINTORG0100HMAIN:MOVTMOD,#10HMOVTH1,#3CHMOVTL1,#0B0H;50ms×2=100msMOVR2,#2SETBEASETBET1SETBTR1S
4、JMP$INT:DJNZR2,NEXTCPLP1.0MOVR2,#2NEXT:MOVTH1,#3CHMOVTL1,#0B0HSETBTR1RETIEND(2)用定时器1的方式2计数,T1引脚接单脉冲,用P1口接二极管显示计数。ORG0000HLJMPMAINORG001BHLJMPLOOPORG0100HMAIN:MOVTMOD,#60H..MOVTH1,#00HMOVTL1,#00HSETBEASETBET1SETBTF1SETBTR1SJMP$LOOP:MOVP1,TL1LJMPLOOPRETIEN
5、D实验四:串行通信波特率2400bit/s。PC发送8个字节的数据给单片机,单片机接受完数据后发送两个字节55H和AAH给PC机(使用查询方式)。ORG0000HAJMPMAINORG0030HMAIN:MOVSCON,#50HMOVPCON,#00HMOVTMOD,#20HSETBTR1MOVTL1,#0F3HMOVTH1,#0F3HLOOP:MOVR0,#30HMOVR1,#08HWAIT1:JBCRI,RECEIVESJMPWAIT1RECEIVE:MOVA,SBUFMOV@R0,AINCR0DJ
6、NZR1,WAIT1MOVA,#55HMOVSBUF,AWAIT21:JBCTI,SEND..SJMPWAIT21SEND:MOVA,#0AAHMOVSBUF,AWAIT22:JNBTI,WAIT22CLRTISJMPLOOPEND实验五:数码管显示及键盘扫描(1)将30H-32H中存储的6位十进制数在6个数码管上显示出来(要求编写一个将内存单元中的压缩BCD码转换为两个七段显示码的子程序和延时子程序)ORG0000HLJMPMAINORG0030HMAIN:MOV30H,#12HMOV31H,#34H
7、MOV32H,#56HMOVR0,#30HMOVR1,#20HBCD:MOVA,@R0SWAPAANLA,#0FHACALLCTABMOVR2,AMOVA,@R0ANLA,#0FHACALLCTABMOVR3,AMOVDPTR,#8002HMOVA,R1MOVX@DPTR,AMOVDPTR,#8004HMOVA,R2..MOVX@DPTR,AMOVA,R1RRAMOVR1,ALCALLDLEYMOVDPTR,#8002HMOVA,R1MOVX@DPTR,AMOVDPTR,#8004HMOVA,R3MOV
8、X@DPTR,AMOVA,R1RRAMOVR1,ALCALLDLEYINCR0CJNER0,#33H,BCDLJMPMAINCTAB:PUSHDPHPUSHDPLMOVDPTR,#TABMOVCA,@A+DPTRPOPDPLPOPDPHRETTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HDLEY:MOVR7,#02HDL:MOVR6,#0FFHDL1