流水灯控制实验报告.doc

上传人:大张伟 文档编号:5724345 上传时间:2020-07-24 格式:DOC 页数:8 大小:116.50KB
返回 下载 相关 举报
流水灯控制实验报告.doc_第1页
第1页 / 共8页
流水灯控制实验报告.doc_第2页
第2页 / 共8页
流水灯控制实验报告.doc_第3页
第3页 / 共8页
流水灯控制实验报告.doc_第4页
第4页 / 共8页
流水灯控制实验报告.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《流水灯控制实验报告.doc》由会员分享,可在线阅读,更多相关《流水灯控制实验报告.doc(8页珍藏版)》请在三一文库上搜索。

1、电子与控制系统设计实验报告实验项目名称: LED 灯的移动控制 指导老师: 元泽怀 完成时间: 2015年9月22日 姓名: 刘文开 班级: 12电气1班 学号: 201224122116 成绩: 电子信息与机电工程学院 编制实验项目LED 灯的移动控制实验项目类型验证演示综合设计其他*一、实验目的1.熟悉 IO 接口的设置与应用;2.进一步熟悉编译软件和下载软件的使用;3.熟悉单片机 C 语言中移位、延时、数组等语句的应用;4.熟悉单片机 C 语言开发过程。二、实验内容1.编写一程序, 实现如下功能: 每按一次 S1 键, 8 个发光二极管顺序点亮 1 个; 同样每按下 S2 键一次, 8

2、个发光二极管逆序点亮 1 个, 实验电路原理图如下图 1 所示。实现发光二极管循环点亮的按键控制。2.设计一个完整程序 (另建一个 project) , 实现 8 个 led 灯的自动顺序 (加法) 点亮和逆序(减法)点亮。图1 实验原理图三、使用仪器设备及材料1、安装windows xp操作系统的微型计算机1台2、AVR单片机C语言集成开发环境ICCAVR6.31A3、单片机仿真平台proteus7.54、AVR单片机下载软件progisp5、AVR单片机实验板1套(含下载器)四、实验过程原始记录1、硬件仿真电路(1)在实验室电脑E盘“12电气1班 刘文开”文件夹里新建一个文件名为“test

3、1”的文件夹。(2)打开protues仿真软件,根据图1设计出试验仿真图,命名为“test1.DSN”保存到上述“test的文件夹里”。图2 实验仿真电路图图3 实验仿真电路图2、程序流程图(1).LED控制移动流程图:开始初始化、定义I/O端口是否有按键按下?YYS2按下?NNS1按下?计数器counter-YY计数器counter+Counter8?YNY上一个LED灯点亮最后一个LED灯点亮第一个LED灯点亮下一个LED灯点亮2).LED自动循环流程图:开始初始化、定义I/O口i = 0i = i+1i8?NYi = i - 1PORTB=(10?NPORTB=(1i-1)Y3、 软件主

4、要程序及注解(1).移动控制程序: #include #define uchar unsigned char#define uint unsigned intuchar temp;/*延时函数*/void delay_ms(uint k)uint i,j;for(i=0;ik;i+) for(j=0;j8) counter=1; delay_ms(300); if(PIND&0x20)=0) counter = counter-; if(-counter1) counter=8; delay_ms(300); switch(counter)case 1: PORTB=0xfe;break;ca

5、se 2: PORTB=0xfd;break;case 3: PORTB=0xfb;break;case 4: PORTB=0xf7;break;case 5: PORTB=0xef;break;case 6: PORTB=0xdf;break;case 7: PORTB=0xbf;break;case 8: PORTB=0x7f;break;default:break;(2).自动循环程序:#include #define uchar unsigned char#define uint unsigned int/*延时函数*/void delay_ms(uint k)uint i,j;for

6、(i=0;ik;i+) for(j=0;j1140;j+);/*端口设置函数*/void port_init(void) DDRB = 0xFF; /B端口设置为输出 PORTD = 0XFF; /输出高电平 DDRD = 0x00; /D端口设置为输入 PORTD = 0XFF; /输出高电平/*主函数*/void main(void) unsigned char i; char counter=0; /计数器 port_init(); /调用端口函数 while(1) for(i=0;i8;i+) PORTB =(10;i-) PORTB =(1i-1); delay_ms(200); 五、实验结果及分析 先使用ICCAVR编译修改老师的程序,由移动控制到自动循环控制,程序的主旨不改变,大家一起交流,相互改进。程序编译没问题后,用protues仿真软件绘画出电路原理图,加载移动控制程序、自动循环程序来仿真电路,实验效果达到要求。缺点就是烧写程序进去电路板还不是太熟悉,需要加强练习。

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1