题目概述: 单片机:按键控制流水灯方向。 编程: #include <reg51.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit k0=P1^0; void delay(uint xms) { uint i,j; for(i=xms;i>0;i–) for(j=110;j>0;j–); } void Time() { TMOD=0x01;//00000 0001定时器0工作方式1 TF0=0; TR0=1; TH0=64535/256;//高八位 TL0=64535%256;//低八位 ET0=1; EA=1; PT0=0; } uchar LEDmode=0; void main() { P0=0xfe; Time(); while(1) { if(k00) { if(k00) { LEDmode++; if(LEDmode>=2) LEDmode=0; } } } } void Time0() interrupt 1 { static uint count;//static 静态局部变量使用后不销毁继续保存 TH0=64535/256;//重置时间 TL0=64535%256; count++; if(count>=100) { count=0; if(LEDmode= =0) P0=_ crol_(P0,1); delay(20); if(LEDmode==1) P0=_ cror_(P0,1); delay(20); } } 模拟实践:
|