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

📄 999999.c

📁 说明:本文件夹一共提供各类编程实例200多个
💻 C
字号:
/*******************************************************************************
*- 999999秒计时器,硬件: 数码管P0,数码管控制P2                 	       *
********************************************************************************
*  日期:  2007-3-25                                                            *
*  版本:  3.0                                                                  *
*  作者:  深圳学林电子有限公司     专业8051单片机教学站                        *
*  邮箱: sxj1974@163.com                                                       *
*  网站: http://www.51c51.com     http://www.8951.com    更多例程请登陆网站   *
********************************************************************************
*  硬件:此程序在本公司xlisp系列单片机实验仪运行通过                           *
********************************************************************************
* 【版权】 Copyright(C)深圳学林电子有限公司 www.51c51.com  All Rights Reserved *
* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息!                  *
********************************************************************************/
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint  unsigned int
uchar  Count;
sbit DIN = P0^5;          //小数点
uchar code  LEDData[ ] = { 0x28, 0x7E, 0xA2, 0x62, 0x74, 0x61, 0x21, 0x7A, 0x20, 0x60,0xff};//0,1,2,3,4,5,6,7,8,9,关显示,数码管码表                                   
uchar data  display[8] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
uchar code  scan_bit[] = {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
/*********************************************************
 延时函数
*********************************************************/
void Delay(uint num)//延时函数
{
  while( --num );
}
/********************************************************
 显示函数
*********************************************************/
play()
{
   uchar  i;
   for(i=0;i<8;i++)
   {
    P0=LEDData[display[i]];  //显示个位
    P2=scan_bit[i];
	if(scan_bit[i]==0xbf)
DIN=0;                  //加小数点
    Delay(50);
   }
   P2=0xff;                 //关闭显示
}
/********************************************************
 主函数
*********************************************************/
main()
{
   P0=0xff;
   P2=0xff;
   Count=0x00;
   TMOD=0x01; 
   TH0=0x4c; TL0=0x00;      //50ms定时
   EA=1; ET0=1; TR0=1;

   while(1)  
   play();
}
/*********************************************************
  Time0中断函数
**********************************************************/
void Time0(void) interrupt 1 using 0
{
   TH0=0x4c;               //50ms定时
   TL0=0x00;
   Count++;
   if(Count==2)
   {
    Count=0;
	display[0]++;         //0.1S  
   }
   if(display[0]==10)
   {
    display[0]=0;
	display[1]++;         //个位
   }
   if(display[1]==10)
   {
    display[1]=0;
    display[2]++;         //十位
   }
   if(display[2]==10)
   {
    display[2]=0;
    display[3]++;         //百位
   }
   if(display[3]==10)
   {
    display[3]=0;
    display[4]++;         //千位
   }
   if(display[4]==10)
   {
    display[4]=0;
    display[5]++;         //万位
   }
   if(display[5]==10)
   {
    display[5]=0;
    display[6]++;        //十万位
   }
   if(display[6]==10)
   {
    display[6]=0;
    display[7]++;        //百万位
   }
   if(display[7]==10)
   {
    display[7]=0;
   }
}
/*********************************************************/

⌨️ 快捷键说明

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