51单片机实验及代码.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
51单片机实验及代码

单片机实验实验一:开发环境的应用将数据存储器的40H-4FH的内容复制成00H-0FH,并将40H-4FH的内容整体复制到外部数据存储器的1050H-105FH.P1口接八只二极管,使二极管逐个循环点亮ORG 0000HAJMP STARTORG 0100HSTART: MOV A,#00H MOV R0,#40HLOOP: MOV @R0,A INC A INC R0 CJNE A,#10H,LOOPSECOND: MOV DPTR,#1050H MOV R1,#40HCOPY: MOV A,@R1 MOVX @DPTR,A INC DPTR INC R1 CJNE R1,#50H,COPY SJMP $ END实验二:外部中断用单脉冲信号申请中断,在中断服务程序中对输出信号进行翻转(可通过P1.0接一二极管观察)ORG 0000HLJMP STARTORG 0003HLJMP INTORG 0100HSTART: SETB EX0 SETB PX0 SETB IT0 SETB EA SJMP $INT: CPL P1.0 RETI END用单脉冲信号申请中断,要求对中断进行累加计数,并将计数结果显示在二极管上ORG 0000HLJMP STARTORG 0003HLJMP INTORG 0100HSTART: MOV A,#00H MOV P1,A SETB EX0 SETB PX0 SETB IT0 SETB EA SJMP $INT: MOV P1,A INC A RETI END实验三:定时器实验用定时器1的方式1定时,P1.0节发光二极管,使二极管每秒闪烁五次ORG 0000HLJMP MAINORG 001BHLJMP INTORG 0100HMAIN: MOV TMOD,#10H MOV TH1,#3CH MOV TL1,#0B0H ;50ms × 2 = 100ms MOV R2,#2 SETB EA SETB ET1 SETB TR1 SJMP $INT: DJNZ R2,NEXTCPL P1.0MOV R2,#2NEXT: MOV TH1,#3CHMOV TL1,#0B0HSETB TR1 RETI END用定时器1的方式2计数,T1引脚接单脉冲,用P1口接二极管显示计数。ORG 0000HLJMP MAINORG 001BHLJMP LOOPORG 0100HMAIN: MOV TMOD,#60H MOV TH1,#00H MOV TL1,#00H SETB EA SETB ET1 SETB TF1 SETB TR1 SJMP $LOOP: MOV P1,TL1 LJMP LOOP RETI END实验四:串行通信波特率2400 bit/s。PC发送8个字节的数据给单片机,单片机接受完数据后发送两个字节55H和AAH给PC 机(使用查询方式)。ORG 0000HAJMP MAINORG 0030HMAIN:MOV SCON,#50HMOV PCON,#00HMOV TMOD,#20HSETB TR1MOVTL1,#0F3HMOV TH1,#0F3HLOOP: MOV R0,#30HMOV R1,#08HWAIT1: JBC RI,RECEIVESJMP WAIT1RECEIVE: MOV A,SBUFMOV @R0,AINC R0DJNZ R1,WAIT1MOV A,#55HMOV SBUF,AWAIT21: JBC TI,SENDSJMP WAIT21SEND: MOV A,#0AAHMOV SBUF,AWAIT22: JNB TI,WAIT22CLR TISJMP LOOPEND实验五:数码管显示及键盘扫描将30H-32H中存储的6位十进制数在6个数码管上显示出来(要求编写一个将内存单元中的压缩BCD码转换为两个七段显示码的子程序和延时子程序)ORG 0000HLJMP MAINORG 0030HMAIN: MOV 30H,#12H MOV 31H,#34H MOV 32H,#56H MOV R0,#30H MOV R1,#20HBCD: MOV A,@R0 SWAP A ANL A,#0FH ACALL CTAB MOV R2,A MOV A,@R0 ANL A,#0FH ACALL CTAB MOV R3,A MOV DPTR,#8002H MOV A,R1 MOVX @DPTR,A MOV DPTR,#8004H MOV A,R

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档