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

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

QQ登錄

只需一步,快速開始

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

貢獻(xiàn)一個(gè)8*8點(diǎn)陣的代碼,通過(guò)單片機(jī)io腳直連,比較適合初學(xué)者

[復(fù)制鏈接]
ID:504669 發(fā)表于 2019-4-4 11:04 | 顯示全部樓層 |閱讀模式
貢獻(xiàn)一個(gè)8*8的點(diǎn)陣控制代碼,比較合適初學(xué)者掌握點(diǎn)陣的控制原理。

點(diǎn)陣連接方式很簡(jiǎn)單,P0接行信號(hào),P2接列信號(hào),可以高位在前,也可以高位在后,主意編碼的方式。

硬件電路圖,P0直接接行信號(hào),P2直接接列信號(hào),高位在前。

硬件電路圖,P0直接接行信號(hào),P2直接接列信號(hào),高位在前。

硬件電路圖,P0直接接行信號(hào),P2直接接列信號(hào),高位在前。


編碼方式

編碼方式

編碼方式

單片機(jī)源程序如下:
  1. #include <reg52.h>
  2. #include <intrins.h>

  3. void delay1ms(unsigned char c)   //誤差 0us
  4. {
  5.     unsigned char a,b;
  6.     for(c;c>0;c--)
  7.         for(b=142;b>0;b--)
  8.             for(a=2;a>0;a--);
  9. }

  10. unsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //縱條表
  11. unsigned char code tabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //衡條表


  12. //unsigned char code a[]={0x18,0x24,0x24,0x42,0x7E,0x42,0x42,0x81};
  13. unsigned char code a[] = {0xE7,0xDB,0xDB,0xBD,0x81,0xBD,0xBD,0x7E};
  14. #if 0
  15. unsigned char number[]= {
  16. 0xFF,0x9F,0xBF,0xBF,0xBF,0xBF,0x1F,0xFF,/*"1",0*/
  17. 0xFF,0xC3,0xDB,0xDF,0xEF,0xF7,0xFB,0xC3,/*"2",1*/
  18. 0xFF,0xC3,0xDB,0xE7,0xDF,0xDF,0xDB,0xE3,/*"3",2*/
  19. 0xFF,0xDF,0xCF,0xD7,0xDB,0xDB,0xC7,0xDF,/*"4",3*/
  20. 0xFF,0xC3,0xFB,0xE3,0xDF,0xDF,0xDB,0xE3,/*"5",4*/
  21. 0xFF,0xE7,0xFB,0xFB,0xC3,0xDB,0xDB,0xE7,/*"6",5*/
  22. 0xFF,0xC3,0xEF,0xEF,0xF7,0xF7,0xF7,0xF7,/*"7",6*/
  23. 0xFF,0xC7,0xDB,0xDB,0xE7,0xDB,0xDB,0xE7,/*"8",7*/
  24. 0xFF,0xE7,0xDB,0xDB,0xC3,0xDF,0xDF,0xE7,/*"9",8*/
  25. 0xFF,0xE7,0xDB,0xDB,0xDB,0xDB,0xDB,0xE7/*"0",9*/};
  26. #endif

  27. #if 0                //高位在后
  28. unsigned char chara[6][8]={
  29. {0xFF,0xFF,0xF7,0xEB,0xED,0xC1,0x9C,0xFF},/*"A",0*/
  30. {0xFF,0xFF,0xC1,0xDD,0xE1,0xDD,0xC1,0xFF},/*"B",1*/
  31. {0xFF,0xFF,0x83,0xF9,0xFD,0xB9,0x83,0xFF},/*"C",2*/
  32. {0xFF,0xFF,0xE1,0xDD,0xDD,0xCD,0xE1,0xFF},/*"D",3*/
  33. {0xFF,0xFF,0xC1,0xFD,0xE1,0xFD,0xC1,0xFF},/*"E",4*/
  34. {0xFF,0xFF,0xC1,0xFD,0xE1,0xFD,0xFD,0xFF},/*"F",5*/
  35. };
  36. #endif
  37. #if 1 //高位在前
  38. unsigned char chara[6][8]={
  39. {0xFF,0xFF,0xEF,0xD7,0xB7,0x83,0x39,0xFF},/*"A",0*/
  40. {0xFF,0xFF,0x83,0xBB,0x87,0xBB,0x83,0xFF},/*"B",1*/
  41. {0xFF,0xFF,0xC1,0x9F,0xBF,0x9D,0xC1,0xFF},/*"C",2*/
  42. {0xFF,0xFF,0x87,0xBB,0xBB,0xB3,0x87,0xFF},/*"D",3*/
  43. {0xFF,0xFF,0x83,0xBF,0x87,0xBF,0x83,0xFF},/*"E",4*/
  44. {0xFF,0xFF,0x83,0xBF,0x87,0xBF,0xBF,0xFF},/*"F",5*/
  45. };
  46. unsigned char temp[] = {0,0x01,0x3,0x7,0xF,0x1F,0x3F,0x7F,0xFF};
  47. unsigned char temp2[] = {0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80};
  48. void  main()
  49. {
  50.         unsigned char i,j,k,z;

  51.         P0 = 1;
  52.         P2 = 0xFE;
  53. #if 1
  54. //向左移動(dòng)字符A
  55.         while(1){
  56.         
  57.         for(k=0;k<16;k++)        
  58.            for(j=0;j<30;j++)
  59.                  for(i=0;i<8;i++){
  60.                         P0 = tabb[i];
  61.                         if(k<=7)
  62.                                 P2 = a[i]>>(8-k) | temp2[k] ;//屏蔽左邊沒(méi)有數(shù)據(jù)的位
  63.                         else
  64.                                 P2 = ( a[i]<< (k-8) ) | temp[k-8] ;        //屏蔽右邊移出來(lái)的空位,補(bǔ)一,否則右邊會(huì)亮
  65.                         delay1ms(2);
  66.                 }
  67.         }
  68. #endif

  69. #if 0
  70.         //向左移動(dòng)所有字符
  71.         while(1)
  72.         {
  73.                 for(z=0;z<6;z++)
  74.                 {
  75.                         for(j=0;j<8;j++)                //在可見視窗內(nèi),只能顯示8列數(shù)據(jù),
  76.                         {
  77.                                 for(k=0;k<10;k++)       //每一幀數(shù)據(jù)要顯示一定時(shí)間,否則看不到要顯示的內(nèi)容
  78.                                         for(i=0;i<8;i++)        //顯示一幀,每一幀數(shù)據(jù)由8行組成
  79.                                         {
  80.                                                 P0 = tabb[i];
  81.                                                 if(z == 5)
  82.                                                         P2 = chara[z][i] << j;
  83.                                                 else                                                
  84.                                                         P2 = chara[z][i] << j | (chara[z+1][i] >> (8-j));//對(duì)數(shù)據(jù)做重新的組合之后再顯示
  85.                                                 delay1ms(2);
  86.                                         }
  87.                          }
  88.                 }
  89.          }
  90. #endif


  91. #if 0               
  92.         while(1){
  93.          //先將二維數(shù)組變?yōu)橐痪S數(shù)組,這樣比較容易操作。向上移動(dòng)顯示0-9        ,P0為行掃描,P2為列掃描
  94.          for(k=0;k<sizeof(number)-8;k++)

  95.                 for(j=0;j<30;j++)
  96.                    for(i=0;i<8;i++){
  97.                          P0 = tabb[i];
  98.                         P2 = number[k+i];
  99.                         delay1ms(2);
  100.                 }
  101.         }
  102. #endif

  103. #if 0
  104. //靜態(tài)顯示字母A
  105.         while(1){
  106.                  for(i=0;i<8;i++){
  107.                         P0 = tabb[i];
  108.                         P2 = a[i];
  109.                         delay1ms(2);
  110.                 }
  111.         }
  112. #endif        

  113. #if 0               
  114.         while(1){
  115.          //循環(huán)顯示0-9        ,P0為行掃描,P3為列掃描
  116.          for(k=0;k<10;k++)

  117.                 for(j=0;j<200;j++)
  118.                    for(i=0;i<8;i++){
  119.                          P0 = tabb[i];
  120.                         P2 = number[k][i];
  121.                         delay1ms(2);
  122.                 }
  123.         }
  124. #endif
  125.                  
  126.   
  127.   /*
  128.          
  129.         while(1){
  130.                  for(i=0;i<8;i++){
  131.                          P1 = a[i];
  132.                         P3 = taba[i];
  133.                         delay1ms();
  134.                         P1 = 0;
  135.                         P3 = 0;
  136.         
  137.                 }
  138.         }
  139.          
  140.         
  141.          while(1){
  142.                 //逐行掃描,從上到下
  143.                  for(i=0;i<8;i++){
  144.                         P0 = tabb[i];
  145.                         Delay500ms();                  
  146.                         P2 = 0x00;
  147.                 }
  148.                 //逐行掃描,從下到上
  149.                 for(i=7;i>0;i--){
  150.                         P0 = tabb[i];
  151.                         Delay500ms();                  
  152.                         P2 = 0x00;
  153.                 }
  154.                 //逐列掃描 從右到左
  155.                 for(i=0;i<8;i++){
  156.                         P0 = 0xFF;
  157.                         P2 = taba[i];
  158.                         Delay500ms();                           
  159.                 }
  160.                 //逐列掃描 從左到右
  161.                 for(i=7;i>0;i--){
  162.                         P0 = 0xFF;
  163.                         P2 = taba[i];
  164.                         Delay500ms();                  
  165.                 }
  166.                 P0 = 0;
  167.                 P2 = 0;
  168.         }
  169.         */

  170. }
