欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9317|回復: 0
收起左側

四個8*8點陣上下左右移動單片機程序與Proteus仿真

[復制鏈接]
ID:224212 發表于 2017-8-2 20:59 | 顯示全部樓層 |閱讀模式
8*8點陣移動仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png


0.png 0.png

單片機源程序如下:
  1. /************************************************************
  2. 名稱: 四個8*8點陣移動實驗
  3. ************************************************************/
  4. #include<reg52.h>
  5. #define uchar unsigned char
  6. #define uint unsigned int      
  7. uchar i,j,k,a,b;
  8. char kk;
  9. uchar code tabwe[]={ //0~9的字模(每個數字高8點,寬5點,下面一點為高位,一個數字用5個字節表示)
  10. 0x7E,   0x91,   0x89,   0x85,   0x7E,//0
  11. 0x00,   0x82,   0xFF,   0x80,   0x00,//1
  12. 0x86,   0xC1,   0xA1,   0x91,   0x8E,//2
  13. 0x41,   0x89,   0x8D,   0x8B,   0x71,//3
  14. 0x38,   0x24,   0x22,   0xFF,   0x20,//4
  15. 0x4F,   0x89,   0x89,   0x89,   0x71,//5
  16. 0x7E,   0x89,   0x89,   0x89,   0x72,//6
  17. 0x01,   0x01,   0xF9,   0x05,   0x03,//7
  18. 0x76,   0x89,   0x89,   0x89,   0x76,//8
  19. 0x4E,   0x91,   0x91,   0x91,   0x7E, //9
  20. 0//空位
  21. };

  22. uchar table[]={        //顯存8*4=32個字節,一個字節8位,四個8*8點陣的分辨率就是32*8
  23. 0,0,0,0,0,0,0,0,0,0,
  24. 0,0,0,0,0,0,0,0,0,0,
  25. 0,0,0,0,0,0,0,0,0,0,
  26. 0,0
  27. };
  28. void delay(uint ms)      //延時500us
  29. {      
  30.         uchar a,b;                                      
  31.         while(ms--)
  32.                 {
  33.                 for(b=71;b>0;b--)
  34.                 for(a=2;a>0;a--);
  35.                 }
  36. }
  37. void xh1(kk)//左移子程序
  38. {
  39.         for(k=0;k<32;k++)
  40.                 {
  41.                         a=kk+k-32;
  42.                         if(a>50||a<0){a=50;}
  43.                         table[k]=tabwe[a];
  44.                 }               
  45. }
  46. void xh2(kk)//右移子程序
  47. {
  48.         for(k=0;k<32;k++)
  49.                 {
  50.                         a=50-kk+k;
  51.                         if(a>50||a<0){a=50;}
  52.                         table[k]=tabwe[a];
  53.                 }               
  54. }

  55. void xh3(kk)//向下移進,向上移出
  56. {
  57.                 for(k=0;k<32;k++)
  58.                 {
  59.                 table[k]=(tabwe[k]>>kk);
  60.                 }
  61. }
  62. void xh4(kk)//向上移進,向下移出
  63. {
  64.                 for(k=0;k<32;k++)
  65.                 {
  66.                 table[k]=(tabwe[k]<<kk);
  67.                 }
  68. }


  69. void dsplay()
  70. {
  71. for(j=0;j<5;j++) //j是每幅圖象顯示的次數,j越小移動得越快;j越大移動得越慢。
  72.         {
  73.         for(i=0;i<16;i++)//一幅圖象32個字節,因為分P1和P2口同時顯示,所以只要16次。
  74.                 {
  75.                         P0=i;
  76.                         P1=table[i];
  77.                         P2=table[i+16];
  78.                         delay(2);        
  79.                 }
  80.         }
  81. }


  82. void main()
  83. {
  84.         while (1)
  85.         {
  86.                 for(kk=0;kk<82;kk++)//左移(從32位空屏,到0-9進入,再到全部移出共要32+50次)
  87.                 {        
  88.                         dsplay();
  89.                          xh1(kk);
  90.          }
  91.                 for(kk=0;kk<82;kk++)//右移(從32位空屏,到9-0進入,再到全部移出共要32+50次)
  92.                 {        
  93.                         dsplay();
  94.                          xh2(kk);
  95.          }
  96.                 for(kk=8;kk>=0;kk--)//向下移進
  97.                 {        
  98.                         dsplay();
  99.                          xh3(kk);
  100.          }
  101.                  for(kk=0;kk<8;kk++)//向下移出
  102.                 {        
  103.                         dsplay();
  104.                          xh4(kk);
  105. ……………………

  106. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
88點陣上下左右移動.rar (19.34 KB, 下載次數: 116)


回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表