欢迎来到天天文库
浏览记录
ID:51633548
大小:255.00 KB
页数:24页
时间:2020-03-26
《应用VHDL设计数字系统-电子琴和音乐播放器的设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、EDA技术及其应用第4章应用VHDL设计数字系统项目1:电子琴的设计设计目标:设计一个电子琴,具有8个按键,当按下某一个按键的时候,能够演奏8个音符之一:1、2、3、4、5、6、7、H1视频演示知识点:熟练掌握计数器的设计方法;熟练掌握可变分频器的设计方法;熟练掌握IF语句的使用;熟练掌握CASE语句的使用;项目1:电子琴的设计项目分析:设计问题:如何发出不同音调的声音?需要:可变分频器(数控分配器)项目1:电子琴的设计项目1:电子琴的设计项目分析:设计关键1:可变分频器(数控分配器)!项目1:电子琴的设计LIBRARYIEEE;
2、USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT10ISPORT(CLK,RST,EN:INSTD_LOGIC;CNT:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDCNT10;知识回顾:10进制计数器设计项目1:电子琴的设计ARCHITECTUREbehavOFCNT10ISBEGINPROCESS(CLK,RST,EN)VARIABLECNTI:STD_LOGIC_VECTOR(3DO
3、WNTO0);BEGINIFRST='1'THENCNTI:=(OTHERS=>'0');--计数器异步复位ELSIFCLK'EVENTANDCLK='1'THEN--检测时钟上升沿IFEN='1'THEN--检测是否允许计数(同步使能)IFCNTI<9THEN--检测是否小于9CNTI:=CNTI+1;--小于9,允许加1计数ELSECNTI:=(OTHERS=>‘0’);--大于等于9,计数值清零ENDIF;ENDIF;ENDIF;IFCNTI=9THENCOUT<=‘1’;--计数等于9,输出进位信号ELSECOUT<='0
4、';ENDIF;CNT<=CNTI;--将计数值向端口输出ENDPROCESS;ENDbehav;知识回顾:10进制计数器设计仿真结果:10进制计数器设计结论:计数器就可以完成分频器的任务!项目1:电子琴的设计项目1:电子琴的设计LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT_NISPORT(CLK,RST,EN:INSTD_LOGIC;N:INSTD_LOGIC_VECTOR(11DOWNTO0);CNT:OUTSTD
5、_LOGIC_VECTOR(11DOWNTO0);COUT:OUTSTD_LOGIC);ENDCNT_N;设计关键:N进制计数器设计——可变分频器项目1:电子琴的设计ARCHITECTUREbehavOFCNT_NISBEGINPROCESS(CLK,RST,EN)VARIABLECNTI:STD_LOGIC_VECTOR(11DOWNTO0);BEGINIFRST='1'THENCNTI:=(OTHERS=>'0');--计数器异步复位ELSIFCLK'EVENTANDCLK='1'THEN--检测时钟上升沿IFEN='1'TH
6、EN--检测是否允许计数(同步使能)IFCNTI'0');--大于等于N-1,计数值清零ENDIF;ENDIF;ENDIF;IFCNTI=N-1THENCOUT<=‘1';--计数等于N-1,输出进位信号ELSECOUT<=‘0';ENDIF;CNT<=CNTI;--将计数值向端口输出ENDPROCESS;ENDbehav;设计关键:N进制计数器设计——可变分频器设计关键:N进制计数器设计——可变分频器
7、结论:COUT实现了N分频,但是占空比是1/N,能量不足,无法驱动蜂鸣器工作。N分频,占空1/N项目1:电子琴的设计项目1:电子琴的设计LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT_NISPORT(CLK,RST,EN:INSTD_LOGIC;N:INSTD_LOGIC_VECTOR(11DOWNTO0);CNT:OUTSTD_LOGIC_VECTOR(11DOWNTO0);COUT:OUTSTD_LOGIC);END
8、CNT_N;设计关键:改进的N进制计数器——可变分频器,COUT占空比50%项目1:电子琴的设计ARCHITECTUREbehavOFCNT_NISBEGINPROCESS(CLK,RST,EN)VARIABLECNTI:STD_LOGIC_VEC
此文档下载收益归作者所有