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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3172|回復: 1
收起左側

16x64-M2點陣屏完整資料包(含單片機源碼與電路)

[復制鏈接]
ID:258021 發表于 2018-4-26 17:28 | 顯示全部樓層 |閱讀模式
16*64點陣完整資料包
電路原理圖如下:
0.jpg

注意事項:
1、提供的電源要插在擴展板的電源接口
2、下載程序用USB線通過stc-isp軟件下載程序
3、提供2個測試程序,不做其他技術支持
4、由于版權問題,keil編程軟件現在不提供,請自己百度下載,抱歉
5、發貨收到的貨,我們內置了程序,直接插上電源會有現象,一般燒寫的是全亮的現象,請記住線是怎么接的,以免回頭拆了忘記了
0.jpg

單片機源程序如下:
  1. /*-----------------------------------------------
  2.   名稱:IO口高低電平控制
  3.   修改:無
  4.   內容:點亮P1口的1個LED燈閃爍
  5.         該程序是單片機學習中最簡單最基礎的,
  6.                 通過程序了解如何控制端口的高低電平
  7. ------------------------------------------------*/
  8. #include<reg52.h> //包含頭文件,一般情況不需要改動,
  9. //頭文件包含特殊功能寄存器的定義
  10. sfr AUXR = 0x8e;
  11. sfr P3M1=0xB1;
  12. sfr P3M0=0xB2;

  13. sfr P1M1=0x91;
  14. sfr P1M0=0x92;

  15. sbit KEY = P3^2;

  16. sbit T_STR = P3^7;      //鎖存引腳,一般標識位STR
  17. sbit T_IO  = P1^4;       //數據引腳,屏上標識R1或者G1
  18. sbit T_CLK = P3^6;      //時鐘引腳,標識位CLK
  19. sbit T_OE  = P3^5;

  20. unsigned char MoveBitNum,MoveBitNumtemp,IncNum;//移動位數,臨時移動位數,大于一個字節增加字節數
  21. unsigned int HzNum;//漢字個數
  22. unsigned char buff[10];

  23. /*-----------------------------------------------
  24.              16x16漢字取模數據
  25. ------------------------------------------------*/
  26. unsigned char code hztest[]=    //取模選擇字節倒序 ,正序得出的字是反的,可以在軟件中設置自動倒敘
  27. {

  28. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  29. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,


  30. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  31. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  32. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  33. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  34. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  35. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //前面一屏大小的空字符,不顯示,這里根據屏的大小修改,這個是4個漢字屏
  36.                                                                                  //所以寫入4個漢字
  37.         
  38. …………
  39. …………
  40. …………限于本文篇幅 余下代碼請從51黑下載附件…………

  41. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  42. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  43. };

  44. /*-----------------------------------------------
  45.              向595寫入一個字節
  46. ------------------------------------------------*/
  47. void InputByte(unsigned  char dat) //寫一個字節
  48. {
  49.   unsigned char i;
  50.         
  51.    for(i=0;i<8;i++)
  52.         {
  53.          
  54.          T_IO=!(dat&0x01);
  55.          dat>>=1;
  56.          T_CLK=0;
  57.          T_CLK=1;
  58.          }
  59. }
  60. /*-----------------------------------------------
  61.                     延時程序
  62. ------------------------------------------------*/
  63. void Delay(unsigned int t)
  64. {
  65. while(--t);
  66. }


  67. /*------------------------------------------------
  68.                     主函數
  69. ------------------------------------------------*/
  70. void main (void)
  71. {
  72.         unsigned char count;//16行掃描數據,范圍0-15
  73.         unsigned int i,  j;
  74.         unsigned char temp;
  75.         P3M0=0xff;//推挽
  76.         P1M0=0xff;
  77.         P3M1=0;
  78.         P1M1=0;

  79.         AUXR |= 0x80;                         //1T
  80.   //AUXR &= 0x7f;                        //12T

  81.                 while (1)         //主循環
  82.                 {

  83.                 i++;
  84.                 if(i==100)//更改流動速度,1T單片機和12T單片機速度大約5-8倍,注意更改參數
  85.                 {
  86.                                 i=0;
  87.                                 MoveBitNum++;
  88.                                 if(MoveBitNum==16)//每次移動完一個漢字大小后循環
  89.                                 {
  90.                                                 MoveBitNum=0;
  91.                                                 HzNum+=32;    //調用下一個漢字
  92.                                                 if(HzNum>=800)//需要顯示的漢字個數乘以32,包括前面的一屏空字符的個數,后面清屏的空字符不包含在內,這里是(漢字個數+4)x32
  93.                                                 HzNum=0;   //完全顯示完后循環調用
  94.                                 }
  95.                 }


  96.                         Delay(1);//控制掃描頻率
  97.                         T_OE =0;
  98.                         for(j=0;j<5;j++) //取每個漢字的前2個字節,4個漢字組成一行,數據傳輸完成后鎖存輸出即可,這里需要多取出一個漢字作為緩沖
  99.                         {                //原來j=4,現在j=5.
  100.                                         buff[2*j]=hztest[HzNum+j*32+count*2];  //每次移動完一個漢字后,選擇下一個漢字
  101.                                         buff[2*j+1]=hztest[HzNum+j*32+count*2+1];
  102.                         }

  103.                         if(MoveBitNum<8)                   //  判讀移動距離是大于一個字節還是小于一個字節,因為一個字節左移右移最大只能8位
  104.                                 { IncNum=0; MoveBitNumtemp=MoveBitNum; }
  105.                         else
  106.                                 { IncNum=1; MoveBitNumtemp=MoveBitNum-8;}//大于8就減去8得到的數值還是小于8
  107.                         T_STR=0;       //鎖存無效
  108.                         for(j=0;j<8;j++)          //按bit的方式移動緩沖區的內容,然后輸出到595,即取出的數值每個字節左移一定的位數,
  109.                         {                                     //后面左移出的數據整合到前面的字節中,保持數據的連續性            
  110.                                         temp=(buff[j+IncNum]>>MoveBitNumtemp)|(buff[j+1+IncNum]<<(8-MoveBitNumtemp));//這句比較重要,需要自行拿出2個字節的數據模擬分析
  111.                                         InputByte(temp);//輸出到595
  112.                         }//8個字節傳輸完鎖存輸出
  113.                         P1=count;//用P1口的前4位控制16行,屏內部通過4-16譯碼器工作,循環掃描16行
  114.                         T_STR=1;      //鎖存有效,此時一行的數據顯示到屏上

  115.                         T_OE =1;
  116.                         count++;
  117.                         if(count==16)
  118.                         count=0;
  119.                 }
  120. }

