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

📄 l5-2.c

📁 单片机C语言程序设计教程与实训源代码及图片 单片机C语言程序设计教程与实训源代码及图片
💻 C
字号:
/**********************************************************************
程序名称:L5-2.c
程序功能:用两位数码管动态显示数字00~99
程序作者:张三
创建时间:2008-3-28
**********************************************************************/
#include <reg51.h>
#define time	25			// 显示刷新时间,单位为 
#define counter	65536-time
unsigned char SM[10]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
					// 数码0~9
unsigned char WM[2]={ 0xfb,0xfd };	// 位码
unsigned char DBUFF[2];			// 显示缓冲
unsigned char i, j, CNT, tmp;
sbit K1 = P1^0;				// 定义按键K1
/**********************************************************************
函数名称:delay( unsigned char x )
函数功能:延时x*10ms,振荡器频率fOSC为12MHz
函数作者:张三
创建时间:2008-3-28
**********************************************************************/
void delay( unsigned char x )
{
	unsigned char j,k;
	for( ; x>0; x-- )
		for( j=40; j>0; j-- )
			for( k=250; k>0; k--);
}
/**********************************************************************
函数名称:Time0( void ) interrupt 1 using 2
函数功能:每time  刷新一次显示
函数作者:张三
创建时间:2008-3-28
**********************************************************************/
void Time0( void ) interrupt 1 using 2
{
	TH0 = counter/256;		// 重装T0初值
	TL0 = counter%256;	

	tmp = WM[CNT];			// 取位码
	P2 = tmp;						
	P0 = DBUFF[CNT];		// 取字型码

	CNT++;				// 位码加1
	if( CNT==2 )	CNT = 0;
}
/**********************************************************************
函数名称:main( )
函数功能:主函数,按K1键时,数码管加1计数
函数作者:张三
创建时间:2008-3-28
**********************************************************************/
void main( )
{
	TMOD = 0x01;			 
	TH0 = counter/256;		// 置T0初值
	TL0 = counter%256;	
	EA = 1;				// 开中断
	ET0 = 1;			// 允许T0申请中断
	TR0 = 1;			// 启动T0

	CNT=0;
	i = 0;
	j = 0;

	while( 1 ){

		DBUFF[0]=SM[j];
		DBUFF[1]=SM[i];

		while( K1 )	;	// 扫描按键
		delay( 10 );		// 消抖延时

		j++;			// 个位数加1
		if( j>9 ) {
			j=0;
			i++;		// 十位数加1 
			if( i>9 ) {
				i=0;
				j=0;
			}
		}
	}
}

⌨️ 快捷键说明

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