找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2168|回复: 0
打印 上一主题 下一主题
收起左侧

单片机--流水灯制作

[复制链接]
跳转到指定楼层
楼主
ID:105323 发表于 2016-3-4 16:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
任务要求:使用单片机P1口控制8个发光二极管循环点亮
元器件名称 参数   数量
单片机最小系统 1
直流电源 5V 1
发光二极管 8
电阻 1kΩ 8
电路原理图

电源模块:使用4节5号电池串联提供6V直流电源,通过LM2940电源芯片转变成5V直流电源。



8个发光二极管,方便使用做成了小板,采用共阳极接法

流水灯实验完整硬件

程序源代码
//程序:ex3_7.c
//功能:采用循环结构实现的流水灯控制程序
#include<reg51.h>  //包含头文件REG51.H
void delay(unsigned char i);  //延时函数声明
voidmain()   //主函数
{
   unsigned char i,w;
   while(1) {
    w=0x01;    //信号灯显示字初值为01H
    for(i=0;i<8;i++)
    {
     P1=~w;   //显示字取反后,送P1口
     delay(200);  //延时
       w<<=1;   //显示字左移一位        
    }
           }
}
//函数名:delay
//函数功能:实现软件延时
//形式参数:unsigned char i;
//         i控制空循环的外循环次数,共循环i*255次
//返回值:无
void  delay(unsigned chari) //延时函数,无符号字符型变量i为形式参数
{
    unsignedchar j,k;  //定义无符号字符型变量j和k
   for(k=0;k<i;k++)  //双重for循环语句实现软件延时
     for(j=0;j<255;j++);
}



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表