久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5418|回復(fù): 9
打印 上一主題 下一主題
收起左側(cè)

P10點(diǎn)陣屏C51單片機(jī)程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:104984 發(fā)表于 2019-12-17 12:23 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
P10點(diǎn)陣屏C51程序
1/4掃描,四掃下行,1路16行,數(shù)據(jù)低OE高(04-P16-08)

適用于HUB12接口單色P10

串口模式0,普通左移,亮度速度可調(diào),6個(gè)IO口,用的STC8F1K08,最多231個(gè)字

制作出來的實(shí)物圖如下:


單片機(jī)源程序如下:
  1. #include <STC8.H>
  2. #include <intrins.h>
  3. #include <string.h>
  4. #define                DATA        P30                //
  5. #define                CLOCK        P31                //↑        ↓
  6. #define                ADDR_A        P32                //↑
  7. #define                ADDR_B        P33                //
  8. #define                LATCH        P54                //↓        ↓
  9. #define                ENABLE        P55                //↓
  10. unsigned char Offset_Bit,Offset_String;
  11. unsigned char code String[]=
  12. {
  13.         #include <0.h>
  14. };

  15. /*----------------------------延時(shí)10us@STC-Y6@11.0592MHz----------------------------*/
  16. void Delay_10us(void)
  17. {
  18.         unsigned char i;
  19.         i=35;
  20.         while(--i);
  21. }

  22. /*----------------------------延時(shí)x10us----------------------------*/
  23. void Delay_x10us(unsigned char x)
  24. {
  25.         while(x--)
  26.                 Delay_10us();
  27. }

  28. void Line_Driver(unsigned char temp)
  29. {
  30.         switch(temp)
  31.         {
  32.                 case 0:
  33.                         ADDR_A=0;
  34.                         ADDR_B=0;
  35.                 break;
  36.                 case 1:
  37.                         ADDR_A=1;
  38.                         ADDR_B=0;
  39.                 break;
  40.                 case 2:
  41.                         ADDR_A=0;
  42.                         ADDR_B=1;
  43.                 break;
  44.                 case 3:
  45.                         ADDR_A=1;
  46.                         ADDR_B=1;
  47.                 break;
  48.                 default:
  49.                 break;
  50.         }
  51.         ENABLE=1;
  52. }

  53. void Send_One_Byte(unsigned char temp)
  54. {
  55.         unsigned char i,temp1;
  56.         for(i=0;i<8;i++)
  57.         {
  58.                 temp1<<=1;
  59.                 if(temp&0x01)
  60.                         temp1|=0x01;
  61.                 temp>>=1;
  62.         }
  63.         SBUF=~temp1;
  64.         while(!TI);
  65.         TI=0;
  66. }

  67. void Send_Display(unsigned char line)
  68. {
  69.         unsigned char i,j,a,b;
  70.         unsigned int c,d;
  71.         b=2*line;
  72.         for(i=0;i<4;i++)
  73.         {
  74.                 c=(Offset_String+i)*32;
  75.                 for(j=0;j<8;j++)
  76.                 {
  77.                         if(j<4)
  78.                         {
  79.                                 a=(3-j)*8;
  80.                                 d=a+b+c;
  81.                                 if(Offset_Bit<=8)
  82.                                         Send_One_Byte((String[d]<<Offset_Bit)|(String[d+1])>>(8-Offset_Bit));
  83.                                 else
  84.                                         Send_One_Byte((String[d+1]<<(Offset_Bit-8))|(String[d+32])>>(8-(Offset_Bit-8)));
  85.                         }
  86.                         else
  87.                         {
  88.                                 a=(7-j)*8;
  89.                                 d=a+b+c;
  90.                                 if(Offset_Bit<=8)
  91.                                         Send_One_Byte((String[d+1]<<Offset_Bit)|(String[d+32])>>(8-Offset_Bit));
  92.                                 else
  93.                                         Send_One_Byte((String[d+32]<<(Offset_Bit-8))|(String[d+33])>>(8-(Offset_Bit-8)));
  94.                         }
  95.                 }
  96.         }
  97.         LATCH=0;
  98.         LATCH=1;
  99. }

  100. void Display(unsigned char brightness)
  101. {
  102.         unsigned char line;
  103.         for(line=0;line<4;line++)
  104.         {
  105.                 Send_Display(line);
  106.                 Line_Driver(line);
  107.                 Delay_x10us(brightness);
  108.                 ENABLE=0;
  109.                 Delay_x10us(10-brightness);
  110.         }
  111. }

  112. void Init(void)
  113. {
  114.         AUXR|=0x20;
  115.         P3M0=0x0f;
  116.         P3M1=0x00;
  117.         P5M0=0x30;
  118.         P5M1=0x00;
  119.         Offset_Bit=0;
  120.         Offset_String=0;
  121. }

  122. void main(void)
  123. {
  124.         unsigned char i;
  125.         Init();
  126.         while(1)
  127.         {
  128.                 for(i=0;i<10;i++)
  129.                 {
  130.                         Display(1);
  131.                 }
  132.                 Offset_Bit++;
  133.                 if(Offset_Bit==16)
  134.                 {
  135.                         Offset_Bit=0;
  136.                         Offset_String++;
  137.                 }
  138.                 if(Offset_String==159)
  139.                 {
  140.                         Offset_String=0;
  141.                 }
  142.         }
  143. }
復(fù)制代碼

所有資料51hei提供下載:
P10點(diǎn)陣屏_STC8F1K08.zip (795.8 KB, 下載次數(shù): 96)

評(píng)分

參與人數(shù) 1黑幣 +80 收起 理由
admin + 80 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏7 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:104984 發(fā)表于 2020-1-14 19:56 | 只看該作者
50fps最多10塊級(jí)聯(lián),改第77行代碼,是字?jǐn)?shù),1塊單元板對(duì)應(yīng)2,第136行控制移速,第138行控制亮度
回復(fù)

使用道具 舉報(bào)

板凳
ID:253767 發(fā)表于 2020-2-22 06:58 | 只看該作者
謝謝分享!!!
回復(fù)

使用道具 舉報(bào)

地板
ID:378732 發(fā)表于 2020-9-16 01:08 | 只看該作者
要是2塊板級(jí)聯(lián), b=2*line;是不是要改成b=4*line;
回復(fù)

使用道具 舉報(bào)

5#
ID:378732 發(fā)表于 2020-9-16 20:42 | 只看該作者
按這個(gè)程序下下來不能運(yùn)行。啥子問題喲
回復(fù)

使用道具 舉報(bào)

6#
ID:82944 發(fā)表于 2022-5-22 08:18 | 只看該作者
不錯(cuò)很工整
回復(fù)

使用道具 舉報(bào)

7#
ID:322812 發(fā)表于 2023-2-2 15:57 | 只看該作者
ty417502873 發(fā)表于 2020-9-16 20:42
按這個(gè)程序下下來不能運(yùn)行。啥子問題喲

代碼不完整,好幾個(gè)變量都沒有在上述代碼里。當(dāng)然不能顯示咯。編譯能通過
回復(fù)

使用道具 舉報(bào)

8#
ID:1034262 發(fā)表于 2023-2-2 16:35 | 只看該作者
我用STC8系列MCU驅(qū)動(dòng)燈板,大部分是1/16掃的,最大驅(qū)動(dòng)256*128沒有任何問題。
回復(fù)

使用道具 舉報(bào)

9#
ID:403593 發(fā)表于 2023-2-7 20:39 | 只看該作者
感謝樓主分享!幾年前搞過P10的和P4的單元板顯示,這些程序很吃單片機(jī)內(nèi)存的,市售LED屏的控制板基本都是STM32,速度和內(nèi)存都足夠,自己做著玩,剛開始用STC15F2K16S2,16*16字體還行,級(jí)聯(lián)后顯示24*24或者32*32的字,顯示不了幾個(gè)內(nèi)存就不夠了,只能換更大的。。。
回復(fù)

使用道具 舉報(bào)

10#
ID:1146670 發(fā)表于 2025-4-9 04:51 來自手機(jī) | 只看該作者
I check . This code is not working. Maybe a problem .
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成av| 亚洲综合色视频在线观看 | 91网在线播放 | 久久精品a级毛片 | 国产毛片毛片 | 久久久免费 | 精品国产一区久久 | 欧美亚洲国产一区二区三区 | 99精品久久久久 | 91av在线视频观看 | 国产精品视频一区二区三 | 日韩一区二区久久 | 国产精品久久 | 色本道| 久久久久久国产精品免费免费狐狸 | 免费观看黄色片视频 | 日韩精品免费视频 | 久久av网 | 国产成人精品免费视频大全最热 | 一级女毛片 | 国产高清在线精品 | 91精品国产777在线观看 | 国产成人精品一区二区三区网站观看 | a级在线免费视频 | 欧美日韩手机在线观看 | 青青草国产在线观看 | 日本黄色大片免费看 | 黄色免费网站在线看 | 国产精品久久久久久久久久久久久 | 91观看| 成人国产一区二区三区精品麻豆 | 亚洲 中文 欧美 日韩 在线观看 | 国产一区二区视频在线观看 | 久草中文在线 | 国产一区二区精品 | 国产精品美女在线观看 | 免费观看一级毛片视频 | 亚洲 日本 欧美 中文幕 | 女同久久 | 免费视频一区二区 | 日韩欧美国产精品一区二区 |