目录

说明

一、工具介绍

二、原理图

三、成品图

四、代码分析

1.C语言实现LED灯点亮

2.实现流水效果

3.实现各种花里胡哨的效果

总结


说明

使用51最小系统,可以实现对所定义的led灯进行控制,通过编程,进而达到所需显示效果。

一、工具介绍

焊接工具:电烙铁,焊锡丝,烙铁架,斜口钳。

其他零件:①洞洞板(9cmx15cm一张),②51最小系统(卡座一枚),③STC89C51/89C52系列芯片(一枚),④晶振(11.0592MHZ),⑤电解电容(1uf 25V,一枚),⑥复位按键,排针开关,⑦瓷片电容(30pf,两枚),⑧LED灯(十枚,可按需求增添),⑨电阻(220Ω十枚,10KΩ复位电阻一枚)。

二、原理图

复位电路:主要用于控制单片机的启动状态。在单片机系统运行过程中,受到外界干扰而出现程序出错或直接死机、停止运行的时候,通过复位操作,单片机内部的烧录代码就会重新执行。复位方式一般分为自动复位和按键复位,为了编程的简单化,采用外部按键复位的方式。

时钟电路:其实本质就是一个晶体振荡电路,提供一个方波信号让单片机进行工作,因此单片机的运行速度及处理能力都是由时钟电路决定。XTAL1为反相放大器的输入端,XTAL2为反向放大器的输出端。本次制作中外接的石英晶体振荡器具有11.0592MHZ的振荡频率。

输出电路:通过程序分别控制单片机的不同I/O孔为高电平,为LED灯提供电源。

三、成品图

四、代码分析

1.C语言实现LED灯点亮

给LED灯定义管脚,通过高电平,低电平,控制LED灯的亮与灭

#include "reg52.h"sbit LED1=P2^0;    //将P2^0定义为LED1的管脚void main()
{LED1=0;    //LED1设置为低电平,此时灯被点亮while(1){}
}

2.实现流水效果

代码如下(示例):

