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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8178|回復: 7
收起左側

16*16點陣顯示"我愛單片機"這幾個漢字的程序和仿真 74HC595驅動

[復制鏈接]
ID:207769 發表于 2017-6-4 20:03 | 顯示全部樓層 |閱讀模式
51單片機與16*16點陣的仿真原理圖(proteus仿真工程文件可到附件中下載):
0.png 0.png

單片機源程序如下:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. sbit  si=P2^0;                           //74HC595串行數據段
  4. sbit  sck=P2^1;                           //74HC595移位時鐘端
  5. sbit  rck=P2^2;                           //74HC595鎖存端
  6. uchar i,j,k,zb;                        
  7. uchar xsz[32],xsz1[32] ;                  
  8. uchar code  smsg[8] ={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};        

  9. uchar code   wz[][32]={                                                                                                

  10. /*--  文字:  我  --*/
  11. /*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
  12. 0xDF,0xFD,0x8F,0xF5,0xE1,0xED,0xEF,0xED,0xEF,0xFD,0x00,0x80,0xEF,0xFD,0xEF,0xDD,
  13. 0xAF,0xDD,0xCF,0xED,0xE7,0xF3,0xE9,0xBB,0xEF,0xB5,0xEF,0xAE,0x2B,0x9F,0xF7,0xBF,

  14. /*--  文字:  愛  --*/
  15. /*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
  16. 0xFF,0xEF,0x7F,0xC0,0x81,0xF7,0xBB,0xF7,0x77,0xFB,0x01,0x80,0xBD,0xBF,0xBE,0xDF,
  17. 0x01,0xE0,0xDF,0xFF,0x1F,0xF0,0xAF,0xF7,0x77,0xFB,0xFB,0xFC,0x3D,0xF3,0xC7,0x8F,

  18. /*--  文字:  單  --*/
  19. /*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
  20. 0xF7,0xF7,0xEF,0xFB,0xDF,0xFD,0x03,0xE0,0x7B,0xEF,0x7B,0xEF,0x03,0xE0,0x7B,0xEF,
  21. 0x7B,0xEF,0x03,0xE0,0x7F,0xFF,0x7F,0xFF,0x00,0x80,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,

  22. /*--  文字:  片  --*/
  23. /*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
  24. 0xFF,0xFD,0xF7,0xFD,0xF7,0xFD,0xF7,0xFD,0xF7,0xFD,0x07,0xC0,0xF7,0xFF,0xF7,0xFF,
  25. 0xF7,0xFF,0x07,0xF8,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB,0xFB,0xFB,0xFB,0xFB,0xFD,0xFB,

  26. /*--  文字:  機  --*/
  27. /*--  宋體12;  此字體下對應的點陣為:寬x高=16x16   --*/
  28. 0xF7,0xFF,0x77,0xF0,0x77,0xF7,0x77,0xF7,0x40,0xF7,0x77,0xF7,0x73,0xF7,0x63,0xF7,
  29. 0x55,0xF7,0x55,0xF7,0x76,0xF7,0x77,0xB7,0x77,0xB7,0xB7,0xB7,0xB7,0x8F,0xD7,0xFF,


  30. 0xE7,0xE7,0xC3,0xC3,0x81,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,
  31. 0x03,0xC0,0x07,0xE0,0x07,0xE0,0x0F,0xF0,0x1F,0xF8,0x3F,0xFC,0x3F,0xFC,0x7F,0xFE, /*"心",5*/

  32. };
  33. void ys (uchar  a)                        
  34. {
  35.         uchar b,c;
  36.         for (b=a;b>0;b--)
  37.                 for (c=110;c>0;c--);
  38. }
  39. void fs(uchar  a)               
  40. {
  41.         uchar b;
  42.         sck=0;
  43.         rck=0;
  44.         for (b=8;b>0;b--)
  45.                 {
  46.                         a=a<<1;                                          //左移一位
  47.                         si=CY;
  48.                         sck=1;
  49.                         sck=0;
  50.                 }        
  51. }

  52. void xs()                                
  53. {
  54.          for (i=0,j=0;i<16;i++)                           //掃描行,16行循環16次
  55.          {
  56.                  if (i<8)
  57.                         {
  58.                                 fs(smsg[j]);
  59.                                 fs(0x00);
  60.                         }
  61.                 else
  62.                         {
  63.                                 fs(0x00);
  64.                                 fs(smsg[j]);
  65.                         }
  66.                 j++;
  67.                 if(j==8)
  68.                 j=0;
  69.                 fs(xsz[2*i+1]);
  70.                 fs(xsz[2*i]);
  71.                 rck=1;
  72.                 ys(3);
  73.          }
  74. }

  75. void co(uchar *p,uchar *p1)                        
  76. {
  77.         uchar a;
  78.         for (a=0;a<16;a++)
  79.         {
  80.                    p[a*2]=p1[a*2];
  81.                    p[a*2+1]=p1[a*2+1];
  82.         }
  83. }
  84. void  shy(uchar e, uchar g,uchar *p1)         
  85. {
  86.         uchar a,b,c,d=0,f=31;
  87.         for (a=0;a<16;a++)
  88.         {
  89.         if(g==1)
  90.                 {
  91.                         for (b=0;b<30;b++)
  92.                                 xsz[b]=xsz[b+2];
  93.                         if(p1==0)
  94.                                 {
  95.                                   xsz[30]=0xff;
  96.                                   xsz[31]=0xff;
  97.                                 }
  98.                         else
  99.                                 {         
  100.                                   xsz[30]=p1[d++];
  101.                                   xsz[31]=p1[d++];
  102.                                 }                        
  103.                         for (c=e;c>0;c--)
  104.                           xs();
  105.                  }
  106.         else
  107.                 {
  108.                         for (b=29;b>0;b--)
  109.                                 xsz[b+2]=xsz[b];
  110.                         xsz[2]=xsz[0];
  111.                         if(p1==0)
  112.                                 {
  113.                                   xsz[1]=0xff;
  114.                                   xsz[0]=0xff;
  115.                                 }
  116.                         else
  117.                                 {
  118.                         xsz[1]=p1[f--];
  119.                         xsz[0]=p1[f--];        
  120.                                 }        
  121.                         for (c=e;c>0;c--)
  122.                           xs();
  123.                 }
  124.         }
  125.                  
  126. }
  127. void  zyy(uchar a,uchar b,uchar  *p)        
  128. {
  129.         uchar i,j,k,c;
  130.         for (i=0;i<16;i++)
  131.                 {        
  132.                         if(p==0)
  133.                                 {
  134.                                         xsz1[2*i]=0xff;
  135.                                         xsz1[2*i+1]=0xff;
  136.                                 }
  137.                         else
  138.                                 {
  139.                                         xsz1[2*i]=p[2*i];
  140.                                         xsz1[2*i+1]=p[2*i+1];
  141.                                 }
  142.                 }
  143.         if(b==1)
  144.         for (k=0;k<16;k++)
  145.         {
  146.                 for(i=0;i<16;i++)
  147.                         {
  148.                         xsz[i*2+1]=xsz[i*2+1]<<1;
  149.                         xsz[i*2]=xsz[i*2]<<1;
  150.                         if (CY==1)
  151.                                 xsz[i*2+1]=xsz[i*2+1]|0x01;
  152.         
  153.         
  154.                         xsz1[i*2+1]=xsz1[i*2+1]<<1;
  155.                         if (CY==1)
  156.                                 xsz[i*2]=xsz[i*2]|0x01;
  157.                         xsz1[i*2]=xsz1[i*2]<<1;
  158.                         if (CY==1)
  159.                                 xsz1[i*2+1]=xsz1[i*2+1]|0x01;
  160.                         }
  161.                 for (j=a;j>0;j--)
  162.                         xs();
  163.         }
  164.         else
  165.         {
  166.                 for (k=0;k<16;k++)
  167.                 {
  168.                         for(i=0;i<16;i++)
  169.                                 {
  170.                                 xsz[i*2]=xsz[i*2]>>1;
  171.                                 c=xsz[i*2+1]&0x01;
  172.                                 xsz[i*2+1]=xsz[i*2+1]>>1;
  173.                                 if (c)
  174.                                         xsz[i*2]=xsz[i*2]|0x80;                                       

  175.                                 c=xsz1[i*2]&0x01;
  176.                                 xsz1[i*2]=xsz1[i*2]>>1;
  177.                                 if (c)
  178.                                         xsz[i*2+1]=xsz[i*2+1]|0x80;
  179.                                 c=xsz1[i*2+1]&0x01;
  180.                                 xsz1[i*2+1]=xsz1[i*2+1]>>1;
  181.                                 if (c)
  182.                                         xsz1[i*2]=xsz1[i*2]|0x80;
  183.                                 }
  184.                         for (j=a;j>0;j--)
  185.                                 xs();
  186. ……………………

  187. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
16點陣.zip (344.21 KB, 下載次數: 175)
回復

使用道具 舉報

ID:157662 發表于 2017-6-4 22:55 | 顯示全部樓層
有幾種移動方式?
回復

使用道具 舉報

ID:208200 發表于 2017-6-5 22:09 | 顯示全部樓層
想下載發現黑幣不夠
回復

使用道具 舉報

ID:110278 發表于 2018-3-5 15:14 | 顯示全部樓層
看到,慢慢學習。
回復

使用道具 舉報

ID:297402 發表于 2018-4-25 22:54 | 顯示全部樓層
沒下載黑幣就沒了
回復

使用道具 舉報

ID:349536 發表于 2018-6-11 16:13 | 顯示全部樓層
筒子你有接線圖嘛~表示不懂怎么連線的一只~
回復

使用道具 舉報

ID:349536 發表于 2018-6-11 16:31 | 顯示全部樓層
差評!根本實現不了功能,害我白期待了一下子。。。

評分

參與人數 1黑幣 +60 收起 理由
admin + 60 舉報人工核實后有獎

查看全部評分

回復

使用道具 舉報

ID:416015 發表于 2018-11-2 20:18 | 顯示全部樓層
學習一下
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91麻豆精品国产91久久久更新资源速度超快 | 五月综合激情网 | 亚洲欧美日韩国产综合 | 久久成| 亚洲精品在线免费看 | 91久久久久久久久 | 国产亚洲高清视频 | 国产99精品 | 成人教育av | 影视先锋av资源噜噜 | 国产精品日韩一区 | 久久久精选 | 国产一级在线观看 | 夜夜骑首页 | 91视频www.| 亚洲国产欧美一区二区三区久久 | 97视频精品 | 久久狠狠 | 国产精品美女久久久久久免费 | 亚洲一区二区网站 | 一级一片在线观看 | 欧美黄色大片在线观看 | 欧美mv日韩mv国产网站91进入 | a在线免费观看视频 | 成人免费网视频 | 久久51 | 午夜影院操 | 亚洲欧美一区二区三区视频 | 欧美日韩国产传媒 | 久草网址 | 99精品一区二区三区 | 麻豆国产精品777777在线 | 365夜爽爽欧美性午夜免费视频 | 国产成人精品亚洲日本在线观看 | 九九色综合 | 亚洲精品在线免费观看视频 | 欧美日韩亚洲一区 | 一区二区三区四区在线视频 | 精品国产免费人成在线观看 | 久久久久国产精品一区 | 日韩黄色小视频 |