//=========================================
// NAME: main.c
// DESC: TQ2440流水灯测试程序
// 板载LED为GPB[5:8]
//=========================================
/* 头文件包含 */
/* 端口B寄存器地址 */
#define rGPBCON (*(volatile unsigned *)0x56000010) //Port B control
#define rGPBDAT (*(volatile unsigned *)0x56000014) //Port B data
#define rGPBUP (*(volatile unsigned *)0x56000018) //Pull-up control B
void delay(int a)
{
int k;
for(k=0;k<a;k++)
{;}
}
void led_init(void)
{
//板载LED为GPB[5:8]
rGPBCON = (rGPBCON & ~(0xff<<10)) | (0x55<<10); //rGPBCON为01 配置为输出
rGPBUP = (rGPBUP & ~(0xf<<5)) | (0xf<<5); //rGPBUP为1 禁止上拉
rGPBDAT = (rGPBDAT & ~(0xf<<5)) |(0xf<<5); //LED灯全关
}
void led_display(unsigned char data)
{
//0x0全灭 0xf全亮 0x01 0x02 0x04 0x80 各自灯亮
rGPBDAT = (rGPBDAT & ~(0xf<<5)) | ((~data) <<5);
}
void Main(void)
{
led_init();
while(1)
{
led_display(0x1);
delay(500000);
led_display(0x3);
delay(500000);
led_display(0x7);
delay(500000);
led_display(0xf);
delay(500000);
led_display(0x0);
delay(500000);
}
}