quartus ii 11.0 qsys实现7段数码管实验

quartus ii 11.0 qsys实现7段数码管实验

ID:34507446

大小:222.50 KB

页数:6页

时间:2019-03-07

quartus ii 11.0 qsys实现7段数码管实验_第1页
quartus ii 11.0 qsys实现7段数码管实验_第2页
quartus ii 11.0 qsys实现7段数码管实验_第3页
quartus ii 11.0 qsys实现7段数码管实验_第4页
quartus ii 11.0 qsys实现7段数码管实验_第5页
资源描述:

《quartus ii 11.0 qsys实现7段数码管实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Quartusii11.0Qsys实现7段数码管实验目的:用定时器控制数码管分秒计时,4个数码管,有两位小数。环境:QuartusII11.0+NiosII11.0+DE0DE0开发板上的数码管是共阳极的,且已经接在了3.3V电源上。低电平点亮,高电平熄灭。存储器还是片上的。Qsys中:原理图:Nios代码:/********************************Includes********************************/#include"system.h"#include"altera_avalon_pio_regs.h"#include"alte

2、ra_avalon_timer_regs.h"#include"alt_types.h"#include"sys/alt_irq.h"#include#include#include#include/********************************Variables********************************///数码管显示字符对应的16进制数alt_u8segtab[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,

3、0x88,0x83,0xc6,0xa1,0x86,0x8e};//0-Fstaticalt_u8cnt[4]={0};/********************************Functions********************************/voidinit_timer(void);/**================================functions================================Name:mainDescription:*=========================================

4、================================*/intmain(void){init_timer();//初始化定时器//两位小数IOWR_ALTERA_AVALON_PIO_DATA(SEG1_DP_BASE,0x1);IOWR_ALTERA_AVALON_PIO_DATA(SEG2_DP_BASE,0x1);IOWR_ALTERA_AVALON_PIO_DATA(SEG3_DP_BASE,0x0);IOWR_ALTERA_AVALON_PIO_DATA(SEG4_DP_BASE,0x1);while(1){}return0;}/**=============

5、===================functions================================Name:ISR_handle_time1Description:定时器中断服务程序*=========================================================================*/voidISR_handle_timer(void*context){//初始状态下4个数码管全部显示0IOWR_ALTERA_AVALON_PIO_DATA(SEG1_DAT_BASE,segtab[cnt[0]]);IOWR_A

6、LTERA_AVALON_PIO_DATA(SEG2_DAT_BASE,segtab[cnt[1]]);IOWR_ALTERA_AVALON_PIO_DATA(SEG3_DAT_BASE,segtab[cnt[2]]);IOWR_ALTERA_AVALON_PIO_DATA(SEG4_DAT_BASE,segtab[cnt[3]]);cnt[0]++;//10进制if(10==cnt[0]){cnt[0]=0;cnt[1]++;}if(6==cnt[1]){cnt[1]=0;cnt[2]++;}if(10==cnt[2]){cnt[2]=0;cnt[3]++;}if(6==cnt[

7、3]){cnt[3]=0;}//清除中断标志寄存器IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_BASE,0x00);}/**================================functions================================Name:init_timerDescription:定时器初始化*===================================================

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。