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

📄 clock.c

📁 一个本人编写的时钟程序
💻 C
字号:
#include<C:\Keil\C51\INC\Intel\reg51F.h>
			 
  sbit  led1=P1^3;  /* 4位数码管选通引脚 */
  sbit  led2=P1^4;	  
  sbit  led3=P1^6;
  sbit  led4=P1^7;
  sbit  led2dz=P1^5;  /*小数点 */

  sbit  ls164_ab=P3^0; /*74LS164数据线 */
  sbit  ls164_clk=P3^1; /*74LS164时钟线 */

  sbit  key1=P3^5; /*按键1   */
  sbit  key2=P3^7; /*按键2   */

  /*DISPFLAG   EQU  40H /*  /*显示标识  */

  sbit  key1flag=P3^2;
  sbit  key2flag=P3^3;

  /* DISPBUF   EQU  20H
     DISPBUF1  EQU  50H */ /*定时缓冲	 */

  sbit  beep=P1^0;

  /* MSCNT  EQU  30H */   /*中断次数  */

/*  
  SECONDBUF  EQU 31H
  MINUTEBUF  EQU 32H
  HOURBUF    EQU 33H
  MONTHBUF   EQU 34H
  DAYBUF     EQU 35H
  MINUTEBUF1 EQU 36H
  HOURBUF1   EQU 37H  */

static const char sag_led1[10]=
{0x50,0xF9,0x34,0xB0,0x99,0x92,0x12,0xF8,0x10,0x90}; 

static const char sag_led234[10]=
{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

/* 延时 */
void delay (unsigned int val)
{ while (val!=0) val--;  
}	
			  
/* 74ls164工作原理子程序 */		
void Send74ls164(char sag)
{ 
  char i;
  for(i=1;i<9;i++)
  {
   sag=sag<<1 ;
  if(CY==1)
   ls164_ab=1;
  else 
   ls164_ab=0;
  ls164_clk=1;
  ls164_clk=0 ;	
  }
}
void disp(void)
{									   
    led3=1;
   	led1=0;
  	
   Send74ls164(sag_led1[1]);
   delay(4800);

   led1=1;
   led3=0;
   
   Send74ls164(sag_led234[9]); 
   delay(4800);
}
void main(void)
{	 
   
  loop: 
      disp();
 	  goto loop;
 	
}

⌨️ 快捷键说明

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