找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11199|回复: 10
打印 上一主题 下一主题
收起左侧

hub08接口 16×64点阵屏

  [复制链接]
跳转到指定楼层
楼主
30黑币
从淘宝买了一块屏幕 不会用 不知道如何接线 我是用的51单片机 STC12C5A60S2 最好可以有代码可以参考一下

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:97554 发表于 2017-12-2 15:57 | 只看该作者
只为点亮的话去买块控制卡,十几块钱就可以了。
回复

使用道具 举报

板凳
ID:155507 发表于 2017-12-2 21:40 | 只看该作者
  1. /*
  2. 08接口简单说明

  3. A 、B 、 C、 D:两片74HC138的输入信号

  4. EN: 74HC138的输出使能,低电平有效
  5. R1: 是74HC595的数据线,串行数据输入
  6. R2: 用不上
  7. G1: 用不上
  8. G2: 用不上
  9. LT:74HC595时钟
  10. SK:74HC595的存储控制线
  11. */
  12. //单片机:STC89C52
  13. //晶振:22.1184M,下载选择双倍时钟,否则会有闪烁!
  14. //显示屏:HUB08接口16X64单红点阵
  15. //显示方式:左移


  16. #include
  17. #include"zimo.h"
  18. #define uchar  unsigned char
  19. #define uint   unsigned int
  20. #define SPEED   5   //定义速度与数字成反比 数字小,速度快
  21. #define NUMBER  11  //定义要移动显示总16X16汉字个数,计算方法:NUMBER=汉字显示个数+4个空格

  22. uchar word=0,col=0,col1=0,disrow=0,move=0;//wor为要显字变量,col为位移变量,col1为字节偏移量,disrow为行变量
  23. uchar BUFF__UP[17];     //缓冲字节数取值=[2*板点阵宽度/8]+1比较保险,即两倍板的点阵字节数.
  24. uchar BUFF__UP0[12];    //上半屏显示缓冲

  25. sbit R1=P0^4;//红色数据1
  26. sbit R2=P3^3;//红色数据2
  27. sbit G1=P3^4;//绿色数据1
  28. sbit G2=P3^5;//绿色数据
  29. sbit CLK=P0^7; //595时钟端口
  30. sbit STB=P0^6; //595锁存端口
  31. sbit OE =P0^5;//74HC138使能:低有效

  32. //根据列指针由双字节合并为单字节的子程序模块
  33. //和点阵的取模方式有关:低位在前,高位在后,但是实际显示,高位在前,低位在后!
  34. uchar Combine_2byte(uchar h1,uchar h2)
  35. {
  36.         uchar T_date,tempcol;
  37.         tempcol=col1;
  38.         T_date=(h1>>tempcol)|(h2<<(8-tempcol));
  39.         return T_date;
  40. }      

  41. //分别装屏点阵数据
  42. void Load_one_line(void)     //多加4个16X16汉字的缓冲
  43. {
  44.         BUFF__UP[0]=Table[word][disrow*2+0];//装载点阵数据
  45.         BUFF__UP[1]=Table[word][disrow*2+1];

  46.         BUFF__UP[2]=Table[word+1][disrow*2+0];
  47.         BUFF__UP[3]=Table[word+1][disrow*2+1];

  48.         BUFF__UP[4]=Table[word+2][disrow*2+0];
  49.         BUFF__UP[5]=Table[word+2][disrow*2+1];

  50.         BUFF__UP[6]=Table[word+3][disrow*2+0];
  51.         BUFF__UP[7]=Table[word+3][disrow*2+1];

  52.         BUFF__UP[8]=Table[word+4][disrow*2+0];
  53.         BUFF__UP[9]=Table[word+4][disrow*2+1];

  54.         BUFF__UP[10]=Table[word+5][disrow*2+0];
  55.         BUFF__UP[11]=Table[word+5][disrow*2+1];

  56.         BUFF__UP[12]=Table[word+6][disrow*2+0];
  57.         BUFF__UP[13]=Table[word+6][disrow*2+1];

  58.         BUFF__UP[14]=Table[word+7][disrow*2+0];
  59.         BUFF__UP[15]=Table[word+7][disrow*2+1];

  60. }

  61. //发送屏一线点阵数据
  62. void Send_one_line(void)
  63. {
  64.         char s;
  65.         uchar temp,i,inc;
  66.         if(col<8)            inc=0;
  67.         if(8<=col&&col<16)   inc=1;
  68.         for(s=0+inc;s<=8+inc;s++)
  69.         {
  70.                 temp=Combine_2byte(BUFF__UP[s],BUFF__UP[s+1]);
  71.                 for(i=0;i<8;i++)
  72.                 {
  73.                         R1=~(temp>>i)&0x01;//取出最低位
  74.                         R2=0xff;      //不显示
  75.                         G1=0xff;
  76.                         G2=0xff;  
  77.                         CLK=0;
  78.                         CLK=1;       //移位时钟
  79.                 }
  80.         }
  81. }


  82. //左移函数
  83. void LEFT_MOVE()
  84. {
  85.         uchar i;
  86.         for(col=0;col<16;col++)//循环16次,点亮并移动一个汉字,步进是一位
  87.         {
  88.                 col1=col%8;//一个字节移动位数
  89.                 for(i=0;i
  90.                 {
  91.                         for(disrow=0;disrow<16;disrow++)//扫描16行   
  92.                         {
  93.                                 Load_one_line();//装载一行点阵数据
  94.                                 Send_one_line();//发送一行点阵数据
  95.                                 OE=1;                     
  96.                                 STB=1;        // 输出锁存         
  97.                                 STB=0;               
  98.                                 P0=disrow;    // 行扫描
  99.                                 OE=0;
  100.                         }
  101.                 }
  102.         }

  103.         word=word+1;// 一个汉字移动后,指向下一个汉字
  104.         if(word>=NUMBER)
  105.         {
  106.                 word=0;//移动完NUMBER个汉字后重新开始
  107.         }   
  108. }


  109. //主函数入口
  110. void main(void)
  111. {
  112.         R1=0;//数据初始化
  113.         R2=0;
  114.         G1=0;
  115.         G2=0;
  116.         while(1)
  117.         {
  118.                 LEFT_MOVE(); //左移
  119.         }
  120. }


  121. zimo.h

  122. unsigned char code Table[][32]=
  123. {
  124.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //空白
  125.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  126.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  127.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  128.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  129.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  130.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  131.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  132.         0x08,0x00,0xC8,0x7F,0x48,0x00,0x7F,0x00,0x48,0x3F,0x68,0x00,0xD8,0x7F,0x48,0x03,
  133.         0x4C,0x25,0x4B,0x65,0x48,0x19,0x48,0x11,0x28,0x11,0x28,0x65,0x1A,0x23,0x04,0x01,
  134.         0xFC,0x1F,0x00,0x0C,0x60,0x03,0x80,0x00,0xFC,0x1F,0x84,0x10,0x84,0x10,0xFC,0x1F,
  135.         0x84,0x10,0x84,0x10,0xFC,0x1F,0x84,0x10,0x84,0x10,0x84,0x10,0x84,0x14,0x04,0x08,

  136.         0x80,0x00,0x80,0x00,0x80,0x00,0xFC,0x1F,0x84,0x10,0x84,0x10,0xFC,0x1F,
  137.         0x84,0x10,0x84,0x10,0x84,0x10,0xFC,0x1F,0x84,0x10,0x80,0x40,0x80,0x40,
  138.         0x00,0x7F,0x00,0x00,

  139.         0x00,0x00,0xFC,0x0F,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00,0x80,0x00,
  140.         0x80,0x20,0xFF,0x7F,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,
  141.         0xA0,0x00,0x40,0x00,

  142.         0x00,0x01,0x00,0x01,0x3F,0x01,0xA0,0x7F,0xA1,0x20,0x52,0x12,0x14,0x02,
  143.         0x08,0x02,0x18,0x02,0x18,0x06,0x24,0x05,0x24,0x09,0x82,0x18,0x61,0x70,
  144.         0x1C,0x20,0x00,0x00,

  145.         0x02,0x00,0x84,0x01,0x6C,0x3E,0x24,0x22,0x20,0x22,0x20,0x22,0x27,0x22,
  146.         0x24,0x22,0xA4,0x22,0x64,0x2A,0x24,0x12,0x04,0x02,0x04,0x02,0x0A,0x00,
  147.         0xF1,0x7F,0x00,0x00,

  148.         0x90,0x00,0x90,0x01,0x88,0x20,0xC8,0x7F,0x44,0x20,0x2C,0x12,0x16,0x02,
  149.         0x45,0x0A,0xC4,0x12,0x44,0x12,0x24,0x22,0x24,0x62,0x14,0x22,0x84,0x02,
  150.         0x04,0x01,0x00,0x00,

  151.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //空白
  152.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  153.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //空白
  154.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  155.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  156.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  157.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  158.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  159.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  160.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  161. };
复制代码
回复

使用道具 举报

地板
ID:251214 发表于 2018-2-3 21:05 | 只看该作者
看看与这块相同吗?我画了个草图看考吧。
回复

使用道具 举报

5#
ID:282046 发表于 2018-2-3 23:17 来自手机 | 只看该作者
买的是液晶显示屏吗?可以参考单片机编程书中的如何点亮液晶显示屏
回复

使用道具 举报

6#
ID:291118 发表于 2018-3-22 22:35 | 只看该作者
厉害了  我毕业论文题目,收益很多,谢谢大神
回复

使用道具 举报

7#
ID:291645 发表于 2018-3-27 12:38 | 只看该作者
亲亲,可以发一下你的控制卡原理图吗
回复

使用道具 举报

8#
ID:342420 发表于 2018-5-31 19:33 | 只看该作者

求问大神108行代码是少了什么?
回复

使用道具 举报

9#
ID:419833 发表于 2019-3-21 19:13 | 只看该作者

你好,能详细说一下锁存器怎么接,怎么用么?
回复

使用道具 举报

10#
ID:268888 发表于 2019-6-17 14:51 | 只看该作者
gloriaR 发表于 2018-5-31 19:33
求问大神108行代码是少了什么?

for(i=0;i<8;i++)
不知道是不是
回复

使用道具 举报

11#
ID:373 发表于 2022-12-26 16:50 | 只看该作者
不知道有没有人成功?我怎么驱动不行呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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