標題: 51單片機通過按鍵控制流水燈方向源程序 [打印本頁]

作者: herth    時間: 2017-12-2 17:30
標題: 51單片機通過按鍵控制流水燈方向源程序
通過按鍵控制流水方向
單片機源程序如下:
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. unsigned char i = 0, temp;
  4. unsigned char bdata j; //在位尋址區(qū)定義字節(jié)變量
  5. sbit j0 = j ^ 0; //定義位變量
  6. void main(void)
  7. {
  8.   TMOD = 0x01; //設定T0定時方式1
  9.   TH0 = (65536 - 10000) / 256; //定時
  10.   TL0 = (65536 - 10000) % 256;
  11.   TR0 = 1;
  12.   ET0 = 1; //允許T0中斷
  13.   PT0 = 1; //設定T0為高優(yōu)先級

  14.   IT0 = 1; //外部中斷輸入下降沿有效
  15.   EX0 = 1; //允許X0中斷
  16.   EA = 1; //開放總中斷

  17.   temp = 0xfe;
  18.   P1 = temp;
  19.   while(1);
  20. }
  21. void T0_int(void) interrupt 1 //每隔10ms執(zhí)行一次
  22. {
  23. TH0 = (65536 - 10000) / 256; //定時
  24. TL0 = (65536 - 10000) % 256;
  25. i++;
  26. if(i >= 100) {
  27.   i = 0;
  28. if(j0 == 0) temp = _crol_(temp, 1);
  29. if(j0 == 1) temp = _cror_(temp, 1);
  30. P1 = temp;
  31. }
  32. }
  33. void X0_int(void) interrupt 0 using 1
  34. {
  35.   unsigned char k;
  36.   j0 = ~j0; //改變運動方向
  37.   for(k = 200; k > 0; k--); //延時一會再退出,以避免抖動
  38. }

復制代碼

所有資料51hei提供下載:
通過按鍵控制流水方向.rar (21.51 KB, 下載次數: 36)



作者: s26250    時間: 2018-12-6 21:03
請問為什么按下按鍵j0 取反要重新在外部中斷里面取反 謝謝!




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