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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機+74HC138驅動16*96點陣Proteus仿真源程序

[復制鏈接]
跳轉到指定樓層
樓主
基于51單片機的點陣仿真和源代碼,這種級聯比較大的點陣網絡上比較少,希望能給大家一些幫助
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include <atmel\regx52.h>

  2. #define int8 unsigned char
  3. #define int16 unsigned int
  4. #define int32 unsigned long

  5. #define CTRL_PORT  P2
  6. #define DATA_PORT  P0
  7. #define ADDR_PORT  P1

  8. int8 flag;
  9. int8 n;
  10. int8 zzz;
  11. int8 yyy;
  12. int8 code table[][32]={
  13. {0x60,0x02,0x1C,0x0A,0x10,0x12,0x10,0x12,0x10,0x02,0xFF,0x7F,0x10,0x02,0x10,0x12,0x70,0x14,0x1C,0x0C,0x13,0x04,0x10,0x0A,0x90,0x49,0x10,0x50,0x14,0x60,0x08,0x40},/*"我",0*/

  14. {0x00,0x20,0x00,0x20,0x3E,0x21,0x22,0x21,0x22,0x21,0x22,0x21,0x22,0x21,0x22,0x21,0x22,0x39,0xBE,0x27,0x22,0x21,0x02,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20},/*"叫",1*/

  15. {0x88,0x00,0x88,0x00,0x88,0x7F,0x48,0x00,0xDF,0x1F,0xA8,0x10,0x9C,0x12,0xAC,0x14,0xEA,0x7F,0x8A,0x12,0x89,0x14,0x88,0x10,0x88,0x7F,0x08,0x10,0x08,0x14,0x08,0x08},/*"梅",2*/

  16. {0x08,0x20,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x04,0x21,0x04,0x20,0x02,0x00},/*"川",3*/

  17. {0x00,0x04,0x7F,0x04,0x14,0x05,0x14,0x3F,0x7F,0x05,0xD5,0x04,0xD5,0x7F,0x75,0x00,0x43,0x00,0x41,0x3F,0x7F,0x21,0x41,0x21,0x41,0x21,0x7F,0x3F,0x41,0x21,0x00,0x00},/*"酷",4*/

  18. {0x00,0x00,0xFC,0x0F,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00,0x80,0x00,0x80,0x20,0xFF,0x7F,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0xA0,0x00,0x40,0x00}/*"子",5*/
  19. };

  20. int8 select_hc138[][4]={
  21. {0x20,0x21,0x22,0x23},
  22. {0x24,0x25,0x26,0x27},

  23. {0x10,0x11,0x12,0x13},
  24. {0x14,0x15,0x16,0x17},
  25. {0x18,0x19,0x1a,0x1b},
  26. {0x1c,0x1d,0x1e,0x1f}
  27. };
  28. void delay(void);
  29. void ldelay(void);
  30. void main(void){

  31. int8 i,j,k;
  32. int8 index;


  33. flag=0x10;
  34. n=0;
  35. TMOD=0x01;
  36. TH0=0xb1;
  37. TL0=0xe0;
  38. ET0=1;
  39. EA=1;
  40. //TR0=1;


  41. flag=0x10;



  42. yyy=0;
  43. zzz=0;

  44. //CTRL_PORT=select_hc138[2][0];

  45. while(1)
  46. {
  47.     for(k=0;k<6;k++){   
  48.            for(j=0;j<60;j++)
  49.                      {                    
  50.                     for(i=0;i<8;i++)
  51.                      {
  52.                             CTRL_PORT=select_hc138[k][0];
  53.                              DATA_PORT=table[k][2*i];

  54.                          ADDR_PORT=i;                                          
  55.                                  delay();

  56.                                  CTRL_PORT=select_hc138[k][1];
  57.                              DATA_PORT=table[k][2*i+1];
  58.                                     
  59.                          ADDR_PORT=i;  
  60.                                   delay();
  61.                      }                              
  62.                     for(i=8;i<16;i++)
  63.                      {
  64.                             CTRL_PORT=select_hc138[k][2];
  65.                              DATA_PORT=table[k][2*i];

  66.                                 ADDR_PORT=i-8;                                            
  67.                                  delay();

  68.                             CTRL_PORT=select_hc138[k][3];
  69.                              DATA_PORT=table[k][2*i+1];

  70.                         ADDR_PORT=i-8;     
  71.                                  delay();
  72.                      }         
  73.          }        

  74.       
  75.    }                                          
  76.                     
  77.   }


  78. }
  79. void ldelay(void){
  80. int16 i;
  81. for(i=0;i<1000;i++);

  82. }
  83. void delay(void){
  84. int16 i;
  85. for(i=0;i<80;i++);

  86. }
  87. void timer0() interrupt 1 using 3
  88. {
  89.          TF0=0;
  90.         TH0=0xb1;
  91.         TL0=0xe0;
  92.         if(n<100)
  93.         {
  94.            n++;
  95.         }
  96.         else
  97.         {

  98.            switch(flag)
  99.            {
  100.                      case 0x10:
  101.                   {
  102.                           flag=0x11;                  
  103.                             break;                  
  104.                   }
  105.                      case 0x11:
  106.                   {
  107.                           flag=0x12;                  
  108.                             break;                  
  109.                   }           
  110.                      case 0x12:
  111.                   {
  112.                           flag=0x13;                  
  113.                             break;                  
  114.                   }                     
  115.                      case 0x13:
  116.                   {
  117.                           flag=0x20;                  
  118.                             break;                  
  119.                   }                  
  120.                      case 0x20:
  121.                   {
  122.                           flag=0x21;                  
  123.                             break;                  
  124.                   }
  125.                      case 0x21:
  126.                   {
  127.                           flag=0x22;                  
  128.                             break;                  
  129.                   }           
  130.                      case 0x22:
  131.                   {
  132.                           flag=0x23;                  
  133.                             break;                  
  134.                   }                     
  135.                      case 0x23:
  136.                   {
  137.                           flag=0x10;                  
  138.                             break;                  
  139.                   }                  
  140.            }
  141.            n=0;
  142.            if(zzz==4)
  143.             {
  144.             zzz=0;
  145.                   }
  146.         else
  147.                 {
  148.              zzz++;
  149.              yyy+=4;                        
  150.                 }

  151.          }


  152. }
