计数器及数码显示实验报告_第1页
计数器及数码显示实验报告_第2页
计数器及数码显示实验报告_第3页
计数器及数码显示实验报告_第4页
计数器及数码显示实验报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、北华航天工业学院北 华 航 天 工 业 学 院课程设计报告(论文) 课设名称: EDA技术与应用 设计课题:计数器及数码显示综合设计专业班级: B12241 学生姓名: 白冬雪 田尉均 指导教师: 齐建玲 设计时间: 2014年 12月 15日 北华航天工业学院电子工程系 EDA 课程设计任务书姓 名:白冬雪田尉均专 业:测控技术与仪器班 级:B12241指导教师:齐建玲职 称:教授课程设计题目:计数器及数码显示综合设计已知技术参数和设计要求:总体设计要求:设计一个能在段数码管上动态刷新显示十进制、十二进制、六十进制、四位二进制计数器计数结果的语言程序并在EDA实验开发系统上实现该功能。技术要

2、点:VHDL语言编辑程序、共阴7段数码管及FPGA可编程芯片的工作原理与连线。所需仪器设备:实验箱,电脑成果验收形式:实验报告,硬件实验结果参考文献:李国洪、胡辉、沈明山等编著 EDA技术与实验 机械工业出版社出版。时间安排2014年12月14日-15日 编辑VHDL语言程序2014年12月16日 硬件调试程序2014年12月17日 实验箱答辩验收指导教师: 齐建玲 教研室主任:王晓 2014年 12月 17日内 容 摘 要用VHDL语言在MAX+PLUS2环境下设计一个带使能输入、进位输出及同步清零的十进制计数器。设计一个带使能输入及同步清零的十二进制计数器。设计一个带使能输入及同步清零的六

3、十进制加法计数器。设计一个四位二进制可逆计数器。设计一个共阴7段数码管控制接口,在时钟信号的控制下,使六位数码管动态刷新显示上述计数器的计数结果。最后在EDA实验开发系统实验操作。目 录一、概述1二、方案设计与论证1三、单元电路设计与参数计算11、十进制计数器12、十二进制计数器23、 六十进制计数器34、 十六进制可逆计数器45、 六进制计数器56、 数据选择器67、 4-7译码器7四、顶层文件截图8五、安装与调试8六、 心得体会81.实验注意事项82.收获与体会9 一、概述 用VHDL语言在MAX+PLUS2环境下设计一个带使能输入、进位输出及同步清零的十进制计数器。设计一个带使能输入及同

4、步清零的十二进制计数器。设计一个带使能输入及同步清零的六十进制加法计数器。设计一个四位二进制可逆计数器。设计一个共阴7段数码管控制接口,在时钟信号的控制下,使六位数码管动态刷新显示上述计数器的计数结果。2、 方案设计与论证四个计数器同时开始计数,通过计数器的使能端可以随时控制计数器是否继续工作,通过同步清零端可以随时把任何一个计数器清零重新开始计数。四位二进制可逆计数器可以随时进行加计数或减计数。通过六进制计数器扫描数码管和作为对其他4个计数器的选择信号,再通过一个数据选择器选择出计数器的输出信号,通过4-7译码器的输出信号在数码当时钟信号频率足够大时可以实现六个数码管“同时”显示各计数器的计

5、数结果。因为人的眼睛分辨不出各数码管的快速跳变。所以能实现所要求的同步计数的目的。三、单元电路设计与参数计算1、十进制计数器代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JINZHI10 ISPORT( CLK,en,rst:IN STD_LOGIC; ci :OUT STD_LOGIC; dout :BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0) );END JINZHI10;ARCHITECTURE ABC OF JINZHI10 ISBEGINc

6、i<='1' WHEN dout="1001" AND en='1' ELSE '0'PROCESS(CLK,en,rst)BEGINIF RISING_EDGE(CLK) THEN IF rst='1' THEN dout<=(OTHERS=>'0'); ELSIF en='1' THEN IF dout="1001" THEN dout<="0000" ELSE dout<=dout+1; END IF;

