1 / 18
文档名称:

北京工业大学8051单片机实验报告.docx

格式:docx   页数:18页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

北京工业大学8051单片机实验报告.docx

上传人:分享精品 2016/2/2 文件大小:0 KB

下载得到文件列表

北京工业大学8051单片机实验报告.docx

文档介绍

文档介绍:8051单片机实验报告专业:电子科学与技术姓名:学号:120231指导教师:金冬月第一单元单片机程序调试环境使用及并行数据传送操作训练1-1修改例程一的源程序:将A寄存器的初值改为80H(正逻辑,数据位为1表示发光二极管点亮),再对源程序进行简单修改,使程序运行后发光二极管点亮情况与修改前相同。$include();C8051F02x系列单片机信息头文件包含伪指令LCALLInit_Device;调用初始设置子程序MOVA,#080H;赋初始值并在发光二极管上显示该数值CPLAMOVP3,ALOOP:CALLDELAYCALLDELAYCALLDELAYCALLDELAYCALLDELAYRRA;A寄存器内容右移1位并送发光二极管显示MOVP3,AAJMPLOOP;无限循环DELAY:MOVR5,#0H;延时子程序D1:MOVR6,#0HDJNZR6,$DJNZR5,D1RET$include();初始设置子程序文件包含伪指令END将LED向左循环移位点亮改为向右循环移位点亮。$include();C8051F02x系列单片机信息头文件包含伪指令LCALLInit_Device;调用初始设置子程序MOVA,#07FH;赋初始值并在发光二极管上显示该数值MOVP3,ALOOP:CALLDELAYCALLDELAYCALLDELAYCALLDELAYCALLDELAYRLA;A寄存器内容右移1位并送发光二极管显示MOVP3,AAJMPLOOP;无限循环DELAY:MOVR5,#0H;延时子程序D1:MOVR6,#0HDJNZR6,$DJNZR5,D1RET$include();初始设置子程序文件包含伪指令END加快LED循环移位点亮的速度。(删除几个延迟指令!)$include();C8051F02x系列单片机信息头文件包含伪指令LCALLInit_Device;调用初始设置子程序MOVA,#07FH;赋初始值并在发光二极管上显示该数值MOVP3,ALOOP:CALLDELAYCALLDELAYRRA;A寄存器内容右移1位并送发光二极管显示MOVP3,AAJMPLOOP;无限循环DELAY:MOVR5,#0H;延时子程序D1:MOVR6,#0HDJNZR6,$DJNZR5,D1RET$include();初始设置子程序文件包含伪指令END1-2将例程二0-F的循环显示改为0-9的循环显示。$include(:DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H;段码0-7DB080H,090H,088H,083H,0C6H,0A1H,086H,08EH;段码8-FINIT:LCALLInit_DeviceMOVR1,#00H;操作数据初始值MOVA,R1MAIN:MOVDPTR,#TAB;读取与A中数值对应的显示段码MOVCA,***@A+DPTRMOVP5A;段码送并行口5显示CALLDELAYCALLDELAYCALLDELAYCALLDELAYCALLDELAYCALLDELAYCALLDELAYCALLDELAYCALLDELAYCALLDELAYINCR1;操作数据(R1)增1MOVA,R1CJNEA,#0AH,MAIN.;检查操作数据是否大于显示范围(F)SJMPINIT;无限循环DELAY:MOVR5,#0H;延时子程序D1:MOVR6,#0HDJNZR6,$DJNZR5,D1RET$include()-1通过对例程5的程序进行修改和上机调试,改变原程序的功能。(1)将KEY2,KEY4的功能对调。(2)每次停下再启动后,更改发光二极管点亮的循环方向。$include();0000HLJMPINITIAL;0013HLJMPSTAR;外中断0服务程序入口,开始键(0003HLJMPSTOP;外中断1服务程序入口停止键(0100HINITIAL:LCALLInit_Device;调用初始设置子程序MOVP3,#0FFH;熄灭全部发光二极管MOVA,#0FFHMOVDPTR,#******@DPTR,A;清除数码管2(NUM2)显示MOVA,#0FEH;点亮发光二极管的初始数据MOVR1,#1H;发光二极管点亮位置初值MOVIP,#04H;设置INT0(开始键STAR)为高优先级MOVTCON,#05H;外中断采用边沿触发SETBEX1;INT1(停止键STOP)开中断SE