欢迎来到天天文库
浏览记录
ID:34423384
大小:425.31 KB
页数:45页
时间:2019-03-06
《c4_基础实验说明new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Nios基础实验说明内容内容蜂鸣器和流水灯实验数码管定时实验串口收发实验看门狗定时器实验按键中断实验2蜂鸣器和流水灯实验实验目的实验目的练习使用SOPCBuilder进行硬件构建,熟悉硬件开发流程;熟悉NiosIIIDE的使用,包括创建NiosII软件工程,系统工程库设置和工程具体C程序的编写等;掌握GPIO的使用方法。4设计任务和要求设计任务和要求用C程序控制蜂鸣器的鸣叫,并可改变蜂鸣器的鸣叫频率;用C程序实现8个LED的流水灯,并可改变流水灯的速度。5硬件系统硬件系统NiosIIRomRAMfm_pioled_piosysid。。。
2、6软件开发流程软件开发流程新建工程编写源代码编译在线调试下载运行7头文件头文件#include"alt_types.h"#include"altera_avalon_pio_regs.h"#include"sys/alt_irq.h"#include"system.h"#include#include8延时函数延时函数//延时函数(延时时间为(2+2*i)us)voiddelay(void){alt_u32i=0;while(i<100000){i++;}}9蜂鸣器主程序蜂鸣器主
3、程序intmain(){alt_u8cnt;IOWR_ALTERA_AVALON_PIO_DATA(FM_PIO_BASE,0x0);//初始化蜂鸣器控制端口while(1){IOWR_ALTERA_AVALON_PIO_DATA(FM_PIO_BASE,0x1);delay(1);IOWR_ALTERA_AVALON_PIO_DATA(FM_PIO_BASE,0x0);delay(1);}return0;}10流水灯主程序流水灯主程序voiddelay(alt_u32cnt);intmain(){alt_u8cnt;
4、IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,0xff);//初始化8个LED都处于熄灭状态while(1){for(cnt=0;cnt<8;cnt++)//循环LED显示{delay(500000);//延时大约1sIOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,~(1<5、NiosII软件开发过程;掌握定时器TIMER的使用方法;学习中断的使用及中断程序的编写。13设计任务和要求设计任务和要求任务1:用4个数码管实现千分秒计时器,精确到千分之一秒;任务2:用4个数码管实现秒钟计时器,精确到百分之一秒。14硬件系统硬件系统TimerNiosIIROMRAMAVALON_MMhex0_piohex3_piosysidCYCLONEIIHEX0。。。HEX3DE2-7015头文件头文件#include"system.h"#include"altera_avalon_timer_regs.h"#include"alte6、ra_avalon_pio_regs.h"#include"alt_types.h"#include"sys/alt_irq.h"#include16变量和函数变量和函数alt_u16flag;//毫秒定时计数器alt_u16second;//秒计数器alt_u8seg[16]={0xf5,0x05,0xe3,0x67,0x17,0x76,0xf6,0x45,0xf7,0x77};voiddelay(alt_u32cnt);voidseg_dis(alt_u16dis_num);17中断处理函数中断处理函数//毫秒定时7、中断函数staticvoidhandle_Timer0_interrupts(void){IOWR_ALTERA_AVALON_TIMER_STATUS(SYS_CLK_TIMER_BASE,0);//清TO标志if(flag<1000)flag=flag+1;else{flag=0;second++;}}18数码管定时主程序数码管定时主程序intmain(void){flag=0;second=0;IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,0x00);//数码管位选管脚关闭IOWR_8、ALTERA_AVALON_PIO_DATA(SEGCS4_PIO
5、NiosII软件开发过程;掌握定时器TIMER的使用方法;学习中断的使用及中断程序的编写。13设计任务和要求设计任务和要求任务1:用4个数码管实现千分秒计时器,精确到千分之一秒;任务2:用4个数码管实现秒钟计时器,精确到百分之一秒。14硬件系统硬件系统TimerNiosIIROMRAMAVALON_MMhex0_piohex3_piosysidCYCLONEIIHEX0。。。HEX3DE2-7015头文件头文件#include"system.h"#include"altera_avalon_timer_regs.h"#include"alte
6、ra_avalon_pio_regs.h"#include"alt_types.h"#include"sys/alt_irq.h"#include16变量和函数变量和函数alt_u16flag;//毫秒定时计数器alt_u16second;//秒计数器alt_u8seg[16]={0xf5,0x05,0xe3,0x67,0x17,0x76,0xf6,0x45,0xf7,0x77};voiddelay(alt_u32cnt);voidseg_dis(alt_u16dis_num);17中断处理函数中断处理函数//毫秒定时
7、中断函数staticvoidhandle_Timer0_interrupts(void){IOWR_ALTERA_AVALON_TIMER_STATUS(SYS_CLK_TIMER_BASE,0);//清TO标志if(flag<1000)flag=flag+1;else{flag=0;second++;}}18数码管定时主程序数码管定时主程序intmain(void){flag=0;second=0;IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,0x00);//数码管位选管脚关闭IOWR_
8、ALTERA_AVALON_PIO_DATA(SEGCS4_PIO
此文档下载收益归作者所有