中国石油大学单片机实验三LED指示灯循环控制.doc

中国石油大学单片机实验三LED指示灯循环控制.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中国石油大学单片机实验三LED指示灯循环控制

中国石油大学(北京) 实 验 报 告 实验课程: 单片机原理及应用 实验名称: 实验三—— LED指示灯循环控制 总学时: 48 教师: 林 立 成绩: 实验日期: 2012 年 10 月 23 日 实验目的 熟悉μVision3编译软件、掌握C51编程与调试方法。 实验内容 1、按照教材P227的图A.32,绘制实验三电路原理图; 2、根据功能要求,编写C51程序; 3、练习μVision3程序动态调试方法,并最终实现8个LED灯依次点亮的功能: P0.0→P0.1→P0.2→P0.3→ ┅ →P0.7→P0.6→P0.5→ ┅ →P0.0的顺序,无限循环,间隔约50ms; 4、观察仿真结果,完成实验报告。 实验要求 1、采用proteus + Keil联合仿真法运行C51程序,并练习采用单步、断点以及监视窗等手段进行程序调试; 2、提交的实验报告中应包括:电路分析及原理图、编程思路及C51源程序、调试过程简述,仿真运行效果以及实验小结。 3、提交实验报告的电子邮件主题及存盘文件名格式如,2005041220马晓明实验三。 电路分析及原理图 图1 为LED指示灯循环控制电路原理图 图1 LED指示灯循环控制电路原理图 图中LED指示灯外接于P0口。由于P0口作为I/O口使用时是漏极开路的需要外接上拉电阻因而图中还加有8只100的电阻。此外,还包括时钟电路和复位电路,图中的时钟电路和复位电路与实验1计数显示器相同。 编程思路及C51源程序 编程要求:程序启动后8只发光二极管做循环点亮控制,其中灯亮顺序为P0.0→P0.1→P0.2→P0.3→……P0.7→P0.6→P0.5→……→P0.0,无限循环,两次LED灯亮的时间间隔约为0.5秒。 根据题目要求,程序中应该有一个延时子程序用来每次延时0.5秒,还要有两个循环结构分别控制由上到下和由下到上,还应该有一个控制LED发光的数据。 LED指示灯循环控制程序如下: #includereg51.h //预处理命令,单片机头文件 char led[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //LED灯花样数据 void delay(unsigned int time) //延时函数delay声明 { unsigned int j=0; //定义无符号整形变量初值为0 for(;time0;time--) //采用for结构的外层循 for(j=0;j125;j++); //采用for结构的内层循 } void main() //主函数 { char i; while(1) //采用while结构的无限循环体 { for(i=0;i=7;i++) //由上向下循环控制 { P0=led[i]; delay(200); //调用函数delay,延时50ms } for(i=7;i=2;i--) //由下向上循环控制 { P0=led[i-1]; delay(200); //调用函数delay,延时50ms } } } 调试过程简述 采用proteus + Keil联合仿真法运行C51程序基本方法:输入源程序→建立工程→对工程进行详细设置→ 将源程序变为目标代码→运行调试 。 (1)建立工程文件 点击“Project-New Project… ”菜单,在编缉框中输入一个名字。选择目标CPU(Intel系列的80C51BH)。 (2)源文件的建立 点击新建文件按钮打开一个新的文本编缉窗口,输入程序源代码,以*.c保存该文件。 (3)添加源程序 (右击“Source Group1” →点击“Add f

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档