版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上实验四 七段数码管的动态扫描显示一、 实验目的1.进一步熟悉QuartusII软件进行FPGA设计的流程;2.掌握利用宏功能模块进行常用的计数器,译码器的设计;3.学习和了解动态扫描数码管的工作原理的程序设计方法;二、 实验原理及过程实验板上面常用的4为联体的共阳极7段数码管。其接口电路是把所有数码管的8个笔划段a-h同名端连接起来,而每一个数码管由一个独立的公共极COM端控制。对于这种结构的数码管,采用动态显示的方法是最为广泛的一种显示方式之一。在轮流点亮的过程中每位显示器的点亮时间都极为短暂,但由于人的视觉暂留现象以及发光二极管的余晖效应,尽管实际上每个显示器并非
2、同时点亮,但只要扫描的速度足够快(如达到30Hz以上),给人的印象就是一组稳定的显示数据,不会有闪烁感。 本次实验要求在实验板上实现显示-的十进制计数器。使用的是宏模块产生一个16位的二进制计数器counter()作为4个数码管的显示数据;编写一个分频模块div,其输出作为计数器counter()的时钟信号;编写数码管驱动模块segmain,完成7段译码和扫描显示控制1、 建立工程,并建立顶层图。2、 设计计数时钟设计一分频器,对50Mhz分频输出到计数器,让计数器以较慢速度递增。建立.v文件,输入以下代码module int_div(clk,div_out);input clk;output
3、 reg div_out;reg31:0 clk_div;parameter CLK_FREQ=D50_000_000;parameter DCLK_FREQ=D10;always(posedge clk)begin if(clk_divCLK_FREQ/DCLK_FREQ) clk_div=clk_div+1; else begin clk_div=0; div_out=div_out; end end endmodule输入完成后,将该文件设为顶层文件,并分析该设计文件,用于检查设计错误。检查无误后,要生成一个分频器的原件符号,根据步骤建立该原件的原件符号。3、数码管扫描显示程序设计数码管
4、扫描显示程序如下:module segmain(clk,reset_n,datain,seg_data,seg_com);input clk;input reset_n;input31:0 datain; /由于要显示8位数字所以要将输入数据设为32位output7:0 seg_data; /输出与例子中的一样保持不变,任然为8位output7:0 seg_com; /设置输出时要用到的8个端口reg7:0 seg_com; /由于在always语句中要用到,所以再把它们都定义为寄存器变量类型reg7:0 seg_data;/寄存器变量reg3:0 bcd_led; /寄存器变量类型reg36
5、:0 count; /寄存器变量类型,同时count用于计数integer t; /一个整形变量talways(posedge clk) /always语句用于判断当上升沿来到时计数器的状态,并且设置计数器的归零功能 begin if(!reset_n) count=0; else begin count=count+1; t=datain; end endalways(count14:12 or datain) /判断已经计数的状态,并将相应的数码管变亮 begin case(count14:12) 3b000: begin t=t%10; bcd_led=t3:0; seg_com=8b;
6、 end 3b001: begin t=t%100/10; bcd_led=t3:0; seg_com=8b; end 3b010: begin t=t%1000/100; bcd_led=t3:0; seg_com=8b; end 3b011: begin t=t%10000/1000; bcd_led=t3:0; seg_com=8b; end 3b100: begin t=t%/10000; bcd_led=t3:0; seg_com=8b; end 3b101: begin t=t%/; bcd_led=t3:0; seg_com=8b; end 3b110: begin t=t%/;
7、 bcd_led=t3:0; seg_com=8b; end 3b111: begin t=t%/; bcd_led=t3:0; seg_com=8b; end endcase end always(seg_com or bcd_led) begin case(bcd_led) /判断led的数值 4h0:seg_data=8hc0; /共阳低有效 4h1:seg_data=8hf9; 4h2:seg_data=8ha4; 4h3:seg_data=8hb0; 4h4:seg_data=8h99; 4h5:seg_data=8h92; 4h6:seg_data=8h82; 4h7:seg_da
8、ta=8hf8; 4h8:seg_data=8h80; 4h9:seg_data=8h90; 4ha:seg_data=8h88; 4hb:seg_data=8h83; 4hc:seg_data=8hc6; 4hd:seg_data=8ha1; 4he:seg_data=8h86; 4hf:seg_data=8h8e; default:seg_data=8hc0; endcase endendmodule输入完成后,将其设为顶层文件,检验后生成原件符号。4.调用宏模块设计计数器。双击顶层图空白处,弹出symbol对话框,展开library,找到lmp-counter,弹出宏模块设置对话框,根据讲义和实验要求对其进行设定。5.设计完整的顶层。返回顶层原理图,根据讲义和需要添加原件完成完整的图。其图如下所示:6.设置芯片和管脚。参照讲义进行芯片和管脚的配置,并运行该脚本。7.编译。将顶层图设为当前顶层实体,然后编译8.接好下载线,进行下载,下载完成后,会看到8个数码管会显示数值,按reset按钮则清零。三、 实验小结根据本次实验,进一步熟悉了quartus2软件进行设计的流程。对如何利用宏功能模块进行计数器,译码器的设计有了初步的了解与掌握。实验后了解了数码管的工作原理,对如何实现显示功能有了很大的提高。通过实验学会举一反三,能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《兒童視力保健》课件
- 《抗菌药物概论课件》课件
- 蜂产品课件蜂产品中抗生素残留现状及检测
- 保险基础知识课件-保险的性质、功能及作用
- 奥数鸡兔同笼课件
- 地理信息系统的应用课件
- 曲线积分与曲面积分习题课课件
- 2.1 立在地球边上放号 课件(共37张)
- 植物提取物生产线项目可行性研究报告模板-立项备案
- 2024年全国爱耳日活动方案(34篇)
- 医疗组长竞聘
- 失禁性皮炎病例护理查房课件
- 期末复习试题 (试卷)-2024-2025学年四年级上册数学人教版
- 2024年中国工业级硝酸铵市场调查研究报告
- 乡村振兴课件教学课件
- 2024年度危废物品转运服务协议版
- 2023年辅警招聘公安基础知识必刷题库及答案
- 《机加工操作员绩效考核方案》-企业管理
- 光是怎样传播的说课稿
- 劳动技能实操指导(劳动教育)学习通超星期末考试答案章节答案2024年
- nba球星乔丹课件
评论
0/150
提交评论