我的单片机生涯的第一个作业
单片机源程序如下:
- #include <reg52.h> //包含reg52.h头文件
- #include <intrins.h>
- #define uchar unsigned char
- uchar i;
- void delay ( ) //延时函数
- {
- uchar i,j;
- for(i=0;i<255;i++)
- for(j=0;j<255;j++);
- }
- void main() //主函数 main( )
- { char key,led;
- while(1)
- {
- P1=0xff; //P1口为输入
- key=P1; //读入P1口的状态,送入key
- key=key&0x0f; //屏蔽P1口的高4位
- switch(key) //判断P1口的低4位的状态
- {
- case 0x0e : P0=0xff;delay();P0=0x00;delay(); break; //当开关1闭合,P1^0=0时,P2口的8只灯亮灭交替
- case 0x0d : P0=0xff; break; //当开关2闭合,P1^1=0时,P2口的8只灯全灭
- case 0x0b : led=0xfe;for(i=0;i<8;i++){P0=led;delay();led=_crol_(led,1);}; break; //当开关3闭合,P1^2=0时,P2口的8只灯由上向下流动点亮
- case 0x07 : led=0xef;for(i=0;i<8;i++){P0=led;delay();led=_cror_(led,1);}; break; //当开关4闭合,P1^3=0时,P2口的8只灯由下向上流动点亮
- default: ;
- }
- }
- }
复制代码
所有资料51hei提供下载:
节日彩灯.zip
(24.42 KB, 下载次数: 17)
|