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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3172|回復(fù): 1
收起左側(cè)

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

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

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

單片機(jī)源程序如下:
  1. /*-----------------------------------------------
  2.   名稱:IO口高低電平控制
  3.   修改:無
  4.   內(nèi)容:點(diǎn)亮P1口的1個(gè)LED燈閃爍
  5.         該程序是單片機(jī)學(xué)習(xí)中最簡單最基礎(chǔ)的,
  6.                 通過程序了解如何控制端口的高低電平
  7. ------------------------------------------------*/
  8. #include<reg52.h> //包含頭文件,一般情況不需要改動(dòng),
  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;      //鎖存引腳,一般標(biāo)識(shí)位STR
  17. sbit T_IO  = P1^4;       //數(shù)據(jù)引腳,屏上標(biāo)識(shí)R1或者G1
  18. sbit T_CLK = P3^6;      //時(shí)鐘引腳,標(biāo)識(shí)位CLK
  19. sbit T_OE  = P3^5;

  20. unsigned char MoveBitNum,MoveBitNumtemp,IncNum;//移動(dòng)位數(shù),臨時(shí)移動(dòng)位數(shù),大于一個(gè)字節(jié)增加字節(jié)數(shù)
  21. unsigned int HzNum;//漢字個(gè)數(shù)
  22. unsigned char buff[10];

  23. /*-----------------------------------------------
  24.              16x16漢字取模數(shù)據(jù)
  25. ------------------------------------------------*/
  26. unsigned char code hztest[]=    //取模選擇字節(jié)倒序 ,正序得出的字是反的,可以在軟件中設(shè)置自動(dòng)倒敘
  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, //前面一屏大小的空字符,不顯示,這里根據(jù)屏的大小修改,這個(gè)是4個(gè)漢字屏
  36.                                                                                  //所以寫入4個(gè)漢字
  37.         
  38. …………
  39. …………
  40. …………限于本文篇幅 余下代碼請(qǐng)從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寫入一個(gè)字節(jié)
  46. ------------------------------------------------*/
  47. void InputByte(unsigned  char dat) //寫一個(gè)字節(jié)
  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.                     延時(shí)程序
  62. ------------------------------------------------*/
  63. void Delay(unsigned int t)
  64. {
  65. while(--t);
  66. }


  67. /*------------------------------------------------
  68.                     主函數(shù)
  69. ------------------------------------------------*/
  70. void main (void)
  71. {
  72.         unsigned char count;//16行掃描數(shù)據(jù),范圍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)         //主循環(huán)
  82.                 {

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


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

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

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

復(fù)制代碼

所有資料51hei提供下載:

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

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久99国产精一区二区三区 | 日韩午夜一区二区三区 | 老子午夜影院 | 成人一区二区三区在线观看 | 精品一区二区免费视频 | 一区二区三区在线 | 欧 | 亚洲国产精选 | 欧美日韩精品在线免费观看 | 久久久久久久久久久久久久国产 | 日韩中文字幕在线播放 | 在线免费观看黄色av | 在线一区视频 | 日韩黄色小视频 | 国产成人久久精品一区二区三区 | 久久久久久久一区二区三区 | 爱爱视频在线观看 | 欧美精品在欧美一区二区少妇 | 四虎最新视频 | 免费亚洲成人 | 欧美一区视频在线 | 欧美日韩一二三区 | 久热久草 | 久久亚洲二区 | 精品自拍视频在线观看 | 久久精品一区二区 | 香蕉婷婷| 一区二区久久 | 国产精品久久久久久一区二区三区 | 亚洲一页| 无码一区二区三区视频 | 国产精品久久国产精品久久 | 日韩免费中文字幕 | 理论片87福利理论电影 | 在线免费观看a级片 | 日本在线精品视频 | 天天综合网7799精品 | 国产精品3区 | 四虎网站在线观看 | 国产精品永久久久久久久www | 在线观看黄色电影 | 国产精品美女www爽爽爽 |