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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2197|回復: 1
收起左側

基于51單片機的搖搖棒制作 原理圖PCB文件程序

[復制鏈接]
ID:474080 發表于 2022-1-11 23:17 | 顯示全部樓層 |閱讀模式
當時做著玩,現在分享出來給大家
4A3004C9F24ABBE7A17A0562CE901605.jpg 4F45960BFF12387EB99A78F09B3DAB0D.jpg 7A296D5FBD15AA72A96403BC6F26E9ED.jpg

單片機源程序如下:
  1. #include <AT89X52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int    //宏定義
  4. #define KEY P1_0      //定義畫面切換按鍵
  5. uchar KY;      //KY見后面   
  6. uchar disp;     //顯示漢字指針
  7. uchar pic=0,num=0;     //pic為按鍵次數;num為中斷次數

  8. uchar code love[] = {
  9. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  10. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x00,0x20,0x00,0x20,0x00,0x20,
  11. 0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x0F,
  12. 0x04,0x10,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x04,0x10,0xF8,0x0F,0x00,0x00,
  13. 0x00,0x00,0x00,0x00,0xFE,0x07,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x20,0x00,0x10,
  14. 0x00,0x08,0xFE,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x82,0x20,0x82,0x20,
  15. 0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
  16. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*LOVE*/
  17. };

  18. uchar code loveyou[] = {
  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,0x00,0x00,0x00,
  22. 0x78,0x00,0xFC,0x00,0xFE,0x01,0xFE,0x03,0xFE,0x07,0xFE,0x0F,0xFE,0x1F,0xFC,0x3F,
  23. 0xF8,0x7F,0xFC,0x3F,0xFE,0x1F,0xFE,0x0F,0xFE,0x07,0xFE,0x03,0xFE,0x01,0xFC,0x00,
  24. 0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  25. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  26. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*心形圖案*/
  27. };

  28. uchar code hehe[] = {
  29. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  30. 0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,
  31. 0xF0,0x0F,0x08,0x10,0x04,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,
  32. 0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,
  33. 0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,
  34. 0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x04,0x20,0x08,0x10,
  35. 0xF0,0x0F,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,
  36. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*哈哈o(n_n)o圖案*/
  37. };

  38. unsigned char code lbw[] = {

  39. 0x80,0x00,0x9F,0x10,0x90,0x10,0x90,0x08,0x90,0x04,0x9E,0x02,0x82,0x00,0xE2,0x7F,
  40. 0x82,0x02,0x9E,0x04,0x90,0x04,0x90,0x08,0x90,0x10,0x90,0x22,0x8A,0x41,0x84,0x00,


  41. 0x00,0x01,0x00,0x01,0x1E,0x3D,0xD2,0x03,0x12,0x0A,0x12,0x24,0x12,0x2B,0xDE,0x30,
  42. 0x12,0x00,0xD2,0x7F,0x12,0x09,0x12,0x09,0x9E,0x48,0x92,0x48,0x40,0x70,0x20,0x00,


  43. 0x80,0x08,0xE0,0x3F,0x0F,0x02,0xC9,0x1F,0x09,0x02,0xE9,0x3F,0x09,0x00,0xCF,0x2B,
  44. 0x89,0x48,0xE9,0x7F,0xC9,0x0A,0xA9,0x2C,0xCF,0x31,0x09,0x51,0x40,0x69,0x80,0x40,

  45. };
  46.                                                                                                                                                                                                                               
  47. /*****函數聲明*****/                                         
  48. void display1(void);
  49. void display2(void);
  50. void display3(void);
  51. void display4(void);

  52. /*****n(us)延時子程序*****/
  53. void DelayUs(uint N)
  54. {
  55. uint x;
  56. for(x=0; x<=N;x++);
  57. }

  58. /*****中斷服務程序*****/
  59. void intersvr0(void) interrupt 0 using 1
  60. {
  61. KY=~KY;      //每個搖動來回水銀開關會在擺幅兩端分別產生下降沿中斷,只提取其中一次(左右搖動才顯示)
  62. if(KY==0)
  63. {
  64.   num++;     //計算終中斷次數
  65.   switch(pic)      //選擇畫面
  66.   {
  67.    case 0:{display1();     DelayUs(100);}break;
  68.    case 1:{display2();}break;
  69.    case 2:{display3();}break;
  70.    case 3:{display4();}break;
  71.    default:{display1();}  
  72.   }
  73.     }
  74. }

  75. /*****顯示子程序1(漢字)*****/
  76. void display1(void)
  77. {
  78. uchar i;
  79. DelayUs(4200);
  80. for(i=0;i<56;i++)
  81. {
  82.      P0=~lbw[i*2];
  83.      P2=~lbw[i*2+1];
  84.      DelayUs(60);
  85.         P0 = 0XFF;
  86.         P2 = 0XFF;
  87. }
  88. }


  89. /*****顯示子程序2(LOVE)*****/
  90. void display2(void)
  91. {
  92. uchar i;
  93. DelayUs(4000);
  94. for(i=0;i<64;i++)
  95. {
  96.      P0=~love[i*2];
  97.      P2=~love[i*2+1];
  98.      DelayUs(120);
  99. }
  100. }

  101. /*****顯示子程序3(心形圖案)*****/
  102. void display3(void)
  103. {
  104. uchar i;
  105.   DelayUs(4000);
  106. for(i=0;i<64;i++)
  107. {
  108.      P0=~loveyou[i*2];
  109.      P2=~loveyou[i*2+1];
  110.      DelayUs(120);
  111. }
  112. }

  113. /*****顯示子程序4(哈哈o(n_n)o圖案)*****/
  114. void display4(void)
  115. {
  116. uchar i;
  117. DelayUs(4000);
  118. for(i=0;i<64;i++)
  119. {
  120.      P0=~hehe[i*2];
  121.      P2=~hehe[i*2+1];
  122.      DelayUs(120);
  123. }
  124. }

  125. /*****主函數*****/
  126. void main(void)
  127. {
  128. IT0=1;
  129. EX0=1;
  130. EA=1;      //開中斷,下降沿中斷
  131. KY=0;
  132. while(1)     //主程序中只檢測按鍵
  133. {
  134.   if(KEY==0)     //畫面切換鍵按下
  135.   {
  136.   DelayUs(10000);     //按鍵去抖
  137.   if(KEY==0);
  138.   pic++;
  139.         }
  140.   if(pic>3)pic=0;
  141. }
  142. }
