使用html钮点亮对应的led灯源码,TQ210_裸机编程(一)——点亮LED灯

TQ210_裸机编程点亮LED灯

首先查看 TQ210 的底板原理图:

0818b9ca8b590ca3270a3433284dd417.png

我们可以看到 两个 LED 分别接到 S5PV210 的 GPC0_3 和 GPC0_4 引脚。

这里用了 NPN 三极管,具有放大电流的作用,增大驱动能力,我们只要给它的基极一个高电平,三

极管的集电极和发射极就会导通,产生大电流驱动 LED 发光。简单点说就是给GPC0_3和GPC0_4 这两个引脚高电平,就能点亮他们。

现在可以从开发板的配套教材S5PV210_UM_REV1.1中查找到GPC0_3和GPC0_4的地址。

0818b9ca8b590ca3270a3433284dd417.png

要点亮 LED1,我们需要配置寄存器 GPC0CON 的[15:12]为 0001,使 GPC0_3 为输出模式,

要点亮 LED2,我们需要配置寄存器 GPC0CON 的[19:16]为 0001,使 GPC0_34为输出模式,

0818b9ca8b590ca3270a3433284dd417.png

这GPC0DAT有[4:0]一共4位控制灯,而且GPC0_3和GPC0_4对应的就是这个寄存器的第3位和第4位,所以要点亮3和4就要使者两位为高电平1,即1100.

通过c语言 下面是一个两个灯闪烁的程序。

源代码:

#define GPC0CON  *((volatile unsigned int *)0xE0200060)

#define GPC0DAT  *((volatile unsigned int *)0xE0200064)

void delay(volatile unsigned int t)

{

volatile unsigned int t2 = 0xFFFF;

while (t--)

for (; t2; t2--);

}

int main() {  int toggle = 0;  GPC0CON &= ~(0xFF << 12);  GPC0CON |= 0x11 << 12;   // 配置GPC0_3和GPC0_4为输出    while (1)  {   GPC0DAT &= ~(0x3 << 3);  // 熄灭LED1和LED2      if (toggle)    GPC0DAT |= 1 << 3;  // 点亮LED1   else    GPC0DAT |= 1 << 4;  // 点亮LED2      toggle = !toggle;   delay(0x50000);  }    return 0; }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值