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

    七段数码管的动态扫描显示实验(共11页).doc

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

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

    七段数码管的动态扫描显示实验(共11页).doc

    精选优质文档-倾情为你奉上七段数码管的动态扫描显示实验一、实验名称:七段数码管的动态扫描显示实验二、实验目的:(1)进一步熟悉QuartusII软件进行FPGA设计的流程(2)掌握利用宏功能模块进行常用的计数器,译码器的设计(3)学习和了解动态扫描数码管的工作原理的程序设计方法三、实验原理:实验板上常用4位联体的共阳极7段数码管,其接口电路是把所有数码管的8个笔划段a-h同名端连在一起,而每一个数码管由一个独立的公共极COM端控制。当向数码管发送字形码时,所有数码管都接收到相同的字形码时,但究竟是那个数码管亮,取决于COM端,这一端是由I/O控制的,所以就可以自行决定何时显示哪一位。动态扫描即采用分时方法,轮流控制各个LED轮流点亮。在轮流点亮扫描过程中,每一位显示器的点亮时间是极为短暂的,但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上每个显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。四、实验要求:实现显示0000-9999的十进制计数器。五、实验步骤1.建立工程建立名为leddisplay的工程,并建立顶层图。2设计技术时钟设计一分频器,对50MHz分频输出到计数器,让计数器以较慢速度递增。打开File.New,新建一个.v文件。输入以下程序:module int_div(clk, div_out); input clk; output reg div_out; reg 31:0 clk_div; parameter CLK_FREQ = 'D50_000_000;/系统时钟50MHz parameter DCLK_FREQ = 'D10;/输出频率10/2Hz always (posedge clk) begin if(clk_div < (CLK_FREQ/DCLK_FREQ) clk_div <= clk_div+1; else begin clk_div <= 0; div_out <= div_out; end end endmodule输入完成后,将该文件设为顶层实体,该命令在Project->Set as top-level Entity。分析该设计文件:执行工具栏处的“Start Analysis &Synthesis命令按钮,开始分析综合,此步骤在这里用于检查设计错误。分析成功后要生成一个分频器的元件符号,执行File->Create Symbol files for current file,开始建立该文件的元件符号。3.数码管扫描显示程序设计module segmain(clk,reset_n,datain,seg_data,seg_com);input clk;input reset_n;input31:0 datain;output7:0 seg_data;output7:0 seg_com;reg7:0 seg_com;reg7:0 seg_data;reg3:0 bcd_led;reg36:0 count;integer temp;always(posedge clk) begin if(!reset_n) count<=0; else begin count<=count+1; temp=datain; end endalways(count14:12 or datain) begin case(count14:12) 3'b000: begin temp=temp%10; bcd_led=temp3:0; seg_com=8'b; end 3'b001: begin temp=temp%100/10; bcd_led=temp3:0; seg_com=8'b; end 3'b010: begin temp=temp%1000/100; bcd_led=temp3:0; seg_com=8'b; end 3'b011: begin temp=temp%10000/1000; bcd_led=temp3:0; seg_com=8'b; end 3'b100: begin temp=temp%/10000; bcd_led=temp3:0; seg_com=8'b; end 3'b101: begin temp=temp%/; bcd_led=temp3:0; seg_com=8'b; end 3'b110: begin temp=temp%/; bcd_led=temp3:0; seg_com=8'b; end 3'b111: begin temp=temp%/; bcd_led=temp3:0; seg_com=8'b; end endcase end always(seg_com or bcd_led) begin case(bcd_led) 4'h0:seg_data=8'hc0; 4'h1:seg_data=8'hf9; 4'h2:seg_data=8'ha4; 4'h3:seg_data=8'hb0; 4'h4:seg_data=8'h99; 4'h5:seg_data=8'h92; 4'h6:seg_data=8'h82; 4'h7:seg_data=8'hf8; 4'h8:seg_data=8'h80; 4'h9:seg_data=8'h90; 4'ha:seg_data=8'h88; 4'hb:seg_data=8'h83; 4'hc:seg_data=8'hc6; 4'hd:seg_data=8'ha1; 4'he:seg_data=8'h86; 4'hf:seg_data=8'h8e; default:seg_data=8'hc0; endcase endendmodule输入完成后,将其设为顶层实体,检验后生成元件符号。4.调用宏功能模块设计计数器双击顶层图空白处,弹出symbol对话框,展开Libraries,找到lpm_counter.按步骤一步步生成4位BCD码的计数器。5.设计完整的顶层返回顶层原理图,并注意重新将顶层原理图设为顶层实体。双击顶层图空白的地方,弹出symbol对话框,展开Libraries栏的Project库,可看到上述步骤建立的一些元件符号。按OK,在图纸上空白地方点击即可输入相应的元件,添加其它元件,完成下图连接:6.设置芯片和管脚。参照以下tcl script 文件配置芯片管脚,并运行该tcl脚本。#Setup.tclset_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI-STATED"set_global_assignment -name ENABLE_INIT_DONE_OUTPUT OFFset_location_assignment PIN_149 -to clkset_location_assignment PIN_90 -to reset#ledset_location_assignment PIN_148 -to 78ledcom0set_location_assignment PIN_147 -to 78ledcom1 set_location_assignment PIN_160 -to 78ledcom2 set_location_assignment PIN_159 -to 78ledcom3set_location_assignment PIN_162 -to 78ledcom4set_location_assignment PIN_161 -to 78ledcom5 set_location_assignment PIN_166 -to 78ledcom6 set_location_assignment PIN_164 -to 78ledcom7set_location_assignment PIN_145 -to 78leddata0 set_location_assignment PIN_143 -to 78leddata1 set_location_assignment PIN_137 -to 78leddata2 set_location_assignment PIN_139 -to 78leddata3 set_location_assignment PIN_144 -to 78leddata4 set_location_assignment PIN_146 -to 78leddata5 set_location_assignment PIN_135 -to 78leddata6 set_location_assignment PIN_142 -to 78leddata77.编译执行菜单命令Project->Set as top-level Entity,将顶层图设为当前顶层实体,然后编译。8.下载1)下载设置:使用下载线下载配置文件到FPGA。2)下载完毕后可看到实验现象:数码管实现显示0000-9999的十进制计数器。六、实验小结(1)这是我们这学期近代电子学实验的第一次实验报告,在前几次的实验中,已经熟悉了QuartusII设计软件的基本功能、原理图输入和HDL输入方法、功能仿真、综合、配置与编程的设计过程,尤其是针对QuartusII的使用初步花了几节课的时间,毕竟这个软件对于我们来说是很陌生的。(2)在前面的实验中,学习QuartusII的基础实验中,课本上和课件上的介绍是很详细的,每一个操作步骤都是有截图的,所以跟着步骤一步一步的,只要小心谨慎,是不会出现错误的。(3)这次的实验是对前几次的实验的整合,在LED的按键控制的基础上进行的实验,在我做实验的工程中,查找错误是最麻烦的琐碎的,往往错误源于很小的失误,比如忘记建立顶层图、调用宏功能模块设计计数器时选错选项等等。这些错误看似微不足道,但是检查起来异常麻烦,所以我们在做实验的时候一定要小心谨慎,切记三心二意。(4)通过这一次的实验练习,希望为以后打下坚实的基础。专心-专注-专业

    注意事项

    本文(七段数码管的动态扫描显示实验(共11页).doc)为本站会员(飞****2)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开