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

📄 main.c

📁 基于51平台的数码管显示程序源代码
💻 C
字号:
/*
目标: 字符显示


程序功能描述: 显示16进制符号

实现方法: 控制单片机左右两排发光二极管
注意事项:运行本程序时,拨码开关 SW1. SW2 全部拨到'OFF'位置(即左边).
		如果LED6、LED7和LED8不工作,按一下S2和S3即可
工作方式控制:按键K1、K2、K3和K4可做出不同的显示。
*/

#include <reg52.h>	//该头文档描述单片机所有特殊功能寄存器的称名,程序中可直接使用,比喻'P1'
void delayMs( unsigned int tc );	//延时毫秒的函数
char kbhit( void );
char getKey( void );

code unsigned char LedHexCode[]=
	{
		0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 
		0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71,
		0x40, 0x76, 0x38, 0x73,
	};

void main( void )			//一个工程项目必须有一个main函数,并且只能有一个main函数
{
	unsigned char i;
	unsigned char KeyVal=15;
	while( 1 )				//永远为真, 也就是重复运行下面括号中的所有语句,直到永远永远
	{
		delayMs( 1000 );
		if( kbhit() ) KeyVal=getKey();

		P2 = KeyVal^0xff;
		P0 = LedHexCode[i];		//通过影射方法将数变为七段码显示
		if( ++i >= 20 ) i=0;
	}
}

/*下面是延时函数的描述*/
void delayMs( unsigned int tc )	//tc是形参
{
	while( tc != 0 )			//如果tc为0则终止延时
	{
		unsigned int i;			//局部正整数变量 i
		for(i=0; i<400; i++);	//执行400次将耗时1毫秒
		tc--;					//tc计数减一
	}
}

/*
1、显示以下符号
		H     L     P     ^     -     =     o     k
		U     u     n     '     "     [     ]     r

*/

⌨️ 快捷键说明

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