标题: 单片机P口怎样反方向输出?请大佬指教 [打印本页]

作者: lwhmgp    时间: 2020-9-28 15:39
标题: 单片机P口怎样反方向输出?请大佬指教
做了个循环定时开关,PCB布线发现P口输出和数码管引脚只能反着接,即P1.0接数码管G P1.1接数码管F P1.2接数码管E.........现在怎样让P口适应这个接法,请大佬指教。
作者: 418854190    时间: 2020-9-28 18:46
用这类软件自定义引脚

51hei截图20200928184511.jpg (49.12 KB, 下载次数: 96)

51hei截图20200928184511.jpg

作者: liuguonianhua    时间: 2020-9-28 19:39
你的思路有问题吧,数码管显示搞成编码就行了,比如要显示0,单片机P1口设置为0x3f。。。
作者: liuguonianhua    时间: 2020-9-28 19:40
最好能把原理图整上来
作者: 长风007    时间: 2020-9-28 19:48
这个容易呀!只是脚的定义不同的段有改变了。这样输入的对应的编码值不同。这就是软件的灵活性。
作者: wulin    时间: 2020-9-28 22:07
  1. //顺序共阴极数码管段码表,段码a-h顺序接PX0-PX7
  2. unsigned char code table[]={//共阴数码管段码"0~f-."
  3.                 0x3f,0x06,0x5b,0x4f,
  4.                 0x66,0x6d,0x7d,0x07,
  5.                 0x7f,0x6f,0x77,0x7c,
  6.                 0x39,0x5e,0x79,0x71,0x40,0x80};

  7. //反序共阴极数码管段码表,段码a-h顺序接PX7-PX0
  8. unsigned char code Table[]={//共阴数码管段码"0~f-."
  9.                 0xFC,0x60,0xDA,0xF2,
  10.                 0x66,0xB6,0xBE,0xE0,
  11.                 0xFE,0xF6,0xEE,0x3E,
  12.                 0x9C,0x7A,0x9E,0x8E,0x02,0x01};

  13. //顺序共阳极数码管段码表,段码a-h顺序接PX0-PX7
  14. unsigned char code table[]={//共阳数码管段码"0~f-."
  15.                 0xc0,0xf9,0xa4,0xb0,
  16.                 0x99,0x92,0x82,0xf8,
  17.                 0x80,0x90,0x88,0x83,
  18.                 0xc6,0xa1,0x86,0x8e,0xbf,0x7f};

  19. //反序共阳极数码管段码表,段码a-h顺序接PX7-PX0
  20. unsigned char code Table[]={//共阴数码管段码"0~f-."
  21.                 0x03,0x9f,0x25,0x0d,
  22.                 0x99,0x49,0x41,0x1f,
  23.                 0x01,0x09,0x11,0xc1,
  24.                 0x63,0x85,0x61,0x71,0xfd,0xfe};
复制代码

作者: lwhmgp    时间: 2020-9-29 08:36
谢谢各位的回复,这是数码管,要是换成并口液晶就不行了,我想要一种方法能实现这个功能。
作者: a17674754877    时间: 2020-9-29 12:49
数码管和液晶屏不是一个概念,楼主
作者: 青桑叶    时间: 2020-9-29 13:07
可以写个换位子程序,把字节的D0位和D7位 换位,以此类推!共师兄习!!
作者: robinsonlin    时间: 2020-9-29 19:14
lwhmgp 发表于 2020-9-29 08:36
谢谢各位的回复,这是数码管,要是换成并口液晶就不行了,我想要一种方法能实现这个功能。

数码管是因为不同段位的数码管引脚序列会不一样,因为要优化布线,所以会自定义真值表。 并口液晶是一整排的0到7,用IC的管脚去匹配就行了呀,你有没有发现很多单片机的脚序P0口 和P1口刚好是反向排列的。 思维不要太固化,没有一种方法是既万能又简便的。  
作者: lwhmgp    时间: 2020-9-30 08:06
robinsonlin 发表于 2020-9-29 19:14
数码管是因为不同段位的数码管引脚序列会不一样,因为要优化布线,所以会自定义真值表。 并口液晶是一整 ...

谢谢,看了51,P0和P1是反的,这个还真没注意过,学习了。
作者: aayon1979    时间: 2020-9-30 12:03
脚定义不同的段就可以了。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1