欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    SOPC四路抢答器设计.doc

    • 资源ID:23959318       资源大小:332KB        全文页数:23页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    SOPC四路抢答器设计.doc

    Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateSOPC四路抢答器设计大连理工大学本科实验报告题目:四路抢答器设计课程名称: SOPC设计与实践 学院(系):信息与通信工程学院 专 业: 电子信息工程 班 级: 学 号: 学生姓名: 成 绩: 2011 年 5 月 14 日题目:四路抢答器设计1 设计要求在娱乐、竞赛类节目中,很多都需要用到抢答器,用来判断是谁第一个抢到答题机会。本设计是四路抢答器,就是可以四个人一块抢答,并且将抢答结果通过LED、数码管、LCD来进行显示。即某一个人按下他对应的按钮后,他身前的LED亮,数码管上显示他对应的号码,LCD显示是第几号选手获得了抢答的机会。并且本设计设有总控制开关,用来控制何时开始抢答。2 设计分析及系统方案设计对于总开关的设计,我采用的是在判断按键操作之前增加一个if语句,如果总开关开启,按键操作才被响应,如果总开关没有开启,按键操作都不被响应。对于按键的判断,我采用的按键中断来实现的,某个按键按下后,中断响应,如果总开关开启,则根据键值进行响应的按键响应,即将对应的LED点亮,数码管上显示需要显示的数字,LCD显示第几位选手抢答成功。为了防止第一位选手抢答后,第二位选手将第一位选手的抢答冲掉,考虑到实际应用,我采用的是在第一位选手按键操作响应后就进行一定时间的延时,从而保证在延时的这段时间,其他的选手不能将第一位选手的按键响应冲掉。3 各功能模块硬件电路设计(1)总体电路图在此系统图中,包含CPU及外围LED、数码管、LCD的连接及引脚配置。(2)SOPC builder配置图此SOPC builder中,加入了20K RAM、16K ROM、四位按键(设置下降沿中断)、一位开关、四位LED、一个七段数码管、一片LCD。4 系统软件设计(1)流程图是开始总开关开启?是否有按键?执行响应的按键响应清空LED、数码管、LCD显示延时是否否(2)源代码:#include "system.h"#include "sys/alt_irq.h"#include "altera_avalon_pio_regs.h"#include "alt_types.h"#include "io.h"#include "stdio.h"volatile int edge_capture;unsigned char seg_table11=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x7f;static void handle_key_interrupt(void* context,alt_u32 id) volatile int* edge_capture_ptr=(volatile int*)context; *edge_capture_ptr=IORD(KEY_BASE,3); IOWR(KEY_BASE,3,0);static void init_key_pio() void* edge_capture_ptr=(void*)&edge_capture; IOWR(KEY_BASE,2,0xf); IOWR(KEY_BASE,3,0x0); alt_irq_register(KEY_IRQ,edge_capture_ptr,handle_key_interrupt);int main(void) init_key_pio(); char sw; char Text115=" The first one!" char Text215=" The second one" char Text315=" The third one!" char Text415=" The forth one!" char Text515=" Please Wait." int i; int Initial5=0x38,0x0c,0x01,0x06,0x80; for(i=0;i<5;i+) IOWR(LCD_16207_0_BASE,0,Initiali); usleep(5000); while(1) IOWR(LCD_16207_0_BASE,0,0x01); sw=IORD(SW_BASE,0); if(sw=1) switch(edge_capture) case 0x08: IOWR(LED_BASE,0,0x08); IOWR(SHU_BASE,0,seg_table1); for(i=0;i<15;i+) IOWR(LCD_16207_0_BASE,2,Text1i); usleep(2000); usleep(9000000); break; case 0x04: IOWR(LED_BASE,0,0x04); IOWR(SHU_BASE,0,seg_table2); for(i=0;i<15;i+) IOWR(LCD_16207_0_BASE,2,Text2i); usleep(2000); usleep(9000000); break; case 0x02: IOWR(LED_BASE,0,0x02); IOWR(SHU_BASE,0,seg_table3); for(i=0;i<15;i+) IOWR(LCD_16207_0_BASE,2,Text3i); usleep(2000); usleep(9000000); break; case 0x01: IOWR(LED_BASE,0,0x01); IOWR(SHU_BASE,0,seg_table4); for(i=0;i<15;i+) IOWR(LCD_16207_0_BASE,2,Text4i); usleep(2000); usleep(9000000); break; default: IOWR(LED_BASE,0,0x00); IOWR(SHU_BASE,0,seg_table10); break; else edge_capture=0x00; IOWR(LED_BASE,0,0x00); IOWR(SHU_BASE,0,seg_table10); for(i=0;i<15;i+) IOWR(LCD_16207_0_BASE,2,Text5i); usleep(2000); usleep(200000); 5 系统调试运行结果说明计分析系统运行环境:硬件是Altera公司CycloneII 2C35FPGA DE2开发板,软件是Quartus6.0和NIOS 。系统运行结果:系统运行后,总开关未开启条件下,任何按键都没有用。总开关开启后,按下一个按键后,对应LED亮,数码管显示按键编号,LCD上显示第几个按键,在第一个按键按下的大约5秒钟之内,其他的按键都没有用。总开关关闭,LED和数码管熄灭,LCD显示“Please Waiting”。设计让需完善的地方:当响应按键操作后,会延时大约5秒,而这时如果立马关闭总开关,对应的显示设备不会熄灭,延时之后才会熄灭LED、数码管和改变LCD上的内容。我认为可以通过将总开关也设置成中断,并且优先级高于按键优先级,从而修复这个BUG。6 结论本设计中,主要进行了软核CPU的设计,CPU外围器件LED、数码管、LCD的连接,系统的组件,以及系统运行的程序,关键是按键中断的设计和按键响应程序。程序已经把抢答器的功能基本实现,能够通过一个总开关控制抢答开始,四位按键能够区分开来哪个第一个按下,而且将第一个按下的信息通过不同的方式显示出来。参考文献-

    注意事项

    本文(SOPC四路抢答器设计.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开