📄 main.c
字号:
#include "regs.h"
void udelay(unsigned int usec)
{
volatile int i,a,c,delay;
delay = 10;
for (i=0;i<usec;i++) {
c = delay;
while (--c > 0) {
a = 1 + 1;
}
}
}
#define ADDR_LCD (0x01620000 + (7<<5))
void LCD_BLcontrol(unsigned char status)
{
*(volatile unsigned char*)ADDR_LCD = (status?0:4);
udelay(1);
}
#define ADDR_LED_PCK (0x01620000 + (6<<5))
#define ADDR_LED_SDO (0x01680000 + (5<<5))
#define LED_PR (1<<0) //版/秦
#define LED_CS (1<<1) //犁/何
#define LED_IO (1<<2) //免/硼
#define LED_GR (1<<3) //寇/汗
#define LED_CY (1<<4) //烹脚-炔祸
#define LED_CR (1<<5) //烹脚-利祸
#define LED_ZN (1<<6) //粮
#define LED_KY (1<<7) //扒馆
unsigned char LED_STATUS;
void LED_PCK_out(void)
{
*(volatile unsigned char*)ADDR_LED_PCK = 4;
udelay(1);
*(volatile unsigned char*)ADDR_LED_PCK = 0;
}
void LED_SDO_out(unsigned int bit)
{
*(volatile unsigned char*)ADDR_LED_SDO = (bit?8:0);
}
void LED_control(unsigned char led, unsigned char status)
{
int i=0;
if (led == LED_KY)
status ? (LED_STATUS |= led):(LED_STATUS &= ~led);
else
status ? (LED_STATUS &= ~led):(LED_STATUS |= led);
for (i=7;i>=0;i--){
LED_SDO_out((LED_STATUS>>i)&0x01);
LED_PCK_out();
}
}
void LED_init()
{
int i=0;
LED_STATUS = 0x7f; //all led off
for (i=7;i>=0;i--){
LED_SDO_out((LED_STATUS>>i)&0x01);
LED_PCK_out();
}
}
void main(void)
{
int i=0;
*(int*)EMIF_CE1 = 0xfff00800;//0xffffbf03;//0x43F40F03; // CE1 NOR Flash 8-bit
LED_init();
LED_control(LED_CR,1);//烹脚 利祸难扁
LED_control(LED_CR,0);//烹脚 利祸掺扁
LED_control(LED_CY,1);//烹脚 炔祸难扁
LED_control(LED_CY,0);//烹脚 炔祸掺扁
LED_control(LED_ZN,1);//粮 难扁
LED_control(LED_ZN,0);//粮 掺扁
LED_control(LED_KY,1);//扒馆 难扁
LED_control(LED_CY,0);//扒馆 掺扁
LCD_BLcontrol(0);
LCD_BLcontrol(1);
LCD_BLcontrol(0);
LCD_BLcontrol(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -