搜索
bottom↓
回复: 4

P10单元板显示异常

[复制链接]

出0入0汤圆

发表于 2013-11-22 17:33:36 | 显示全部楼层 |阅读模式
本帖最后由 飞剑 于 2013-11-22 18:08 编辑

硬件:STCC5A60S2+P10户外单元板
问题:在被点亮的LED周围的LED也会微微有点亮。

比如上面的图片,显示0000,在0的周围,有几个不该亮的LED也微微发光,请高手帮忙分析一下。
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define NOP     _nop_()

  6. sbit OE     = P1^2;
  7. sbit A1     = P1^3;
  8. sbit B1     = P1^4;
  9. sbit SHCP=P1^5;   //ÒÆλʱÖÓ
  10. sbit STCP=P1^6;   //Ëø´æʱÖÓ
  11. sbit DATA=P1^7;

  12. uchar code NUMBER[160]=
  13. {0xFF,0xFF,0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xDB,0xE7,0xFF,0xFF, //显示0
  14. 0xFF,0xFF,0xFF,0xEF,0x8F,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0x83,0xFF,0xFF,  //1
  15. 0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xBD,0xFB,0xFB,0xF7,0xEF,0xDF,0xBD,0x81,0xFF,0xFF,  //2
  16. 0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xFB,0xE7,0xFB,0xFD,0xFD,0xBD,0xBB,0xC7,0xFF,0xFF,  //3
  17. 0xFF,0xFF,0xFF,0xFB,0xF3,0xEB,0xDB,0xDB,0xBB,0xBB,0x81,0xFB,0xFB,0xE1,0xFF,0xFF,  //4
  18. 0xFF,0xFF,0xFF,0x81,0xBF,0xBF,0xBF,0xA7,0x9B,0xFD,0xFD,0xBD,0xBB,0xC7,0xFF,0xFF,  //5
  19. 0xFF,0xFF,0xFF,0xE3,0xDB,0xBF,0xBF,0xA7,0x9B,0xBD,0xBD,0xBD,0xDB,0xE7,0xFF,0xFF,  //6
  20. 0xFF,0xFF,0xFF,0x81,0xBB,0xBB,0xF7,0xF7,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xFF,0xFF,  //7
  21. 0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xBD,0xDB,0xE7,0xDB,0xBD,0xBD,0xBD,0xC3,0xFF,0xFF,  //8
  22. 0xFF,0xFF,0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xD9,0xE5,0xFD,0xFD,0xDB,0xC7,0xFF,0xFF}; //9

  23. uchar table[2][32];

  24. uchar xianshi[4]={1,2,3,4};

  25. void serial_input(uchar dat)   
  26. {
  27.         uint m;
  28.         for(m=0;m<8;m++)
  29.         {
  30.                 if(dat & 0x80)
  31.                 DATA=1;
  32.                 else
  33.                 DATA=0;
  34.                 SHCP=0;        
  35.                 NOP;
  36.                 NOP;               
  37.                 SHCP=1;
  38.                 NOP;
  39.                 NOP;               
  40.                 SHCP=0;                                                                                               
  41.                 dat=dat<<1;
  42.         }
  43. }

  44. void serial_output()
  45. {
  46.         STCP=1;
  47.         NOP;
  48.         NOP;                       
  49.         STCP=0;        
  50. }  

  51. void HC138_scan(uchar temp)
  52. {
  53.         OE=1;
  54.         A1=0x01 & temp;
  55.         B1=0x01 &(temp>>1);
  56. }

  57. void display()
  58. {
  59.         uint i,j,k;
  60.         for(k=0;k<4;k++)         //ÏÔʾµÄ4ÐР       
  61.         {        
  62.         for(j=0;j<2;j++)     //ÏÔʾ3¡¢4ÁР  
  63.         {
  64.         for(i=0;i<2;i++)   //ÏÔʾ1¡¢2ÁР  
  65.         {
  66.         serial_input(table[j][3*8+2*k+i]);         
  67.         serial_input(table[j][2*8+2*k+i]);                        
  68.         serial_input(table[j][1*8+2*k+i]);               
  69.         serial_input(table[j][0*8+2*k+i]);
  70.         }
  71.         }
  72.         serial_output();
  73.         HC138_scan(k);
  74.         }
  75. }

  76. void xianshi_set()
  77. {
  78.         int abc=0,abcd;
  79.         abcd=0;
  80.         for (abc=0;abc<16;abc++)
  81.         {
  82.                 table[0][abcd]=NUMBER[abc+xianshi[0]*16];
  83.                 abcd=abcd+2;
  84.         }
  85.         abcd=1;       
  86.         for (abc=0;abc<16;abc++)
  87.         {
  88.                 table[0][abcd]=NUMBER[abc+xianshi[1]*16];
  89.                 abcd=abcd+2;
  90.         }
  91.         abcd=0;       
  92.         for (abc=0;abc<16;abc++)
  93.         {
  94.                 table[1][abcd]=NUMBER[abc+xianshi[2]*16];
  95.                 abcd=abcd+2;
  96.         }
  97.         abcd=1;       
  98.         for (abc=0;abc<16;abc++)
  99.         {
  100.                 table[1][abcd]=NUMBER[abc+xianshi[3]*16];
  101.                 abcd=abcd+2;
  102.         }
  103. }


  104. void main()
  105. {       
  106. xianshi_set();
  107. while(1)
  108. {
  109. display();  
  110. }
  111. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出5入0汤圆

发表于 2013-11-22 17:48:33 | 显示全部楼层
上下有暗亮,意思就是行消影没处理好,即换行时OE的处理。

出0入0汤圆

 楼主| 发表于 2013-11-22 18:06:49 | 显示全部楼层
本帖最后由 飞剑 于 2013-11-22 19:17 编辑
menglogic 发表于 2013-11-22 17:48
上下有暗亮,意思就是行消影没处理好,即换行时OE的处理。


请问一下,换行时,OE要怎么处理?我是让OE一直是高电平的。代码已经贴上。

出10入113汤圆

发表于 2013-11-22 18:21:49 | 显示全部楼层
时序好好理解理解的

出0入0汤圆

 楼主| 发表于 2013-11-22 19:20:24 | 显示全部楼层
饭桶 发表于 2013-11-22 18:21
时序好好理解理解的

请问程序应该怎么修改?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-30 22:33

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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