51 单片机包含头文件 BIN51.H 直接写二进制数字
51 单片机包含头文件 BIN51.H 直接写二进制
最近学习 51 单片机,写代码的时候感觉用二进制的形式更直观。就是每次都需要宏定义,太麻烦。干脆把所有的8位二进制数字全部用宏定义写出来,放进头文件,下次使用直接包含头文件就行。
软件环境:win10 专业版 + Keil C51
创建 BIN51.H 文件, 使用 GB2312 编码, 文件内容如下:
/*--------------------------------------------------------------------------
BIN51.H使用说明
把 BIN51.H 放入 Keil 的目录, 例: C:\Keil\C51\INC
随后,可以直接在原文件中直接写二进制数字,例如:#include <reg51.h>
#include <bin51.h>
void main(void){P0 = B_1110_0001;while(1);
}--------------------------------------------------------------------------*/#ifndef __BIN51_H__
#define __BIN51_H__#define B_0000_0000 0X00
#define B_0000_0001 0X01
#define B_0000_0010 0X02
#define B_0000_0011 0X03
#define B_0000_0100 0X04
#define B_0000_0101 0X05
#define B_0000_0110 0X06
#define B_0000_0111 0X07
#define B_0000_1000 0X08
#define B_0000_1001 0X09
#define B_0000_1010 0X0A
#define B_0000_1011 0X0B
#define B_0000_1100 0X0C
#define B_0000_1101 0X0D
#define B_0000_1110 0X0E
#define B_0000_1111 0X0F
#define B_0001_0000 0X10
#define B_0001_0001 0X11
#define B_0001_0010 0X12
#define B_0001_0011 0X13
#define B_0001_0100 0X14
#define B_0001_0101 0X15
#define B_0001_0110 0X16
#define B_0001_0111 0X17
#define B_0001_1000 0X18
#define B_0001_1001 0X19
#define B_0001_1010 0X1A
#define B_0001_1011 0X1B
#define B_0001_1100 0X1C
#define B_0001_1101 0X1D
#define B_0001_1110 0X1E
#define B_0001_1111 0X1F
#define B_0010_0000 0X20
#define B_0010_0001 0X21
#define B_0010_0010 0X22
#define B_0010_0011 0X23
#define B_0010_0100 0X24
#define B_0010_0101 0X25
#define B_0010_0110 0X26
#define B_0010_0111 0X27
#define B_0010_1000 0X28
#define B_0010_1001 0X29
#define B_0010_1010 0X2A
#define B_0010_1011 0X2B
#define B_0010_1100 0X2C
#define B_0010_1101 0X2D
#define B_0010_1110 0X2E
#define B_0010_1111 0X2F
#define B_0011_0000 0X30
#define B_0011_0001 0X31
#define B_0011_0010 0X32
#define B_0011_0011 0X33
#define B_0011_0100 0X34
#define B_0011_0101 0X35
#define B_0011_0110 0X36
#define B_0011_0111 0X37
#define B_0011_1000 0X38
#define B_0011_1001 0X39
#define B_0011_1010 0X3A
#define B_0011_1011 0X3B
#define B_0011_1100 0X3C
#define B_0011_1101 0X3D
#define B_0011_1110 0X3E
#define B_0011_1111 0X3F
#define B_0100_0000 0X40
#define B_0100_0001 0X41
#define B_0100_0010 0X42
#define B_0100_0011 0X43
#define B_0100_0100 0X44
#define B_0100_0101 0X45
#define B_0100_0110 0X46
#define B_0100_0111 0X47
#define B_0100_1000 0X48
#define B_0100_1001 0X49
#define B_0100_1010 0X4A
#define B_0100_1011 0X4B
#define B_0100_1100 0X4C
#define B_0100_1101 0X4D
#define B_0100_1110 0X4E
#define B_0100_1111 0X4F
#define B_0101_0000 0X50
#define B_0101_0001 0X51
#define B_0101_0010 0X52
#define B_0101_0011 0X53
#define B_0101_0100 0X54
#define B_0101_0101 0X55
#define B_0101_0110 0X56
#define B_0101_0111 0X57
#define B_0101_1000 0X58
#define B_0101_1001 0X59
#define B_0101_1010 0X5A
#define B_0101_1011 0X5B
#define B_0101_1100 0X5C
#define B_0101_1101 0X5D
#define B_0101_1110 0X5E
#define B_0101_1111 0X5F
#define B_0110_0000 0X60
#define B_0110_0001 0X61
#define B_0110_0010 0X62
#define B_0110_0011 0X63
#define B_0110_0100 0X64
#define B_0110_0101 0X65
#define B_0110_0110 0X66
#define B_0110_0111 0X67
#define B_0110_1000 0X68
#define B_0110_1001 0X69
#define B_0110_1010 0X6A
#define B_0110_1011 0X6B
#define B_0110_1100 0X6C
#define B_0110_1101 0X6D
#define B_0110_1110 0X6E
#define B_0110_1111 0X6F
#define B_0111_0000 0X70
#define B_0111_0001 0X71
#define B_0111_0010 0X72
#define B_0111_0011 0X73
#define B_0111_0100 0X74
#define B_0111_0101 0X75
#define B_0111_0110 0X76
#define B_0111_0111 0X77
#define B_0111_1000 0X78
#define B_0111_1001 0X79
#define B_0111_1010 0X7A
#define B_0111_1011 0X7B
#define B_0111_1100 0X7C
#define B_0111_1101 0X7D
#define B_0111_1110 0X7E
#define B_0111_1111 0X7F
#define B_1000_0000 0X80
#define B_1000_0001 0X81
#define B_1000_0010 0X82
#define B_1000_0011 0X83
#define B_1000_0100 0X84
#define B_1000_0101 0X85
#define B_1000_0110 0X86
#define B_1000_0111 0X87
#define B_1000_1000 0X88
#define B_1000_1001 0X89
#define B_1000_1010 0X8A
#define B_1000_1011 0X8B
#define B_1000_1100 0X8C
#define B_1000_1101 0X8D
#define B_1000_1110 0X8E
#define B_1000_1111 0X8F
#define B_1001_0000 0X90
#define B_1001_0001 0X91
#define B_1001_0010 0X92
#define B_1001_0011 0X93
#define B_1001_0100 0X94
#define B_1001_0101 0X95
#define B_1001_0110 0X96
#define B_1001_0111 0X97
#define B_1001_1000 0X98
#define B_1001_1001 0X99
#define B_1001_1010 0X9A
#define B_1001_1011 0X9B
#define B_1001_1100 0X9C
#define B_1001_1101 0X9D
#define B_1001_1110 0X9E
#define B_1001_1111 0X9F
#define B_1010_0000 0XA0
#define B_1010_0001 0XA1
#define B_1010_0010 0XA2
#define B_1010_0011 0XA3
#define B_1010_0100 0XA4
#define B_1010_0101 0XA5
#define B_1010_0110 0XA6
#define B_1010_0111 0XA7
#define B_1010_1000 0XA8
#define B_1010_1001 0XA9
#define B_1010_1010 0XAA
#define B_1010_1011 0XAB
#define B_1010_1100 0XAC
#define B_1010_1101 0XAD
#define B_1010_1110 0XAE
#define B_1010_1111 0XAF
#define B_1011_0000 0XB0
#define B_1011_0001 0XB1
#define B_1011_0010 0XB2
#define B_1011_0011 0XB3
#define B_1011_0100 0XB4
#define B_1011_0101 0XB5
#define B_1011_0110 0XB6
#define B_1011_0111 0XB7
#define B_1011_1000 0XB8
#define B_1011_1001 0XB9
#define B_1011_1010 0XBA
#define B_1011_1011 0XBB
#define B_1011_1100 0XBC
#define B_1011_1101 0XBD
#define B_1011_1110 0XBE
#define B_1011_1111 0XBF
#define B_1100_0000 0XC0
#define B_1100_0001 0XC1
#define B_1100_0010 0XC2
#define B_1100_0011 0XC3
#define B_1100_0100 0XC4
#define B_1100_0101 0XC5
#define B_1100_0110 0XC6
#define B_1100_0111 0XC7
#define B_1100_1000 0XC8
#define B_1100_1001 0XC9
#define B_1100_1010 0XCA
#define B_1100_1011 0XCB
#define B_1100_1100 0XCC
#define B_1100_1101 0XCD
#define B_1100_1110 0XCE
#define B_1100_1111 0XCF
#define B_1101_0000 0XD0
#define B_1101_0001 0XD1
#define B_1101_0010 0XD2
#define B_1101_0011 0XD3
#define B_1101_0100 0XD4
#define B_1101_0101 0XD5
#define B_1101_0110 0XD6
#define B_1101_0111 0XD7
#define B_1101_1000 0XD8
#define B_1101_1001 0XD9
#define B_1101_1010 0XDA
#define B_1101_1011 0XDB
#define B_1101_1100 0XDC
#define B_1101_1101 0XDD
#define B_1101_1110 0XDE
#define B_1101_1111 0XDF
#define B_1110_0000 0XE0
#define B_1110_0001 0XE1
#define B_1110_0010 0XE2
#define B_1110_0011 0XE3
#define B_1110_0100 0XE4
#define B_1110_0101 0XE5
#define B_1110_0110 0XE6
#define B_1110_0111 0XE7
#define B_1110_1000 0XE8
#define B_1110_1001 0XE9
#define B_1110_1010 0XEA
#define B_1110_1011 0XEB
#define B_1110_1100 0XEC
#define B_1110_1101 0XED
#define B_1110_1110 0XEE
#define B_1110_1111 0XEF
#define B_1111_0000 0XF0
#define B_1111_0001 0XF1
#define B_1111_0010 0XF2
#define B_1111_0011 0XF3
#define B_1111_0100 0XF4
#define B_1111_0101 0XF5
#define B_1111_0110 0XF6
#define B_1111_0111 0XF7
#define B_1111_1000 0XF8
#define B_1111_1001 0XF9
#define B_1111_1010 0XFA
#define B_1111_1011 0XFB
#define B_1111_1100 0XFC
#define B_1111_1101 0XFD
#define B_1111_1110 0XFE
#define B_1111_1111 0XFF #endif
以上就是 BIN51.H 头文件的全部内容.
找到 Keil 的安装目录,例如: D:\Program Files (x86)\Keil ,将 BIN51.H 复制到
D:\Program Files (x86)\Keil\C51\INC 目录中.
测试代码如下:
#include <reg51.h>
#include <bin51.h>
void main(void)
{
P1 = B_1111_0000;
while(1);
}
根据我的开发版上的接线,显示的效果应该是 LED18 ~ LED15 亮灯,其余灭.
如果在你的开发板子 LED 显示效果不一样,可以调整杜邦线的线序,或者把P1 = B_1111_0000; 改成 P1 = B_0000_1111; 再测试.
相关文章:
51 单片机包含头文件 BIN51.H 直接写二进制数字
51 单片机包含头文件 BIN51.H 直接写二进制 最近学习 51 单片机,写代码的时候感觉用二进制的形式更直观。就是每次都需要宏定义,太麻烦。干脆把所有的8位二进制数字全部用宏定义写出来,放进头文件,下次使用直接包含头文件就行。 …...
php环境搭建步骤(与资源配套使用版)
1.将phpEnv.zip下载到D盘下 2.解压到当前文件夹 3.找到Apache24下的bin目录,执行cmd操作,回车。 4.在cmd中执行代码 Httpd -k install -n “Apache24” 4.使用winR键打开运行,输入services.msc ,回车,进入服务 …...
java 集合处理:
// 1 数组转map public static void main(String[] args) {String backendIdStr"[\"backend-mvj05upv7yc\",\"backend-mvj055qvric\",\"backend-mvj04hlutx4\"]";String[] backendIdList JsonUtil.asObject(backendIdStr, String[].c…...
算法训练第五十二天
718. 最长重复子数组 - 力扣(LeetCode) class Solution { public:int findLength(vector<int>& nums1, vector<int>& nums2) {vector<vector<int>> dp(nums1.size() 1,vector<int>(nums2.size() 1,0));int res…...
LeetCode——回溯篇(三)
刷题顺序及思路来源于代码随想录,网站地址:https://programmercarl.com 目录 46. 全排列 47. 全排列 II 332. 重新安排行程 51. N 皇后 37. 解数独 46. 全排列 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任…...
Python爬取京东商品评论
寻找数据真实接口 打开京东商品网址查看商品评价。我们点击评论翻页,发现网址未发生变化,说明该网页是动态网页。 API名称:item_review-获得JD商品评论 公共参数 获取API测试key&secret 名称类型必须描述keyString是调用keyÿ…...
ROS机器人编程---------(一)安装ROS
安装ROS 打开终端按顺序执行下面命令 默认安装在/opt/ros路径下 打开一个终端输入roscore 测试是否安装成功 启动ROS Master roscore启动小海龟仿真器 rosrun turtlesim turtlesim_node启动海龟控制结点 rosrun turtlesim turtlesim_teleop_key使用键盘方向键控…...
Maven入门教程(一):安装Maven环境
视频教程:Maven保姆级教程 Maven入门教程(一):安装Maven环境 Maven入门教程(二):idea/Eclipse使用Maven Maven入门教程(三):Maven语法 Maven入门教程(四):Nexus私服 Maven入门教程(五):自定义脚手架 Maven项…...
CSS中可继承与不可继承属性
可继承 1. 字体属性: font、font-style、font-variant、font-weight、font-size、line-height等属性是字体样式的属性,都可以被子元素继承。 2. 文本属性: color、text-indent、text-align、text-decoration、text-transform、letter-spa…...
Vscode画流程图
1.下载插件 Draw.id Integration 2.桌面新建文件,后缀名改为XXX.drawio 在vscode打开此文件 ,就可以进行绘制流程图啦...
【K8S系列】深入解析k8s网络插件—Cilium
序言 做一件事并不难,难的是在于坚持。坚持一下也不难,难的是坚持到底。 文章标记颜色说明: 黄色:重要标题红色:用来标记结论绿色:用来标记论点蓝色:用来标记论点 在现代容器化应用程序的世界中…...
OpenCV(十六):高斯图像金字塔
目录 1.高斯图像金字塔原理 2.高斯图像金字塔实现 1.高斯图像金字塔原理 高斯图像金字塔是一种用于多尺度图像表示和处理的重要技术。它通过对图像进行多次高斯模糊和下采样操作来生成不同分辨率的图像层级,每个层级都是原始图像的模糊和降采样版本。 以下是高斯…...
Nginx配置及优化3
Nginx配置及优化3 一、网页状态页二、nginx第三方模块2.1、echo模块 三、变量3.1、内置变量3.1.1、常用的内置变量3.1.2、举个例子 3.2、自定义变量 四、自定义访问日志优化4.1、自定义访问日志的格式4.2、自定义json格式日志 五、nginx压缩功能六、HTTPS功能6.1、nginx的HTTPS…...
网络直播源码UDP协议搭建:为平台注入一份力量
网络直播源码中的UDP协议的定义: UDP协议又名用户数据报协议,是一种轻量级、无连接的协议。在网络直播源码平台中,UDP协议有着高速传输与实时性的能力,尤其是在网络直播源码实时性要求较高的场景,UDP协议的应用有着重要…...
Ubuntu/linux系统环境变量配置详解
一 环境变量配置文件解释 /etc/profile 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 /etc /environment 在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变…...
kafka配置SASL/PLAIN 安全认证
1 zookeeper配置启动 1.1 zookeeper添加SASL支持 为zookeeper添加SASL支持,在配置文件zoo.cfg添加 authProvider.1org.apache.zookeeper.server.auth.SASLAuthenticationProvider requireClientAuthSchemesasl jaasLoginRenew36000001.2 zk_server_jaas.conf文件…...
pdf加密如何解除?这样解除加密很简单
pdf加密如何解除?有时,我们可能会收到一些加密的PDF文件,它们不允许我们对其进行编辑或打印。这时,我们需要使用PDF解密工具,以便能够轻松地解除PDF加密并对其进行编辑。那么接下来就给大家介绍一下pdf加密解除的方法。…...
Ubuntu18.04使用Systemback制作系统镜像并还原
系列文章目录 文章目录 系列文章目录前言一、下载Systemback工具二、制作系统镜像到U盘三、安装制作系统 前言 在Ubuntu系统中开发项目时,有时会希望将项目移植到另外一台计算机(如工控机等)上进行部署,通常会在新计算机中安装Ub…...
OpenCV(十五):拷贝图像
在OpenCV中,拷贝图像数据时有两种方式:深拷贝(Deep Copy)和浅拷贝(Shallow Copy)。这两种拷贝方式的主要区别在于是否创建新的图像副本。 浅拷贝(Shallow Copy)是指将图像对象的指针…...
原神世界中的顺序表:派蒙的趣味数据结构讲解
派蒙,那个总是带着疑问眼神的小家伙,是原神世界中的小精灵。他总是充满好奇心,无论是对新的冒险者,还是对各种奇妙的现象。而他的另一个身份,则是原神世界中的数据结构大师。 一天,派蒙遇到了旅行者小森&a…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
