收藏 分销(赏)

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

上传人:快乐****生活 文档编号:4762554 上传时间:2024-10-12 格式:DOC 页数:10 大小:100.03KB
下载 相关 举报
单片机跑马灯实验报告.doc_第1页
第1页 / 共10页
单片机跑马灯实验报告.doc_第2页
第2页 / 共10页
点击查看更多>>
资源描述
专业资料整理分享 学号 14142200277序号 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 跑马灯实验电路原理图 三、程序流程图 检测P2键值 开始 完成对应键值的功能 判断P2键值是否改变 图2 简单键控的流水灯程序流程图 四、源程序 1、基本的流水灯 #include<reg51.h> #define uint unsigned int #define uchar unsigned char void delay( j ) //延时函数 data uint j; { data uint i; while(j--) for(i=0;i<250;i++); } void main( ) //主函数 { data uchar a; a=1; //保证只有一个点亮 while(1) //不断循环 { P2=~a; //低电平点亮 a=a<<1; //左移一位,右补0 if(a==0)a=1; //全0 delay(2250);} //流动点亮延时 } 2、简单键控的流水灯 #include<reg51.h> #define uchar unsigned char #define uint unsigned int void delay(uint i) { uchar t; while(i--) { for(t=0;t<120;t++); } } void main() { data uchar a; 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<reg51.h> #define uchar unsigned char #define uint unsigned int void delay(uint i) { uchar t; data uchar b=0xfb; while(i--) { if(P2==0xfe) b=0xfe; if(P2==0xfd) b=0xfd; if(P2==0xfb) b=0xfb; for(t=0;t<120;t++); } } void main() { data uchar a; 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等仿真软件,最后是上机操作,根据教程了解单片机与其他设备相连接的输入输出中断等接口技术,运用实际,就可以完成简单有趣的跑马灯实验了!我们对服务人员的配备以有经验、有知识、有技术、懂管理和具有高度的服务意识为准绳,在此基础上建立一支高素质的物业管理队伍,为销售中心的物业管理创出优质品牌。在物业人员配备中,我们遵循如下原则: 1、本着精简、高效原则根据项目实际服务、管理和经营的需要,推行统一目标、分解责任、责权利相结合。2、职责、权限明确原则日常工作由综合服务主管直接对各服务人员即集指挥和职能于一身,便于综合服务主管全面掌握日常工作及人员状况,减小失控。 完美WORD格式编辑
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服