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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機數組顯示實驗

[復制鏈接]
跳轉到指定樓層
樓主
ID:72519 發表于 2015-1-21 23:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
是用51hei單片機開發板 電路圖詳見:http://www.raoushi.com/f/51hei-5.pdf  的數碼管部分, 用2個74hc573 鎖存,p0口作為數據口 ,p3.6和p3.7分別是段和位的鎖存端口. p2口上面有按鍵 詳見程序的定義:
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  5. sbit D=P3^6;
  6. sbit V=P3^7;
  7. uchar ACT[4]={0xfe,0xfd,0xfb,0xf7};
  8. uchar data shuzu[4];
  9. //=============
  10. uchar status;
  11. uchar temp,f;
  12. //===============
  13. void delay_1ms(void)
  14. {
  15. uint k;
  16. for(k=0;k<121;k++);
  17. }
  18. //============
  19. void dis_all(void)
  20. {
  21. D=1;P0=SEG7[shuzu[0]];D=0;P0=0xff;V=1;P0=ACT[3];V=0;delay_1ms();
  22. D=1;P0=SEG7[shuzu[1]];D=0;P0=0xff;V=1;P0=ACT[2];V=0;delay_1ms();
  23. D=1;P0=SEG7[shuzu[2]];D=0;P0=0xff;V=1;P0=ACT[1];V=0;delay_1ms();
  24. D=1;P0=SEG7[shuzu[3]];D=0;P0=0xff;V=1;P0=ACT[0];V=0;delay_1ms();
  25. }
  26. //================
  27. void dis_shuzu0(void)
  28. {
  29. D=1;P0=SEG7[f];D=0;P0=0xff;V=1;P0=ACT[3];V=0;delay_1ms();
  30. }
  31. //======================
  32. void dis_shuzu1(void)
  33. {
  34. D=1;P0=SEG7[f];D=0;P0=0xff;V=1;P0=ACT[2];V=0;delay_1ms();
  35. }
  36. //===================
  37. void dis_shuzu2(void)
  38. {
  39. D=1;P0=SEG7[f];D=0;P0=0xff;V=1;P0=ACT[1];V=0;delay_1ms();
  40. }
  41. //=======================
  42. void dis_shuzu3(void)
  43. {
  44. D=1;P0=SEG7[f];D=0;P0=0xff;V=1;P0=ACT[0];V=0;delay_1ms();
  45. }
  46. //=================
  47.   void key_s1(void)
  48. {
  49. P2=0xff;
  50. if(P2==0xbf)
  51. {if(temp>50)temp=0;
  52. if(temp==0)f++;
  53. if(f>9)f=0;
  54. temp++;
  55. delay_1ms();
  56.     }
  57. }
  58. //===================
  59. void key_s2(void)
  60. {
  61. P2=0xff;
  62. if(P2==0x7f)
  63. {
  64. switch (status)
  65. {
  66. case 1:shuzu[0]=f;break;
  67. case 2:shuzu[1]=f;break;
  68. case 3:shuzu[2]=f;break;
  69. case 4:shuzu[3]=f;break;
  70. default:break;
  71.      }
  72.   }
  73. }
  74. //=================
  75. void key_s4(void)
  76. {
  77. P2=0xff;
  78. if(P2==0xdf)
  79. {if(temp>50)temp=0;
  80. if(temp==0)status++;
  81. if(status>4)status=0;
  82. temp++;
  83. delay_1ms();
  84.    }
  85. }
  86. //================
  87. void main(void)
  88. {
  89. while(1)
  90. {
  91. key_s1();
  92. key_s2();
  93. key_s4();
  94. switch (status)
  95. {
  96. case 0:dis_all();break;
  97. case 1:dis_shuzu0();break;
  98. case 2:dis_shuzu1();break;
  99. case 3:dis_shuzu2();break;
  100. case 4:dis_shuzu3();break;
  101. default:break;
  102.       }
  103. }
  104. }
復制代碼


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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