- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最新精品文档,知识共享!
实验三 输入输出口(I/O)实验
【实验内容一】左右急转弯灯
实验内容
K1,K2两个开关的四种组合控制灯的不同状态。
实验程序
LOC OBJ SOURCE
4000 ORG 4000H
4000 D291 START:SETB P1.1;P1.1口置1,开写入
4002 D290 SETB P1.0;P1.0口置1,开写入
4004 E590 MOV A,P1;P1的值赋给A
4006 5403 ANL A,#03H;逻辑与,取低2位
4008 90400D MOV DPTR,#TAB;TAB的地址赋给DPTR
400B 93 MOVC A,@A+DPTR;将选择执行程序地址赋给A
400C 73 JMP @A+DPTR;跳转到执行的程序
400D 04 TAB:DB PRG0-TAB;查表地址
400E 09 DB PRG1-TAB
400F 15 DB PRG2-TAB
4010 21 DB PRG3-TAB
4011 7590F PRG0:MOV P1,#0FFH;FFH赋值给P1此时灯全灭
4014 80EA JMP START ;程序重新执行
4016 7590F PRG1:MOV P1,#0F3H;赋值F3H给P1,此时对应P1.2和P1.3的灯亮
4019 1133 ACALL DELAY;调用延时程序
401B 7590FF MOV P1,#0FFH;灯全灭
401E 1133 ACALL DELAY;调用延时程序
4020 80DE JMP START;程序重新执行
4022 75903F PRG2:MOV P1,#3FH;赋值F3H给P1,此时对应P1.6和P1.7的灯亮
4025 1133 ACALL DELAY;调用延时程序
4027 7590FF MOV P1,#0FFH;灯灭
402A 1133 ACALL DELAY;调用延时程序
402C 80D2 JMP START;程序重新执行
402E 759000 PRG3:MOV P1,#00H;00H赋值给P1此时灯全亮
4031 80CD JMP START;程序重新执行
4033 7905 DELAY:MOV R1,#05;0.5s延时程序
4035 7AC8 DEL1:MOV R2,#200
4037 7B7E DEL2:MOV R3,#126
4039 DBFE DEL3:DJNZ R3,DEL3
403B DAFA DJNZ R2,DEL2
403D D9F6 DJNZ R1,DEL1
403F 22 RET;调用结束返回
三.实验步骤
1.接通单片机电源,用串口线R232实现与计算机连接。按照实验要求连接号线。启动计算机和单片机,并在计算机为打开MSC51软件。选择COM串口和波特率2400b/s,单击确定后按单片机上的RESET键。正常连接,数码管显示“C_”
2.进入软件,在菜单栏里选择“文件-新建ASM-点击保存”,文件保存目录为“D:/ASM”(一开始输入保存目录含有中文名称,所以汇编是出错,提醒找不到文件)。
3.输入程序。完毕后,点击菜单栏里面的“汇编”,汇编通过后选择调试,将文件烧写至单片机,此时绿灯闪烁。
4.调试好程序后执行,并依次改变K1,K2的状态,记录实验现象。
四.实验结果
假设开关高电平为1,低电平为0
开关状态
实验现象
K1=0;k2=0
四个LED灯都灭,不闪烁
K1=1;k2=0
LED1和LED2灭,LED5和LED6以1s为周期闪烁
K1=0;k2=1
LED5和LED6灭,LED1和LED2以1s为周期闪烁
K1=1;k2=1
四个LED灯都亮,不闪烁
五.实验分析及拓展
1.程序全部注
文档评论(0)