欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6324|回復: 3
收起左側

16X16點陣led漢字縱向移屏顯示程序

[復制鏈接]
ID:143843 發表于 2016-10-21 23:12 | 顯示全部樓層 |閱讀模式
因為只有縱向,沒有實現其他的太多功能,但也可以了解一下對點陣led的實現方法下載:
5、16X16 漢字縱向移屏.rar (80.5 KB, 下載次數: 82)
  1. /*******************************************************************************
  2. *
  3. --------------------------------------------------------------------------------
  4. * 實 驗 名                 : 漢字移動顯示
  5. * 實驗說明       :
  6. * 連接方式       : 見接線圖
  7. * 注    意                 :
  8. *******************************************************************************/

  9. #include <REG51.H>
  10. #include <intrins.h>
  11. #include "array.h"

  12. //--重定義函數變量--//
  13. #define uchar unsigned char
  14. #define uint  unsigned int
  15. #define ulong unsigned long

  16. //--定義SPI要使用的 IO--//
  17. sbit MOSIO = P3^4;
  18. sbit R_CLK = P3^5;
  19. sbit S_CLK = P3^6;

  20. //--全局函數聲明--//
  21. void HC595SendData(  uchar BT3, uchar BT2,uchar BT1,uchar BT0);
  22.                                                                                                                                                                                        
  23. /*******************************************************************************
  24. * 函 數 名         : main
  25. * 函數功能                   : 主函數
  26. * 輸    入         : 無
  27. * 輸    出         : 無
  28. *******************************************************************************/

  29. void main(void)
  30. {   
  31.         int k, j, ms;
  32.         
  33.         //--定義一個指針數組指向每個漢字--//
  34.         uchar *p[] =
  35.                     {tab17, tab1, tab2, tab3, tab4, tab5, tab6, tab7, tab8,
  36.                      tab9, tab10, tab11, tab12, tab13, tab14, tab15, tab16};                                                
  37.         while(1)
  38.         {

  39.                 for(ms = 20; ms > 0; ms--)        //移動定格時間設置
  40.                 {
  41.                         for(k = 0; k < 16; k++)        //顯示一個字
  42.                         {                                                         
  43.                                 HC595SendData(~(*(p[0] + 2*(k+j) + 1)),~(*(p[0] + 2*(k+j) )),tab0[2*k],tab0[2*k + 1]); //因為字模軟件取的數組是高電平有效,所以列要取反                    
  44.                         }
  45.                         
  46.                         //--清屏--//
  47.                         HC595SendData(0xff,0xff,0,0);                                                                                   //清屏                 
  48.                 }

  49.                
  50.                 j++;
  51.                 if(j == (17*15) )
  52.                 {
  53.                         j = 0;
  54.                 }
  55.                
  56.         }                                                                              
  57. }

  58. /*******************************************************************************
  59. * 函 數 名         : HC595SendData
  60. * 函數功能                   : 通過595發送四個字節的數據
  61. * 輸    入         : BT3:第四個595輸出數值
  62. *                  * BT2: 第三個595輸出數值
  63. *                  * BT1:第二個595輸出數值
  64. *                  * BT0:第一個595輸出數值
  65. * 輸    出         : 無
  66. *******************************************************************************/

  67. void HC595SendData(  uchar BT3, uchar BT2,uchar BT1,uchar BT0)
  68. {  
  69.         uchar i;
  70.         
  71.         //--發送第一個字節--//
  72.         for(i=0;i<8;i++)
  73.         {
  74.                 MOSIO = BT3 >> 7 ;        //從高位到低位
  75.                 BT3 <<= 1;

  76.                 S_CLK = 0;
  77.                 S_CLK = 1;               
  78.         }

  79.         //--發送第一個字節--//
  80.         for(i=0;i<8;i++)
  81.         {
  82.                 MOSIO = BT2 >>7;                //從高位到低位
  83.                 BT2 <<= 1;

  84.                 S_CLK = 0;
  85.                 S_CLK = 1;        
  86.         }

  87.         //--發送第一個字節--//
  88.         for(i=0;i<8;i++)
  89.         {
  90.                 MOSIO = BT1 >> 7;                //從高位到低位
  91.                 BT1 <<= 1;
  92.                 S_CLK = 0;
  93.                 S_CLK = 1;        
  94.         }

  95.         //--發送第一個字節--//
  96.         for(i=0;i<8;i++)
  97.         {
  98.                 MOSIO = BT0 >> 7;                //從高位到低位
  99.                 BT0 <<= 1;
  100.                 S_CLK = 0;
  101.                 S_CLK = 1;
  102.         }

  103.         //--輸出--//
  104.         R_CLK = 0; //set dataline low
  105.         R_CLK = 1; //片選
  106.         R_CLK = 0; //set dataline low
  107. }
復制代碼





評分

參與人數 1黑幣 +60 收起 理由
51hei學習技術中 + 60 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:137876 發表于 2017-7-17 09:38 | 顯示全部樓層
因為只有縱向,沒有實現其他的太多功能,但也可以了解一下對點陣led的實現方法下載:
回復

使用道具 舉報

ID:137876 發表于 2017-11-10 21:35 | 顯示全部樓層
什么時候能學會?
回復

使用道具 舉報

ID:506767 發表于 2019-4-8 10:24 | 顯示全部樓層
支持一下,支持支持
回復

使用道具 舉報

5#
無效樓層,該帖已經被刪除
6#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表