7、END IF;END IF;END PROCESS;END ABC;仿真结果:2、十二进制计数器代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JINZHI12 ISPORT( CLK,en,rst:IN STD_LOGIC; dout :BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);END JINZHI12;ARCHITECTURE ABC OF JINZHI12 ISBEGINPROCESS(CLK,en,rst)BEGINif RISING_ED

8、GE(CLK) THEN if rst='1'then dout<=(others=>'0'); ELSIF en='1' THENIF dout="1011" THEN dout<="0000" ELSE dout<=dout+1; END IF; END IF;END IF;END PROCESS;END ABC;仿真结果3、 六十进制计数器代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED

9、.ALL;ENTITY JINZHI60 ISPORT( CLK,en,rst:IN STD_LOGIC; OL,OH :BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);END JINZHI60;ARCHITECTURE ABC OF JINZHI60 ISBEGINPROCESS(CLK,en,rst)BEGINIF RISING_EDGE(CLK) THEN IF rst='1' THEN OL<="0000"OH<="0000" ELSIF en='1' THEN IF OL=&q

10、uot;1001" THEN OL<="0000" IF OH="0101" THEN OH<="0000" ELSE OH<=OH+1; END IF; ELSE OL<=OL+1; END IF; END IF;END IF;END PROCESS;END ABC;仿真结果4、 十六进制可逆计数器代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY KENI16 ISPORT( CLK,J

11、J,E:IN STD_LOGIC; OL,OH :BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);END KENI16;ARCHITECTURE ABC OF KENI16 ISBEGIN PROCESS(CLK,JJ,E)BEGINIF RISING_EDGE(CLK) THEN IF E='1' THEN IF JJ='1' THEN IF OL="0101" AND OH="0001" THEN OL<="0000" OH<="0000" E

12、LSIF OL="1001" THEN OL<="0000" OH<=OH+1; ELSE OL<=OL+1; END IF; ELSIF JJ='0' THEN IF OL="0000" AND OH="0000" THEN OL<="0101" OH<="0001" ELSIF OL="0000" THEN OL<="1001" OH<=OH-1; ELSE OL<=O

13、L-1; END IF; END IF; END IF;END IF;END PROCESS;END ABC;仿真结果5、 六进制计数器代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JINZHI6 ISPORT( CLK,E :IN STD_LOGIC; O :BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0);END JINZHI6;ARCHITECTURE ABC OF JINZHI6 ISBEGINPROCESS(CLK,E)BEGINIF RISIN

14、G_EDGE(CLK) THEN IF E='1' THEN IF O="101" THEN O<="000" ELSE O<=O+1; END IF; END IF;END IF;END PROCESS;END ABC;仿真结果6、 数据选择器代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY XUANZE ISPORT( A,B,C,D,E,F :IN STD_LOGIC_VECTOR(3 DOWNTO 0);

15、I :IN STD_LOGIC_VECTOR(2 DOWNTO 0); O :OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );END XUANZE;ARCHITECTURE ABC OF XUANZE ISBEGINPROCESS(I)BEGINCASE I IS WHEN "000" => O<=A; WHEN "001" => O<=B; WHEN "010" => O<=C; WHEN "011" => O<=D; WHEN "1

16、00" => O<=E; WHEN "101" => O<=F; WHEN OTHERS => NULL;END CASE;END PROCESS;END ABC;仿真结果7、 4-7译码器代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY YM_47 ISPORT( I:IN STD_LOGIC_VECTOR(3 DOWNTO 0); O:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END YM_47

17、;ARCHITECTURE ABC OF YM_47 ISBEGINWITH I SELECTO<="1111110" WHEN "0000", "0110000" WHEN "0001", "1101101" WHEN "0010", "1111001" WHEN "0011", "0110011" WHEN "0100", "1011011" WHEN "0

18、101", "1011111" WHEN "0110", "1110000" WHEN "0111", "1111111" WHEN "1000", "1111011" WHEN "1001", "1110111" WHEN "1010", "0011111" WHEN "1011", "0000000" WHEN OTHERS;END ABC;仿真结果4、 顶层文件截图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论