|
- #include <REG52.H>
- #define Uint unsigned int
- #define Uchar unsigned char
- #define Ulong unsigned long
- sbit dat =P3^3;
- void delay(Uchar z, int mod);
- void main()
- {
- dat=1;
- P1=0XFF;
- while (1)
- {
- delay(50,1);
- if(dat==0){
- P1=0XFF;//全灭
- }else{
- P1=0X00;//全亮
- }
- }
-
- }
- /*
- 延迟函数.
- 参数1:z为数量
- 参数2:mod为模式
- 1:毫秒
- 2:秒
- */
- void delay(Uchar z, int mod)
- {
- Ulong i;
- if (mod == 1) {
- for (i = 0; i < z; i++) {
- unsigned char a, b;
- for (b = 102; b > 0; b--)
- for (a = 3; a > 0; a--)
- ;
- }
- }
- else if (mod == 2) {
- for (i = 0; i < z * 1000; i++) {
- // 10000us //误差 -0.000000000002us
- unsigned char a, b;
- for (b = 102; b > 0; b--)
- for (a = 3; a > 0; a--) ;
- }
- }
- }
复制代码 |
|