復制代碼


所有資料51hei提供下載:
6個16×16點陣.zip (150.44 KB, 下載次數: 36)


評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线观看精品 | 美女福利视频一区 | 亚洲天堂中文字幕 | 青青激情网| 午夜精品久久久久久久星辰影院 | 欧美日韩视频在线 | 欧美在线观看一区 | 免费高清av| 一级黄色片在线看 | 91久久精品国产91久久性色tv | 久久久国产精品一区 | 麻豆亚洲 | 亚洲第一黄色网 | 欧美一区二区另类 | 日韩三区在线 | 亚洲精品久久久久久久久久久久久 | 亚洲91| 欧美午夜剧场 | 亚洲日本中文 | xxx.在线观看 | 国产目拍亚洲精品99久久精品 | 欧美激情精品久久久久久变态 | 久久99精品久久 | 国产精品免费在线 | 久久99蜜桃综合影院免费观看 | 五月婷亚洲 | 91超碰caoporn97人人 | www视频在线观看 | 一区二区三区小视频 | 337p日本欧洲亚洲大胆精蜜臀 | 欧洲妇女成人淫片aaa视频 | 亚洲国产成人久久久 | 国产欧美在线 | 久久久久久久成人 | 天天夜夜操 | 一区二区视频在线 | 在线成人免费视频 | 久久一级| 日韩视频一区二区三区 | 国产日韩欧美在线观看 | 久久久精品久久 |