教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 政务民生 >

基于51单片机的流水灯

来源:网络收集 时间:2026-07-15
导读: 基于51单片机的流水灯 利用51单片机P0口实现8个LED(发光二极管)的流水灯控制。可以使用Proteus软件进行仿真调试。 1 硬件设计 利用单片机的PO口控制8个LED,其电路如下图所示。 在桌面上双击图标,打开ISIS 7 Professional窗口(本人使用的是v7.4 SP3中文版

基于51单片机的流水灯

利用51单片机P0口实现8个LED(发光二极管)的流水灯控制。可以使用Proteus软件进行仿真调试。

1 硬件设计

利用单片机的PO口控制8个LED,其电路如下图所示。

在桌面上双击图标,打开ISIS 7 Professional窗口(本人使用的是v7.4 SP3中文版)。单击菜单命令“文件”→“新建设计”,选择DEFAULT模板,保存文件名为“LSD.DSN”。在器件选择按钮中单击“P”按钮,或执行菜单命令“库”→“拾取元件/符号”,添加如下表所示

都可以不画,它们都是默认的。

在ISIS原理图编辑窗口中放置元件,再单击工具箱中元件终端图标,在对象选择器中单击POWER和GROUND放置电源和地。放置好元件后,布好线。左键双击各元件,设置相应元件参数,完成电路图的设计。

2 软件设计

流水灯又称为跑马灯,在函数中可以将P0口的八种不同状态做成一维数组,循环执行即可,如下所示。当然也可以采用其它函授来实现,如左移一位<<1(或右移一位>>1),循环左移函授_crol_(或循环右移函授_cror_)等。

/****************************************************************** 流 水 灯

*******************************************************************/ #include "reg51.h"

const tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

void delayms(unsigned int x) //延时

{

unsigned int j;

unsigned char k;

for(j=0;j<x;j++)

{

for(k=0;k<120;k++);

}

}

void main()

{

unsigned char k;

while(1)

{

for(k=1;k<8;k++)

{

P0=tab[k];

delayms(500);

}

}

}

打开Keil程序(本人使用的是Keil8.05中文版),执行菜单命令“工程”→“新建工程”创建“流水灯”项目,并选择单片机型号为AT89C51。执行菜单命令“文件”→“新建”创建文件,输入C语言源程序,保存为“LSD.C”。在Project Workspace窗口中右击源代码组1,选择“添加文件到组‘源代码组 l’”将源程序“LSD.C”添加到项目中。

在Keil中执行执行菜单命令“工程”→“创建目标”,编译源程序。如果编译成功,则在“Output Window”的“创建”窗口中显示没有错误,并创建了“LSD.HEX”文件。

3 仿真与调试

关于Proteus与Keil的联合仿真调试,可参见我以前所写的博文或其它参考资料。

启动Proteus的ISIS,并将其放在屏幕的右上角(可将原理图放大到合适大小);再启动Keil的μVision3,并将其放在屏幕的左下角。

在Keil中执行菜单命令“调试”→“启动/停止调试”,或直接单击图标

,进入Keil调试环境。同时,在Proteus ISIS的窗口中可看出Proteus也进入了程序调试状态。

在Keil代码编辑窗口中设置相应断点,断点的设置方法:在需要设置断点语句前双击鼠标左键,可设置断点;再次双击,可取消该断点。

在Keil中按F5键运行程序。首先,P0.O点亮D1发光二极管,等待500ms后D1熄灭,同时P0.1点亮D2发光二极管,同样等待500ms后D2熄灭,P0.2点亮D3发光二极管 ,当P0.7点亮D8发光二极管等待500ms熄灭后,PO.O再次点亮D1发光二极管 如此循环。或可以点击单步、运行到光标处、全速运行等快捷按钮来进行调试。

本人邮箱:txxyc104@http://doc.guandang.net,欢迎来信讨论.

基于51单片机的流水灯.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1444797.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)