一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 3437|回复: 6
收起左侧

P10接口 32X16单元板详细原理图

[复制链接]
发表于 2016-5-29 18:19 | 显示全部楼层 |阅读模式
最近拆了一个门头的显示屏,得到了20多块的 32X16点阵的单元板。 闲时,测绘了一块单元板的线路,与你分享。最近实践学习点阵,坛里请教了些网友,得到了帮助一并谢谢大家。程序还没有弄,目前只测绘了线路图。终于弄明白了 1/4 扫描, 分4次扫,第一个4953 扫描 1.5.9.13行,第二个4953扫描 2.6.10.14行,第三个4953扫描3.7.11.15行,第四个
扫描4.8.12.16行。
IMG_20160528_225058.jpg

P10 32X 16点阵单元板原理图.pdf (765.75 KB, 下载次数: 525)

网友有需要玩学习P10 点阵屏的可以联系。
发表于 2016-5-29 20:01 | 显示全部楼层
谢谢分享!
发表于 2016-6-30 21:12 | 显示全部楼层
正找这方面的资料。
发表于 2016-7-5 22:33 | 显示全部楼层
互相帮助
  1. #include <reg52.h>
  2. #include <intrins.h>

  3. typedef   unsigned char  uchar;
  4. typedef   unsigned int   uint;


  5. /***********************字点阵码*************************/

  6. uchar code CharTable[]=
  7. {

  8. //0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"黑屏"*/

  9. 0xFF,0xFF,0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xDB,0xE7,0xFF,0xFF,/*"0"*/
  10.                                                                                                                                                                           
  11. 0xFF,0xFF,0xFF,0xEF,0x8F,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0x83,0xFF,0xFF,/*"1"*/

  12. 0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xBD,0xFB,0xFB,0xF7,0xEF,0xDF,0xBD,0x81,0xFF,0xFF,/*"2"*/

  13. 0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xFB,0xE7,0xFB,0xFD,0xFD,0xBD,0xBB,0xC7,0xFF,0xFF,/*"3"*/

  14. 0xFF,0xFF,0xFF,0xFB,0xF3,0xEB,0xDB,0xDB,0xBB,0xBB,0x81,0xFB,0xFB,0xE1,0xFF,0xFF,/*"4"*/

  15. 0xFF,0xFF,0xFF,0x81,0xBF,0xBF,0xBF,0xA7,0x9B,0xFD,0xFD,0xBD,0xBB,0xC7,0xFF,0xFF,/*"5"*/

  16. 0xFF,0xFF,0xFF,0xE3,0xDB,0xBF,0xBF,0xA7,0x9B,0xBD,0xBD,0xBD,0xDB,0xE7,0xFF,0xFF,/*"6"*/

  17. 0xFF,0xFF,0xFF,0x81,0xBB,0xBB,0xF7,0xF7,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xFF,0xFF,/*"7"*/

  18. 0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xBD,0xDB,0xE7,0xDB,0xBD,0xBD,0xBD,0xC3,0xFF,0xFF,/*"8"*/

  19. 0xFF,0xFF,0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xD9,0xE5,0xFD,0xFD,0xDB,0xC7,0xFF,0xFF,/*"9"*/

  20. };


  21. sbit  RCK_595                  = P2^0;     //输出锁存器控制脉冲(L)
  22. sbit  SCLK_595                 = P2^1;     //移位时钟脉冲(S)
  23. sbit  Sdata_Red         = P2^2;     //串行数据输入(RED)
  24. sbit  G_74138                  = P2^4;     //显示允许控制信号端口(EN)

  25. uint col;                                  
  26. uchar code CharTable[];       
  27. uchar Word, DispRow;                       
  28. uchar CharBuf[40];                               



  29. /**********************************************************

  30. 将显示数据送入74HC595内部移位寄存器

  31. **********************************************************/
  32. void WR_595(uchar buf)
  33. {
  34.   uchar x;
  35.   
  36.   for (x=0; x<8; x++)
  37.   {

  38.           Sdata_Red=buf&0x80;

  39.           buf = buf << 1;   //数据左移一位
  40.           
  41.           SCLK_595 = 1;     //上升沿发生移位
  42.           _nop_();
  43.           SCLK_595 = 0;
  44.   }
  45. }



  46. /** Combine two byte to one byte to form shifting byte **/

  47. uchar two_onebyte(uchar h1,uchar h2)
  48. {
  49.         uchar temp;

  50.         temp=(h1<<col)|(h2>>(8-col));                  //left shift

  51.         return (temp);
  52. }




  53. /***************发送一线点阵数据*******************/

  54. void sendoneline()
  55. {
  56.   uchar s,buf;

  57.   for(s=0; s<16; s++)                                         //need to be 16 for 1/4 scan time
  58.    {
  59.      G_74138 = 1;                                              //打开显示
  60.      buf=two_onebyte(CharBuf[s],CharBuf[s+4]);
  61.      WR_595(buf);                                         //load 8 bit into shift register LS595
  62.    }

  63.   P1 = P1&0xf0;
  64.   RCK_595 = 1;     //锁存数据

  65.   _nop_();

  66.   RCK_595 = 0;

  67.   G_74138 = 0;      //打开显示

  68. }




  69. /**************装载一线点阵数据****************/

  70. void loadoneline()
  71. {
  72.   uchar s;                        //panel max display char plus 1, for 16x32 numeric display, s=4+1

  73.    for(s=0;s<5;s++)
  74.         {
  75.           CharBuf[4*s+0]        = CharTable[Word+(16*s+3*4)+DispRow];
  76.           CharBuf[4*s+1]        = CharTable[Word+(16*s+2*4)+DispRow];
  77.           CharBuf[4*s+2]        = CharTable[Word+(16*s+1*4)+DispRow];
  78.           CharBuf[4*s+3]        = CharTable[Word+(16*s+0*4)+DispRow];
  79.         }
  80. }




  81. /**********************************************************

  82. 主函数

  83. **********************************************************/
  84. void main()
  85. {
  86.    uchar i,SPEED;

  87.    G_74138 = 0;      

  88.    col=0;
  89.    Word=0;
  90.    SPEED=20;
  91.    P1=0;
  92.        
  93.         while(1)
  94.           {
  95.               while(col<8)        //Already load max display char + 1, this routine is to shift one char
  96.                                 //Total display will be max display char + 1, for 16x32, display char=5
  97.                                 //After display total shifting char, it will point to next char
  98.             {
  99.                 for(i=0;i<SPEED;i++)//汉字在屏幕上的停留时间(即移动速度快慢)
  100.                   {
  101.                     for (DispRow=0;DispRow<4;DispRow++)                        //扫描4行          
  102.                      {
  103.                         loadoneline();                                        //装载一线点阵数据
  104.                         sendoneline();                                        //发送一线点阵数据                     
  105.                         P1=DispRow;                       
  106.                      }
  107.                   }
  108.        
  109.                col++;        //列指针递增
  110.            }
  111.        
  112.           col=0;
  113.           Word=Word+16;                 //Point to next char and start loop again
  114.        
  115.        
  116.         //Determine when to stop display
  117.         //If Word >=16, display char=5
  118.         //If Word >=32, display char=6
  119.         //If Word >=48, display char=7
  120.         //So, display char=(Wprd-16)/16+5
  121.        
  122.        
  123.           if(Word>=32)
  124.             Word=0;
  125.       }
  126. }
复制代码


发表于 2020-5-29 13:30 | 显示全部楼层

谢谢,很受用!
发表于 2020-9-16 19:32 | 显示全部楼层
谢谢分享
发表于 2021-3-14 23:50 | 显示全部楼层

谢谢分享!

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-4-29 15:43 , Processed in 0.060617 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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