桂林电子科技大学实验报告2016-2017学年第一学期开课单位海洋信息工程学院适用年级、专业14级机械设计制造及其自动化课程名称《单片微型计算机与接口技术-课内实验》主讲教师周旋课程序号BS1615000_03课程代码BS1615000实验名称《流水灯》学号1416010516-17姓名林亦鹏卢炳荣一、实验目的了解单片机顺序执行的工作特点。掌握单片机并行控制I/O口的基本方法。掌握C语言的编写,及对I/O口的基本操作方法。流水灯实验报告二、实验内容实验设备:计算机一台、单片机实验箱一台、Proteus软件、Keil软件。硬件原理图:单片机实验箱LED使用P0口进行控制,高电平有效。I/O口并行操作方法的优点。单片机延时程序的实现方式。单片机C语言左右移动语句、逻辑运算语句的使用。打开Keil,新建工程:学号-。参考实验程序,编写程序:让灯向左(即从P1_0到P1_7)做流水动作,生成:学号-。6、把”学号-”文件烧写到单片机,观察流水灯的现象。修改程序让流水灯反向流动。编写自己想要的流水方式。三、实验结果分析本实验主要是采用延时程序来控制“流水”的功能,同时采用中断进行亮与暗闪烁的效果,使用C51的P0口进行对LED的控制。过程的主要分析如下:/*******************************************************************************实验名:流水灯*实验说明:LED灯做右移流水灯******************************************************************************/1、程序流程图:2、程序清单及注释:#include<>#include<>//--声明全局函数--//voidDelay10ms(unsignedintc);//延时10ms//主函数voidmain(void){unsignedcharLED;LED=0x01;//0x01=00000001while(1)此时,led灯的最低一位亮{P0=LED;//按照LED的初值,,其余为低电平Delay10ms(50);LED=_crol_(LED,1);//循环右移1位,点亮下一个LED此函数已在库函数中定义}}//延时函数Delay10msvoidDelay10ms(unsignedintc)//误差0us{unsignedchara,b;for(;c>0;c--){for(b=38;b>0;b--){for(a=130;a>0;a--);}}}以上程序用开发板来进行实验,程序可以实现要求。对于在进行实验的设计时,可能存在的错误,主要是C语言的一些使用规则的错误和对中断控制等代码的错误。等发生错误时,就应从代码的开始部分进行检查和分析,对于错误的地方进行修改,直到程序无错误为止。对于验证其功能时,应确认开发板没有损坏,正确连接电路等。五、小组表现评价(必填)在本次实验中16号负责程序编写,17号负责电路连接,配合得十分好,听完老师的讲解,剩下的就是我们自己调试了,有不懂的问老师,老师也讲得十分仔细,在调程序的过程中,主要是了解c语言的命令语句的使用方法,这是
单片机LED灯实验报告 来自淘豆网m.daumloan.com转载请标明出处.