- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
.....
word格式.整理版
MCS-51单片机实验报告?
专业:通信工程
指导老师:
学号:
姓名:
1-1.实验要求:修改例程一的源程序?
将A寄存器的初值改为80H(正逻辑,数据位为1表示发光二极管点亮),再对源程序进行简单修改,使程序运行后发光二极管点亮情况与修改前相同。
将LED向左循环移位点亮改为向右循环移位点亮。
(3)加快LED循环移位点亮的速度。
实验过程:针对三个小问题,分别有以下实验方法:
(1)对A赋值80H,然后对A取反可达到原始点亮情况。
(2)改变A内位移数据的方向。
(3)减少调用DELAY函数的次数。?
原程序:
MOV??A,#0FFH???;清除挂接在总线上的数码管的显示内容?
???MOV??DPTR,#00H????
MOVX??@DPTR,A?
???MOV??A,#07FH???;赋初始值并在发光二极管上显示该数值?
???MOV???P1,A?
LOOP:?CALL??DELAY????
CALL??DELAY????
RR???A???? ;A寄存器内容右移1位并送发光二极管显示????
MOV???P1,A????
AJMP??LOOP???;无限循环??
DELAY:?MOV?R5,#0H??
?;延时子程序?
D1:?MOV?R6,#0H????
DJNZ?R6,$????
DJNZ?R5,D1?
???RET????
END?
最终程序:
$include (C8051F020.inc)
INIT: LCALL Init_Device
MOV A,#080H
CPL A
MOV P3,A
LOOP: CALL DELAY
CALL DELAY
CALL DELAY
CALL DELAY
RL A
MOV P3,A
AJMP LOOP
DELAY: MOV R5,#0H
D1: MOV R6,#00H
DJNZ R6,$
DJNZ R5,D1
RET
$include (Init_Device.inc)
END
1-2.实验要求:将例程二0-F的循环显示改为0-9的循环显示?
实验过程:减少了数字显示,修改循环语句中归零判定语句的判定值即可
原程序:?
ORG??0000H???
LJMP??INIT?
?TAB:??
DB?0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H?;字符段码表0-7???
DB?080H,090H,088H,083H,0C6H,0A1H,086H,08EH?;字符段码表8-F??
INIT:??
MOV??A,#0FFH?????;清除挂接在总线上的数码管的显示内容?
??MOV??DPTR,#00H???
MOVX??@DPTR,A???
MOV??R1,#00H???;操作数据初始值??
MOV??A,R1??
MAIN:???
MOV??DPTR,#TAB ;读取与A中数值对应的显示段码???
MOVC??A,@A+DPTR???
MOV??P1,A????;段码送并行口1显示?
??CALL??DELAY???
CALL??DELAY???
CALL??DELAY???
CALL??DELAY???
CALL??DELAY???
INC??R1????;操作数据(R1)增1?
??MOV??A,R1?
??CJNE??A,#10H,MAIN??;检查操作数据是否大于显示范围(F)???
SJMP??INIT????;无限循环????
DELAY:?MOV?R5,#0H??;延时子程序?
D1: MOV?R6,#0H???
DJNZ?R6,$???
DJNZ?R5,D1?
??RET???
END
最终程序:
$include (C8051F020.inc)
ORG 0000H
LJMP INIT
TAB: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,
文档评论(0)