復(fù)制代碼

所有資料51hei提供下載:
dotled.rar (267.93 KB, 下載次數(shù): 22)
回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2019-4-4 23:50 | 顯示全部樓層
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說(shuō)明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 69精品久久久久久 | 99久久日韩精品免费热麻豆美女 | 在线日韩视频 | 欧美日韩不卡 | 一区二区三区四区电影视频在线观看 | av一区二区三区 | 天堂一区二区三区 | 国产高清精品一区二区三区 | 国产一级电影在线 | 亚洲国产自产 | 欧美日韩一区二区电影 | 国产欧美一区二区三区久久人妖 | 欧美亚洲网站 | 国产原创在线观看 | 国产精品美女久久久久久不卡 | 亚洲成人黄色 | 久久高清国产 | 亚洲第一在线视频 | 天天碰日日操 | 欧美成视频 | 高清人人天天夜夜曰狠狠狠狠 | av在线天堂网 | 精品一区二区三区在线视频 | 国产精品久久久久久 | 精品日韩一区 | 国产剧情一区 | 国产在线一区二区三区 | 国产日韩一区 | 亚洲国产成人在线视频 | 伊人免费在线观看高清 | 亚洲成人久久久 | 亚洲bt 欧美bt 日本bt | 日韩精品一区二区三区中文在线 | 国产不卡一区在线观看 | 91一区二区三区 | 欧美激情精品久久久久 | 国产日产欧产精品精品推荐蛮挑 | 精品亚洲一区二区三区四区五区高 | 国产一区在线免费 | 国产精品久久久久久妇女6080 | 亚洲国产高清高潮精品美女 |