Arduino 数码管LED驱动 读位法 16进制
区别与上两个驱动的方法,用bitRead()读取位数,代码简洁一点。
//设置阴极接口
int d1 = 1;
int d2 = 2;
int d3 = 3;
int d4 = 4;
int d5 = 5;
int d6 = 6;
int d7 = 7;
//设置阳极接口
int a = 8;
int b = 9;
int c = 10;
int d = 11;
int e = 12;
int f = 13;
int g = A0;
int h = A1;const unsigned char Yang[] = { a, b, c, d, e, f, g, h };
const unsigned char YangCode[]={0x03, // 0 = 缺水0x0C, // 1 = 低水位0x70, // 2 = 定时关机0x3F, // 3 = 00x06, // 4 = 10x5B, // 5 = 20x4F, // 6 = 30x66, // 7 = 40x6D, // 8 = 50x7D, // 9 = 60x07, // 10 = 70x7F, // 11 = 80x6F, // 12 = 90x80, // 13 = 摄氏度符号、睡眠符号
};byte gyin[7] = { d1, d2, d3, d4, d5, d6, d7 };
byte gong_yin[5][7] = { { 1,1,1,1,1,1,0 }, // 0 = 缺水、低水位、定时关机{ 0,1,1,1,1,1,1 }, // 1 = 温度十位、摄氏度符号{ 1,0,1,1,1,1,1 }, // 2 = 温度个位、睡眠符号{ 0,0,1,1,1,1,1 }, // 3 = 温度个和十位{ 1,1,0,0,0,0,1 }, // 4 = 时钟个、十位和两点}; void setup()
{pinMode(A0, OUTPUT);pinMode(A1, OUTPUT);for(int i=1; i<14;i++){pinMode(i,OUTPUT);}
}void loop()
{GongYin(3);GongYin(4);for (int a=3;a<13;a++){digitalWrite(h, HIGH);//显示时钟的冒号delay(300);YangShow(a);delay(300);}
}void GongYin(int y)
{for (int i = 0; i < 7; i++) {digitalWrite(gyin[i], gong_yin[y][i]);}
}void YangShow(char data)
{char i;char j;char hc;if(0<=data<14){hc = YangCode[data];for(i=0;i<8;i++){j = bitRead(hc,i);digitalWrite(Yang[i], j);}}
}
Arduino 数码管LED驱动 读位法 16进制相关推荐
- Python实现生成100个MAC地址并写入文件中,MAC地址前6位(16进制)为01-AF-3B
题目要求: 生成100个MAC地址并写入文件中,MAC地址前6位(16进制)为01-AF-3B 01-AF-3B 01-AF-3B-xx 01-AF-3B-xx-xx 01-AF-3B-xx-xx-x ...
- 将最大位1000位的16进制转化位8进制(蓝桥杯)
用c++实现将最大位1000位的16进制转化成8进制(## 蓝桥杯) 题目 先将16进制转化成二进制在将其转化成八进制 代码如下(示例): ```cpp #include <bits/stdc+ ...
- python:将32位的16进制数据以二进制/hex/binary的形式写入到文件
★★★ 个人博客导读首页-点击此处 ★★★ 如0x1234,写入到文件应该是hex:[00 00 12 34] import sys import os import structdef tran_h ...
- 根据日期和随机数生成32位的16进制随机数
package test.demo;import java.util.ArrayList; import java.util.Date; import java.util.List;public cl ...
- 编一个程序完成从键盘上输入一个4位的16进制数,并以八进制形式显示出来。
思路: 无论输入的是0123--abcdef,还是0123--ABCDEF都可以被解析为16进制字符 DATAS SEGMENTcrlf db 0dh,0ah,24h DATAS ENDSSTACKS ...
- python3 16位字符串16进制字符串转整形问题
碰到的这段字符串为一个ip地址,想要转换为整形 ,用int直接转失败 str="240E098099000000" python2中有long类型 python3中没有long类型 ...
- 利用10位AD转换器 及 LED 数码管,实现由AD转换器采集温度,并用数码管显示。温度超出一定范围,LED 指示灯闪烁报警。(主要分析进制16进制转换10进制,并用数码管显示问题)
** 题目: ** 利用原有的电路 AD 及 LED 数码管显示等例子,进行整合.实现由 AD转换器采集温度(用可调电阻模拟),温度在数码管上显示.当温度超出一定范围,用 LED 指示灯进行闪烁报警. ...
- 生成32位,16进制的UUID
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 8位16进制频率计设计实验--VHDL
一.实验目的 (1)学习并掌握Quartus II的使用方法 (2)学习简单时序电路的设计和硬件测试. (3)学习使用VHDL 语言方法进行逻辑设计输入 (4)学习设计8位16进制频率计,学习较复杂的 ...
最新文章
- 计算机教授技术追踪劫匪,打脸 911警察
- java 线性计算_计算线性指数Tensorflow
- yunyang tensorflow-yolov3 启动evaluate.py报错:Could not create cudnn handle: CUDNN_STATUS_ALLOC_FAILED原因
- java开源库web3j的以太坊过滤器(filter)和智能合约事件(event)教程
- Android 运行时异常 Binary XML file line # : Error inflating class
- cmd进入控制Mysql出现乱码的问题
- python读取xml文件
- MS-SQL中取年-月
- 如何成为一名网络工程师
- c语言社交网络,【C++】设计并实现一种简单的社交网络模型图
- Gradle下载手动安装
- 常见问题之Golang——verifying github.com/go-playground/assert/v2@v2.0.1/go.mod: checksum mismatch错误...
- 雨听 | 英语学习笔记(三)~作文范文:90后的网络生活
- 学fpga(先自顶而下设计,再自下而上集成)
- 美国最常见英文名字排行榜(500名)
- Hilbert 曲线
- 第八部份:Bless安装
- Oracle 计算两日期间隔月数
- facsum (线性筛 积性函数)
- vs2015上安装小番茄插件
热门文章
- ls -l 每一列的含义
- Vue+SpringBoot打造学生综合素质评价系统
- 【抽象代数】伽罗瓦理论简介
- 架构设计:系统存储(20)——图片服务器:需求和技术选型(2)
- 安卓开发板烧写程序与安装软件的区别_在开发板上安装Android
- 狄立克雷函数傅立叶变换0点_你真的理解傅立叶变换吗?
- 学习笔记TF061:分布式TensorFlow,分布式原理、最佳实践
- [网络安全学习篇58]:PHP代码注入
- 根服务器能当蜘蛛种子网站吗,网站被对方镜像有什么危害,该怎么处理?_蜘蛛技巧_超级蜘蛛池...
- 今日话题:朝鲜做了个山寨Facebook 立马就被黑