📄 led.c
字号:
/*
*********************************************************************************************************
* File: Main.C
* Contents:
*
* $Date: 04/06/06 Kimi v0.1
* 01/05/07 kevin v0.2
* 01/08/07 kevin v0.3
* 01/29/07 kevin v0.4
* 03/22/07 Jason v0.5
*
* Copyright (c) 2007 Fameg, Inc. All rights reserved
*********************************************************************************************************
*/
#define ALLOCATE_EXTERN
#include "FS7805.h"
#include "FS7805Regs.h"
#define STANDARD
/*
**************************************************************************************
* 7-Segment LED显示
*
**************************************************************************************
*/
unsigned char Disp[10] = { 0xC0, // "0" 0~9的段码
0xF9, // "1"
0xA4, // "2"
0xB0, // "3"
0x99, // "4"
0x92, // "5"
0x82, // "6"
0xF8, // "7"
0x80, // "8"
0x90, // "9"
};
void main(void)
{
unsigned int i, j;
SYS_CFG=0x0A; //00:15M,01:40M,02:30M,03:60M
SYS_CFG=SYS_CFG|bmPM_AVBLE;
WDTRST=0x2D; //stop WDT
MEMCON=0x08; //configure 8k xdata
CKCON=0x03;
/* As standard 8051, PortX is input when E8051D need output"1".
PortX is output when E8051D need output"0".but in FS7805,we can set PortX always
in output or input with configure this two register :PDCTL, PXOE
*/
#ifndef STANDARD
PDCTL = 0x02; //The direct of P1 is decide by P1OE register
P1OE = 0xFE;
#endif
while(1)
{
for(i=0; i<50; i++)
{
P1 = Disp[i/5];
P5 &= ~ bmBIT6 ;
for (j=0; j<0x7ffe; j++);
P5 |= bmBIT6 ;
for (j=0; j<0x7ffe; j++);
P5 &= ~ bmBIT7 ;
for (j=0; j<0x7ffe; j++);
P5 |= bmBIT7 ;
for (j=0; j<0x7ffe; j++);
}
for (j=0; j<0x3ffe; j++);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -