数码管段选不在同一组IO口,如何驱动?

2020-03-11 19:36发布

比如,char []={0x3f,......}
P0=char[0];
P0口接数码管段选

假如一组IO口不足八位,段选接在不同组的IO,该如何驱动?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
转基因西瓜
2020-03-13 08:08


  1. sbit SEG1 = P2^3;
  2. sbit SEG2 = P2^4;
  3. sbit SEG3 = P2^5;
  4. sbit SEG4 = P2^6;
  5. sbit SEG5 = P1^3;
  6. sbit SEG6 = P1^6;
  7. sibt SEG7 = P1^7;
  8. sbit SEG8 = P0^5;


  9. void Set_SEG(unsigned char dat)
  10. {
  11.      SEG1 = dat & 0x01;
  12.      dat >>= 1;
  13.      SEG2 = dat & 0x01;
  14.      dat >>= 1;
  15.      SEG3 = dat & 0x01;
  16.      dat >>= 1;
  17.      SEG4 = dat & 0x01;
  18.      dat >>= 1;
  19.      SEG5 = dat & 0x01;
  20.      dat >>= 1;
  21.      SEG6 = dat & 0x01;
  22.      dat >>= 1;
  23.      SEG7 = dat & 0x01;
  24.      dat >>= 1;
  25.      SEG8 = dat & 0x01;
  26. }


一周热门 更多>