通过按键控制流水方向
单片机源程序如下:
- #include <reg52.h>
- #include <intrins.h>
- unsigned char i = 0, temp;
- unsigned char bdata j; //在位寻址区定义字节变量
- sbit j0 = j ^ 0; //定义位变量
- void main(void)
- {
- TMOD = 0x01; //设定T0定时方式1
- TH0 = (65536 - 10000) / 256; //定时
- TL0 = (65536 - 10000) % 256;
- TR0 = 1;
- ET0 = 1; //允许T0中断
- PT0 = 1; //设定T0为高优先级
-
- IT0 = 1; //外部中断输入下降沿有效
- EX0 = 1; //允许X0中断
- EA = 1; //开放总中断
-
- temp = 0xfe;
- P1 = temp;
- while(1);
- }
- void T0_int(void) interrupt 1 //每隔10ms执行一次
- {
- TH0 = (65536 - 10000) / 256; //定时
- TL0 = (65536 - 10000) % 256;
- i++;
- if(i >= 100) {
- i = 0;
- if(j0 == 0) temp = _crol_(temp, 1);
- if(j0 == 1) temp = _cror_(temp, 1);
- P1 = temp;
- }
- }
- void X0_int(void) interrupt 0 using 1
- {
- unsigned char k;
- j0 = ~j0; //改变运动方向
- for(k = 200; k > 0; k--); //延时一会再退出,以避免抖动
- }
复制代码
所有资料51hei提供下载:
通过按键控制流水方向.rar
(21.51 KB, 下载次数: 36)
|