- #include <reg51.h>
- #include <intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- code tabup[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};
- code tabdowm[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};
- int i,j,r,b;
- void delaynms(uint a)
- {
- while(a--)
- {
- for(j=0;j<115;j++)
- {
- ;
- }
- }
- }
- void moveup()
- {
- for(i=0;i<8;i++)正转
- {
- P1=tabup[i];
- delaynms(5);
- }
- }
- void movedowm()反转
- {
- for(i=0;i<8;i++)
- {
- P1=tabdowm[i];
- delaynms(5);
- }
- }
- void bule_Init()
- {
- TMOD = 0x20;
- TH1= 0xfd;
- TL1= 0xfd;
- SM0=0;
- SM1=1;
- REN=1;
- TR1=1;
- }
- void main()
- {
- uchar N=1;// 减速比1/64
- bule_Init();
-
- while(1)
- {
- if(RI==1)
- {
- b=SBUF;
- RI=0;
- }
- if(b=='1')
- {
- for(r=0;r<N;r++)
- {
- moveup();
- }
- }
- else if(b=='2')
- {
- for(r=0;r<N;r++)
- {
- movedowm();
- }
- }
- }
- }
复制代码 |