下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验四七段数码管的动态扫描显示专业:电子信息科学与技术姓名:高晓骏学号:2012021199010一.实验目的(1)进一步熟悉QuartusII软件进行FPGA设计的流程;(2)掌握利用宏功能模块进行常用的计数器,译码器的设计;(3)学习和了解动态扫描数码管的工作原理的程序设计方法;二.实验器材(1)PC机(2)QuartusII开发工具软件三.实验原理实验板上常用4位联体的共阳极7段数码管,其接口电路是把所有数码管的8个笔划段a-h同名端连在一起,而每一个数码管由一个独立的公共极COM端控制。当向数码管发送字形码时,所有数码管都接收到相同的字形码时,但究竟是那个数码管亮,取决于COM端,这一端是由I/O控制的,所以就可以自行决定何时显示哪一位。动态扫描即采用分时方法,轮流控制各个LED轮流点亮。在轮流点亮扫描过程中,每一位显示器的点亮时间是极为短暂的,但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上每个显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。四、实验要求:实现显示0000-9999的十进制计数器。五.实验内容及步骤1.建立工程建立名为leddisplay的工程,并建立顶层图。2.设计计数时钟设计一个分频器,对50MHz分频输出到计数器,让计数器以较慢的速度递增。moduleint_div(clk,div_out);inputclk;outputregdiv_out;reg[31:0]clk_div;parameterCLK_FREQ='D50_000_000; //系统时钟50MHzparameterDCLK_FREQ='D10; //输出频率10/2Hzalways@(posedgeclk)begin if(clk_div<(CLK_FREQ/DCLK_FREQ)) clk_div<=clk_div+1; else begin clk_div<=0; div_out<=~div_out; endendendmodule输入完成后,将该文件设为顶层实体,该命令在Project->Setastop-levelEntity。分析该设计文件:执行工具栏处的“StartAnalysis&Synthesis命令按钮,开始分析综合,此步骤在这里用于检查设计错误。分析成功后要生成一个分频器的元件符号,执行File->CreateSymbolfilesforcurrentfile,开始建立该文件的元件符号。3.调用宏功能模块设计计数器modulecnt10000(qout,clr,clk);input clr;inputclk;output[15:0]qout;reg[15:0]qout;always@(posedgeclk) if(!clr)qout[15:0]=0; elseif(qout[3:0]==9) begin qout[3:0]=0; if(qout[7:4]==9) begin qout[7:4]=0; if(qout[11:8]==9) begin qout[11:8]=0; if(qout[15:12]==9)qout[15:12]=0; elseqout[15:12]=qout[15:12]+1'b1; end elseqout[11:8]=qout[11:8]+1'b1; end elseqout[7:4]=qout[7:4]+1'b1; end elseqout[3:0]=qout[3:0]+1'b1;endmodule输入完成后,将其设为顶层实体,检验后生成元件符号。4.数码管扫描显示程序设计(不含小数点)modulesegmain(clk,reset_n,datain,seg_data,seg_com);inputclk;inputreset_n;input[15:0]datain;output[7:0]seg_data;output[3:0]seg_com;reg[3:0]seg_com;reg[7:0]seg_data;reg[3:0]bcd_led;reg[26:0]count;always@(posedgeclk)begin if(!reset_n) count<=0; else count<=count+1;endalways@(count[14:13]ordatain)begin case(count[14:13]) 2'b00: begin bcd_led=datain[3:0]; seg_com=4'b1110;// end 2'b01: begin bcd_led=datain[7:4]; seg_com=4'b1101;// end 2'b10: begin bcd_led=datain[11:8]; seg_com=4'b1011;// end 2'b11: begin bcd_led=datain[15:12]; seg_com=4'b0111;// end endcaseendalways@(seg_comorbcd_led)begin case(bcd_led) 4'h0: seg_data=8'hc0;//0 4'h1: seg_data=8'hf9;//1 4'h2: seg_data=8'ha4;//2 4'h3: seg_data=8'hb0;//3 4'h4: seg_data=8'h99;//4 4'h5: seg_data=8'h92;//5 4'h6: seg_data=8'h82;//6 4'h7: seg_data=8'hf8;//7 4'h8: seg_data=8'h80;//8 4'h9: seg_data=8'h90;//9 4'ha: seg_data=8'h88;//a 4'hb: seg_data=8'h83;//b 4'hc: seg_data=8'hc6;//c 4'hd: seg_data=8'ha1;//d 4'he: seg_data=8'h86;//e 4'hf: seg_data=8'h8e;//f default: seg_data=8'h80;//0 endcaseendendmodule输入完成后,将其设为顶层实体,检验后生成元件符号。5.设计完整的顶层返回顶层原理图,并注意重新将顶层原理图设为顶层实体。双击顶层图空白的地方,弹出symbol对话框,展开Libraries栏的Project库,可看到上述步骤建立的一些元件符号。按OK,在图纸上空白地方点击即可输入相应的元件,添加其它元件,完成下图连接:6.设置芯片和管脚。设置芯片型号、配置芯片型号等内容。参照以下文件配置芯片管脚,并运行该tcl脚本。#Setup.tcl------SetuppinsettingforEP3C25-V5mainboardset_global_assignment-nameRESERVE_ALL_UNUSED_PINS"ASINPUTTRI-STATED"set_global_assignment-nameENABLE_INIT_DONE_OUTPUTOFFset_location_assignmentPIN_149-toclkset_location_assignmentPIN_90-toreset#seg7led------78LEDset_location_assignmentPIN_148-to78ledcom[0]set_location_assignmentPIN_147-to78ledcom[1]set_location_assignmentPIN_160-to78ledcom[2]set_location_assignmentPIN_159-to78ledcom[3]#set_location_assignmentPIN_162-to78ledcom[4]#set_location_assignmentPIN_161-to78ledcom[5]#set_location_assignmentPIN_166-to78ledcom[6]#set_location_assignmentPIN_164-to78ledcom[7]set_location_assignmentPIN_145-to78leddata[0]set_location_assignmentPIN_143-to78leddata[1]set_location_assignmentPIN_137-to78leddata[2]set_location_assignmentPIN_139-to78leddata[3]set_location_assignmentPIN_144-to78leddata[4]set_location_assignmentPIN_146-to78leddata[5]set_location_assignmentPIN_135-to78leddata[6]set_location_assignmentPIN_142-to78leddata[7]7.编译执行菜单命令Project->Setastop-levelEntity,将顶层图设为当前顶层实体,然后编译。8.下载(1)下载设置:使用下载线下载配置文件到FPGA。(2)下载完毕后可看到实验现象:数码管实现显示0000-9999的十进制计数器。六.思考题count[14:13]ordatain是什么意思?这条语句是判断已经计数的状态,并将相应的数码管变亮,选择扫描显示数据,count[14:13]大约1ms改变一次,而count[26:25]则闪烁的时间更短,人眼无法看清,故出现不正常显示的现象。七.实验小结(1)这是我们这学期数字电路EDA综合实验的第一次实验报告,在前几次的实验中,已经熟悉了QuartusII设计软件的基本功能、原理图输入和HDL输入方法、功能仿真、综合、配置与编程的设计过程,尤其是针对QuartusII的使用初步花了几节课的时间,毕竟这个软件对于我们来说是很陌生的。(2)在前面的实验中,学习QuartusII的基础实验中,课本上的介
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国科学院化学研究所怀柔研究中心招聘备考题库含答案详解(能力提升)
- 2026江西鹰潭月湖区民政局招聘工作人员1人备考题库及参考答案详解(新)
- 2026广西百色市平果市气象局城镇公益性岗位人员招聘1人备考题库含答案详解(新)
- 2026陕西延安市延川县人民政府办公室遴选选聘人员6人备考题库含答案详解(突破训练)
- 2026中国科学院化学研究所怀柔研究中心招聘备考题库附答案详解
- 医院绩效分配工作制度
- 公安五个当场工作制度
- 七个决不允许工作制度
- 公安内部宣传工作制度
- 商务投诉举报工作制度
- 公路工程项目代建制管理办法编制详细
- GB/T 8335-2011气瓶专用螺纹
- GB/T 40815.2-2021电气和电子设备机械结构符合英制系列和公制系列机柜的热管理第2部分:强迫风冷的确定方法
- GB/T 33174-2016资产管理管理体系GB/T 33173应用指南
- GB/T 197-2003普通螺纹公差
- GB/T 19362.2-2017龙门铣床检验条件精度检验第2部分:龙门移动式铣床
- GA/T 669.7-2008城市监控报警联网系统技术标准第7部分:管理平台技术要求
- 精细化工过程与设备 第四章 塔式反应器
- 第6章-六足仿生机器人项目设计课件
- 酒店的保密制度管理办法
- 《高一物理动能定理》ppt课件
评论
0/150
提交评论