点亮流水灯共有三种方式

1、一盏一盏的操作:即先令第一盏灯亮,延时,再令它熄灭,延时,再让下一盏灯重复操作即可;

2、利用数组方法点亮:先定义一个数组,其中存入相应8盏灯亮的数字(即0xfe,0xfd,0xfb,0xf7,0xef,oxdf,0xbf,0x7f:依次代表只有第一盏灯,第二盏灯....亮),再利总线,按顺序点亮八盏灯;

3、利用移位方法点亮:(1)、利用移位运算和按位或运算,依次点亮八盏灯;

(2)、包含intrins头文件(里面含有移位函数),使用相应的左移或右移函数进行移位,循环点亮八盏灯

在keil5下编写程序:

main.c:
#include <reg52.h>
#include "delay.h"
#include <intrins.h>
#define LEDPORT P0
//unsigned char chardata[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void main()
{unsigned char temp = 0x7f;while(1){LEDPORT = _crol_(temp,1);temp = LEDPORT;delay_s(1);}
}delay.c:
void delay_us(unsigned char t)
{while(--t);
}
void delay_ms(unsigned char t)
{while(t--){delay_us(245);delay_us(245);}
}
void delay_s(unsigned char t)
{while(t--){delay_ms(200);delay_ms(200);delay_ms(200);delay_ms(200);delay_ms(200);}
}

51单片机学习历程(三)点亮单片机的第一盏灯相关推荐

  1. ESP32Arduino学习(三).ESP32驱动WS2812第一个灯绿色问题的解决(Adafruit_NeoPixel库)

    问题 在使用ESP驱动WS2812灯带时存在的问题 1,连续刷新闪烁 2.开机第一个灯亮绿色(使用过少的灯数时会出现这个情况) 解决方法 1,连续刷新闪烁 你可能使用的是比较旧的Adafruit_Ne ...

  2. 51单片机学习历程——硬件准备&开发环境搭建

    系列文章目录 第一章 51单片机学习历程(1)--开发环境搭建 第二章 51单片机学习历程(2)--建立新的工程 第三章 51单片机学习历程(3)--点亮一颗LED 第四章 51单片机学习历程(4)- ...

  3. 【小白】【大学】一名嵌入式软件开发小白的单片机学习历程、心路历程、经验分享

    我的嵌入式学习之路 我为什么写这篇文章 先简单介绍一下我自己 与每一个技术小白共勉 这篇文章写给谁 我的学习经验分享 我的成长之路 我的单片机学习历程分享 51系列单片机学习历程 预备知识:(可以查百 ...

  4. 51单片机——点亮第一盏灯详细操作过程

    在Keil5 中new 一个project保存到合适的位置 在project中new一个文件将他保存为LED.C 选中AT89C51芯片 钩中生成16进制文件,可直接烧录到板子上 #include & ...

  5. 【读书笔记】点亮心中的那盏灯

                                                   点亮心中的那盏灯 --<杀死一只知更鸟>读后感 在梅康镇里的一个中产家庭里,有这样的一家三口, ...

  6. STM32点亮第一盏灯

    STM32点亮第一盏灯 1.在原理图里面找到灯的位置 2.编程实现 3.编译.连接.下载运行即可 1.在原理图里面找到灯的位置 打开原理图,如下图可以观察到LED1对应的管脚是PA5 并且,阳极对应的 ...

  7. 点亮第一盏灯的c语言编程,单片机点亮第一盏灯实验详细教程

    第一个实验:keil软件使用与点亮人生的第一只发光二极管 1.001.jpg (23.15 KB, 下载次数: 78) 2017-5-20 17:27 上传 本章详细介绍单片机程序常用编译软件 Kei ...

  8. 【单片机学习之旅】(1-1)单片机概述

    文章目录 前言 一.单片机是什么? 1.单片机的发展史 2.单片机的应用 二.单片机的种类 1.分类 2.目前流行的单片机 总结 前言 为什么要写博客?目的是什么? 为了更好更深入的学习单片机,巩固学 ...

  9. 单片机复位后为什么要对sp重新赋值_51单片机系列之2点亮第一个led小灯

    点亮led灯简单的理解就是要求阳极高电平阴极低电平.接下来我们去看看单片机的原理图,找到led 模块. 如图可以看到led的阳极是连接的VCC(电源高电平)阴极连接的接口是单片机的I/O口P20到P2 ...

最新文章

  1. 使用 ASP.NET 加密口令
  2. 【转】Eclipse+CDT+Gcc编译选项控制
  3. 全角半角转换(利用word2003 2007 自带功能)
  4. 无限滚动加载最佳实践
  5. VS Code右键运行Open with live Server弹出找不到应用程序
  6. ubuntu server 18.04 和 20.04 安装 RabbitMQ
  7. android框架揭秘之android中c++写的服务笔记
  8. 开发者 发展 9 心智模式
  9. lingo3d_基于官方教程的分析
  10. android图片资源加载和异常
  11. java赛马游戏_Java程序之赛马游戏
  12. matlab主成分分析散点图_主成分分析与matlab
  13. 根据项目或WBS结算规则批量生成下阶WBS的结算规则-CJB2
  14. 习题2_2、韩信点兵
  15. 美团脱颖而出的经验_使用条件格式使重要的Outlook邮件脱颖而出
  16. 算法 - algorithm
  17. 中国海上风电行业十四五运维策略及供需形势分析报告2021-2027年
  18. 2008春晚,赵本山之《火炬手》(现场版最新完整台词)
  19. 非科班程序员半路出家并成功进入eBay,秘籍在这里
  20. iPhone 13 哪便宜?拼多多百亿补贴!

热门文章

  1. HDU2452 Navy maneuvers 记忆化搜索
  2. php CI 微信支付扩展 微信扫码支付 jssdk 支付 退款
  3. Java判断单链表是否有环的两种实现方法
  4. 怎么申请电子邮箱?电子邮箱号码如何申请?
  5. 台式计算机读不到u盘怎么回事,电脑u盘读不出怎么办 快速解决u盘读不出方法盘点...
  6. 麻了!Spring Boot 从 2.2.5 升级到 2.7.2 之后,一堆BUG
  7. MM 委外加工(Subconctracting)流程
  8. 移动邮箱(@139.com):启用IMAP/SMTP服务+获取授权码
  9. CListCtrl控件使用
  10. Larave 利用smtp.office365.com发送邮件遇到问题