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

📄 99.c

📁 说明:本文件夹一共提供各类编程实例200多个
💻 C
字号:
/*******************************************************************************
*- 99秒计时器,硬件: 数码管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,timecount;
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[2] = {0x00,0x00};
/*********************************************************
 延时函数
*********************************************************/
void Delay(uint num)//延时函数
{
  while( --num );
}
/********************************************************
 显示函数
*********************************************************/
play()
{
   display[0]=Count/10;     //十位
   display[1]=Count%10;     //个位

   P0=LEDData[display[1]];  //显示个位
   P2=0x7f;
   Delay(500);
   P0=LEDData[display[0]];  //显示十位
   P2=0xbf;
   Delay(500);
   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;
   timecount++;
   if(timecount==20)
   {
    timecount=0;
	Count++;           
   }
   if(Count==100)
   {
     Count=0;
   }
}
/*********************************************************/

⌨️ 快捷键说明

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