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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

16*64點陣程序+Proteus仿真

[復制鏈接]
跳轉到指定樓層
樓主
ID:103096 發(fā)表于 2016-1-13 18:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式



16*64點陣單片機仿真文件下載:http://www.zg4o1577.cn/bbs/dpj-42345-1.html
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit DS_red=P3^5;
sbit SHC=P3^2;
sbit STC=P3^3;
sbit OE_red=P3^4;
sbit SW1=P3^6;
sbit SW2=P3^7;
uint count,speed;
uchar p,next,k,high,low,yige;
unsigned char flag,a,i;
uchar code hang[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};
uchar code hanzi[10][32]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},                                                
{0x04,0x80,0x08,0x80,0x34,0x80,0xE7,0xFE,0x24,0x84,0x24,0x88,0x00,0x02,0x09,0x02,
0x09,0x04,0xFF,0xC8,0x09,0x30,0x92,0x28,0x52,0x44,0x12,0x82,0x02,0x1F,0x00,0x00},/*"錢",0*/
{0x20,0x00,0x20,0x02,0x20,0x04,0x27,0xD8,0x24,0x40,0x24,0x42,0xA4,0x41,0x64,0x7E,
0x24,0x40,0x24,0x40,0x24,0x40,0x27,0xD0,0x20,0x08,0x20,0x06,0x20,0x00,0x00,0x00},/*"京",1*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

};

                                                  


void delay(uint z)
{
while(z--);
}
void delay1(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void SendByte(uchar date)
{
uchar p;
for(p=0;p<8;p++)
{
   SHC=0;
   DS_red=date&0x80;
   SHC=1;
   date=date<<1;
}
}
void Send_move(uchar date,uchar f)
{
  uchar i;
  DS_red=1;
  for(i=0;i<f;i++)
  {
          SHC=0;
        DS_red=date&0x80;
        SHC=1;
         date=date<<1;
  }
}
void SendBytefew(uchar temp1,uchar temp2,few)
{
uchar p;
uint temp;
temp=temp1;
temp=(temp<<8)|temp2;
for(p=0;p<few;p++)
{ SHC=0;
  DS_red=temp&0x8000;
  SHC=1;
  temp=temp<<1;
}
}
void main()
{      
        TMOD=0x11;
        TH0=0xff;
        TL0=0x90;
        EA=1;
        ET0=1;
        TR0=1;
        OE_red=0;
        speed=100;
        next=0;

  while(1)
  {
  if(!SW1)
  {delay(20);
          if(!SW1)
        {
          if(speed<=300)
          speed+=20;
          while(!SW1);
          delay(20);        
        }
  }
    if(!SW2)
  {delay(20);
          if(!SW2)
        {
          if(speed>10)
          speed-=30;
          while(!SW2);
          delay(20);        
        }
  }

}
}

void timer0() interrupt 1
{
  TH0=0xfa;
  TL0=0x90;
  count++;
  SendByte(hanzi[0+next][p]);
SendByte(hanzi[0+next][p+1]);
  SendByte(hanzi[1+next][p]);
  SendByte(hanzi[1+next][p+1]);
  SendByte(hanzi[2+next][p]);
  SendByte(hanzi[2+next][p+1]);
  SendByte(hanzi[3+next][p]);
SendByte(hanzi[3+next][p+1]);
   SendBytefew(hanzi[4+next][p],hanzi[4+next][p+1],yige);
  OE_red=1;
   STC=0;
   STC=1;
   P1=hang[k];
   OE_red=0;
   k++;
   p+=2;
   if(p==32)
   p=0;
   if(k==16)
   {
             k=0;
   if(count>=speed)
   {
            count=0;
         yige++;
         if(yige==16)
         {
           yige=0;
           next++;
           if(next==32)
           next=0;
         }

   }
}
}

評分

參與人數(shù) 1黑幣 +5 收起 理由
admin + 5 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:1 發(fā)表于 2016-1-13 19:10 | 只看該作者
這個只能加5分了 沒有電路圖,有圖的話可加50分
回復

使用道具 舉報

板凳
ID:102668 發(fā)表于 2016-1-14 00:00 | 只看該作者

  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint  unsigned int
  4. sbit DS_red=P3^0;  //串行數(shù)據(jù)輸入端,紅色燈
  5. sbit DS_green=P3^1;
  6. sbit SHC=P3^2;     //數(shù)據(jù)在上升沿進入移位寄存器
  7. sbit STC=P3^3;   //上升沿時將數(shù)據(jù)輸出到并行端口
  8. sbit OE_red=P3^4;  //HC595是能段,必須設置!
  9. sbit OE_green=P3^5;
  10. sbit SW1=P3^6;   //滾動減速
  11. sbit SW2=P3^7;   //滾動加速
  12. uint count,speed;  //滾動速度
  13. uchar p,next,k,high,low,yige;
  14. uchar code hang[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,
  15. 0x0c,0x0d,0x0e,0x0f}; //刷行,控制74154管腳輸出
  16. uchar code hanzi[][32]={
  17. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  18. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  19. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  20. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

  21. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  22. {0x04,0x00,0x04,0x00,0x0F,0xF0,0x0C,0x20,0x12,0x40,0x61,0x80,0x02,0x60,0x0D,0x1E,0x71,0x08,0x1F,0xFC,0x01,0x00,0x09,0x20,0x11,0x18,0x21,0x08,0x05,0x00,0x02,0x00},
  23. {0x05,0x00,0x45,0x00,0x29,0x00,0x13,0xFE,0x32,0x02,0x4C,0x02,0x89,0xF2,0x19,0x12,0x29,0x12,0x49,0x12,0x89,0xF2,0x09,0x02,0x08,0x02,0x08,0x04,0x50,0x14,0x20,0x08},
  24. {0x08,0x20,0x08,0x20,0x7F,0xFC,0x08,0x20,0x08,0x20,0x0F,0xE0,0x08,0x20,0x0F,0xE0,0x08,0x20,0x08,0x20,0xFF,0xFE,0x08,0x40,0x0C,0x20,0x18,0x10,0x30,0x18,0x40,0x10},
  25. {0x01,0x00,0x00,0x80,0x3F,0xFE,0x28,0x04,0x46,0x88,0x04,0x80,0x08,0x80,0x06,0x80,0x04,0x80,0x7F,0xFE,0x00,0x80,0x01,0x40,0x02,0x20,0x04,0x10,0x18,0x18,0x60,0x10},
  26. {0x10,0x10,0x08,0x18,0x06,0x10,0x04,0x20,0x7F,0xFC,0x04,0x20,0x04,0x20,0x04,0x20,0x7F,0xFE,0x04,0x20,0x04,0x20,0x04,0x20,0x08,0x20,0x08,0x20,0x10,0x20,0x20,0x20},
  27. {0x00,0x04,0x7F,0xFE,0x01,0x80,0x01,0x00,0x01,0x00,0x01,0x00,0x03,0x60,0x05,0x30,0x09,0x18,0x11,0x0C,0x21,0x08,0x41,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x00,0x00},
  28. {0x00,0x00,0x7E,0x3C,0x05,0xD0,0x09,0x50,0x11,0x50,0x15,0x50,0x19,0x50,0x31,0x50,0xD1,0x50,0x51,0x48,0x11,0x48,0x11,0x64,0x12,0x56,0x12,0xFA,0x54,0x50,0x20,0x00},
  29. {0x08,0x20,0x06,0x30,0x04,0x40,0x3F,0xF8,0x21,0x08,0x3F,0xF8,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x00,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00},
  30. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x10,0x00,0x20,0x00,0x00,0x00},
  31. {0x10,0x00,0x10,0xFC,0x10,0x84,0xFE,0xFC,0x38,0x84,0x34,0xFC,0x54,0x84,0x50,0x84,0x90,0xFC,0x00,0x00,0x01,0x00,0x08,0x84,0x28,0x82,0x28,0x12,0x67,0xF0,0x00,0x00},
  32. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  33. {0x04,0x00,0x04,0x00,0x0F,0xF0,0x0C,0x20,0x12,0x40,0x61,0x80,0x02,0x60,0x0D,0x1E,0x71,0x08,0x1F,0xFC,0x01,0x00,0x09,0x20,0x11,0x18,0x21,0x08,0x05,0x00,0x02,0x00},
  34. {0x05,0x00,0x45,0x00,0x29,0x00,0x13,0xFE,0x32,0x02,0x4C,0x02,0x89,0xF2,0x19,0x12,0x29,0x12,0x49,0x12,0x89,0xF2,0x09,0x02,0x08,0x02,0x08,0x04,0x50,0x14,0x20,0x08},
  35. {0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x7F,0xFE,0x00,0xC0,0x01,0x40,0x01,0x40,0x02,0x40,0x04,0x40,0x08,0x40,0x10,0x40,0x60,0x40,0x00,0x40,0x01,0x40,0x00,0x80},
  36. {0x00,0x00,0x7E,0x3C,0x05,0xD0,0x09,0x50,0x11,0x50,0x15,0x50,0x19,0x50,0x31,0x50,0xD1,0x50,0x51,0x48,0x11,0x48,0x11,0x64,0x12,0x56,0x12,0xFA,0x54,0x50,0x20,0x00},
  37. {0x08,0x20,0x06,0x30,0x04,0x40,0x3F,0xF8,0x21,0x08,0x3F,0xF8,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x00,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00},

  38. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  39. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  40. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
  41. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

  42. };//刷列
  43. void delay(uint z)
  44. {
  45. while(z--);
  46. }

  47. void delay1(uint z)
  48. {
  49. uint x,y;
  50. for(x=z;x>0;x--)
  51. for(y=110;y>0;y--);  
  52. }

  53. //點陣顯示位傳送

  54. void SendByte(uchar date)//595數(shù)據(jù)傳送
  55. {
  56. uchar p;
  57. for(p=0;p<8;p++)
  58. {
  59. SHC=0;
  60. DS_red=date&0x80;
  61. SHC=1;
  62. date=date<<1;
  63. }
  64. }

  65. void Send_move(uchar date,uchar f)
  66. {
  67. uchar i;
  68. DS_red=1;
  69. for(i=0;i<f;i++)
  70. {
  71. SHC=0;
  72. DS_red=date&0x80;
  73. SHC=1;
  74. date=date<<1;
  75. }
  76. }
  77. void SendBytefew(uchar temp1,uchar temp2,few)//將十六位數(shù)據(jù)傳給595
  78. {
  79. uchar p;
  80. uint temp;
  81. temp=temp1;
  82. temp=(temp<<8)|temp2;
  83. for(p=0;p<few;p++)
  84. {
  85. SHC=0;
  86. DS_red=temp&0x8000;
  87. SHC=1;
  88. temp=temp<<1;
  89. }
  90. }
  91. void main()
  92. {
  93. TMOD=0x11;
  94. TH0=0xff;  
  95. TL0=0x90;
  96. EA=1;
  97. ET0=1;
  98. TR0=1;
  99. OE_red=0;
  100. speed=100;
  101. next=0;
  102. while(1)
  103. {
  104. if(!SW1)
  105. {
  106. delay(20);
  107. if(!SW1)
  108. {
  109. if(speed<300)
  110. speed+=20;
  111. while(!SW1);
  112. delay(20);
  113. }
  114. }
  115. if(!SW2)
  116. {
  117. delay(20);
  118. if(!SW2)
  119. {
  120. if(speed>10)
  121. speed-=30;
  122. while(!SW2);
  123. delay(20);
  124. }
  125. }
  126. }
  127. }
  128. void timer0() interrupt 1
  129. {
  130. TH0=0xfa;  
  131. TL0=0x90;
  132. count++;
  133. //先刷四個空格
  134. SendByte(hanzi[0+next][p]);
  135. SendByte(hanzi[0+next][p+1]);
  136. SendByte(hanzi[1+next][p]);
  137. SendByte(hanzi[1+next][p+1]);
  138. SendByte(hanzi[2+next][p]);
  139. SendByte(hanzi[2+next][p+1]);
  140. SendByte(hanzi[3+next][p]);
  141. SendByte(hanzi[3+next][p+1]);
  142. SendBytefew(hanzi[4+next][p],hanzi[4+next][p+1],yige);//刷文字
  143. OE_red=1;
  144. STC=0;
  145. STC=1;
  146. P2=hang[k];//行顯示
  147. OE_red=0;//打開595使能端
  148. k++;
  149. p+=2;
  150. if(p==32)
  151. p=0;
  152. if(k==16)
  153. {
  154. k=0;
  155. if(count>=speed)
  156. {
  157. count=0;
  158. yige++;
  159. if(yige==16)
  160. {
  161. yige=0;
  162. next++;
  163. if(next==21)//注意next的值必須等于文字個數(shù)
  164. next=0;
  165. }

  166. }
  167. }
  168. }
復制代碼
回復

使用道具 舉報

地板
ID:575208 發(fā)表于 2019-7-4 10:36 | 只看該作者

請問你這個有原理圖嗎
回復

使用道具 舉報

5#
ID:375637 發(fā)表于 2021-4-23 11:04 | 只看該作者
就差原理圖了
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩 欧美 二区 | 国产精品特级片 | 精品国产一级片 | 国产9 9在线 | 中文 | 神马影院一区二区三区 | 日本视频免费 | 国产片一区二区三区 | 国产一区二区在线免费播放 | 国产日韩在线观看一区 | 成人在线视频看看 | 一级片免费在线观看 | 最新av中文字幕 | 日韩精品一区二区三区中文字幕 | 欧美精品福利 | 在线小视频 | 男女搞网站 | 国产欧美日韩精品在线观看 | 亚洲精品www | 国产一区二区精品 | 日本精品一区二区 | 日韩一二三 | 精品久久久久久亚洲精品 | 日韩网站在线观看 | 国产精品成av人在线视午夜片 | 国产精品激情在线 | 免费看国产片在线观看 | 国产四区 | 午夜精品久久久久久久久久久久久 | 亚洲成人福利 | 国产精品久久久久久久久图文区 | 又黑又粗又长的欧美一区 | 久久看看 | 野狼在线社区2017入口 | 久久久久久免费精品一区二区三区 | 中文字幕在线精品 | 日本精品裸体写真集在线观看 | 国产成人精品一区二区三区在线 | 久久久久久久久久爱 | 久久综合99 | 在线亚洲免费 | 日韩在线视频观看 |