刚接触就遇到问题了,求帮助,谢谢-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: jimsaswwe

[已解决] 刚接触就遇到问题了,求帮助,谢谢

[复制链接]
 楼主| 发表于 2013-8-15 10:56 | 显示全部楼层
keaidexiaohuya 发表于 2013-8-14 23:16
你问的那句意思就是通过循环将hc的各个位分别赋值给led1~led8。这个hc是你想要显示的数的七段码 ...

七段码是ABCDEFG不?请问
发表于 2013-8-15 17:00 | 显示全部楼层
本帖最后由 Kiwi 于 2013-8-15 17:04 编辑

替你解释一下这个函数 希望更深入的 自己去学习一下
void LED8Show(char data){ //这个函数的功能是显示一个你给到的数 0-9 A-F 一共16个
  char i;                           //临时变量,用来表示 数组中8个段位对应的序号(数组LED8Pin[]的下标)
  char j;                           //临时变量,用来表示数组LED8Pin 是0 还是 1(该断是亮 还是灭)            
  char hc;                         //临时变量,用来存放所要显示的字符(0-9 A-F)的 2进制编码(2进制编码中的每一
                                    //位对应了每个段位,是1就亮 是0就灭)
  if(0<=data<16)                 //检查输入的字符 在正常范围内
  {
    hc = LED8Code[data];         //将输入的字符的2进制编码从数组中拿到临时变量中
    for(i=0;i<8;i++)                //循环8次 逐一决定8个段位是亮是暗
    {
      j = bitRead(hc,i);               //读取 hc这个2进制的 第i位置 是0 还是 1 并且讲结果存入 j
      digitalWrite(LED8Pin, j);     //执行语句,LED8Pin对应的I/O口 是高还是低(亮灭)

     }
   }
}
 楼主| 发表于 2013-8-15 22:49 | 显示全部楼层
Kiwi 发表于 2013-8-15 17:00
替你解释一下这个函数 希望更深入的 自己去学习一下
void LED8Show(char data){ //这个函数的功能是显示一 ...

thank  you so much !!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-3 07:23 , Processed in 0.072090 second(s), 13 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表