復制代碼

所有資料51hei提供下載:

16x64-M2點陣屏資料.rar (1.02 MB, 下載次數: 94)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:239985 發表于 2018-5-10 15:50 | 顯示全部樓層
用一下 課設需要 謝謝樓主
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品1区| 亚洲精品电影在线观看 | 一区二区三区欧美在线 | 91在线观看免费视频 | 国产免费人成xvideos视频 | 国产精品日韩在线 | 国产精品久久性 | 亚洲激精日韩激精欧美精品 | 欧美一级一区 | 在线免费观看黄视频 | 国产精品一区二区不卡 | 青青草视频网 | 精品久久久久久 | 成人美女免费网站视频 | 国产h在线 | 久久久久国产精品一区二区 | 久久久久久成人 | 欧美久久国产精品 | 中文在线一区 | 91电影 | 日韩精品一区二区三区久久 | 男女午夜激情视频 | 久久久精 | 99热.com | 国产精品视频一区二区三区 | 在线观看中文字幕视频 | 欧美亚洲国产一区二区三区 | 91精品国产乱码久久久久久久久 | 久久精品中文 | 久久成人人人人精品欧 | 丁香一区二区 | 国产中文字幕亚洲 | jlzzjlzz欧美大全 | 国产黄色大片网站 | 久久最新精品 | 在线观看www高清视频 | 久久久久久看片 | 国产精品日女人 | 欧美在线a | 国产精品美女久久久久aⅴ国产馆 | 秋霞电影院午夜伦 |