復制代碼

所有資料51hei附件下載:
原理圖PCB.7z (3.26 MB, 下載次數: 28)

評分

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

查看全部評分

回復

使用道具 舉報

ID:53621 發表于 2022-1-12 16:48 | 顯示全部樓層
很經典的東西,程序很好懂,做一個挺好玩的。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区视频在线 | 国产精品久久久久aaaa九色 | 亚洲视频手机在线 | 中文在线一区二区 | 欧美精品综合在线 | 羞羞涩涩在线观看 | 亚洲国产中文在线 | 欧美一区二区三区的 | 亚洲久久 | 成人一区二区在线 | 人人艹人人爽 | 99久久久久久 | 欧美综合一区二区 | 美日韩一区二区 | 亚洲精选一区二区 | av片在线免费看 | 久久一二区| 久久久久久av | 18成人在线观看 | 国产精品视频网 | 亚洲高清电影 | 久草在线免费资源 | 国产精品久久久久久久岛一牛影视 | 国产精品国产自产拍高清 | 国产激情在线播放 | 综合精品久久久 | 手机三级电影 | 久久久天天| 男女啪啪网址 | 国产精品一区免费 | 国产色网 | 一区二区三区在线播放 | 欧洲精品码一区二区三区免费看 | 久久丁香| 毛片免费看的 | 日本黄色高清视频 | 精品久久久久久久久久久院品网 | 久久夜色精品国产 | 欧美日韩国产精品激情在线播放 | 欧美一区二区在线观看 | 日本午夜免费福利视频 |