定时流水灯的程序.doc_第1页
定时流水灯的程序.doc_第2页
定时流水灯的程序.doc_第3页
定时流水灯的程序.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学号: 姓名: 班级: 课程名称:单片机与嵌入式系统基础与实训上机内容: 精确定时流水灯上机实验性质: 综合性实验 设计性实验 验证实验实验时间: 2012 年 5 月 21 日实验地点: 实验设备: 见下实验报告:(包括:目的、方法、原理、结果或实验小结等)。一、实验目的:1、掌握单片机定时器的原理及用法;2、掌握在定时器中断下控制I/O口的方法。二、实验内容: 让接在P0端口的LED从左至右方向流水灯显示,点亮到最右端后又返回到最左端,如此循环。要求用定时器精确定时,每0.5秒跳一次。三、实验设备及器件1、ME850单片机实验箱(包含芯片及连接线等)2、PC机四、实验步骤:1、根据实验要求,设计程序流程图如图1所示:开 始 定时器工作方式设定中断设置、打开进入中断重载初值LED从右亮到左又从左亮到右? 是 否0.5s时间到? 否 是取最左边的LED灯,10ms计数变量清0回到起始的第一个LED灯使LED从左到右显示退出中断2、用Keil uVision4根据实验要求写出相应程序,程序如下所示:#include#define uint unsigned int#define uchar unsigned charuchar display=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd;uchar i=0;uint counter=0;initial()TMOD=0x01;TH0=55536/256;TL0=55536%256;EA=1;ET0=1;TR0=1;main()initial();while(1);void T0_int () interrupt 1TR0=0;ET0=0;TH0=55536/256;TL0=55536%256;if(i14)counter+;if(counter=50) i+; counter=0;P0=displayi;if(i=14)P0=0xff; i=0;TR0=1;ET0=1;3、把调试好的HEX文件下载到实验箱的单片机内,观察效果。显然,可看到实验结果是LED灯先从右边第一个依次亮到左边,接着又从左边依次亮到右边,呈流水灯显示。五、实验结果: 通过这次实验让我掌握怎样在定时器中断下对I/O口进行控制,让我利用中断来控制流水灯的花样变换,这样不仅灵活,而且方便快捷。以前做的流水灯实验只是纯粹的死板的亮与熄灭,没什么特别的花样。而如今使用了中断后,又结合了花样这个思想,把流水灯实验做活了。这让我感受到同样一个效果,实现它的方法也有很多种,我们要学会动脑筋,找到最适合、最简便的方法。这样不仅可以使实验达到最佳的效果,而且还能使实验做到最完美。最精炼。任课教师评语:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论