- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实例1. 交通灯控制器 设计要求 设计方案 各模块电路设计及程序 顶层原理图电路设计 仿真结果 交通控制灯各模块电路的设计 1. 控制模块ctrl 2. 时钟分频模块 3. 分位电路模块 4. 数码管动态扫描显示模块 东西、南北两个方向共用8个数码管显示时间,为节省逻辑器件的I/O,时间显示采用动态扫描的方法。动态扫描的基本原理是对于一组数码管动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。各位数码管的段线并联,段码的输出对各位数码管来说都是相同的。 因此,在同一时刻如果各位数码管的位选线都处于选通状态的话,8位数码管将显示相同的字符。若要各位数码管能够显示出与本位相应的字符,就只让这一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。同时,段线上输出相应位要显示字符的字型码。这样在同一时刻,只有选通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显示出将要显示的字符 。 2.时间显示的实现 设计框图 Quartus II 设计及仿真 entity scandisplay is port( clk,emergencykey:in std_logic; catn:out std_logic_vector(3 downto 0); timeh1,timel1:in std_logic_vector(3 downto 0); num_out:out std_logic_vector(6 downto 0) ); end scandisplay; architecture behav of scandisplay is signal num_in: std_logic_vector(3 downto 0); signal counter:integer range 0 to 1; signal led_chioce:std_logic; Begin 扫描显示模块scandisplay.VHD process(clk) ; --数码管扫描 begin if (clk‘event and clk=’1‘) then counter=counter+1; if counter=1 then num_in=timeh1; led_sel=101; else num_in=timel1; led_sel=100; end if; end if; end process; 扫描显示模块scandisplay.VHD process(num_in) ; --显示译码(共阴?共阳) begin case num_in is when 0000=num_out=?; 。。。。。 when 1001=num_out=?; when others=num_out=?; end case; end process; End behav 扫描显示模块scandisplay.VHD 分频clk_demultiplier.vhd entity clk_demultiplier is generic(div_fre_1kHz:integer:=24999; div_fre_1Hz:integer:=499 ); port( clk:in std_logic; clk_1kHz,clk_1Hz:buffer std_logic); end entity; signal fre_1kHz:integer range 0 to div_fre_1kHz; signal fre_1Hz:integer range 0 to div_fre_1Hz; begin process(clk) --将clk_1kHz =clk/50000 begin if rising_edge(clk) then if (fre_1kHz=div_fre_1kHz) then fre_1kHz=0; clk_1kHz=not clk_1kH
您可能关注的文档
- 结构力学(上册)8学习课件.ppt
- 体外诊断试剂分析和研发学习课件.ppt
- 第二部分高级程序设计语言学习课件.ppt
- 单证学习学习课件.ppt
- 第2部分随机模式的分类方法1学习课件.ppt
- 压缩机的结构及工作原理学习课件.ppt
- 第4部分+线性映射学习课件.ppt
- 第五部分机械能守恒定律学习课件.ppt
- 复变函数详细讲解学习课件.ppt
- 极效团队训练营学习课件.ppt
- 第9部分AT89S51单片机的模数与数模转换设计学习课件.ppt
- 机械设计》复习1学习课件.ppt
- 数学分析2-1学习课件.ppt
- 自动控制原理讲义A1频率特性频率特性概念与典型环部分学习课件.ppt
- Unit9IntroductionandRecommendation学习课件.ppt
- Week11Chapter11学习课件.ppt
- 第四部分空间任意力系,第五部分第一部分材料力学的任务,第五部分第二部分变形固体的基本假设,第五部分第三部分内力和截学习课件.ppt
- 第2讲信息数字化表示学习课件.ppt
- 机械优化设计第二部分优化设计的数学基础学习课件.ppt
- 数值分析第7部分非线性方程求根学习课件.ppt
原创力文档


文档评论(0)