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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

16X16RGB點陣仿真和程序(上下移、簾入簾出、左右移等效果)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:229565 發(fā)表于 2017-8-27 16:36 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
帶RGB(紅綠藍(lán))的16X16點陣仿真圖如下:


16X16RGB點陣的單片機源程序如下:
  1. /*--------------------------------------
  2.         多個16*16LED顯示演示程序
  3.          MCU AT89C52  XAL 24MHz
  4. --------------------------------------*/
  5. //以下程序能實現(xiàn)多個16*16LED屏的多個字符顯示,顯示方式有整行上移、簾入簾出、左移、右移//
  6. #include "reg52.h"
  7. #define BLKN 6          //列鎖存器數(shù)(=LED顯示字?jǐn)?shù)*2)
  8. #define TOTAL 102        //待顯示字個數(shù),本例共20個
  9. #define TOTAL0 99
  10. #define TOTAL1 96        
  11. #define TOTAL2 33
  12. #define TOTAL3 128
  13. #define TOTAL4 15
  14. #define TOTAL5 84
  15. #define TOTAL6 54

  16. #define CONIO P1        //顯示控制口
  17. sbit G=CONIO^7;         //CONIO.7為154譯碼器顯示允許控制信號端口,0時輸出,1時輸出全為高阻態(tài).
  18. sbit CLK=CONIO^6;       //CONIO.6為595輸出鎖存器時鐘信號端,1時輸出數(shù)據(jù),從1到0時鎖存輸出數(shù)據(jù).
  19. sbit SCLR=CONIO^5;      //CONIO.5為595移位寄存器清零口,平時為1,為0時,輸出全為0.
  20. unsigned char idata dispram[(BLKN/2)*32]={0}; //顯示區(qū)緩存,四字共4*32單元
  21. //
  22. //**************45度No.1字模表******************//
  23. unsigned char code Bmp[][32]={

  24. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  25. …………限于本文篇幅 余下代碼請從51黑下載附件…………
  26. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x66,0x64,0x99,0x99,0x66,0x66,0x99,0x99}//16第四水流

  27. };


  28. //**************笑臉字模表******************//
  29. unsigned char code Bmp3[][32]={

  30. {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  31. …………限于本文篇幅 余下代碼請從51黑下載附件…………
  32. 0xFE,0x00,0xFE,0xC0,0xFC,0xF0,0xFC,0xFC,0xF8,0xFE,0xF8,0xFF,0xF0,0xFF,0xE0,0xFF},//5紅綠藍(lán)
  33. };


  34. //**************風(fēng)扇4字模表******************//
  35. unsigned char code Bmp8[][32]={

  36. {0x1F,0xF8,0x0F,0xF0,0x07,0xE0,0x83,0xC1,0xC1,0x83,0xE1,0x87,0xF1,0x0F,0xFC,0x7F,
  37. …………限于本文篇幅 余下代碼請從51黑下載附件…………
  38. 0xFE,0x00,0xFE,0xC0,0xFC,0xF0,0xFC,0xFC,0xF8,0xFE,0xF8,0xFF,0xF0,0xFF,0xE0,0xFF},//5一到七

  39. };


  40. //**************向上流動字體字模表******************//
  41. unsigned char code Bmp9[][32]={

  42. {0xFF,0x7F,0xFF,0x7F,0x03,0x7F,0xFA,0x01,0x7A,0xFB,0xB5,0xB7,0xD7,0xBF,0xEF,0xBF,
  43. …………限于本文篇幅 余下代碼請從51黑下載附件…………
  44. 0x6F,0xED,0x67,0xCD,0xB3,0x9B,0xB8,0x3B,0xDF,0xF7,0xE7,0xCF,0xF8,0x3F,0xFF,0xFF}//:)28

  45. };

  46. //**************內(nèi)簾出心型圖字模表******************//
  47. unsigned char code Bmp10[][32]={

  48. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  49. …………限于本文篇幅 余下代碼請從51黑下載附件…………
  50. 0xF0,0x0F,0xF8,0x1F,0xFC,0x3F,0xFE,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,//紅
  51. 0xFF,0xFF,0xC7,0xE3,0x81,0x81,0x0C,0x30,0x1E,0x78,0x3F,0xFC,0x3F,0xFC,0x1F,0xF8,
  52. 0x8F,0xF1,0xC7,0xE3,0xE3,0xC7,0xF1,0x8F,0xF8,0x1F,0xFC,0x3F,0xFE,0x7F,0xFF,0xFF,//綠藍(lán)
  53. 0xFF,0xFF,0xC7,0xE3,0x81,0x81,0x0C,0x30,0x1E,0x78,0x3F,0xFC,0x3F,0xFC,0x1F,0xF8,
  54. 0x8F,0xF1,0xC7,0xE3,0xE3,0xC7,0xF1,0x8F,0xF8,0x1F,0xFC,0x3F,0xFE,0x7F,0xFF,0xFF,//綠藍(lán)

  55. };


  56. //
  57. /***********延時函數(shù)(約1毫秒)************/
  58. void delay(unsigned int dt)
  59. {
  60. register unsigned char bt;
  61. for (; dt; dt--)
  62.   for (bt=0; bt<255; bt++);
  63. }
  64. //
  65. /*****************主函數(shù) *********************/
  66. void main(void)
  67. {
  68. register unsigned char i,j,k,l,q,w,a;
  69. //初始化
  70. SCON  = 0x00;              //串口工作模式0:移位寄存器方式
  71. TMOD = 0x01;               //定時器T0工作方式1:16位方式
  72. TR0 = 1;                   //啟動定時器T0
  73. CONIO = 0x3f;                 //CONIO端口初值
  74. IE = 0x82;                 //允許定時器T0中斷
  75. //
  76. while (1)
  77. {
  78. //初始化黑屏
  79.   for (i=0;i<32;i++)      
  80.     {
  81.     for(q=0;q<BLKN/2;q++) {dispram[i+q*32]=0xff;}   
  82.     }                     
  83. delay(1000);


  84. //45度顯示No.1
  85. for (w=0;w<TOTAL*2/BLKN;w++)
  86. {
  87. for (i=0;i<32;i++)      
  88.     {
  89.     for(q=0;q<BLKN/2;q++) {dispram[i+q*32]=Bmp[q+w*BLKN/2][i];}     
  90.     }                     
  91. delay(150);
  92. }
  93. //45度顯示No.1
  94. for (w=0;w<TOTAL0*2/BLKN;w++)
  95. {
  96. for (i=0;i<32;i++)      
  97.     {
  98.     for(q=0;q<BLKN/2;q++) {dispram[i+q*32]=Bmp0[q+w*BLKN/2][i];}     
  99.     }                     
  100. delay(150);
  101. }
  102. delay(1000);

  103. //顯示海豚1
  104. for (w=0;w<TOTAL1*2/BLKN;w++)
  105. {
  106. for (i=0;i<32;i++)      
  107.     {
  108.     for(q=0;q<BLKN/2;q++) {dispram[i+q*32]=Bmp1[q+w*BLKN/2][i];}     
  109.     }                     
  110. delay(150);
  111. }
  112. //顯示海豚2
  113. for (w=0;w<TOTAL1*2/BLKN;w++)
  114. {
  115. for (i=0;i<32;i++)      
  116.     {
  117.     for(q=0;q<BLKN/2;q++) {dispram[i+q*32]=Bmp2[q+w*BLKN/2][i];}     
  118.     }                     
  119. delay(150);
  120. }
  121. delay(1000);

  122. //顯示笑臉
  123. for (a=0;a<3;a++)
  124. {
  125. for (w=0;w<TOTAL2*2/BLKN;w++)
  126. {
  127.   for (i=0;i<32;i++)      
  128.     {
  129.     for(q=0;q<BLKN/2;q++) {dispram[i+q*32]=Bmp3[q+w*BLKN/2][i];}     
  130.     }                     
  131.     delay(250);
  132. }
  133. }
  134. delay(1000);

  135. //外簾入圖案
  136. for (w=0;w<TOTAL3*2/BLKN;w++)
  137. {
  138. for (i=0;i<32;i++)      
  139.     {
  140.     for(q=0;q<BLKN/2;q++) {dispram[i+q*32]=Bmp4[q+w*BLKN/2][i];}     
  141.     }                     
  142. delay(200);
  143. }
  144. delay(1000);

  145. //顯示內(nèi)簾出圖案
  146. for (w=0;w<TOTAL6*2/BLKN;w++)
  147. {
  148.   for (i=0;i<32;i++)      
  149.     {
  150.     for(q=0;q<BLKN/2;q++) {dispram[i+q*32]=Bmp10[q+w*BLKN/2][i];}     
  151.     }                     
  152. delay(150);
  153. }
  154. delay(1000);

  155. //顯示風(fēng)扇1
  156. for (a=0;a<3;a++)
  157. {
  158. for (w=0;w<TOTAL4*2/BLKN;w++)
  159. {
  160.   for (i=0;i<32;i++)      
  161.     {
  162.     for(q=0;q<BLKN/2;q++) {dispram[i+q*32]=Bmp5[q+w*BLKN/2][i];}     
  163.     }                     
  164. delay(120);
  165. }
  166. }
  167. //顯示風(fēng)扇2
  168. for (a=0;a<3;a++)
  169. {
  170. for (w=0;w<TOTAL4*2/BLKN;w++)
  171. {
  172.   for (i=0;i<32;i++)      
  173.     {
  174.     for(q=0;q<BLKN/2;q++) {dispram[i+q*32]=Bmp6[q+w*BLKN/2][i];}     
  175.     }                     
  176. delay(120);
  177. }
  178. }
  179. //顯示風(fēng)扇3
  180. for (a=0;a<3;a++)
  181. {
  182. for (w=0;w<TOTAL4*2/BLKN;w++)
  183. {
  184.   for (i=0;i<32;i++)      
  185.     {
  186.     for(q=0;q<BLKN/2;q++) {dispram[i+q*32]=Bmp7[q+w*BLKN/2][i];}     
  187.     }                     
  188. delay(120);
  189. }
  190. }
  191. //顯示風(fēng)扇4
  192. for (a=0;a<3;a++)
  193. {
  194. for (w=0;w<TOTAL4*2/BLKN;w++)
  195. {
  196.   for (i=0;i<32;i++)      
  197.     {
  198.     for(q=0;q<BLKN/2;q++) {dispram[i+q*32]=Bmp8[q+w*BLKN/2][i];}     
  199.     }                     
  200. delay(120);
  201. }
  202. }




  203. //初始化黑屏
  204.   for (i=0;i<32;i++)      
  205.     {
  206.     for(q=0;q<BLKN/2;q++) {dispram[i+q*32]=0xff;}   
  207.     }        
  208. //向上移動漢字
  209.   for (i=0; i<TOTAL5*2/BLKN; i++)      
  210.     {
  211.     for (j=0; j<16; j++)
  212.       {
  213.       for (k=0; k<15; k++)
  214.         {
  215.          for(q=0;q<BLKN/2;q++)
  216.          {dispram[k*2+q*32] = dispram[(k+1)*2+q*32];dispram[k*2+1+q*32] = dispram[(k+1)*2+1+q*32];}
  217.         }
  218.       for(q=0;q<BLKN/2;q++)
  219.         {dispram[30+q*32] = Bmp9[q+i*BLKN/2][j*2];dispram[31+q*32] = Bmp9[q+i*BLKN/2][j*2+1];}
  220.       delay(80);
  221.       }
  222.     }   
  223.   delay(1000);

  224. //卷簾出黑屏
  225.   for (i=0;i<32;i++)      
  226.     {
  227.     for(q=0;q<BLKN/2;q++) {dispram[i+q*32]=0xff;}
  228.       if (i%2) delay(100);
  229.     }                     
  230. delay(1000);


  231. }
  232. }
  233. //主函數(shù)結(jié)束
  234. //
  235. /**********顯示屏掃描(定時器T0中斷)函數(shù)**********/
  236. void leddisplay(void) interrupt 1 using 1
  237. {
  238. register unsigned char m, n=BLKN;
  239. TH0 = 0xFc;                //設(shè)定顯示屏刷新率每秒62.5幀(16毫秒每幀)
  240. TL0 = 0x18;
  241. m = CONIO;                 //讀取當(dāng)前顯示的行號
  242. m = ++m & 0x0f;            //行號加1,屏蔽高4位
  243. do {
  244.    n--;
  245.    SBUF = dispram[m*2+(n/2)*30 + n]; //送顯示數(shù)據(jù)
  246.    while (!TI); TI = 0;
  247.    }while (n);             //完成一行數(shù)據(jù)的發(fā)送
  248. G = 1;                     //消隱(關(guān)閉顯示)
  249. CONIO &= 0xf0;             //行號端口清○
  250. CLK=1;                     //顯示數(shù)據(jù)打入輸出鎖存器
  251. CONIO |= m;                //寫入行號
  252. CLK=0;                     //鎖存顯示數(shù)據(jù)
  253. G = 0;                     //打開顯示
  254. }
  255. //
