![]() |
#2
弟大勿勃2015-05-18 11:20
回复 楼主 弟大勿勃
|

#include "reg51.h"
#include "intrins.h"
#include"absacc.h"
#include"math.h"
typedef unsigned char BYTE;
typedef unsigned int WORD;
/* LED口地址*/
#define led_data XBYTE[0x6000] //写命令
BYTE led_w;
BYTE
led_dm[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0:0xc0,1:0xf9,2:0xa4,3:0xb0,4:0x99,5:0x92,6:0x82,7:0xf8,8:0x80,9:0x90
BYTE di;
/*****************LED显示位置********************/
void LED_crt(BYTE val)
{
led_data=led_dm[val];//0:0xc0,1:0xf9,2:0xa4,3:0xb0,4:0x99,5:0x92,6:0x82,7:0xf8,8:0x80,9:0x90
P2 |= 0xff;
P2 &= led_w;
led_w>>=1;
if (led_w==0x0f) led_w=0xf7;
}
void Delay(WORD n)
{
WORD x;
while(n--)
{
x=500; while(x--);
}
}
void main()
{
led_w=0xf7;
di=0;
while(1)
{
LED_crt(di);
di++;
if(di>0x09) di=0;
Delay(1000); }
#include "intrins.h"
#include"absacc.h"
#include"math.h"
typedef unsigned char BYTE;
typedef unsigned int WORD;
/* LED口地址*/
#define led_data XBYTE[0x6000] //写命令
BYTE led_w;
BYTE
led_dm[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0:0xc0,1:0xf9,2:0xa4,3:0xb0,4:0x99,5:0x92,6:0x82,7:0xf8,8:0x80,9:0x90
BYTE di;
/*****************LED显示位置********************/
void LED_crt(BYTE val)
{
led_data=led_dm[val];//0:0xc0,1:0xf9,2:0xa4,3:0xb0,4:0x99,5:0x92,6:0x82,7:0xf8,8:0x80,9:0x90
P2 |= 0xff;
P2 &= led_w;
led_w>>=1;
if (led_w==0x0f) led_w=0xf7;
}
void Delay(WORD n)
{
WORD x;
while(n--)
{
x=500; while(x--);
}
}
void main()
{
led_w=0xf7;
di=0;
while(1)
{
LED_crt(di);
di++;
if(di>0x09) di=0;
Delay(1000); }