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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機LED流星雨源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:268053 發表于 2018-4-30 17:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機源程序如下:
  1. #include<reg52.h>//
  2. #define uchar unsigned char//字符型宏定義
  3. #define uint unsigned int//整型宏定義
  4. #define shudu 3 //LED漸變速度調整
  5. uchar yin0 =31;//LED變化等級調整
  6. uchar yin1 =63;//LED變化等級調整
  7. uchar yin2 =95;//LED變化等級調整
  8. uchar yin3 =127;//LED變化等級調整
  9. uchar yin4 =159;//LED變化等級調整
  10. uchar yin5 =191;//LED變化等級調整
  11. uchar yin6 =223;//LED變化等級調整
  12. uchar yin7 =255;//LED變化等級調整
  13. sbit led0=P3^5;//16個IO口
  14. sbit led1=P3^6;
  15. sbit led2=P3^0;
  16. sbit led3=P3^1;
  17. sbit led4=P3^2;
  18. sbit led5=P3^3;
  19. sbit led6=P3^4;
  20. sbit led7=P3^7;
  21. sbit led8=P1^0;
  22. sbit led9=P1^1;
  23. sbit led10=P1^2;
  24. sbit led11=P1^7;
  25. sbit led12=P1^6;
  26. sbit led13=P1^5;
  27. sbit led14=P1^4;
  28. sbit led15=P1^3;
  29. uchar d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15;//各IO口變量

  30. /***************************************************/
  31. /**********************延時子程序*******************/
  32. /***************************************************/
  33. void delay(uint z)
  34. {
  35. uint x,y;//局部變量定義
  36. for(x=0;x<5;x++)//延時外循環
  37. for(y=0;y<z;y++);//延時內循環
  38. }
  39. /**********************************************/
  40. /**********PWM控制紅綠藍3種燈亮滅時間*********/
  41. /**********************************************/
  42. void RGBpwm(uchar d0,uchar d1,uchar d2,uchar d3,uchar d4,uchar d5,uchar d6,uchar d7,uchar d8,uchar d9,uchar d10,uchar d11,uchar d12,uchar d13,uchar d14,uchar d15)//3個局部變量,且部分為帶參數函數
  43. {
  44. if(d0!=0)
  45. {
  46. led0=0;
  47. delay(d0);                    
  48. led0=1;//1
  49. }
  50. if(d1!=0)
  51. {
  52. led1=0;
  53. delay(d1);                    
  54. led1=1;//1
  55. }
  56. if(d2!=0)
  57. {
  58. led2=0;
  59. delay(d2); //2                  
  60. led2=1;
  61. }
  62. if(d3!=0)
  63. {
  64. led3=0;
  65. delay(d3);                    
  66. led3=1;//3
  67. }
  68. if(d4!=0)
  69. {
  70. led4=0;
  71. delay(d4);                    
  72. led4=1;//4
  73. }
  74. if(d5!=0)
  75. {
  76. led5=0;
  77. delay(d5);                    
  78. led5=1;//5
  79. }
  80. if(d6!=0)
  81. {
  82. led6=0;
  83. delay(d6);                    
  84. led6=1;//6
  85. }
  86. if(d7!=0)
  87. {
  88. led7=0;
  89. delay(d7);                    
  90. led7=1;//7
  91. }
  92. if(d8!=0)
  93. {
  94. led8=0;
  95. delay(d8);                    
  96. led8=1;//8
  97. }
  98. if(d9!=0)
  99. {
  100. led9=0;
  101. delay(d9);                    
  102. led9=1;//9
  103. }
  104. if(d10!=0)
  105. {
  106. led10=0;
  107. delay(d10); //10                  
  108. led10=1;
  109. }
  110. if(d11!=0)
  111. {
  112. led11=0;
  113. delay(d11);                    
  114. led11=1;//11
  115. }
  116. if(d12!=0)
  117. {
  118. led12=0;
  119. delay(d12);                    
  120. led12=1;//12
  121. }
  122. if(d13!=0)
  123. {
  124. led13=0;
  125. delay(d13); //13                  
  126. led13=1;
  127. }
  128. if(d14!=0)//14
  129. {
  130. led14=0;
  131. delay(d14);                    
  132. led14=1;
  133. }
  134. if(d15!=0)//15
  135. {
  136. led15=0;
  137. delay(d15);                    
  138. led15=1;
  139. }
  140. }
  141.   
  142. /***********************************************/
  143. /********************主程序*********************/
  144. /***********************************************/
  145. void main()
  146. {
  147. TMOD=0x01;
  148. EA=1;
  149. ET0=1;
  150. TR0=1;
  151. TH0=(65536-56)/256;
  152. TL0=(65536-56)%256;
  153. while(1)//程序主循環
  154. {
  155.   RGBpwm(d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15);//調用RGBpwm子程序
  156. }
  157. }
  158. /*************************************************/
  159. /*中斷服務程序(控制LED紅綠藍亮滅時間占空比)*/
  160. /*************************************************/
  161. void zhong() interrupt 1//中斷向量位為1
  162. {
  163. uint num;//定時計數器變量
  164. uint ji;//亮度等級控制變量
  165. TH0=(65536-500)/256;//給定時器高8位賦值
  166. TL0=(65536-500)%256;//給定時器低8位賦值
  167. num++;//將定時器計數變量自動加1
  168. if(num==shudu)//如果速度變量等于定時計數變量就不執行下面大括號語句
  169. {
  170.   num=0;//將計數器清0
  171.   ji++;//將亮度等級控制變量加1  if((ji>0)&&(ji<10))//移位移動流水.....
  172.   {
  173. d0=yin7;
  174. d1=0;
  175. d2=0;
  176. d3=0;
  177. d4=0;  d5=0;
  178. d6=0;
  179. d7=0;
  180. d8=0;  d9=0;
  181. d10=0;
  182. d11=0;
  183. d12=0;  d13=0;
  184. d14=0;
  185. d15=0;
  186.   }
  187.   if((ji>10)&&(ji<20))//23456789
  188.   {
  189. d0=yin6;
  190. d1=yin7;
  191. d2=0;
  192. d3=0;
  193. d4=0;  d5=0;
  194. d6=0;
  195. d7=0;
  196. d8=0;  d9=0;
  197. d10=0;
  198. d11=0;
  199. d12=0;  d13=0;
  200. d14=0;
  201. d15=0;
  202.   }
  203. if((ji>20)&&(ji<30))//345678910
  204.   {
  205. d0=yin5;
  206. d1=yin6;
  207. d2=yin7;
  208. d3=0;
  209. d4=0;  d5=0;
  210. d6=0;
  211. d7=0;
  212. d8=0;  d9=0;
  213. d10=0;
  214. d11=0;
  215. d12=0;  d13=0;
  216. d14=0;
  217. d15=0;
  218.   }  if((ji>30)&&(ji<40))//4567891011
  219.   {
  220. d0=yin4;
  221. d1=yin5;
  222. d2=yin6;
  223. d3=yin7;
  224. d4=0;
  225. d5=0;
  226. d6=0;
  227. d7=0;
  228. d8=0;  d9=0;
  229. d10=0;
  230. d11=0;
  231. d12=0;  d13=0;
  232. d14=0;
  233. d15=0;
  234.   }       if((ji>40)&&(ji<50))//12345678
  235.   {
  236. d0=yin3;
  237. d1=yin4;
  238. d2=yin5;
  239. d3=yin6;  d4=yin7;
  240. d5=0;
  241. d6=0;
  242. d7=0;
  243. d8=0;  d9=0;
  244. d10=0;
  245. d11=0;
  246. d12=0;  d13=0;
  247. d14=0;
  248. d15=0;
  249.   }
  250.   if((ji>50)&&(ji<60))//23456789
  251.   {
  252. d0=yin2;
  253. d1=yin3;
  254. d2=yin4;
  255. d3=yin5;  d4=yin6;
  256. d5=yin7;
  257. d6=0;
  258. d7=0;
  259. d8=0;  d9=0;
  260. d10=0;
  261. d11=0;
  262. d12=0;  d13=0;
  263. d14=0;
  264. d15=0;
  265.   }
  266. if((ji>60)&&(ji<70))//345678910
  267.   {
  268. d0=yin1;
  269. d1=yin2;
  270. d2=yin3;
  271. d3=yin4;  d4=yin5;
  272. d5=yin6;
  273. d6=yin7;
  274. d7=0;
  275. d8=0;  d9=0;
  276. d10=0;
  277. d11=0;
  278. d12=0;  d13=0;
  279. d14=0;
  280. d15=0;
  281.   }  if((ji>70)&&(ji<80))//4567891011
  282.   {
  283. d0=yin0;
  284. d1=yin1;
  285. d2=yin2;
  286. d3=yin3;  d4=yin4;
  287. d5=yin5;
  288. d6=yin6;
  289. d7=yin7;
  290. d8=0;
  291. d9=0;
  292. d10=0;
  293. d11=0;
  294. d12=0;  d13=0;
  295. d14=0;
  296. d15=0;
  297.   }     
  298.   if((ji>80)&&(ji<90))//12345678
  299.   {
  300. d0=0;
  301. d1=yin0;
  302. d2=yin1;
  303. d3=yin2;  d4=yin3;
  304. d5=yin4;
  305. d6=yin5;
  306. d7=yin6;  d8=yin7;
  307. d9=0;
  308. d10=0;
  309. d11=0;
  310. d12=0;  d13=0;
  311. d14=0;
  312. d15=0;
  313.   }

  314. if((ji>90)&&(ji<100))//345678910
  315.   {
  316. d2=yin0;
  317. d3=yin1;
  318. d4=yin2;
  319. d5=yin3;  d6=yin4;
  320. d7=yin5;
  321. d8=yin6;
  322. d9=yin7;
  323. d0=0;
  324. d1=0;
  325. d10=0;
  326. d11=0;
  327. d12=0;  d13=0;
  328. d14=0;
  329. d15=0;
  330.   }
  331. if((ji>100)&&(ji<110))//345678910
  332.   {
  333. d3=yin0;
  334. d4=yin1;
  335. d5=yin2;
  336. d6=yin3;  d7=yin4;
  337. d8=yin5;
  338. d9=yin6;
  339. d10=yin7;
  340. d0=0;
  341. d1=0;
  342. d2=0;
  343. d11=0;
  344. d12=0;  d13=0;
  345. d14=0;
  346. d15=0;
  347.   }  if((ji>110)&&(ji<120))//4567891011
  348.   {
  349. d4=yin0;
  350. d5=yin1;
  351. d6=yin2;
  352. d7=yin3;  d8=yin4;
  353. d9=yin5;
  354. d10=yin6;
  355. d11=yin7;  d1=0;
  356. d2=0;
  357. d3=0;
  358. d12=0;
  359. d0=0;
  360. d13=0;
  361. d14=0;
  362. d15=0;
  363.   }  if((ji>120)&&(ji<130))//56789101112
  364.   {
  365. d5=yin0;
  366. d6=yin1;
  367. d7=yin2;
  368. d8=yin3;  d9=yin4;
  369. d10=yin5;
  370. d11=yin6;
  371. d12=yin7;
  372. d0=0;
  373. d1=0;
  374. d2=0;
  375. d3=0;
  376. d4=0;  d13=0;
  377. d14=0;
  378. d15=0;
  379.   }  if((ji>130)&&(ji<140))//678910111213
  380.   {
  381. d6=yin0;
  382. d7=yin1;
  383. d8=yin2;
  384. d9=yin3;  d10=yin4;
  385. d11=yin5;
  386. d12=yin6;
  387. d13=yin7;
  388. d0=0;
  389. d1=0;
  390. d2=0;
  391. d3=0;
  392. d4=0;  d5=0;
  393. d14=0;
  394. d15=0;
  395.   }  if((ji>140)&&(ji<150))//
  396.   {
  397. d7=yin0;
  398. d8=yin1;
  399. d9=yin2;
  400. d10=yin3;  d11=yin4;
  401. d12=yin5;
  402. d13=yin6;
  403. d14=yin7;
  404. d0=0;
  405. d1=0;
  406. d2=0;
  407. d3=0;
  408. d4=0;  d5=0;
  409. d6=0;
  410. d15=0;
  411.   }  if((ji>150)&&(ji<160))//
  412.   {
  413. d8=yin0;
  414. d9=yin1;
  415. d10=yin2;
  416. d11=yin3;  d12=yin4;
  417. d13=yin5;
  418. d14=yin6;
  419. d15=yin7;

  420. d0=0;
  421. d1=0;
  422. d2=0;
  423. d3=0;
  424. d4=0;  d5=0;
  425. d6=0;
  426. d7=0;
  427.   }   if((ji>160)&&(ji<450))//讓所有LED都滅掉 等待下一次流星......
  428.   {
  429. d0=0;
  430. d1=0;
  431. d2=0;
  432. d3=0;
  433. d4=0;  d5=0;
  434. d6=0;
  435. d7=0;
  436. d8=0;  d9=0;
  437. d10=0;
  438. d11=0;
  439. d12=0;  d13=0;
  440. d14=0;
  441. d15=0;
  442.   }
  443.   if(ji>450)
  444. {
  445. TR0=0;
  446. ji=0;
  447. TR0=1;
  448. }
  449. }
  450. }