復(fù)制代碼

所有資料51hei提供下載:
16X16RGB 仿真和程序.rar (149.31 KB, 下載次數(shù): 90)


評分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:88606 發(fā)表于 2017-8-28 11:58 | 只看該作者
proreus8.6版本仿真不正常!
回復(fù)

使用道具 舉報

板凳
ID:140489 發(fā)表于 2018-4-9 16:04 | 只看該作者
仿真不正常。點陣全亮
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 81精品国产乱码久久久久久 | 欧美精品黄 | 成年人在线播放 | 中文字幕av高清 | 久久综合九九 | 亚洲精品1区 | av电影一区| www.亚洲精品 | 高清视频一区二区三区 | 久久精品色欧美aⅴ一区二区 | 色综合久久88色综合天天 | 国产精品亚洲综合 | 综合色婷婷| 国产亚洲一区在线 | gav成人免费播放视频 | 欧美一区二区三区在线观看视频 | 91tv在线观看| www.99久久.com | 有码一区 | 久久成人精品 | 日韩免费一区二区 | 国内精品视频免费观看 | 成人av播放 | 亚洲一区 中文字幕 | 欧美在线 | 天天干狠狠操 | 久久6视频 | 国产精品久久久久久久免费观看 | 亚洲国产欧美在线人成 | 成人精品视频在线观看 | 欧美在线小视频 | 国产伦精品一区二区三毛 | 成人影院在线视频 | 亚洲欧洲激情 | 亚洲人成在线播放 | 97精品国产97久久久久久免费 | 欧美精品1区2区3区 精品国产欧美一区二区 | 一区二区三区不卡视频 | 国产成人精品一区 | 日本三级精品 | 久久的色 |