中北大学系统集成利用拨码开关控制米字管进行字母显示说明书.docx
- 文档编号:3571621
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:13
- 大小:2.97MB
中北大学系统集成利用拨码开关控制米字管进行字母显示说明书.docx
《中北大学系统集成利用拨码开关控制米字管进行字母显示说明书.docx》由会员分享,可在线阅读,更多相关《中北大学系统集成利用拨码开关控制米字管进行字母显示说明书.docx(13页珍藏版)》请在冰豆网上搜索。
中北大学系统集成利用拨码开关控制米字管进行字母显示说明书
中北大学
课程设计说明书
2013/2014学年第二学期
学院:
仪器与电子学院
专业:
微电子科学与工程
学生姓名:
XXX
学号:
11060X4XXX
课程设计题目:
利用拨码开关控制米字管进行字母显示
起迄日期:
2014年6月10日-2014年6月23日
课程设计地点:
电子科学与技术专业实验室
指导教师:
孟令军
专业负责人:
甄国涌
下达任务书日期:
2014年6月10日
目录
1、课程设计目的1
2、课程设计内容和要求1
2.1、设计内容1
2.2、设计要求1
3、 设计方案及实现情况1
3.1、设计思路1
3.2、工作原理及框图1
3.3、各模块功能描述3
3.4、QuartusII仿真5
3.5、仿真结果6
3.6、实验箱验证情况7
4、课程设计总结11
5、参考文献12
1、课程设计目的
(1).学习操作数字电路设计实验开发系统,掌握米字管的工作原理及应用。
(2).掌握组合逻辑电路、时序逻辑电路的设计方法。
(3).学习掌握可编程器件设计的全过程。
2、课程设计内容和要求:
2.1、设计内容
用VHDL语言编写程序,利用拨码开关控制米字管进行字母显示。
2.2、设计要求
(1).学习掌握拨码开关控制模块、米字管的工作原理及应用;
(2).熟练掌握VHDL编程语言,编写拨码开关控制模块的控制逻辑;
(3).仿真所编写的程序,模拟验证所编写的模块功能;
(4).下载程序到芯片中,硬件验证所设置的功能,能够实现字母显示;
(5).整理设计内容,编写设计说明书。
3、 设计方案及实现情况
3.1、设计思路
这个实验是用米字管显示26个英文字母,通过五个拨码开关不同的高低状态表示26种不同的字母显示。
3.2、工作原理及框图
图1米字管示意图
图2米字管显示字母示意图
米字管(见图1)显示字母的原理是将米字管分成16个状态即16个发光部分(见图2“数字标号”),通过不同的管脚的状态显示其16个不同的模块,再用拨码开关显示其不同模块的亮暗程度,从而达到显示不同字母的功能。
当复位信号为高时,二进制显示输出为:
"1111111111111111"(见图2“复位信号为高”);当复位信号为低,处于上升沿状态是,二进制分别显示,显示A—Z的二进制代码分别为:
"0011000000011010"、"0111100000101001"、"1100111100000000"、"0000001101000010"、"1100111110001000"、"1100001110001000"、"1101111100001000"、"0011001110001000"、"1100110000100001"、"1100010000100001"、"0000000000110101"、"0000111100000000"、"0001001010001001"、"0001101010000001"、"1111111100000000"、"1000001110100000"、"1111111100000100"、"0110000000101101"、"0101100000101000"、"1100000000100001"、"0011111100000000"、"0000000001010000"、"0010000110101000"、"0000000001010110"、"0000000001010001"、"1100110000010010"(见图2“A”、“B”···“Z”),比如显示A,二进制码为"0011000000011010",即对照图2“数字标号”中标号为3、4、12、13、15的发光部分发光(亮),可参照图2“A”;当拨码开关显示超过"11001"时,二进制显示输出为"0000000000000000"(见图2“超出范围”)。
3.3、各模块功能描述
米字管显示字母用不同的管脚分别控制,由高到低分别为A1、A2、B、C、D1、D2、E、F、G、H、J、K、M、N、O、P。
通过以上管脚分别控制米字管分成的不同的模块的亮暗,先从最上方横线开始,依次控制。
以下是实现功能的VHDL程序:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
useieee.std_logic_arith.all;
entitymzgis
port(clk:
instd_logic;
reset:
instd_logic;
din:
instd_logic_vector(4downto0);
q:
outstd_logic_vector(15downto0)
);
endmzg;
architecturexianshiofmzgis
begin
process(reset,clk)
begin
if(reset='1')thenq<="1111111111111111";
else
if(clk'eventandclk='1')
then
casedinis
when"00000"=>q<="0011000000011010";
when"00001"=>q<="0111100000101001";
when"00010"=>q<="1100111100000000";
when"00011"=>q<="0000001101000010";
when"00100"=>q<="1100111110001000";
when"00101"=>q<="1100001110001000";
when"00110"=>q<="1101111100001000";
when"00111"=>q<="0011001110001000";
when"01000"=>q<="1100110000100001";
when"01001"=>q<="1100010000100001";
when"01010"=>q<="0000000000110101";
when"01011"=>q<="0000111100000000";
when"01100"=>q<="0001001010001001";
when"01101"=>q<="0001101010000001";
when"01110"=>q<="1111111100000000";
when"01111"=>q<="1000001110100000";
when"10000"=>q<="1111111100000100";
when"10001"=>q<="0110000000101101";
when"10010"=>q<="0101100000101000";
when"10011"=>q<="1100000000100001";
when"10100"=>q<="0011111100000000";
when"10101"=>q<="0000000001010000";
when"10110"=>q<="0010000110101000";
when"10111"=>q<="0000000001010110";
when"11000"=>q<="0000000001010001";
when"11001"=>q<="1100110000010010";
whenothers=>q<="0000000000000000";
endcase;
endif;
endif;
endprocess;
endxianshi;
3.4、QuartusII仿真
采用QuartusII软件仿真,如下图
图3QuartusII程序图
3.5、仿真结果
图4程序波形仿真图
米字管显示字母仿真结果:
当时钟为上升沿时,输出显示改变;当reset为高时,输出"1111111111111111";用二进制表示米字管显示的不同字母,用米字管显示字母仿真结果:
拨动不同的开关状态,在米字管上显示不同的字母;拨动复位键,米字管全亮。
当reset为低时,上升沿状态,通过五位二进制高低状态,分别显示不同的字母状态。
在进行波形仿真时,我设置的时钟信号周期为5ns,reset信号保持高电平10ns后下降,而din(代表拨动开关后的输入状态)的5个状态输入的变化周期是从低电平开始,第一位(即波形仿真图中din的最下面一个波形)周期为10ns,第二位(即波形仿真图中din的最下面一个波形的上面一个波形,以此类推,之后不再赘述)周期为20ns,第三位为40ns,第四位为80ns,第五位为160ns,这样保证了din信号从00000变化到11111共计32种状态,之所以din的5个分支最小周期选择10ns,是因为使得clk上升沿处于din变化一次的中间位置(如下图),方便观察输出q的变化。
图5周期的选择
这里务必强调,din=11010及其之后的输出q的状态为0000,直到该周期结束;又因为在第一个周期开始时reset为高电平,在din=00000、00001时输出q为FFFF,第二个周期reset为低电平是则恢复正常,如下图
图6din>11001的状态
3.6、实验箱验证情况
(1)选择EP1K30T144-3芯片,分配引脚,将程序仿真编译后下载到芯片中,接通电源,米字管部分发光,将reset设为高电平,米字管全亮,将reset设为低电平,拨动不同开关状态,米字管显示不同的字母和状态。
由于篇幅所限,下图是部分实验结果,此外我还录了视频,防止验收时因为试验箱本身损坏严重,机房微机几乎瘫痪而使得仿真不出理想效果。
图7开始reset为高
图8显示字母“A”
图9显示字母“B”
图10显示字母“H”
图11显示字母“Q”
图12显示字母“X”
图9输入大于“Z”
4、课程设计总结
本次课程设计是用拨码开关控制米字管显示26个字母,要做好本次设计,不仅需要熟练掌握VHDL硬件描述语言并且运用来编写程序,还要理解可编程器件的应用,编程下载,在实验箱的米字管上显示不同的字母。
设计的基本流程一般是:
先分析题目,了解所要做的事情;然后是对题目进行VHDL编程,用时钟或复位等信号进行功能的分配;然后进行仿真,做出仿真图形;最后就是连接管脚,编程下载,在实验箱上进行功能显示。
由于实验室的微机有限而且大多已经损坏或者瘫痪无法使用,实验箱大多也已经不能使用,我换了多次实验箱,连了电路又拆开电路,反反复复多次,总算是实验成功,在实验中,我总结出,先下载程序、再接通米字管,然后连线,在连线中判断实验箱操作性是否合适,若不合适就换实验箱,要合适再往下连接。
通过本次课程设计,我了解了米字管显示的逻辑和时序控制要求,掌握米字管的工作原理及应用及拨码控制模块的控制逻辑,并知道如何用它们设计一个基于FPGA的米字管显示驱动电路。
还学习了操作数字电路设计实验开发系统的方法,巩固了组合逻辑电路、时序逻辑电路的设计方法,可编程器件设计的全过程。
对VHDL语言又有了新的理解和感悟,对电子设计的兴趣也更加浓厚了。
5、参考文献
[1]侯伯亨顾新著.VHDL硬件描述语言与数字逻辑电路设计.西安:
西安电子科技大学出版社,1999
[2]求是科技著.CPLD/FPGA应用开发技术与工程实践.北京:
人民邮电出版社,2005
[3]罗苑棠著.CPLD/FPGA常用模块与综合系统设计实例精讲.北京:
电子工业出版社,2007
[4]任勇峰庄新敏著.VHDL与硬件实现速成.北京:
国防工业出版社,2005
[5]贾立新王涌著.电子系统设计与实践.北京:
清华大学出版社,2011
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北大 系统集成 利用 开关 控制 米字管 进行 字母 显示 说明书