多路开关状态指示1.docx

上传人:b****2 文档编号:709553 上传时间:2023-04-29 格式:DOCX 页数:9 大小:231.13KB
下载 相关 举报
多路开关状态指示1.docx_第1页
第1页 / 共9页
多路开关状态指示1.docx_第2页
第2页 / 共9页
多路开关状态指示1.docx_第3页
第3页 / 共9页
多路开关状态指示1.docx_第4页
第4页 / 共9页
多路开关状态指示1.docx_第5页
第5页 / 共9页
多路开关状态指示1.docx_第6页
第6页 / 共9页
多路开关状态指示1.docx_第7页
第7页 / 共9页
多路开关状态指示1.docx_第8页
第8页 / 共9页
多路开关状态指示1.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

多路开关状态指示1.docx

《多路开关状态指示1.docx》由会员分享,可在线阅读,更多相关《多路开关状态指示1.docx(9页珍藏版)》请在冰点文库上搜索。

多路开关状态指示1.docx

多路开关状态指示1

多路开关状态指示电路

一、实验任务

如图4.3.1所示,AT89S52单片机的P1.0-P1.3接四个发光二极管L1-L4,P1.4-P1.7接了四个开关K1-K4,编程将开关的状态反映到发光二极管上。

(开关闭合,对应的灯亮,开关断开,对应的灯灭)。

二、电路原理图

三、系统板上硬件连线

(1)把“单片机系统”区域中的P1.0-P1.3用导线连接到“八路发光二极管指示模块”区域中的L1-L4端口上;

(2)把“单片机系统”区域中的P1.4-P1.7用导线连接到“四路拨动开关”区域中的K1-K4端口上;

四、程序设计内容

(1)开关状态检测

对于开关状态检测,相对单片机来说,是输入关系,我们可轮流检测每个开关状态,根据每个开关的状态让相应的发光二极管指示,可以采用JB P1.X,REL或JNB P1.X,REL指令来完成;也可以一次性检测四路开关状态,然后让其指示,可以采用MOV A,P1指令一次把P1端口的状态全部读入,然后取高4位的状态来指示。

(2)输出控制

根据开关的状态,由发光二极管L1-L4来指示,我们可以用SETBP1.X和CLR P1.X指令来完成,也可以采用MOV P1,#1111XXXXB方法一次指示。

五、程序框图

六、方法一(汇编源程序)

ORG00H

START:

MOVA,P1

ANLA,#0F0H

RRA

RRA

RRA

RRA

XORA,#0F0H

MOVP1,A

SJMPSTART

END

七、方法一(C语言源程序)

#include

unsignedchartemp;

voidmain(void)

{

while

(1)

{

temp=P1>>4;

temp=temp|0xf0;

P1=temp;

}

}

八、方法二(汇编源程序)

ORG00H

START:

JBP1.4,NEXT1

CLRP1.0

SJMPNEX1

NEXT1:

SETBP1.0

NEX1:

JBP1.5,NEXT2

CLRP1.1

SJMPNEX2

NEXT2:

SETBP1.1

NEX2:

JBP1.6,NEXT3

CLRP1.2

SJMPNEX3

NEXT3:

SETBP1.2

NEX3:

JBP1.7,NEXT4

CLRP1.3

SJMPNEX4

NEXT4:

SETBP1.3

NEX4:

SJMPSTART

END

九、方法二(C语言源程序)

#include

voidmain(void)

{

while

(1)

{

if(P1_4==0)

{

P1_0=0;

}

else

{

P1_0=1;

}

if(P1_5==0)

{

P1_1=0;

}

else

{

P1_1=1;

}

if(P1_6==0)

{

P1_2=0;

}

else

{

P1_2=1;

}

if(P1_7==0)

{

P1_3=0;

}

else

{

P1_3=1;

}

}

}

 

心得体会

这次的单片机实训,真是让我们受益匪浅啊。

学到了很多东西,不管怎么样,先感谢学校给我们这么多的机会,让我们真正的从理论知识到实践的过渡。

此次课程设计软件与硬件相结合,考察了我们的焊接水平与编程能力。

对于我们应用电子技术的学生而言焊接是不成问题,也很顺利;可到了编程时就出现了很大的障碍。

本来还以为编程会很简单的,等到实际操作起来才知道它的复杂性,没有想像中的那么得心应手,理解流程是有思维的前提。

单片机是我们最难学的一门课程,所以很多专业知识都不懂。

不过经过我们一步步的努力,花费的时间与精力终于没有白费,效果渐渐地出现了。

其实本身程序的思维是正确的,只是步骤中有点小错误,所以导致整个程序的结果很乱,在仔细修改程序之后,终于一步步地达到效果了。

最后在全组人竭尽全力,老师的精心指导下,程序基本编写成功,这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期一周的单片机实训没有浪费,我们从中学到了很多知识,也让我们对单片机有了更深一步的了解。

虽然最后结果是出来了,可这与老师的精心指导是分不开的,他引导我们的思路,本来一窍不通的我们经过老师的点拨基本上通了,所以说老师是功不可抹的。

总而言之,单片机实训对于我们有很大的帮助,我们从中受益匪浅。

参考文献

(1)杨将新、李华军、刘东俊、单片机及应用{M},电子工业出版社。

2006

(2)彭为、黄科、单片机典型系统设计及应用{M},电子工业出版社。

2007

(3)何书森、何华斌、实用电子线路设计速成{M},福建科学技术出版社。

2005

(4)陈永莆,实用无线电遥控电路{M},人民邮电出版社。

2007

(5)侯玉宝,Proteus的51系列单片机设计与仿真,电子工业出版社。

2008

 

附录一(原理图):

 

附录二(PCB图):

 

附录三(装配图):

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 其它

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2