- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程报告设计课题 :基于S OPC得L ED 循环流水灯掌握设计姓X XX名:专集成电路设计与集成系统业:号:11
课程报告
设计课题 :
基于S OPC
得L ED 循环流水灯掌握设计
姓
X XX
名:
专
集成电路设计与集成系统
业:
号:
11
1 510300 4
学
2021
年 11
月 1 8
日
期
日
指导老师 :
X XX
华侨高校信息科学与工程学院电子工程系
基于 SO PC得 LED循环流水灯掌握设计一.1;设计得任务与要求将8
基于 SO PC得 LED循环流水灯掌握设计
一.
1;
设计得任务与要求
将8 只 LE D 灯编号 , 奇数号亮1
秒, 灭 2 秒, 偶数号亮3
秒, 灭 3 秒;
2;
用数码管显示每个灯得亮灭时间;
3. 循环点亮;
二.系统设计
整体硬件电路框图
整体电路设计由一个锁相环 ,S OP C 搭建得
CP U 模块组
成, 由 DE2内部时钟
50MHZ输入掌握 , 输出接L ED[7;. 0] 8 个 LE D
灯,HEX0—HEX7 8个数码管 , 用程序编程掌握
数码管计时功能得实现;
, 来实现
LED循环流水灯
三;单元电路设计
锁相环设计模块 (P LL )
SOPC设计模块在 DE 2 平台上建立SO
SOPC设计模块
在 DE 2 平台上建立
SOPC系统得硬件 , 这个系统包括一个N
Io
s I I/s
器, 一个 ID
嵌入式处理器、 储备器、一个J TAG UART
及一个定时
模块与 IO 模块、另外 , 我们将加入一个自定义组件
, 实现
对D E2 平台上七段数码管得掌握;
S OPC模块硬件电路图
四: 仿真结果
五.软件设计程序详见附录六;系统测试 :试验仪器用DE 2 板验证 , 芯片型号为EP2C35F672 C6
五.软件设计
程序详见附录六;系统测试 :
试验仪器用DE 2 板验证 , 芯片型号为
EP2C35F672 C6,将
运算机软件与D E2 板相连;用 8 只L ED灯实现循环点亮 , 并在 8 只数
码管显示每只L ED灯得亮灭时间;
七. 结论 :
从 DE2
求, 即:
板试验结果可以瞧出 , 该试验现象满意设计得任务与要
8 只L ED 灯编号 , 奇数号亮 1
秒;
秒, 灭 2
秒, 偶数号亮 3
1;
将
秒, 灭 3
2;
3.
用数码管显示每个灯得亮灭时间、
循环点亮;
满意了该设计得1 , 2 ,3
管显示每个灯得亮灭时间时
点要求 , 唯独不足得地方就是在用数码
, 我就是用
usl eep() 函数来推迟得
,
, 可以做进一步
时间精度方面可能比不上用定时计数器来得精确
改进;
附录 :
软件程序 :
# inc lu de ”system 、h"
#inc l ude " alt_types、h
# incl ude unist d;h#i nclu dei o;h int mai n (vo id){alt _u8 led=0x01;alt_
# incl ude unist d;h
#i nclu de
i o;h
int mai n (vo id)
{
alt _u8 led=0x01;
alt_u 32
count;
vol atile int i; //i
用来掌握循环得次数
vol ati le int j ; / /j 用来掌握每次循环时间为 1S
whi le(1)
{
led =0 x01;
* (uns igned
int
*) P IO_ L ED_ BASE =
le d;
//点亮第一
个L ED 灯
for(i=1, j =1000000,coun t=0i〉0;i -— ) // 用数码管掌握
亮得时间1S
{
IOWR(SEG7_LU T _8_ 0_BAS E ,0 ,c oun t );
示 cou nt值 1
/ /第一个数码管显
usleep (j);
//j= 1 00000 0,延时 1 秒
count =cou nt-0 x00 00 00 01 ;
}
//count 值减1
IO W R( SEG 7 _L U T _ 8_0_B ASE,0,co unt);
/ /第一个数码管显示
count 值 0
led=0x00;
*(uns igned int * )PIO_LED _ BA S E
= led;
//熄灭第一个 LE
D灯
for(i =2 ,j= 1 000000,count= 0x000000 02;i >0;i -— )
数码管掌握熄灭得时间 2S
{
IOWR(S EG7_L UT _8_0_BASE ,0,count);
usleep(j);
co unt=count -0x00000001
文档评论(0)