找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1938|回復(fù): 1
收起左側(cè)

數(shù)碼管定時實驗

[復(fù)制鏈接]
ID:128301 發(fā)表于 2016-6-27 15:33 | 顯示全部樓層 |閱讀模式
#include "system.h"
#include "altera_avalon_timer_regs.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
#include "sys/alt_irq.h"
#include <unistd.h>
alt_u16 flag;    //毫秒定時計數(shù)器
alt_u16 second;     //秒計數(shù)器
//alt_u8 seg[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
alt_u8 seg[16] = {
        63, 6, 91, 79, 102, 109, 125, 7,
        127, 111, 119, 124, 57, 94, 121, 113
    };  // 0,1,2,....9, a, b, c, d, e,f
void delay(alt_u32 cnt);
void seg_dis(alt_u16 dis_num);
//毫秒定時中斷函數(shù)
static void handle_Timer0_interrupts(void)
{
   IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_BASE,0);//TO標(biāo)志
    if(flag < 1000) flag =flag+1;
    else
    {
        flag = 0;
        second++;
        if(second==60) second=0;
    }
}
//主函數(shù)
int main (void)
{
    flag = 0;
    second = 0;
    //IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,0x00);     //數(shù)碼管位選管腳關(guān)閉
    //IOWR_ALTERA_AVALON_PIO_DATA(SEGCS4_PIO_BASE,0xf);   //數(shù)碼管片選管腳關(guān)閉
   alt_irq_register(TIMER_IRQ,TIMER_BASE,handle_Timer0_interrupts);   //注冊定時器中斷函數(shù)
   IOWR_ALTERA_AVALON_TIMER_CONTROL(TIMER_BASE,7);     //啟動timer允許中斷,連續(xù)計數(shù)
    while(1)
    {
        //IOWR_ALTERA_AVALON_PIO_DATA(SEGCS4_PIO_BASE,0xf);   //數(shù)碼管片選管腳關(guān)閉
       IOWR_ALTERA_AVALON_PIO_DATA(PIO_HEX0_BASE,seg[(flag%100)/10]);   //數(shù)碼管位選顯示變量second的個位
        //IOWR_ALTERA_AVALON_PIO_DATA(SEGCS4_PIO_BASE,0x7);   //數(shù)碼管片選個位
        delay(2500);    //delay 5ms
        IOWR_ALTERA_AVALON_PIO_DATA(PIO_HEX1_BASE,seg[(flag%1000)/100]);
        delay(2500);    //delay 5ms
        IOWR_ALTERA_AVALON_PIO_DATA(PIO_HEX2_BASE,seg[(second%10)]);
        delay(2500);    //delay 5ms
        IOWR_ALTERA_AVALON_PIO_DATA(PIO_HEX3_BASE,seg[(second%100)/10]);
        delay(2500);    //delay 5ms
    }
}
//延時函數(shù)延時時間為(2+2*i)us
void delay(alt_u32 cnt)
{
    alt_u32 i =0;
    while(i < cnt)
    {
        i++;
    }
}
圖5 參考程序
6、點擊project->build project;
7、點擊run->run as->NiosII hardware;觀測結(jié)果;

相關(guān)帖子

回復(fù)

使用道具 舉報

ID:234344 發(fā)表于 2017-11-6 19:26 | 顯示全部樓層
這是什么機(jī)子的?
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表