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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4199|回復: 4
打印 上一主題 下一主題
收起左側

P10廣告牌移動單片機程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:218207 發表于 2017-7-8 23:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
很久以前寫P10的程序用51單片機寫的!作為紀念分享給更多需要的人!

單片機源程序如下:
  1. /******************************************************************
  2. *                                                                 *
  3. * P10 Moving LED Demo Program                2012/2/2                  *
  4. *                                                                  *       
  5. * 作者: DSL                                                          *                                      
  6. *                                                                 *
  7. ******************************************************************/

  8. #include <reg51.h>
  9. #include <intrins.h>

  10. typedef   unsigned char  uchar;
  11. typedef   unsigned int   uint;


  12. /***********************字點陣碼*************************/

  13. uchar code CharTable[]=
  14. {

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

  16. 0xFF,0xFF,0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xDB,0xE7,0xFF,0xFF,/*"0"*/
  17.                                                                                                                                                                           
  18. 0xFF,0xFF,0xFF,0xEF,0x8F,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0x83,0xFF,0xFF,/*"1"*/

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

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

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

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

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

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

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

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

  27. };


  28. sbit  RCK_595                  = P2^0;     //輸出鎖存器控制脈沖(L)
  29. sbit  SCLK_595                 = P2^1;     //移位時鐘脈沖(S)
  30. sbit  Sdata_Red         = P2^2;     //串行數據輸入(RED)
  31. sbit  G_74138                  = P2^4;     //顯示允許控制信號端口(EN)

  32. uint col;                                  
  33. uchar code CharTable[];       
  34. uchar Word, DispRow;                       
  35. uchar CharBuf[40];                               



  36. /**********************************************************

  37. 將顯示數據送入74HC595內部移位寄存器

  38. **********************************************************/
  39. void WR_595(uchar buf)
  40. {
  41.   uchar x;
  42.   
  43.   for (x=0; x<8; x++)
  44.   {

  45.           Sdata_Red=buf&0x80;

  46.           buf = buf << 1;   //數據左移一位
  47.           
  48.           SCLK_595 = 1;     //上升沿發生移位
  49.           _nop_();
  50.           SCLK_595 = 0;
  51.   }
  52. }



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

  54. uchar two_onebyte(uchar h1,uchar h2)
  55. {
  56.         uchar temp;

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

  58.         return (temp);
  59. }




  60. /***************發送一線點陣數據*******************/

  61. void sendoneline()
  62. {
  63.   uchar s,buf;

  64.   for(s=0; s<16; s++)                                         //need to be 16 for 1/4 scan time
  65.    {
  66.      G_74138 = 1;                                              //打開顯示
  67.      buf=two_onebyte(CharBuf[s],CharBuf[s+4]);
  68.      WR_595(buf);                                         //load 8 bit into shift register LS595
  69.    }

  70.   P1 = P1&0xf0;
  71.   RCK_595 = 1;     //鎖存數據

  72.   _nop_();

  73.   RCK_595 = 0;

  74.   G_74138 = 0;      //打開顯示

  75. }




  76. /**************裝載一線點陣數據****************/

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

  80.    for(s=0;s<5;s++)
  81.         {
  82.           CharBuf[4*s+0]        = CharTable[Word+(16*s+3*4)+DispRow];
  83.           CharBuf[4*s+1]        = CharTable[Word+(16*s+2*4)+DispRow];
  84.           CharBuf[4*s+2]        = CharTable[Word+(16*s+1*4)+DispRow];
  85.           CharBuf[4*s+3]        = CharTable[Word+(16*s+0*4)+DispRow];
  86.         }
  87. }




  88. /**********************************************************

  89. 主函數

  90. **********************************************************/
  91. void main()
  92. {
  93.    uchar i,SPEED;

  94.    G_74138 = 0;      

  95.    col=0;
  96.    Word=0;
  97.    SPEED=20;
  98.    P1=0;
  99.        
  100.         while(1)
  101.           {
  102.               while(col<8)        //Already load max display char + 1, this routine is to shift one char
  103.                                 //Total display will be max display char + 1, for 16x32, display char=5
  104.                                 //After display total shifting char, it will point to next char
  105.             {
  106.                 for(i=0;i<SPEED;i++)//漢字在屏幕上的停留時間(即移動速度快慢)
  107.                   {
  108.                     for (DispRow=0;DispRow<4;DispRow++)                        //掃描4行          
  109.                      {
  110.                         loadoneline();                                        //裝載一線點陣數據
  111.                         sendoneline();                                        //發送一線點陣數據                     
  112.                         P1=DispRow;                       
  113.                      }
  114. ……………………

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

所有資料51hei提供下載:
P10 Moving LED.rar (1.65 KB, 下載次數: 66)


評分

參與人數 1黑幣 +2 收起 理由
loost + 2 很給力!

查看全部評分

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

使用道具 舉報

沙發
ID:230427 發表于 2017-9-1 15:42 | 只看該作者
這類資料不好找呢。感謝樓主了
回復

使用道具 舉報

板凳
ID:119290 發表于 2017-9-8 18:52 | 只看該作者
thanks,,,,,,
回復

使用道具 舉報

地板
ID:228731 發表于 2018-9-5 13:19 | 只看該作者
厲害!
回復

使用道具 舉報

5#
ID:392670 發表于 2021-1-5 17:24 來自手機 | 只看該作者
好資料,能否做成頻譜??
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品久久久久久久 | 黑人巨大精品欧美一区二区免费 | 永久精品 | 亚洲欧美一区二区三区视频 | 三级成人片 | 日日夜夜草 | 久久一区二区av | 99热激情| 国产精品永久久久久 | 中文字幕乱码一区二区三区 | 91精品国产色综合久久不卡98 | 久久精品日产第一区二区三区 | 亚洲欧美另类在线观看 | 97久久精品午夜一区二区 | 久久精品国产一区二区电影 | 色.com| 99国产精品久久久 | 黑人中文字幕一区二区三区 | 成人视屏在线观看 | 黄色国产在线播放 | 91成人免费看 | 新疆少妇videos高潮 | 成人二区| 97久久精品午夜一区二区 | 成人一区二区三区在线观看 | av在线免费不卡 | 精品国产乱码久久久久久蜜退臀 | 亚洲综合大片69999 | 久在线精品视频 | 亚洲视频在线看 | 午夜视频一区二区 | 狠狠婷婷综合久久久久久妖精 | 久久国产亚洲 | 在线中文视频 | 4h影视 | 91看片| 亚洲视频免费在线观看 | 精品国产乱码久久久 | 亚洲国产精品一区二区久久 | 男人影音 | 成人蜜桃av |