网站大量收购独家精品文档,联系QQ:2885784924

单片机-LED-流水灯实验.docxVIP

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

实验一LED流水灯实验

一、实验目的:

1、进一步熟悉KeilC51集成开发环境调试功能的使用

2、学会自己编写程序,进行编译、仿真调试

3、学会使用单片机的P0口作为I/O口去控制外围电路,实现LED灯以固定的频率进行闪烁。

二、实验设备:

1、PC机

2、SW-51PROC单片机综合实验平台

三、实验内容:

1、编写一段程序,用单片机P0口的8个输出去控制8个LED灯,实现如下功能:

先使8个LED灯轮流点亮,从左向右移动,时间间隔0.5s。以上过程循环实现。

四、实验步骤:

1、实验原理图:

2、硬件连线方式:

用杜邦线将“MCU”区的P0口“”与“8-LED”模块区的“L1-L8”依次相连。

编写程序思路:

用单片机P0口的8位输出控制8个LED灯,每次只点亮一只LED,8只LED灯依次点亮,如此循环即可形成流水灯。

3、实验箱的时钟:

晶振频率为11.0592MHz

Tose=1/(11.0592*1000000)=0.0904us

1个机器周期为0.0904us*12=1.085us

4、源程序:

************************************************************************************/

#includereg52.h

#defineucharunsignedchar

#defineuintunsignedint

#definePORTP0

ucharcodedis[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,

0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd};

/***********************************延时函数****************************************/

voiddelay_50ms(uintt)

{

uinti;

for(;t0;t--)

for(i=6245;i0;i--);

}

/************************************主函数*****************************************/

voidmain(void)

{

uchar*p=dis;

while(1)

{

for(p=dis;p(dis+14);p++)

{

PORT=*p;

delay_50ms(10);

}

}

}

/*************************************结束*******************************************/

5、运行程序:

把编写好的程序输入PC机中,用Keil软件进行编译,编译无误的情况下,运行该程序,此时LED灯会依次轮流点亮。

6、实验报告要求:

1、实验名称

2、实验目的

3、实验设备

4、实验内容

5、实验原理(图要画完整)及控制方法合过程详细的说明

6、实验编写的程序

7、实验结果

8、心得和建议

(1)首先知道LED的工作原理。共阴级共阳极,此实验板是共阳极,要亮,的加一个高电平。由于这8个LED灯与P0口相连,所以直接通过P0口控制其亮灭就可以。依次开启每个灯,同时开启时要亮一定的时间。时间可以自己定义,也可以利用定时器实现。具体的汇编程序如下:

ORG0000H

LJMPMAIN

ORG0050H

MAIN:MOVR0,#14

MOVDPTR,#TABLE

L0:MOVA,#0

L1:MOVCA,@DPTR+A

MOVP0,A

ACALLDELAY1

INCA

DJNZR0,L1

SJMPL0

DELAY1:

MOVR1,#250

LOOP1:

MOVR2,#250

LOOP2:

NOP

NOP

NOP

NOP

NOP

DJNZ R0,LOOP2

DJNZ R1,LOOP1

RET

TABLE:

DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH

END

大家可以换一种亮灭的方式,只是通过修改表中的相应的信息,同时将程序做适当的修改,就可以达到预想的效果。

文档评论(0)

199****8042 + 关注
实名认证
文档贡献者

相信自己,相信明天

1亿VIP精品文档

相关文档