#include "reg52.h"//给十个LED灯定义管脚
sbit led0 = P0^7;
sbit led1 = P2^3;
sbit led2 = P2^0;
sbit led3 = P2^1;
sbit led4 = P2^5;
sbit led5 = P2^6;
sbit led6 = P0^6;
sbit led7 = P0^3;
sbit led8 = P0^1;
sbit led9 = P0^5;//延迟函数
void delay(unsigned int z)
{unsigned int x,y;       //定义无符号的int型x,yfor(x = z;x>0;x--)for(y=110;y>0;y--);}//主函数
void main()
{   led0 = 0;   //设置为低电平,此时灯点亮delay(200); //延迟200msled0 = 1;   //设置为高电平,此时灯熄灭//实现led0~led10的闪烁led1 = 0;delay(200);led1 = 1;led2 = 0;delay(200);led2 = 1;led3 = 0;delay(200);led3 = 1;led4 = 0;delay(200);led4 = 1;led5 = 0;delay(200);led5 = 1;led6 = 0;delay(200);led6 = 1;led7 = 0;delay(200);led7 = 1;led8 = 0;delay(200);led8 = 1;led9 = 0;delay(200);led9 = 1;
}

3.实现各种花里胡哨的效果

类似原理,可实现逐个点亮→全部点亮→逐个熄灭的效果:

#include "reg52.h"sbit led0 = P0^7;
sbit led1 = P2^3;
sbit led2 = P2^0;
sbit led3 = P2^1;
sbit led4 = P2^5;
sbit led5 = P2^6;
sbit led6 = P0^6;
sbit led7 = P0^3;
sbit led8 = P0^1;
sbit led9 = P0^5;void delay(unsigned int z)
{unsigned int x,y;       for(x = z;x>0;x--)for(y=110;y>0;y--);}void main()
{   led0 = 0;  //亮 delay(200);//延迟200ms led0 = 1;  //灭 led1 = 0;delay(200);led1 = 1;led2 = 0;delay(200);led2=1;led3=0;delay(200);led3=1;led4 = 0;delay(200);led4=1;led5=0;delay(200);led5=1;led6 = 0;delay(200);led6=1;led7=0;delay(200);led7=1;led8 = 0;delay(200);led8=1;led9=0;delay(200);led9=1;//全亮 led0 = 1;led1 = 1;led2 = 1;led3 =1;led4 = 1;led5 = 1;led6 = 1;led7 = 1;led8 = 1;led9 = 1;delay(1000); //延迟熄灭 led0 = 0;delay(200);led1 = 0;delay(200);led2 = 0;delay(200);led3 =0;delay(200);led4 = 0;delay(200);led5 = 0;delay(200);led6 = 0;delay(200);led7 = 0;delay(200);led8 = 0;delay(200);led9 = 0;delay(200);
}

通过keil编译出可执行文件(.hex)并烧录到芯片,即可观察到预估效果。

总结

通过本次制作,加深对于C51管脚功能的理解,C语言的简单使用。

(含代码)基于51最小系统的流水灯+焊接制作相关推荐

  1. 基于51单片机的花样流水灯设计

    文章目录 一.前言 二.模块介绍及原理说明 三.硬件连接 四.程序说明 五.效果演示 六.代码链接 一.前言 花样流水灯就是让LED灯按照一定规律进行各种变化,流水灯在生活中也随处可见,例如在建筑物的 ...

  2. 基于51单片机的花样流水灯设计(源码+仿真+设计报告)

    资料编号:113 采用51单片机的IO控制多个LED灯,实现多种模式的流水风,全套资料齐全:具体功能请看下方演示视频 113-基于51单片机的花样流水灯设计(源码+仿真+设计报告) 单片机最小系统介绍 ...

  3. 基于51单片机的特殊流水灯——中间向两边流动

    这是在学校嵌入式应用协会中开学考核的一道题目,具体如下:按下独立按键K1设置led流水灯,从中间向两边流动,后8个流水灯同时进行闪烁,并使用独立按键K2控制流水灯2级变速. 我对题目的理解比较简单粗暴 ...

  4. 基于51单片机的八位流水灯(三种形式)

    写一下寒假做的51小项目. 基本项目 基于AT89C51的流水灯:流水灯共八个,可以实现交替闪烁,一起闪烁,左右流水灯等效果. 模式一:按动key1,实现1,3,5,7和2,4,6,8交替闪烁: 模式 ...

  5. 基于51最小系统的超声波测距

    原理: 超声波方面: 超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波可用于距离的测量. 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物 ...

  6. 【8088】基于8088最小系统板的打地鼠游戏实现【简】

    文章目录 研究目的及意义 8088最小系统板的打地鼠游戏具有以下优势: 研究内容和方法 接口板 上位机软件 8080最小系统板 研究目的及意义 随着社会的发展进步,电子技术的不断发展创新,为了紧跟快速 ...

  7. 基于51单片机的十字路口交通灯系统

    1 设计名称 基于51单片机的十字路口交通灯系统(C语言.Proteus开发环境) 2 设计要求 1. 基于51系列单片机设计一个十字路口交通灯控制系统,用于模拟道路十字路口交通灯实际运行的场景. 2 ...

  8. STM32和51最小系统原理图以及PCB板图以及元件库

    写在前面 由于最近社团学习AD的时候,作业要求画一个STM32和51的最小系统板,经过一番学习,自己琢磨出了这两个作业 新手上路,大佬勿喷 更新 2021.9.11更新 实在不好意思,有许多网友找我要 ...

  9. AD学习笔记--构建51最小系统板

    采用AD17,构建51最小系统板 (由于本人也是初学,文章中的具体布线没有涉及到,抛砖引玉,只做参考) 1.预估需要的原件:主芯片,电阻,电容,晶振,按键,4孔排针,8空排针等,根据需求自己再另行构建 ...

  10. 新建Proteus并绘制51最小系统

    新建Proteus并绘制51最小系统 一.新建Proteus工程 二.绘制51最小系统 三.51最小系统讲解 什么是最小系统 最小系统三要素 电源 晶振电路 复位电路 一.新建Proteus工程 1. ...

最新文章

  1. innodb一页为什么要存储两行记录_InnoDB中的页合并与分裂
  2. Apache Flink Meetup · 上海站,超强数据湖干货等你!
  3. 进程分析命令(持续更新中)
  4. 处理SSL certificate problem self signed certificate
  5. Xcode 8 GM 编译缺失 /Users/usr/lib/libresolv.9.dylib
  6. 【树莓派学习笔记】八、两步安装VS Code (Visual Studio Code)
  7. FreeEIM 是班级的学习委员
  8. xp电脑多少位怎么看_如何查看电脑是什么操作系统和多少位?
  9. matlab path路径定义文件,MATLAB基本操作(七):有关文件路径的几个函数在编程中的作用...
  10. 安装多个mysql及mysql服务
  11. Delphi中对Jpeg格式文件的处理
  12. csapp第八章 异常控制流
  13. Chain of Responsibility(职责链模式)
  14. Linux学习笔记6 - 用户和组群账户管理
  15. 制造企业年终仓库盘点有哪些好的方法
  16. 物联网蓝牙芯片的选型
  17. 边云协同的优点_边云协同
  18. USB调试时出现“because an app is obscuring a permission request settings cab't verify your resonse”问题
  19. 【转】systemd环境变量的小坑
  20. 每天学习一个设计模式(八):创建型之抽象工厂模式

热门文章

  1. 基于微信小程序的培训机构管理系统毕业设计源码
  2. 在线支付功能实现代码
  3. bi 工具 市场排行榜_bi工具市场排行榜,国内BI软件排名
  4. Js apply方法详解,及其apply()方法的妙用
  5. 交通银行计算机专业招聘笔试题4套,交通银行校园招聘笔试经验分享(试题解析)...
  6. 计算机金额函数,Excel数字转大写金额方法 一个隐藏函数搞定
  7. “当前页面的脚本发生错误”如何解决
  8. IXI数据预处理 + Linux + freesurfer
  9. 用Excel做相关性分析
  10. 均值、均方值、方差、均方差和协方差概念及其物理意义