⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 程序(c).txt

📁 超声波测距程序 活动的的时候的时间 回家 但合法的设计费的胡椒粉就恢复的身份
💻 TXT
字号:


#INCLUDE <REG51.H>
#DEFINE UCHAR UNSIGNED CHAR
#DEFINE UINT UNSIGNED INT
#DEFINE ULONG UNSIGNED LONG 

EXTERN VOID CS_T(VOID);
EXTERN VOID DELAY(UINT);
EXTERN VOID DISPLAY(UCHAR*);
//DATA UCHAR DISPLAY(UCHAR*);
DATA UCHAR TESTOK;



VOID MAIN (VOID)
{
DATA UCHAR DISPRAM[5];
DATA UINT I;
DATA ULONG TIME;
P0=0XFF;
P2=0XFF;
TMOD=0X11;
IE=0X80;
WHILE (1)
{ 
 CS_T();
 DELAY(1);
TESTOK=0;
EX0=1;
ET0=1;
WHILE(! TESTOK) DISPLAY(DISPRAM);
IF (1==TESTOK)
   {
   TIME=TH0;
   TIME=(TIME<<8)| TL0;
   TIME*=172;  
   TIME/=10000;
   DISPRAM[0]=(UCHAR) (TIME%10);
   TIME/=10;
   DISPRAM[1]=(UCHAR) (TIME%10);
   TIME/=10;
   DISPRAM[2]=(UCHAR) (TIME%10);
   DISPRAM[3]=(UCHAR) (TIME/10);
   IF (0==DISPRAM[3]) DISPRAM[3]=17;
   } ELSE
   {
   DISPRAM [0]=16;
   DISPRAM [1]=16;
   DISPRAM [2]=16;
   DISPRAM [3]=16;
   }
 FOR (I=0;I<300;I++) DISPLAY(DISPRAM);
 }
}



VOID CS_R(VOID) INTERRUPT 0
{
 TR0=0;
 ET0=0;
 EX0=0;
 TESTOK=1;
}



VOID OVERTIME(VOID) INTERRUPT 1
{ 
 EX0=0;
 TR0=0;
 ET0=0;
 TESTOK=2;
}
                     NAME      CS_T
?PR?CS_T?CS_T	     SEGMENT   CODE
                     PUBLIC   CS_T   
		        RSEG     ?PR?CS_T?CS_T 
CS_T:                PUSH      ACC
                     MOV       TH0, #00H
                     MOV       TL0, #00H
                     MOV       A, #4D
                     SETB       TR0
CS_T1:               CPL        p1.0
                     NOP
		             NOP
		             NOP
                     NOP
                     NOP
                     NOP
                     NOP
                     NOP
                     NOP
                     NOP
                     DJNZ       ACC,CS_T1
                     POP        ACC
                     RET 
 ;
                     END  
 NAME   DELAY
?PR?_DELAY?DELAY   SEGMENT   CODE
PUBLIC   _DELAY
 RSEG    ?PR?_DELAY?DELAY
_DELAY:    PUSH   ACC
           MOV A,R7
           JZ   DELA1
           INC   R6
DELA1:   MOV   R5,#50D
         DJNZ   R5, $
         DJNZ   R7,DELA1
         DJNZ    R6,DELA1
            POP   ACC
           RET
END
    NAME  DISPLAY
?PR?_DISPLAY?DISPLAY   SEGMENT  CODE
?CO?_DISPLAY?DISPLAY    SEGMENT  DATA
                        EXTRN    CODE    (_DELAY)
                        PUBLIC    _DISPLAY
                        RSEG    ?CO?_DISPLAY?DISPLAY
?_DISPLAY?BYTE:
DISPBIT:   DS  1
DISPNUM:   DS  1
           RSEG    ?PR?_DISPLAY?DISPLAY
_DISPLAY:  PUSH ACC
           PUSH  DPH
           PUSH  DPL
          PUSH  PSW
           INC   DISPNUM
            MOV A,DISPNUM
           CJNE  A,#4D,DISP1
DISP1:    JC  DISP2
           MOV  DISPNUM,#00H
           MOV  DISPBIT,#0FEH
DISP2:     MOV  A,R1
           ADD   A,DISPNUM
           MOV  R0,A
           MOV  A,@R0
           MOV  DPTR,#DISPTABLE
           MOVC   A,@A+DPTR
           MOV P0,A
           MOV A,DISPNUM
           CJNE  A,#2D,DISP3
           CLR   P0.7
DISP3:       MOV P2,DISPBIT
             MOV R5,#00H
             MOV  R7,#0AH
             LCALL  _DELAY
             MOV P0,#0FFH
             MOV  P2,#0FFH
             MOV A,DISPBIT
             RL   A
              MOV DISPBIT,A
             POP  PSW
             POP   DPL
            POP   DPH
             POP   ACC
              RET
DISPTABLE:     DB      0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0BFH,0FFH
 END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -