51单片机学习历程(三)点亮单片机的第一盏灯
点亮流水灯共有三种方式
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单片机学习历程(三)点亮单片机的第一盏灯相关推荐
- ESP32Arduino学习(三).ESP32驱动WS2812第一个灯绿色问题的解决(Adafruit_NeoPixel库)
问题 在使用ESP驱动WS2812灯带时存在的问题 1,连续刷新闪烁 2.开机第一个灯亮绿色(使用过少的灯数时会出现这个情况) 解决方法 1,连续刷新闪烁 你可能使用的是比较旧的Adafruit_Ne ...
- 51单片机学习历程——硬件准备&开发环境搭建
系列文章目录 第一章 51单片机学习历程(1)--开发环境搭建 第二章 51单片机学习历程(2)--建立新的工程 第三章 51单片机学习历程(3)--点亮一颗LED 第四章 51单片机学习历程(4)- ...
- 【小白】【大学】一名嵌入式软件开发小白的单片机学习历程、心路历程、经验分享
我的嵌入式学习之路 我为什么写这篇文章 先简单介绍一下我自己 与每一个技术小白共勉 这篇文章写给谁 我的学习经验分享 我的成长之路 我的单片机学习历程分享 51系列单片机学习历程 预备知识:(可以查百 ...
- 51单片机——点亮第一盏灯详细操作过程
在Keil5 中new 一个project保存到合适的位置 在project中new一个文件将他保存为LED.C 选中AT89C51芯片 钩中生成16进制文件,可直接烧录到板子上 #include & ...
- 【读书笔记】点亮心中的那盏灯
点亮心中的那盏灯 --<杀死一只知更鸟>读后感 在梅康镇里的一个中产家庭里,有这样的一家三口, ...
- STM32点亮第一盏灯
STM32点亮第一盏灯 1.在原理图里面找到灯的位置 2.编程实现 3.编译.连接.下载运行即可 1.在原理图里面找到灯的位置 打开原理图,如下图可以观察到LED1对应的管脚是PA5 并且,阳极对应的 ...
- 点亮第一盏灯的c语言编程,单片机点亮第一盏灯实验详细教程
第一个实验:keil软件使用与点亮人生的第一只发光二极管 1.001.jpg (23.15 KB, 下载次数: 78) 2017-5-20 17:27 上传 本章详细介绍单片机程序常用编译软件 Kei ...
- 【单片机学习之旅】(1-1)单片机概述
文章目录 前言 一.单片机是什么? 1.单片机的发展史 2.单片机的应用 二.单片机的种类 1.分类 2.目前流行的单片机 总结 前言 为什么要写博客?目的是什么? 为了更好更深入的学习单片机,巩固学 ...
- 单片机复位后为什么要对sp重新赋值_51单片机系列之2点亮第一个led小灯
点亮led灯简单的理解就是要求阳极高电平阴极低电平.接下来我们去看看单片机的原理图,找到led 模块. 如图可以看到led的阳极是连接的VCC(电源高电平)阴极连接的接口是单片机的I/O口P20到P2 ...
最新文章
- 使用 ASP.NET 加密口令
- 【转】Eclipse+CDT+Gcc编译选项控制
- 全角半角转换(利用word2003 2007 自带功能)
- 无限滚动加载最佳实践
- VS Code右键运行Open with live Server弹出找不到应用程序
- ubuntu server 18.04 和 20.04 安装 RabbitMQ
- android框架揭秘之android中c++写的服务笔记
- 开发者 发展 9 心智模式
- lingo3d_基于官方教程的分析
- android图片资源加载和异常
- java赛马游戏_Java程序之赛马游戏
- matlab主成分分析散点图_主成分分析与matlab
- 根据项目或WBS结算规则批量生成下阶WBS的结算规则-CJB2
- 习题2_2、韩信点兵
- 美团脱颖而出的经验_使用条件格式使重要的Outlook邮件脱颖而出
- 算法 - algorithm
- 中国海上风电行业十四五运维策略及供需形势分析报告2021-2027年
- 2008春晚,赵本山之《火炬手》(现场版最新完整台词)
- 非科班程序员半路出家并成功进入eBay,秘籍在这里
- iPhone 13 哪便宜?拼多多百亿补贴!
热门文章
- HDU2452 Navy maneuvers 记忆化搜索
- php CI 微信支付扩展 微信扫码支付 jssdk 支付 退款
- Java判断单链表是否有环的两种实现方法
- 怎么申请电子邮箱?电子邮箱号码如何申请?
- 台式计算机读不到u盘怎么回事,电脑u盘读不出怎么办 快速解决u盘读不出方法盘点...
- 麻了!Spring Boot 从 2.2.5 升级到 2.7.2 之后,一堆BUG
- MM 委外加工(Subconctracting)流程
- 移动邮箱(@139.com):启用IMAP/SMTP服务+获取授权码
- CListCtrl控件使用
- Larave 利用smtp.office365.com发送邮件遇到问题