赞
踩
- #include <REGX52.H>
- void Delay(unsigned int xms);//如果子函数放在了主函数后边,一定要在主函数前面声明一下
-
- unsigned char LEDNum;//全局变量,上电默认为0
-
- void main()
- {
- //unsigned char LEDNum=0;局部变量一定要赋初值
- P2=~0x01;
- while(1)
- {
- if(P3_1==0)//左移
- {
- Delay(20);
- while(P3_1==0);
- Delay(20);
-
- LEDNum++;
- if(LEDNum>=8)
- LEDNum=0;
- P2=~(0x01<<LEDNum);
- }
-
- if(P3_0==0)//右移
- {
- Delay(20);
- while(P3_0==0);
- Delay(20);
-
- if(LEDNum==0)
- LEDNum=7;
- else
- LEDNum--;
- P2=~(0x01<<LEDNum);
- }
- }
- }
-
- void Delay(unsigned int xms) //@12.000MHz
- {
- unsigned char i, j;
- while(xms--)
- {
- i = 2;
- j = 239;
- do
- {
- while (--j);
- } while (--i);
- }
- }
如果子函数体放在主函数体的后边,则一定要在主函数前边进行声明;因此我们在主函数中调用其它文件中的函数时,必须在最前边进行包含头文件操作,因为头文件是对一些函数的声明。也就是说我们单片机在执行主函数之前,准备工作要做好,所有的头文件都是准备工作,主函数只负责拿过来用。
全局变量上电默认为0,所以可以不进行赋初值;
局部变量则不可以,一定要赋初值。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。