復制代碼

所有資料51hei提供下載:
流星雨.rar (33.64 KB, 下載次數: 17)


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91精品国产91综合久久蜜臀 | 国产精品久久久久久亚洲调教 | 男女又爽又黄视频 | 免费在线精品视频 | 国产一级一级国产 | 九九av| 欧美国产91 | 国产一区二区在线免费观看 | 亚洲精品片 | 中文字幕精品一区二区三区精品 | 亚洲成av人片在线观看无码 | www.五月天婷婷.com | 91精品国产91久久久久福利 | 伊人婷婷 | 91久久精品国产 | 国产日韩欧美激情 | 国产精品美女久久久久aⅴ国产馆 | 日韩1区 | 国产美女一区二区 | 99成人在线视频 | 91视频久久 | 国产一区二区三区在线视频 | 日韩欧美在线一区 | 二区久久 | 国产视频2021 | 免费欧美| 日本天天操 | 国产精品爱久久久久久久 | 黄色免费网站在线看 | 嫩草懂你的影院入口 | 激情欧美日韩一区二区 | 国产aaaaav久久久一区二区 | 黄色片a级 | 日本免费一区二区三区 | 亚洲欧美综合精品久久成人 | 欧美激情一区二区三区 | av一区在线观看 | 久久精品91久久久久久再现 | 男女精品久久 | 日韩欧美国产精品 | 亚洲第一在线 |