网站大量收购独家精品文档,联系QQ:2885784924

led走马灯.doc

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

一、设计目的 根据单片机系统开发与应用课程所学的概念、理论和方法,按照一般的单片机系统的开发过程,以Proteus7.5sp3为平台,Keil C51 V9.00 uVision4为软件开发工具,设计出一个适当难度的单片机系统;进一步掌握51单片机体系结构和单片机系统。使学生能理论联系实际,加深和巩固所学的理论知识,提高学生的实践能力和单片机系统的综合运用能力。 二、设计内容 1、以Proteus7.5sp3为平台,设计出硬件系统; 2、以Keil C51 V9.00 uVision4为软件开发工具,编制程序实现如下功能:实现单片机控制P1口的8个LED灯花样走马灯,要求连续实现以下四种效果:(1)单灯左移;(2)单灯右移;(3)单灯逐个点亮接着逐个熄灭(4)两边向中间逐个点亮接着中间向两边逐个熄灭。(灯亮和灯灭的时间均为1S。指示灯亮和灭的时间可以通过按键设定,使用两个按键,其中一个按键每按一下,灯亮和灯灭的时、间增加1S,另一个按键每按一下,灯亮和灯灭的时间减少一秒。); 3、所有的源代码均在加上详细的注释; 4、画出程序流程图; 5、要有软硬件联调的操作及截图。 三、操作步骤 1、绘制电路原理图 (1)点击“开始”-〉“程序”按钮,运行ISIS 7 Professional,进入Proteus ISIS集成环境,Proteus ISIS 7的界面如图1所示。 图1 Proteus ISIS 7的编辑界面 (2)将所需元器件加入到对象选择器窗口 单击对象选择器按钮P,在弹出的“Pick Devices”页面中,使用搜索引擎在”Keywords”栏中分别输入”AT89C51“、”LED-BIBY“,在搜索结果”Results”栏中找到该对象,并将其添加至对象选择器窗口。 (3)放置元器件至原理图编辑窗口 将“AT89C51”、“LED-BIBY”放置到原理图编辑窗口,如图2所示。 图2 放置元器件至图形编辑窗口 (4)添加电源 单击绘图工具栏中的Inter-sheet Terminal按钮,在对象选择器窗口选中对象“POWER”将其放置到原理图编辑窗口。 (6)元器件之间的连线 在原理图编辑窗口中,完成各对象的连线,如图3所示。 图3 完成各对象的连线后的界面 (7)调试运行 单击仿真运行开始按钮,能清楚的观察到:引脚的电频变化。红色代表高电平, 蓝色代表低电平,灰色代表未接入信号,或者为三态。 (8)保存该原理图 从“文件”下拉菜单选择“保存”项,将文件名命名为LED走马灯,就此完成了电路原理图的绘制。 2、软件设计 (1)根据总体设计思路,画出流程图如图4所示。 图4 流程图 (1)选择【工程】/【新建工程】选项。 (2)在弹出的“Create New Project”对话框中选择要保存项目文件的路径保存到McuPort目录里,在“文件名”文本框中输入项目名MyProjest,然后单击“保存”按钮。 (3)这时会弹出一个对话框,要求选择单片机的型号。可以根据使用的单片机型号来选择,Keil C51几乎支持所有的80C51内核的单片机,这里选择AT89C51,先选择ATMEL公司,再选择AT89C51,右边Description栏中即显示该单片机的基本说明,然后单击“确定”按钮,弹出将8051初始化代码复制到项目中的询问对话框,单击“是”按钮。 选择【文件】/【新建文件】选项,在弹出的程序文本框中输入程序。 #include reg51.h //片内寄存器定义 #include intrins.h //内部数据库 #define uint unsigned int //宏定义 #define uchar unsigned char //uchar表示无符号字节 uint表示无符号整形数 uchar code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; uchar code aa[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; uchar code bb[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; uchar code cc[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff}; uchar code dd[]={0x7e,0x3c,0x18,0x00,0x18,0x3c,0x7e,0xff}; /

文档评论(0)

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

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

1亿VIP精品文档

相关文档