版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程报告设计课题: 基于sopc 的led 循环流水灯控制设计姓 名: xxx 专 业: 集成电路设计与集成系统 学 号: 1115103004 日 期 2014 年 11月 18 日 指导教师: xxx 华侨大学信息科学与工程学院电子工程系基于sopc的led循环流水灯控制设计1. 设计的任务与要求1. 将8 只led 灯编号,奇数号亮1 秒,灭2 秒,偶数号亮3 秒,灭3 秒。2. 用数码管显示每个灯的亮灭时间。3. 循环点亮。2 系统设计整体硬件电路框图 整体电路设计由一个锁相环,sopc搭建的cpu模块组成,由de2内部时钟50mhz输入控制,输出接led7.08个led灯,hex0-
2、hex7 8个数码管,用程序编程控制,来实现led循环流水灯数码管计时功能的实现。三.单元电路设计 锁相环设计模块(pll)sopc设计模块在de2 平台上建立sopc系统的硬件,这个系统包括一个nios ii/s 嵌入式处理器、存储器、一个jtag uart 及一个定时器,一个id 模块和io模块。另外,我们将加入一个自定义组件,实现对de2 平台上七段数码管的控制。sopc模块硬件电路图四:仿真结果5 软件设计 程序详见附录六系统测试: 实验仪器用de2板验证,芯片型号为ep2c35f672c6,将计算机软件与de2板相连。用8只led灯实现循环点亮,并在8只数码管显示每只led灯的亮灭时
3、间。七结论:从de2板实验结果可以看出,该实验现象满足设计的任务与要求,即:1. 将8 只led 灯编号,奇数号亮1 秒,灭2 秒,偶数号亮3 秒,灭3 秒。2. 用数码管显示每个灯的亮灭时间。3. 循环点亮。满足了该设计的1,2,3点要求,唯一不足的地方是在用数码管显示每个灯的亮灭时间时,我是用usleep()函数来延迟的,时间精度方面可能比不上用定时计数器来的准确,可以做进一步改进。附录:软件程序:#include system.h#include alt_types.h#include unistd.h#include io.hint main (void) alt_u8 led=0x0
4、1; alt_u32 count; volatile int i; /i用来控制循环的次数 volatile int j; /j用来控制每次循环时间为1s while(1) led=0x01; *(unsigned int *)pio_led_base = led; /点亮第一个led灯 for(i=1,j=1000000,count=0x00000001;i0;i-) /用数码管控制亮的时间1s iowr(seg7_lut_8_0_base,0,count); /第一个数码管显示count值1 usleep(j); /j=1000000,延时1秒 count=count-0x00000001
5、; /count值减1 iowr(seg7_lut_8_0_base,0,count); /第一个数码管显示count值0 led=0x00; *(unsigned int *)pio_led_base = led; /熄灭第一个led灯 for(i=2,j=1000000,count=0x00000002;i0;i-) /用数码管控制熄灭的时间2s iowr(seg7_lut_8_0_base,0,count); usleep(j); count=count-0x00000001; iowr(seg7_lut_8_0_base,0,count); led=0x02; *(unsigned i
6、nt *)pio_led_base = led;/点亮第二个led灯 for(i=3,j=1000000,count=0x00000030;i0;i-) /用数码管控制亮的时间3s iowr(seg7_lut_8_0_base,0,count); usleep(j); count=count-0x00000010; iowr(seg7_lut_8_0_base,0,count); led=0x00; *(unsigned int *)pio_led_base = led;/熄灭第二个led灯 for(i=3,j=1000000,count=0x00000030;i0;i-)/用数码管控制熄灭的
7、时间3s iowr(seg7_lut_8_0_base,0,count); usleep(j); count=count-0x00000010; iowr(seg7_lut_8_0_base,0,count); led=0x04; *(unsigned int *)pio_led_base = led;/点亮第三个led灯 for(i=1,j=1000000,count=0x00000100;i0;i-) /用数码管控制亮的时间1s iowr(seg7_lut_8_0_base,0,count); usleep(j); count=count-0x00000100; iowr(seg7_lut
8、_8_0_base,0,count); led=0x00; *(unsigned int *)pio_led_base = led;/熄灭第三个led灯 for(i=2,j=1000000,count=0x00000200;i0;i-)/用数码管控制熄灭的时间2s iowr(seg7_lut_8_0_base,0,count); usleep(j); count=count-0x00000100; iowr(seg7_lut_8_0_base,0,count); led=0x08; *(unsigned int *)pio_led_base = led;/点亮第四个led灯 for(i=3,j
9、=1000000,count=0x00003000;i0;i-)/用数码管控制亮的时间3s iowr(seg7_lut_8_0_base,0,count); usleep(j); count=count-0x00001000; iowr(seg7_lut_8_0_base,0,count); led=0x00; *(unsigned int *)pio_led_base = led;/熄灭第四个led灯 for(i=3,j=1000000,count=0x00003000;i0;i-)/用数码管控制熄灭的时间3s iowr(seg7_lut_8_0_base,0,count); usleep(
10、j); count=count-0x00001000; iowr(seg7_lut_8_0_base,0,count); led=0x10; *(unsigned int *)pio_led_base = led;/点亮第五个led灯 for(i=1,j=1000000,count=0x00010000;i0;i-)/用数码管控制亮的时间1s iowr(seg7_lut_8_0_base,0,count); usleep(j); count=count-0x00010000; iowr(seg7_lut_8_0_base,0,count); led=0x00; *(unsigned int *
11、)pio_led_base = led;/熄灭第五个led灯 for(i=2,j=1000000,count=0x00020000;i0;i-)/用数码管控制熄灭的时间2s iowr(seg7_lut_8_0_base,0,count); usleep(j); count=count-0x00010000; iowr(seg7_lut_8_0_base,0,count); led=0x20; *(unsigned int *)pio_led_base = led;/点亮第六个led灯 for(i=3,j=1000000,count=0x00300000;i0;i-)/用数码管控制亮的时间3s
12、iowr(seg7_lut_8_0_base,0,count); usleep(j); count=count-0x00100000; iowr(seg7_lut_8_0_base,0,count); led=0x00; *(unsigned int *)pio_led_base = led;/熄灭第六个led灯 for(i=3,j=1000000,count=0x00300000;i0;i-)/用数码管控制熄灭的时间3s iowr(seg7_lut_8_0_base,0,count); usleep(j); count=count-0x00100000; iowr(seg7_lut_8_0_
13、base,0,count); led=0x40; *(unsigned int *)pio_led_base = led;/点亮第七个led灯 for(i=1,j=1000000,count=0x01000000;i0;i-)/用数码管控制亮的时间1s iowr(seg7_lut_8_0_base,0,count); usleep(j); count=count-0x01000000; iowr(seg7_lut_8_0_base,0,count); led=0x00; *(unsigned int *)pio_led_base = led;/熄灭第七个led灯 /for(i=0;i0;i-)
14、/用数码管控制熄灭的时间2s iowr(seg7_lut_8_0_base,0,count); usleep(j); count=count-0x01000000; iowr(seg7_lut_8_0_base,0,count); led=0x80; *(unsigned int *)pio_led_base = led;/点亮第八个led灯 /for(i=0;i0;i-)/用数码管控制亮的时间3s iowr(seg7_lut_8_0_base,0,count); usleep(j); count=count-0x10000000; iowr(seg7_lut_8_0_base,0,count
15、); led=0x00; *(unsigned int *)pio_led_base = led;/熄灭第八个led灯 /for(i=0;i0;i-)/用数码管控制熄灭的时间3s iowr(seg7_lut_8_0_base,0,count); usleep(j); count=count-0x10000000; iowr(seg7_lut_8_0_base,0,count); return 0;1. 添加自定义组件七段数码管控制器 seg7_lut.v 是一个查找表,完成七段码显示的译码。当输入idig在0x00xf 之间变化时,输出oseg 的七段码也发生相应的变化,并在数码管上显示idi
16、g 的值。代码1 seg7_lut.vmodule seg7_lut ( oseg, idig);input 3:0 idig;output 6:0 oseg;reg 6:0 oseg;always(idig)begin case(idig) 4h1:oseg=7b1111001; 4h2:oseg=7b0100100; 4h3:oseg=7b0110000; 4h4:oseg=7b0011001; 4h5:oseg=7b0010010; 4h6:oseg=7b0000010; 4h7:oseg=7b1111000; 4h8:oseg=7b0000000; 4h9:oseg=7b0011000
17、; 4ha:oseg=7b0001000; 4hb:oseg=7b0000011; 4hc:oseg=7b1000110; 4hd:oseg=7b0100001; 4he:oseg=7b0000110; 4hf:oseg=7b0001110; 4h0:oseg=7b1000000; endcaseendendmoduleseg7_lut_8.v,对seg7_lut.v 进行了8 次例化,分别对应于七段数码管hex0hex7。代码2 seg7_lut_8.vmodule seg7_lut_8 (oseg0,oseg1,oseg2,oseg3,oseg4,oseg5,oseg6,oseg7, idig,iwr,iclk,irst_n);input 31:0 idig;input iwr,iclk,irst_n;output 6:0 oseg0,oseg1,oseg2,oseg3,oseg4,oseg5,oseg6,oseg7;reg 31:0 rdig;always(posedge iclk or negedge irst_n)begin if(!irst_n) rdig = 0; els
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 形象设计师成果评优考核试卷含答案
- 链轮制造工安全实操能力考核试卷含答案
- 粗钨酸钠溶液制备工操作管理竞赛考核试卷含答案
- 机动车驾驶教练员变革管理能力考核试卷含答案
- 电商咨询师岗前工作流程考核试卷含答案
- 2026年新科教版初中八年级地理上册第一单元中国人口民族分布卷含答案
- 2026年人教版高三下册数学月考试卷(附答案及解析)
- 压力锅制作工6S执行考核试卷含答案
- 贵金属首饰机制工操作规程能力考核试卷含答案
- 2026 年全国会计资格初级考试冲刺模拟试卷
- 2026年外事办公室俄语翻译面试易错题集及答案深度解析
- 2026年水利工程质量检测员网上继续教育考试题库200道含答案(基础题)
- 2026广西投资集团校招面笔试题及答案
- 摩托艇租赁合同范本
- 2025年高考历史广东卷真题(含答案和解析)
- 公司物流部主管工作计划及物流配送方案
- 2025年考研医学专业医学伦理学试卷(含答案)
- 2025年6月浙江省普通高校招生选考物理试卷
- 银行清收外委合同范本
- 蜜蜂授粉租赁合同范本
- 抽水蓄能电站工程设计与优化方案
评论
0/150
提交评论