bao1.c

来自「C51学习书」· C语言 代码 · 共 69 行

C
69
字号
#include <reg51.h> //传动控制
  
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f, 
                               0x66,0x6d,0x7d,0x07, 
                               0x7f,0x6f,0x77,0x7c, 
                               0x39,0x5e,0x79,0x71,0x00}; 
unsigned char second; 
unsigned char tcount; 

void delay10ms(void)//延时10毫秒(2+2+248*2)*20+2=1002*12/12M=0.01S
{
  for(i=20;i>0;i--)
    for(j=248;j>0;j--)
}
void outsignal(void)//输出控制信号
{
  settime=p_3/16*10+p_3%16;
  p4_0=1;//输出控制信号
  for(k=settime*10;k>0;K--)
  for(i=20;i>0;i--)
  for(j=248;j>0;j--)
  P4_0=0;
}  
void main(void) 
{ 
  while(1)
  {
   setcount=p_0/16*10+p_0%16;

   if p2_0==0//输检测信号
    {
      delay10ms();
      if(p2_0==0)
      {
         curcount++;
         if(curcount==setcount)
         {curcount=0;}
         while(p2_0==0); 
      }
    if p2_0==0
    {
      delay10ms();
      if(p2_0==0)
      {
         curcount++;
         if(curcount==setcount)
         outsignal();
         {curcount=0;}
         while(p2_0==0); 
      }
 

void t0(void) interrupt 1 using 0 
{ 
  tcount++; 
  if(tcount==20) 
    { 
      tcount=0; 
      second++; 
      if(second==60) 
        { 
          second=0; 
        } 
      P0=dispcode[second/10]; //
      P2=dispcode[second%10];              
    } 
  TH0=(65536-50000)/256; 
  TL0=(65536-50000)%256; 
} 

⌨️ 快捷键说明

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