標(biāo)題: 我的單片機花樣走馬燈課程設(shè)計 簡單哦! [打印本頁]

作者: Coolguyisme    時間: 2017-4-12 18:55
標(biāo)題: 我的單片機花樣走馬燈課程設(shè)計 簡單哦!
我的單片機花樣走馬燈課程設(shè)計 簡單哦!
都是自己設(shè)計的
在附件中有程序仿真圖和程序
不過其中的那個減速和加速功能還沒有完善
希望有朋友們可以一起討論!

程序如下
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit k1=P3^5;
  6. sbit k2=P3^6;
  7. sbit k3=P3^7;
  8. uchar code number1[]={0xf9,0xa4,0xb0};
  9. uchar code number2[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff,
  10.                       0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
  11. uchar code number3[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,
  12.                       0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};


  13. void delay(uchar del)
  14. {
  15. uint i,j;
  16. for(i=0;i<del;i++)
  17. for(j=0;j<1827;j++)
  18. ;
  19. }

  20. void main()
  21. {
  22. IT0=1;
  23. EX0=1;
  24. EA=1;

  25. }

  26. void into () interrupt 0
  27. {
  28. uint i,j;
  29. uchar a,b;
  30. EX0=1;

  31. if(k1==0)
  32. {
  33. while(1)
  34. {
  35. a=0xfe;
  36. P2=number1[0];
  37. for(i=0;i<8;i++)
  38. {
  39. if(k2==0||k3==0)
  40. goto kk;
  41. P1=a;
  42. a=_crol_(a,1);
  43. delay(10);
  44. }
  45. P1=0xff;
  46. for(i=0;i<8;i++)
  47. {
  48. if(k2==0||k3==0)
  49. goto kk;
  50. P0=a;
  51. delay(10);
  52. a=_crol_(a,1);
  53. }
  54. P0=0xff;                                                         //模式一
  55. a=0xbf;
  56. for(i=0;i<7;i++)
  57. {
  58. if(k2==0||k3==0)
  59. goto kk;
  60. P0=a;
  61. a=_cror_(a,1);
  62. delay(10);
  63. }
  64. P0=0xff;
  65. a=0x7f;
  66. for(i=0;i<7;i++)
  67. {
  68. if(k2==0||k3==0)
  69. goto kk;
  70. P1=a;
  71. delay(10);
  72. a=_cror_(a,1);
  73. }
  74. P1=0xff;

  75. P0=0x00;
  76. P1=0x00;
  77. delay(10);
  78. P0=0xff;
  79. P1=0xff;

  80. }
  81. }
  82. if(k2==0)
  83. {
  84. while(1)
  85. {
  86. a=0xfe;
  87. b=0x7f;
  88. P2=number1[1];
  89. for(i=0;i<7;i++)
  90. {
  91. if(k1==0||k3==0)
  92. goto kk;
  93. P1=a;
  94. P0=b;
  95. delay(10);
  96. a=_crol_(a,1);
  97. b=_cror_(b,1);
  98. }                                                           //模式二

  99. P1=0x7f;
  100. P0=0xfe;
  101. for(j=0;j<7;j++)
  102. {
  103. if(k1==0||k3==0)
  104. goto kk;
  105. P1=a;
  106. P0=b;
  107. delay(10);
  108. a=_cror_(a,1);
  109. b=_crol_(b,1);
  110. }                                                           //模式二
  111. P1=0xff;
  112. P0=0xff;
  113. }
  114. }

  115. if(k3==0)
  116. {
  117. while(1)
  118. {
  119. P2=number1[2];
  120. P1=0x00;
  121. P0=0x00;
  122. delay(10);
  123. for(i=0;i<16;i++)
  124. {
  125. if(k1==0||k2==0)
  126. goto kk;
  127. P1=number2[i];
  128. P0=number3[i];
  129. delay(10);
  130. }
  131. P1=0xff;

  132. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

下載:
實訓(xùn)任務(wù)一 花樣走馬燈.zip (75.01 KB, 下載次數(shù): 14)
花樣走馬燈 - ISIS Professional 2017_4_12 18_49_24.zip (12.62 MB, 下載次數(shù): 16)


作者: 晨澤    時間: 2017-4-12 21:27
您好,您有時間做單片機兼職嗎?如果有興趣加我,我這里長期需要編程兼職
作者: Coolguyisme    時間: 2017-4-12 21:48
晨澤 發(fā)表于 2017-4-12 21:27
您好,您有時間做單片機兼職嗎?如果有興趣加我QQ,我這里長期需要編程兼職

這個就不用了 謝謝 這只是我的業(yè)余愛好而已 我也有工作 謝謝




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1