单片机入门——流水灯介绍
一、搭建流水灯电路图
首先画出仿真图,方便仿真程序
一般使用单片机的P1口 输出,不需要加上拉电阻。由图可看出这是共阳极的电路。
二、流水灯程序
单片机流水灯是在keil中利用C语言实现的,可通过三种方式来实现。三种方式分别是:
1.通过位移实现
2.使用移位函数(_crol_()或者_cror_())
1.
单片机的执行指令速度非常快,一个晶振是12MHz的单片机执行一条指令的速度是微秒级的,所以点亮第一个灯的时间太短了,以至于我们根本没有察觉。
因此我们需要一个延时的语句。
实现延时的方法就是循环执行很多次空指令。程序如下:
2.下面是通过位移来实现流水的程序。
一共8个灯,从第一个开始依次点亮,后面一个点亮,前一个就会熄灭。
3.使用移位函数(_crol_()或者_cror_()) 需要包含头文件<intrins.h>
_crol_()、_cror_()分别是循环左移和循环右移函数。
3.下面是从中间向两边点亮的流水灯程序。
单片机入门——流水灯介绍相关推荐
- 51单片机入门 - 流水灯 和 呼吸灯
本文编程环境在 51单片机开发环境搭建 - VS Code 从编写到烧录 有过介绍.使用 VS Code + SDCC + stcgal. 关于软硬件的信息: Windows 10 STC89C52R ...
- 51单片机入门流水灯
文章目录 前言 一.延时函数 二.流水灯代码 三.代码改进 总结 前言 上次已经实现了LED的点亮了,这篇文章将带大家实现流水灯. 一.延时函数 要想实现流水灯首先就得知道什么是延时函数,延时函数的作 ...
- 51单片机:流水灯蜂鸣器控制
//51单片机:流水灯&蜂鸣器控制 //bglei@nuaa.edu.cn 2022/8/28<流水灯&蜂鸣器控制> #include<reg52.h> #in ...
- pic单片机流水灯循环右移c语言,PIC单片机LED流水灯程序
PIC 单片机 LED流水灯程序 ;************************************************************* include ;*********** ...
- 单片机c语言 流水灯 教案,单片机控制流水灯讲课教案.doc
单片机控制流水灯 前言 随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯不断变化闪烁.LED灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市 ...
- Proteus:单片机 LED流水灯模拟
题目概述: 单片机LED流水灯. 编程: #include <reg51.h> #include <intrins.h> #define uint unsigned int # ...
- 实现单片机控制流水灯代码
可以使用C语言编写单片机控制流水灯代码,步骤如下:1. 控制单片机的IO口,把IO口设置为输出模式:2. 写一个循环,依次控制IO口输出高低电平:3. 将IO口的高低电平与流水灯相连,实现控制流水灯的 ...
- 51单片机循环流水灯源码
51单片机循环流水灯源码 #include <reg52.h> #include <intrins.h> void delay(unsigned char a) {unsign ...
- 单片机stm32LED流水灯C语言,STM32单片机入门 篇二:单片机编程:从点亮LED灯开始(二)...
STM32单片机入门 篇二:单片机编程:从点亮LED灯开始(二) 2019-04-26 13:21:48 19点赞 73收藏 19评论 写在前面的话:本篇是承接上一篇文章,属于小白向. 没看过的朋友点 ...
- 简单51单片机c语言编程流水灯,51单片机如何实现流水灯?51单片机实现流水灯的三种方法详细分析...
描述 首先,介绍下原理.下图为主控芯片和流水灯模块的原理图.流水灯模块接在单片机的P1口,由原理图可以知道,在P1口给一个低电平即可点亮LED灯.相反,如果要LED灯熄灭,就要把P1口的电平变为高电平 ...
最新文章
- jQuery--AJAX传递xml
- 【Java基础】字符串与数组
- 各种过安全狗一句话***
- 如何在网页标题栏title加入icon图标?
- 银联基于OpenStack的金融私有云建设实践
- npm修改默认安装路径和数据源
- android 修改系统参数设置,2021-05-15 [RK3399][Android7.1] 调试笔记 ---显示参数动态设置接口...
- C#中使用SqlBulk百万级数据秒级插入
- 【Python】ffmpeg模块查询视频、音频信息
- latex中怎么设置每一行文字都对齐_排版系列教程 | LaTeX,为学术论文排版而生【浮动体篇】...
- python改变数组元素排序
- 07.计算Nova→2.nova组件详解→2.nova-scheduler
- LintCode—删除链表中倒数第n个节点(174)
- 社交网络分析-中心性指标
- MySQL 常用命令汇总
- 为什么我选择移民新西兰?
- jmeter基础之MD5加密
- matlab解线性方程组后结果是小数,MATLAB线性方程组求解
- Mysql 安装PMM监控 (一台主机安装)
- 转载 | 在阿里做了3年多程序员,我究竟学到了什么?
热门文章
- 深度学习在内窥镜图像方面的研究:
- python画父子关系图_python elasticsearch-dsl父子关系
- 计算机行业的未来10年发展前景,未来10年,这4大工作就业前景好,发展前途超过公务员...
- 树莓派4+神经计算棒二代开发-环境搭建
- STM32cube HAL库 I2C实现LM75数字温度传感器温度读取,并串口打印
- Android商业模式
- 有关于fprintf()函数的用法
- 实录分享|一篇文章看CNTV的容器化探索和平台搭建
- 添加或删除程序 0x00310030指令引用的0x00310030内存。该内存不能为written。
- 室内导航怎么实现?怎么做到零成本实现室内导航?