单片机跑马灯实验报告.docx

上传人:b****8 文档编号:9109992 上传时间:2023-05-17 格式:DOCX 页数:9 大小:97.06KB
下载 相关 举报
单片机跑马灯实验报告.docx_第1页
第1页 / 共9页
单片机跑马灯实验报告.docx_第2页
第2页 / 共9页
单片机跑马灯实验报告.docx_第3页
第3页 / 共9页
单片机跑马灯实验报告.docx_第4页
第4页 / 共9页
单片机跑马灯实验报告.docx_第5页
第5页 / 共9页
单片机跑马灯实验报告.docx_第6页
第6页 / 共9页
单片机跑马灯实验报告.docx_第7页
第7页 / 共9页
单片机跑马灯实验报告.docx_第8页
第8页 / 共9页
单片机跑马灯实验报告.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机跑马灯实验报告.docx

《单片机跑马灯实验报告.docx》由会员分享,可在线阅读,更多相关《单片机跑马灯实验报告.docx(9页珍藏版)》请在冰点文库上搜索。

单片机跑马灯实验报告.docx

单片机跑马灯实验报告

单片机跑马灯实验报告

图1跑马灯实验电路原理图

三、程序流程图

检测P2键值

开始

完成对应键值的功能

判断P2键值是否改变

图2简单键控的流水灯程序流程图

四、源程序

1、基本的流水灯

#include

#defineuintunsignedint

#defineucharunsignedchar

voiddelay(j)//延时函数

datauintj;

{datauinti;

while(j--)

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

}

voidmain()//主函数

{datauchara;

a=1;//保证只有一个点亮

while

(1)//不断循环

{P2=~a;//低电平点亮

a=a<<1;//左移一位,右补0

if(a==0)a=1;//全0

delay(2250);}//流动点亮延时

}

2、简单键控的流水灯

#include

#defineucharunsignedchar

#defineuintunsignedint

voiddelay(uinti)

{uchart;

while(i--)

{

for(t=0;t<120;t++);

}

}

voidmain()

{datauchara;

a=1;

while(P2==0xff)

{P0=~a;

a=a<<1;

if(a==0)

a=1;

delay(250);

}

while(P2==0xfe)

{P0=~a;

a=a>>1;

if(a==0)

a=128;

delay(250);

}

}

3、键控的流水灯

#include

#defineucharunsignedchar

#defineuintunsignedint

voiddelay(uinti)

{uchart;

dataucharb=0xfb;

while(i--)

{if(P2==0xfe)b=0xfe;

if(P2==0xfd)b=0xfd;

if(P2==0xfb)b=0xfb;

for(t=0;t<120;t++);

}

}

voidmain()

{datauchara;

a=1;

while(P2==0xfe)

{P0=~a;

a=a<<1;

if(a==0)

a=1;

delay(250);

while(P2==0xff)

{

P0=~a;

a=a<<1;

if(a==0)

a=1;

delay(250);

}

}

while(P2==0xfd)

{P0=~a;

a=a>>1;

if(a==0)a=128;

delay(250);

while(P2==0xff)

{P0=~a;

a=a>>1;

if(a==0)a=128;

delay(250);

}

}

while(P2==0xfb)

{P0=0xff;}

}

 

五、实验结果

1、基本的流水灯

基本流水灯仿真图

2、简单键控的流水灯

简单键控的流水灯仿真图

3、键控的流水灯

键控的流水灯仿真图

 

六、思考题回答

1、采用I/O口作为输出口时要考虑哪些因素?

为什么实验装置中LED要串联一个电阻?

答:

电压的大小(包括它能感知的最小电压作为高电平),电流的驱动能力等,同时也要要考虑它是否要加上拉电阻。

实验装置中LED串联一个电阻是为了防止电流过大而对LED灯有损坏。

2、采用I/O口作为输入口时要注意什么?

键控的流水灯时为什么要在延时程序中检测是否按键?

答:

在进行读操作时,必须要先向Px口的锁存器写1;本程序未采用例程所说的方法,但是在延时函数中进行按键检测是为了防止在延时程序中间有键按下却检测不到的情况,即放在延时函数中检测间隔时间短,反应快。

3、为什么延时程序要做一个函数?

答:

可以具体事情具体处理,方便调用。

比如交通信号灯的控制,红灯绿灯黄灯都有时间控制,亮的长短就要由延时程序控制等等。

七、实验心得体会

学习单片机这门课程,要掌握单片机指令系统中汇编语言各种基本语句的意义及汇编语言程序设计的基本知识和方法,以及单片机与其他设备相连接的输入输出中断等接口技术。

跑马灯实验虽然是第一个单片机实验,却让我深有体会,首先要熟悉单片机指令,上课时跟着老师走,认真对待,每次只要跟上老师上课所讲的内容以及按要求完成老师布置的课堂习题,掌握程序的编写以及完成实际上机操作是不成问题的,然后就是必须熟练运用一些基本语句,运用proteus和uVision4等仿真软件,最后是上机操作,根据教程了解单片机与其他设备相连接的输入输出中断等接口技术,运用实际,就可以完成简单有趣的跑马灯实验了!

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

当前位置:首页 > 经管营销 > 经济市场

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

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