NIOS II中1、 利用定时器控制 LED 灯所显示的值每 2 秒反转一次。 LED 灯初始化时显示值是 0xF0。定时 2s,每 2 秒 LED 灯所显示的值反转一次 (0xF0>0x0F>0xF0……)。 2、 利用定时器控制 LED 灯所显示的值每 1 秒加 1,并可利用按键复位及重启 LED 灯 的变化。 LED 灯初始化时显示值是 0x00。实现简单的秒表功能:定时 1s,按下 KEY0 键,每 1 秒 LED 灯所显示的值加 1。按下 KEY1 键,LED 灯所显示的值复原为 0x00,停止变化。的完整代码
时间: 2023-02-05 09:16:16 浏览: 38
下面是示例代码,请注意这仅是一个框架,您可能需要修改它以适应您的系统硬件。
1、利用定时器控制 LED 灯所显示的值每 2 秒反转一次。 LED 灯初始化时显示值是 0xF0。定时 2s,每 2 秒 LED 灯所显示的值反转一次 (0xF0>0x0F>0xF0……)。
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
#include "unistd.h"
#define LED_PIO_BASE 0x10000050
#define LED_PIO_ADDR (char*) LED_PIO_BASE
#define LED_PIO_DATA_OFFSET 1
#define LED_PIO_DIRECTION_OFFSET 2
int main()
{
alt_u8 led_val = 0xF0;
IOWR_ALTERA_AVALON_PIO_DIRECTION(LED_PIO_BASE, 0x00); // set as output
while(1)
{
IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, led_val);
led_val = (~led_val) & 0xFF; // toggle led value
sleep(2); // wait 2 seconds
}
return 0;
}
2、利用定时器控制 LED 灯所显示的值每 1 秒加 1,并可利用按键复位及重启 LED 灯 的变化。 LED 灯初始化时显示值是 0x00。实现简单的秒表功能:定时 1s,按下 KEY0 键,每 1 秒 LED 灯所显示的值加 1。按下 KEY1 键,LED 灯所显示的值复原为 0x00,停止变化。
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
#include "unistd.h"
#define LED_PIO_BASE 0x10000050
#define LED_
阅读全文