📄 led_display.c
字号:
/********************************************************************
//模 块 名 : 数码管显示演示程序
//创 建 者 : 杨 勇
日期 : 2007年4月29日 19:47
//修 改 者 :
日期 :
//功能描述 :
//其他说明 : 22.1184MHz晶振
//芯片型号 : AT89S52
//配 置 :
//版 本 : V1.0
********************************************************************/
#include <reg52.h> //包含51单片机的头文件
#define uint unsigned int
#define uchar unsigned char
#define DataPort P0
#define BitPort P2
/*LEDBit1 -----P2^7;
LEDBit2 -----P2^6;
LEDBit3 -----P2^5;
LEDBit4 -----P2^4;
*/
const unsigned char LED7Code[]={ 0xC0, // 0
0xF9, // 1
0xA4, // 2
0xB0, // 3
0x99, // 4
0x92, // 5
0x82, // 6
0xF8, // 7
0x80, // 8
0x90, // 9
0x88, // A
0x83, // B
0xC6, // C
0xA1, // D
0x86, // E
0x8E // F
};
uchar DisplayDatas[4] ={0x01,0x02,0x03,0x04};
void Delay(uchar Delay);
/*=============================================================================
//函 数 名: void LedDisplay_Scan(void)
//参 数: 无
//返 回 值: 无
//函数功能: 数码管扫描函数
//编 写 者: 杨 勇
//编写日期: 2007年4月29日 22:05
===============================================================================*/
void LedDisplay_Scan(void)
{
P2 |=0xf0;
P2 &=0xef;
P0 = LED7Code[ DisplayDatas[0] ];
Delay(1);
P2 |=0x10;
P2 &=0xdf;
P0 = LED7Code[ DisplayDatas[1] ];
Delay(1);
P2 |=0x20;
P2 &=0xbf;
P0 = LED7Code[ DisplayDatas[2] ];
Delay(1);
P2 |=0x40;
P2 &=0x7f;
P0 = LED7Code[ DisplayDatas[3] ];
Delay(1);
P2 |=0x80;
}
/*=============================================================================
//函 数 名: void Delay(uchar Delay)
//参 数: 延时时间
//返 回 值: 无
//函数功能: 延时函数
//编 写 者: 杨 勇
//编写日期: 2007年4月29日 16:05
===============================================================================*/
void Delay(uchar Delay)
{
uint i;
for(;Delay>0;Delay--)
{
for(i=1000;i>0;i--);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -