单片机跑马灯实验报告.docx
- 文档编号:10052028
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:9
- 大小:108.59KB
单片机跑马灯实验报告.docx
《单片机跑马灯实验报告.docx》由会员分享,可在线阅读,更多相关《单片机跑马灯实验报告.docx(9页珍藏版)》请在冰豆网上搜索。
单片机跑马灯实验报告
学号序号19
湖南理工学院信息与通信工程学院
单片机原理与接口技术
实验报告
实验项目序号一
实验项目名称跑马灯实验
姓名卢志雄专业电子信息工程班级电信14-2BF
完成时间2016年4月2日
一、实验容
实验容为3项,其中第1、2项必做。
1、基本的流水灯。
根据图1电路,编写一段程序,使8个发光二极管D1、D2、D3、D4、D5、D6、D7、D8顺序(正序)点亮:
先点亮D1,再点亮D2、D3……D8、D1……,循环点亮。
每点亮一个LED,采用软件延时一段时间。
2、简单键控的流水灯。
不按键,按正序点亮流水灯;按下K1不松手,按倒序点亮流水灯,即先点亮D8,再顺序点亮D7、D6……D1、D8……。
松手后,又按正序点亮流水灯。
3、键控的流水灯。
上电,不点亮LED,按一下K1键,按正序点亮流水灯。
按一下K2键,按倒序点亮流水灯,按一下K3键,全部关闭LED。
二、电路原理图
图1跑马灯实验电路原理图
三、程序流程图
图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等仿真软件,最后是上机操作,根据教程了解单片机与其他设备相连接的输入输出中断等接口技术,运用实际,就可以完成简单有趣的跑马灯实验了!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 跑马 实验 报告