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

📄 00-99计数器.txt

📁 利用AT89S51单片机来制作一个手动计数器
💻 TXT
字号:
Count		EQU 30H 
SP1			BIT P3.7 
			ORG 0 
START:		MOV Count,#00H 
NEXT:		MOV A,Count 
			MOV B,#10 
	DIV AB 
			MOV DPTR,#TABLE 
	MOVC A,@A+DPTR 
			MOV P0,A 
			MOV A,B 
	MOVC A,@A+DPTR 
			MOV P2,A 
WT:			JNB SP1,WT 
WAIT:		JB SP1,WAIT 
			LCALL DELY10MS 
	JB SP1,WAIT 
			INC Count 
			MOV A,Count 
	CJNE A,#100,NEXT 
			LJMP START 
DELY10MS:	MOV R6,#20 
D1:			MOV R7,#248 
			DJNZ R7,$ 
	DJNZ R6,D1 
			RET 
TABLE:		DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH 
			END 
7. C语言源程序 
#include <AT89X51.H> 
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66, 
                            0x6d,0x7d,0x07,0x7f,0x6f}; 
unsigned char Count; 
  
void delay10ms(void) 
{ 
  unsigned char i,j; 
  for(i=20;i>0;i--) 
  for(j=248;j>0;j--); 
} 
  
void main(void) 
{ 
  Count=0; 
  P0=table[Count/10]; 
  P2=table[Count%10]; 
  while(1) 
    { 
      if(P3_7==0) 
        { 
          delay10ms(); 
          if(P3_7==0) 
            { 
              Count++; 
              if(Count==100) 
                { 
                  Count=0; 
                } 
              P0=table[Count/10]; 
              P2=table[Count%10]; 
              while(P3_7==0); 
            } 
        } 
    } 
} 

⌨️ 快捷键说明

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