单片机入门:LED双向流水灯(原理图+程序+仿真)
目录
硬件电路设计
仿真电路设计
程序设计
学习了LED灯的左移和右移后,下面实现LED灯的双向移动点亮。
硬件电路设计
结合51单片机最小系统的知识,利用AD19画好最小系统电路(未包括电源部分)。
本设计需要实现8个LED灯的循环点亮。LED(发光二极管)正极接+5V电源,负极接单片机P1口,这样只要单片机P1口输出高低电平就可以导通二极管,实现LED灯的点亮与熄灭。
仿真电路设计
仿真电路图与AD原理图画法一致,但应注意仿真最小系统复位电路中电容值取0.1uf,电阻值取100Ω,与AD原理图中有所区别。
程序设计
程序采用Keil5设计,8位LED左移右移点亮的程序:
/*-----------------------------------------------
名称:IO口高低电平控制
内容:先右移点亮LED灯,再左移点亮,实现LED双向移动
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#include<intrins.h> //因为要用到左右移函数,所以加入这个头文件
#define led P1 //将P1口定义为led 后面就可以使用led代替P1口
void Delay(unsigned int t); //函数声明
/*------------------------------------------------
主函数
------------------------------------------------*/
void main (void)
{
unsigned char i; //定义一个无符号字符型局部变量 i 取值范围 0~255
unsigned char j; //定义一个无符号字符型局部变量 j 取值范围 0~255
led=~0x80;
Delay(50000); //大约延时450ms
while(1)
{
for(i=0;i<8;i++)
{
P1=~(0x80>>i); //右移i位,然后将结果赋值到P1口
Delay(50000); //大约延时450ms
}
for(j=0;j<8;j++)
{
P1=~(0x01<<j); //右移j位,然后将结果赋值到P1口
Delay(50000); //大约延时450ms
}
}
}
/*------------------------------------------------
延时函数,含有输入参数 unsigned int t,无返回值
unsigned int 是定义无符号整形变量,其值的范围是
0~65535
------------------------------------------------*/
void Delay(unsigned int t)
{
while(t--);}
单片机入门:LED双向流水灯(原理图+程序+仿真)相关推荐
- 51单片机AT24C02写读流水灯实例+Proteus仿真
51单片机AT24C02写读流水灯实例+Proteus仿真 Proteus仿真 这个流水灯的状态是通过读取AT24C02地址中的数值来改变的.(有点废AT24C02) 程序代码 #include &l ...
- 51单片机通过CD4051实现流水灯效果+Proteus仿真
51单片机通过CD4051实现流水灯效果+Proteus仿真 Proteus仿真效果 CD4051 CD4051是一款八选一模拟开关电路,内置3个地址选择端(A0-A2),低有效的使能输入端( E), ...
- 【51单片机入门】实现流水灯的原理及四种方法(详细易上手型)
初学单片机,流水灯的实现是必不可少的,下面将介绍流水灯的原理及使用STC-ISP软件延时计算器生成的延时代码实现流水灯的四种方法,最后介绍如何将延时函数模块化. 目录 一.流水灯原理 二.循环 三.移 ...
- 单片机入门led模拟交通灯
led模拟交通灯 #include <reg52.h> #define uchar unsigned char #define uint unsigned intsbit RED_A=P0 ...
- 基于51单片机的简易花样流水灯3(原理图+程序+仿真)
目录 硬件电路设计 仿真电路设计 程序设计 学习了LED灯的左移和右移后,下面实现多种方式的花样流水灯. 硬件电路设计 结合51单片机最小系统的知识,利用AD19画好最小系统电路(未包括电源部分). ...
- 花样流水灯1:查表显示LED灯(原理图+程序+仿真)
目录 硬件电路设计 仿真电路设计 程序设计 学习了LED灯的左移和右移后,下面实现多种方式的花样流水灯. 硬件电路设计 结合51单片机最小系统的知识,利用AD19画好最小系统电路(未包括电源部分). ...
- 基于51单片机的汇编/C程序:拨码开关控制八位LED实现流水灯
基于51单片机的汇编程序:拨码开关控制八位LED实现流水灯 2022-03-08,51单片机学习笔记 功能 打开K1循环左移,打开K2循环右移,打开K3两侧到中心来回点亮,打开K4单双数位置交替点亮. ...
- 8个流水灯c语言程序按顺序亮,求由AT89S52单片机,8个LED,流水灯程序,要求八灯一盏接一盏闪烁,且循环不灭,,要求用c语...
厦小伙子 t--) for(bt=0; } temp=0x80;/i8 个流水灯反向逐个闪动 { P2=~temp;<8;/ 声明延时函数 void main(void) { uint i.05 ...
- 基于51单片机的汇编程序:拨码开关控制八位LED实现流水灯
基于51单片机的汇编程序:拨码开关控制八位LED实现流水灯 2022-03-08,51单片机学习笔记 功能 打开K1循环左移,打开K2循环右移,打开K3两侧到中心来回点亮,打开K4单双数位置交替点亮. ...
最新文章
- Python使用matplotlib可视化树状图、层次聚类系统树图、树状图根据给定的距离度量将相似点分组在一起、并根据点的相似性将它们组织成树状图链接起来(Dendrogram)
- 史上最全站点降权原因解析
- 在SQL Server上该做的和不该做的
- 3000元电脑配置_2019年全新九代i59400F配RTX2060打游戏的装机电脑配置清单及价格...
- hibernate状态_Hibernate状态的自然身份证
- echarts自定义图例legend文字和样式
- 开源软件的安全性风险_您的开源安全软件是否安全性较低?
- C++实现贪吃蛇(多线程,窗口设置,链表,音乐播放)
- 硬件基础知识(12)---为什么我的处理器这么耗电?原因不只是一个小小的限流电阻.
- JSP→Javabean简介设计原则、JSP动作、Javabean三个动作、Javabean四个作用域范围、Model1简介弊端、JSP状态管理、include动作指令、forword动作、param
- python后台架构Django教程——templates模板
- 【LOJ】#2230. 「BJOI2014」大融合
- 创建线程的3种方式,线程池的参数详解
- python开发bi报表_BI报表分析和数据可视化,推荐这三个开源工具!
- iMX8MM linux5.15.32移植
- html如何转换成中文,html页面中如何将编码转换成中文的示例代码
- C语言文件重定向---“系统找不到指定的文件”
- 史上最强吃鸡电脑配件更新!这张显卡都能买一套房子了
- 蓝牙音频芯片,在交通灯提示语音更换的应用解析,WT2605X
- yolov7运行自己的VOC格式数据集