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

標(biāo)題: 單片機(jī)花樣流水燈程序 [打印本頁]

作者: 陸陸    時(shí)間: 2019-9-16 10:57
標(biāo)題: 單片機(jī)花樣流水燈程序


單片機(jī)源程序如下:
  1. #include "reg51.h"
  2.                                                                                                                                                                         
  3. #define uchar unsigned char         //定義unsigned char 為 uchar
  4. #define uint  unsigned int

  5. sbit  F1 = P3^0;
  6. sbit  F2 = P3^1;

  7. uint  time =90;        //通過改變TIME的參數(shù)可以改變流水燈的變換速度                  


  8. /***************一微秒延時(shí)子程序******************/
  9. void delayus(uint delay){
  10.         while(delay--);
  11. }

  12. /***************一毫秒延時(shí)子程序******************/

  13. void delayms(uint delay){
  14.         while(delay--)
  15.                 delayus(300);
  16. }


  17. /*******************************變換方式一  子函數(shù) ***********************************/

  18. void run_LED_fun1()
  19. {
  20. uchar a,temp,temp1;
  21. temp=0x10;

  22. for(a=9;a>0;a--)   //P1口LED燈依次點(diǎn)亮
  23. {
  24. P1=~temp;

  25. delayms(time);
  26. temp<<=1;

  27. }

  28. temp=0x01;
  29. for(a=9;a>0;a--)   //P3口LED燈依次點(diǎn)亮
  30. {
  31. P3=~temp;

  32. delayms(time);
  33. temp<<=1;

  34. }


  35. temp=0x01;                  //P2口LED燈依次反向點(diǎn)亮

  36. for(a=9;a>0;a--)
  37. {
  38. P2=~temp;
  39. delayms(time);
  40. temp<<=1;

  41. }

  42. temp=0x80;                  //P0口LED燈依次反向點(diǎn)亮

  43. for(a=9;a>0;a--)
  44. {
  45. P0=~temp;
  46. delayms(time);
  47. temp>>=1;

  48. }




  49. temp=0x01;
  50. for(a=9;a>0;a--)   //P0口LED燈依次點(diǎn)亮
  51. {
  52. P0=~temp;

  53. delayms(time);
  54. temp<<=1;

  55. }

  56. temp=0x80;
  57. for(a=9;a>0;a--)   //P2口LED燈依次點(diǎn)亮
  58. {
  59. P2=~temp;

  60. delayms(time);
  61. temp>>=1;

  62. }



  63. temp=0x80;                  //P3口LED燈依次反向點(diǎn)亮

  64. for(a=9;a>0;a--)
  65. {
  66. P3=~temp;
  67. delayms(time);
  68. temp>>=1;

  69. }

  70. temp=0x80;                  //P1口LED燈依次反向點(diǎn)亮

  71. for(a=9;a>0;a--)
  72. {
  73. P1=~temp;
  74. delayms(time);
  75. temp>>=1;

  76. }


  77. temp=0xfe;
  78. for(a=8;a>0;a--)
  79. {
  80. P1=temp;
  81. delayms(time);
  82. temp<<=1;

  83. }


  84. temp=0xfe;
  85. for(a=8;a>0;a--)
  86. {
  87. P3=temp;
  88. delayms(time);
  89. temp<<=1;

  90. }


  91. temp=0xfe;
  92. for(a=8;a>0;a--)
  93. {
  94. P0=temp;
  95. delayms(time);
  96. temp<<=1;

  97. }


  98. temp=0x7f;
  99. for(a=8;a>0;a--)
  100. {
  101. P2=temp;
  102. delayms(time);
  103. temp>>=1;

  104. }


  105. temp=0x01;
  106. for(a=8;a>0;a--)
  107. {
  108. P2=temp;
  109. delayms(time);
  110. temp1=~temp;
  111. temp1<<=1;
  112. temp=~temp1;

  113. }

  114. temp=0x80;
  115. for(a=8;a>0;a--)
  116. {
  117. P0=temp;
  118. delayms(time);
  119. temp1=~temp;
  120. temp1>>=1;
  121. temp=~temp1;

  122. }

  123. temp=0x80;
  124. for(a=8;a>0;a--)
  125. {
  126. P3=temp;
  127. delayms(time);
  128. temp1=~temp;
  129. temp1>>=1;
  130. temp=~temp1;

  131. }
  132. temp=0x80;
  133. for(a=8;a>0;a--)
  134. {
  135. P1=temp;
  136. delayms(time);
  137. temp1=~temp;
  138. temp1>>=1;
  139. temp=~temp1;

  140. }

  141. }


  142. /*******************************變換方式二  子函數(shù) ***********************************/


  143. void run_LED_fun2()
  144. {
  145. uchar a,temp,temp1,temp2;

  146. temp=0x01;
  147. temp1=0x80;
  148. for(a=8;a>0;a--)   //P1口LED燈依次點(diǎn)亮
  149. {
  150. P1=~temp;
  151. P0=~temp;
  152. P3=~temp1;
  153. P2=~temp;
  154. delayms(time);
  155. temp<<=1;
  156. temp1>>=1;

  157. }

  158. temp=0x80;
  159. temp1=0x01;
  160. for(a=8;a>0;a--)   //P1口LED燈依次點(diǎn)亮
  161. {
  162. P1=~temp;
  163. P0=~temp;
  164. P3=~temp1;
  165. P2=~temp;
  166. delayms(time);
  167. temp>>=1;
  168. temp1<<=1;

  169. }

  170. temp=0xfe;
  171. temp1=0x7f;
  172. for(a=8;a>0;a--)
  173. {
  174. P1=temp;
  175. P0=temp;
  176. P3=temp1;
  177. P2=temp;
  178. delayms(time);
  179. temp<<=1;
  180. temp1>>=1;

  181. }

  182. temp=0x7f;
  183. temp1=0xfe;
  184. for(a=8;a>0;a--)
  185. {
  186. P1=~temp;
  187. P0=~temp;
  188. P3=~temp1;
  189. P2=~temp;
  190. delayms(time);

  191. temp2=~temp;
  192. temp>>=1;
  193. temp2=~temp;

  194. temp1<<=1;


  195. }


  196. }


  197. /*******************************變換方式三 子函數(shù) ***********************************/

  198. void run_LED_fun3()
  199. {

  200. P0=0x00;
  201. P1=0xff;
  202. P2=0xff;
  203. P3=0xff;
  204. delayms(5*time);

  205. P0=0xff;
  206. P1=0x00;
  207. P2=0xff;
  208. P3=0xff;
  209. delayms(5*time);

  210. P0=0xff;
  211. P1=0xff;
  212. P2=0xff;
  213. P3=0x00;
  214. delayms(5*time);

  215. P0=0xff;
  216. P1=0xff;
  217. P2=0x00;
  218. P3=0xff;
  219. delayms(5*time);

  220. P0=0xff;
  221. P1=0x00;
  222. P2=0xff;
  223. P3=0x00;
  224. delayms(5*time);

  225. P0=0x00;
  226. P1=0xff;
  227. P2=0x00;
  228. P3=0xff;
  229. delayms(5*time);
  230. P0=0xff;
  231. P1=0xff;
  232. P2=0xff;
  233. P3=0xff;

  234. }


  235. /*******************************變換方式四  子函數(shù) ***********************************/

  236. void run_LED_fun4()
  237. {
  238. uchar a,temp,temp1,temp2;
  239. P0=0xff;
  240. P1=0x00;
  241. P2=0xff;
  242. P3=0xff;
  243. delayms(time);

  244. temp=0xfe;
  245. temp1=0xfe;

  246. for(a=8;a>0;a--)
  247. {
  248. P1=~temp;

  249. P3=temp1;

  250. delayms(time);

  251. temp2=~temp;
  252. temp<<=1;
  253. temp2=~temp;

  254. temp1<<=1;
  255. }

  256. temp=0xfe;
  257. temp1=0x7f;

  258. for(a=8;a>0;a--)
  259. {
  260. P3=~temp;

  261. P2=temp;

  262. delayms(time);

  263. temp2=~temp;
  264. temp<<=1;
  265. temp2=~temp;

  266. temp1>>=1;
  267. }

  268. temp=0xfe;
  269. temp1=0x7f;



  270. for(a=8;a>0;a--)
  271. {
  272. P2=~temp;

  273. P0=temp1;

  274. delayms(time);

  275. //temp2=~temp1;
  276. temp<<=1;
  277. //temp2=~temp;

  278. temp1>>=1;
  279. }


  280. temp=0x7f;
  281. temp1=0xfe;

  282. for(a=8;a>0;a--)
  283. {
  284. P0=~temp;

  285. P1=temp1;

  286. delayms(time);

  287. temp2=~temp;
  288. temp>>=1;
  289. temp2=~temp;

  290. temp1<<=1;
  291. }



  292. }

  293. /*
  294. void  change_speed()
  295. {
  296. if(F1 == 0)
  297. {
  298. delayms(10);
  299. if(F1 == 0)
  300. {
  301. while(!F1);
  302. time = time +20;

  303. }
  304. }


  305. if(F2 == 0)
  306. {
  307. delayms(10);
  308. if(F2 == 0)
  309. {
  310. while(!F2);
  311. time = time -20;

  312. }
  313. }



  314. }


  315. */

  316. /*******************************主函數(shù) ***********************************/

  317. void main()
  318. {
  319. while(1)
  320. {


  321. run_LED_fun1();
  322. run_LED_fun2();
  323. run_LED_fun3();
  324. run_LED_fun4();


  325. }

  326. }
復(fù)制代碼






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 美日韩一区二区 | 成人免费淫片aa视频免费 | 岛国av免费看 | 日韩成人 | 97国产在线观看 | 成年人免费网站 | 国产乱码久久久久久 | 日韩欧美亚洲综合 | 亚洲视频免费一区 | 中文字幕日韩一区 | 天天操天天射综合网 | 欧美一级片免费看 | 久久综合九九 | 欧美男人的天堂 | 亚洲中午字幕 | 狠狠的干| 亚洲精品中文字幕在线观看 | 中文在线一区二区 | 国产99精品 | 91传媒在线观看 | 一级黄色片免费在线观看 | 国产一区二区三区视频在线观看 | 在线免费观看a级片 | 在线视频一区二区三区 | 成人午夜在线视频 | 欧美综合一区二区三区 | 亚洲综合婷婷 | 国产91一区二区三区 | www日日日| 99re视频| 最新中文字幕第一页视频 | 久久99精品久久久久久秒播九色 | japanhd美女动 | 综合久久综合久久 | 在线视频日韩 | 欧美性受xxx | 欧美色综合网 | 2023亚洲天堂 | 玖玖在线免费视频 | 欧美一级免费看 | www.玖玖玖 |