单片机并行IO口的应用实验.docx

上传人:b****6 文档编号:4088278 上传时间:2022-11-27 格式:DOCX 页数:10 大小:177.41KB
下载 相关 举报
单片机并行IO口的应用实验.docx_第1页
第1页 / 共10页
单片机并行IO口的应用实验.docx_第2页
第2页 / 共10页
单片机并行IO口的应用实验.docx_第3页
第3页 / 共10页
单片机并行IO口的应用实验.docx_第4页
第4页 / 共10页
单片机并行IO口的应用实验.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

单片机并行IO口的应用实验.docx

《单片机并行IO口的应用实验.docx》由会员分享,可在线阅读,更多相关《单片机并行IO口的应用实验.docx(10页珍藏版)》请在冰豆网上搜索。

单片机并行IO口的应用实验.docx

单片机并行IO口的应用实验

单片机并行IO口的应用实验

1、实验目的

1、熟悉Proteus软件和Keil软件的使用方法。

2、熟悉单片机应用电路的设计方法。

3、掌握单片机并行I/O口的直接应用方法。

4、掌握单片机应用程序的设计和调试方法。

二、设计要求

1、用Proteus软件画出电路原理图。

要求在P1.0至P1.7口线上分别接LED0至LED7八个发光二极管,在P3.0口线上接一蜂鸣器。

2、编写程序:

要求LED0至LED7以秒速率循环右移。

3、编写程序:

要求LED0至LED7以秒速率循环左移。

4、编写程序:

要求在灯移动的同时,蜂鸣器逐位报警。

三、实验程序流程框图和程序清单

延时程序流程框图:

 

实验程序流程框图:

 

汇编程序:

ORG0000H

MOVA,#11111110B

MOVP3,#0FFH

MAIN:

MOVR0,#07H

LOOP1:

LCALLDELAY

MOVP3,A

RLA

CLRP2.0

LCALLDELAY

SETBP2.0

DJNZR0,LOOP1

MOVR0,#07H

LOOP2:

LCALLDELAY

MOVP3,A

RRA

CLRP2.0

LCALLDELAY

SETBP2.0

DJNZR0,LOOP2

LJMPMAIN

DELAY:

MOVR7,#17H

DL1:

MOVR6,#98H

DL0:

MOVR5,#46H

DJNZR5,$

DJNZR6,DL0

DJNZR7,DL1

RET

END

 

C语言程序:

#include

#include

unsignedchartemp;

inti;

voiddelay(void);

sbitspeaker=P2^0;

voidmain()

{temp=0xfe;

P3=temp;

while

(1)

{

for(i=0;i<7;i++)

{

temp=_crol_(temp,1);

speaker=0;

delay();

speaker=1;

delay();

P3=temp;

}

for(i=0;i<7;i++)

{

speaker=0;

temp=_cror_(temp,1);

delay();

speaker=1;

delay();

P3=temp;

}

}

}

voiddelay(void)

{

unsignedchara,b,c;

for(c=167;c>0;c--)

for(b=171;b>0;b--)

for(a=16;a>0;a--);

_nop_;

}

 

四:

电路原理图:

五:

实验结果

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

六、实验总结

通过本次实验,我复习了Proteus软件的使用方法,学习了更多的对KEIL的调试方法,对keil和Proteus的使用更加熟悉了,通过用Proteus软件画图,熟悉了单片机电路基本的设计方法,掌握了单片机并行I/O口的直接应用方法,对子程序的调用左移、右移指令可以灵活的运用,同时对keil产生的HEX型的文件的有了新的认识和应用

 

7、思考题

1、编程实现LED0至LED7以十六进制计数规律亮灯?

程序设计流程框图如下:

汇编实验程序:

ORG0000H

MAIN:

MOVP3,#256

MOVA,#0FFH

LOOP:

MOVP3,A

CLRP2.0

LCALLDELAY

SETBP2.0

LCALLDELAY

DECA

LJMPLOOP

DELAY:

MOVR7,#17H

DL1:

MOVR6,#98H

DL0:

MOVR5,#46H

DJNZR5,$

DJNZR6,DL0

DJNZR7,DL1

RET

END

C语言程序:

#include

#include

unsignedchartemp;

inti;

voiddelay(void);

sbitspeaker=P3^1;

voidmain()

{P3=0X00;

temp=0xFF;

while

(1)

{

for(i=0;i<0XFF;i++)

{speaker=0x00;

delay();

speaker=0x01;

P3=temp;

temp=temp-1;

}

}

}

voiddelay(void)

{

unsignedchara,b,c;

for(c=167;c>0;c--)

for(b=171;b>0;b--)

for(a=16;a>0;a--);

_nop_;

}

 

结果如下图所示:

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

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

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1