毕业设计196集成音乐演奏功能和LED点阵显示功能的数字电子时钟设计-VHDL.doc

毕业设计196集成音乐演奏功能和LED点阵显示功能的数字电子时钟设计-VHDL

收藏

压缩包内文档预览:
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:544716    类型:共享资源    大小:86.46KB    格式:ZIP    上传时间:2015-12-01 上传人:QQ28****1120 IP属地:辽宁
6
积分
关 键 词:
电器电子毕业设计论文
资源描述:
毕业设计196集成音乐演奏功能和LED点阵显示功能的数字电子时钟设计-VHDL,电器电子毕业设计论文
内容简介:
VHDL - 1 - 集成 音乐演奏功能和 LED 点阵显示功能的数字电子时钟设计 一、 设计内容 集成音乐演奏功能和 LED 点阵显示功能的数字电子时钟系统主要分为三个功能:带有手动调整功能的数字电子时钟、音乐演奏电路和 8*8LED 点阵显示电路。以下分别说明上述三个部分的电路功能和基本工作原理。 1数字电子时钟部分 数字电子时钟 采用六个数码管显示,显示 方式如图 1 所示。 为了减少 CPLD芯片的 I/O 口 资源 占用并且提高 系统的可靠性,数码管显示采用动态扫描方式显 图 1 示。数码管的选通信号真值表如下表 1 所示 。 当数码管的选通信号变化频率大于 数码管选通信号 数码管顺序号 ( 1 表示该数码管被选通) S2 S1 S0 6# 5# 4# 3# 2# 1# 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 表 1 24Hz 时,人眼便分辨不出数码管是依次被点亮的,感觉好像是六个数码管同时被点亮的。 在基本时钟电路实现后,增加手动调整时间功能。该功能描述如下:选择三个按键分别作为调整时钟、分钟、秒钟的按键,当某一按键按下后,该按键对应的计时器从当前计数值以频率大于 1Hz 的脉冲序列作为计数时钟开始计数, 此系统选用 2Hz 的脉冲序列。 当按键松开时,数字时钟以该调整值作为计数 初 值继续计时 。 2音乐演奏电路部分 使用 CPLD 芯片的功率放大外围电路,设计数控分频器,使得电路在外部时钟的驱动下可以演奏设定的音乐。数控分频器的基 本原理是: 对于一个加法计数器 而言,装载不同的计数初始值时 会有不同频率的溢出输出信号 产生。计数器溢出时,输出逻辑高电平,同时反馈给计数器的输入端作为装载信号 ,装载新的计数初值。否则输出逻辑低电平。 根据不同频率的溢出输出信号驱动功率放大电路,便会产生不同音调的声音。 根据数控分频器的基本原理编制合适的循环程序、查表程序便可以实现使用外围功率放大电路演奏一段音乐的目的。 ntsVHDL - 2 - 在音乐演奏电路基本功能实现以后,考虑将源代码嵌入数字电子时钟的源代码中,从而实现当数字时钟整点计时时刻,演奏设定音乐。嵌入方法可以考虑将音乐演奏电 路程序作为子程序供数字时钟主程序调用。 3 8*8LED 点阵显示功能 该功能 是当在数字时钟在计时的时候点阵模块循环显示程序设定的字符。 图 2 点阵的电路原理图如图 2 所示。其中 ROW 为行扫描信号, COL 为 LED 输出信号。比如,当行扫描信号为 11111110 时 ( ROW8ROW1) ,说明此时 选通第一行LED。如果要选通第 5 行 LED,那么行扫描信号应当为 11101111。 在确定哪一行 LED 被选中后,就要通过 LED 输出信号为该行 LED 送入逻辑电平,从电路图可以看出, LED 输出信号为逻辑高电平 时 该位 LED 被点亮。 比如在某一时刻程序选通第一行 LED, 现在要想让 该行 第二位 LED 被点亮,则输出信号为00000010( COL8COL1)。 从上述基本原理可以看出只要让行扫描信号做循环移位就可以实现逐行扫描的功能。循环移位可以通过一条单独指令完成,也可以通过子程序调用、查表等方法实现。 二、 设计原理 本次要求设计的数字电子时钟除了具有基本的计时功能以外还要求在整点时刻播放一段音乐 ,并且在 8*8LED 点阵显示模块上显示字符。因此整套电路分为三个部分:基本数字时钟部分、音乐演奏电路部分和 LED 点阵显示部分。以下分别对上述三个部分的电路 设计原理 进行说明。 1 数字 时 钟 部分 的 设计 原理 数字钟的基本组成部分离不 开计数器,在控制逻辑电路的控制下完成预定的各项功能。数字钟的 原理方框图如 图 3 所示。 标准 时基电路 的产生方法: 为了实现数字电子时钟的计时功能,必然要使用到一个周期是 1s,即频率是1Hz的脉冲序列。由于 晶振产生 的 脉冲 序列 频率稳定 , 可以通过分频的方法得到1Hz准确的脉冲序列。同时为了满足电 路的其他功能需要,比如数码管选通 信号的 频率 要求大于 24Hz,同样可以通过 分频方法得到这一脉冲序列。 ntsVHDL - 3 - 控制逻辑电路 的设计原理: 由计数器的计数过程可知,正常计数时,当秒计数器( 60进制)计数到 59 时,再来一个脉冲,则秒计数器清零,重新开始新一轮的计数,而进位则作为分 计数器的计数脉冲,使分计数器计数加 1。 而 60 进制计数器可用 6 进制计数器和10 进制计数器构成 。 同样的原理,当分计数器计数到 59时,再来一个脉冲,则分计数器清零,小时计数器加 1。当小时计数器计到 24时( 24进制),分计时 器再进位则所有计数器全部清零。因此计数电路需要两个 60进制的计数器和一个 24进制的计数器级联,便可以得到数字电子时钟的基本计数电路。 将手动按键控制功能加入 电路 :把秒计数器的进位脉冲和一个频率为 2Hz的脉冲信号同时接到一个 2选 1数据选 择器的两个数据输入端,而位选信号则接一个脉冲按键开关,当按键 没有 按下 时(即为 逻辑低电平 ),数据选择器将秒计数器的进位脉冲送到分计数器,此时 电子 数字 时 钟正常工作;当按键按下 时(即为 逻辑高电平 ), 数据选择 器将 外 部输入 2Hz 的 脉冲 信号 序列 作为分计 数器的计数脉冲,使其计数频率加快,当 达到正确时间时,松开按键 从而达到调 整 时 间 的目的。调节 分钟计时器、 小时 计时器 的时间 与上述原理相同 。 计数显示电路 的设计原理: 如前所述, 数字时钟系统采用动态扫描方式进行数字送显。而动态扫描 送显方式 的 关键是要确保选通信号与送显字符在时序上保持同步。 比如,当数码管的片选信号 S2S0为 001时,根据表 1可得,此时选通秒钟计时器的十位计数器,那么程序要 完成 在该时刻将 秒钟十位 的计数结果送入 第 2号 数码管。 其余计数器的送显方法与上述原理相同。 图 4 ntsVHDL - 4 - 7 段数码管采用共阴极接法, 电路连接方法如图 4 所示。使用六个相同的数码管进行级联显示。 2 音乐演奏 电路 部分 的 设计 原理 数控分频器 电路 的设计原理: 实现音乐演奏电路的关键是正确设计数控分频器电路。 数控分频器是在通用分频器的基础上添加了由计数溢出信号控制输出信号翻转时刻的特殊分频器。其原理是预先设置计数终值,对于本电路而言设置的计数终值为 2047,当程序载入不同的计数初值以后,在相同时钟的作用下产生溢出信号的时间不同。计数初值大,产生溢出信号的时间短,计数初值小,产生溢出信号的时间长 。根据溢出信号的情况驱动外部功率放大电路就可以产生不同音调的声音。不同音调的声音对应的计数器计数初值如表 2 所示。 表 2 从上述基本原理可以看出,只要编制适当的循环程序和查表程序就可以实现预先设定的功能。 音乐演奏电路的原理框图如图 5所示。 图 5 3 8*8LED 点阵显示 电路 部分 的 设计 原理 点阵显示模块提供 88 点阵输出。点阵的结构实际上是一组很小的发光二极管,排列紧密而且规则。当点亮其中的一些灯,而熄灭一些灯时,点阵就可以显示图符。 88 的点阵引脚有十八根,其中电源和地线引脚各一根,八根行扫描引脚,八根列扫描引脚。 点阵 的详细电路原理图如图 2所示。 点阵工作时,电源和地线固定连接好,当某一些行扫描和列扫描有信号时,点阵中对应交 点上发光二极管被点亮。但是使用这种方法只能使点阵显示 一行 LED的信息 。 如果需要显示更为复杂的图符,需要用另外一种方法,既行扫描信号是以固定周期和固定次序循环变化,而列扫描信号在行扫描信号在某一特定值时,给出一组特定的数据。当行扫描信号变化周期比较快时,通过肉眼观察到的图符就是一个完整的。通过这种方法,可以用点阵显示复杂的图符。如果设计成点阵显示图符按某种事先指定的方法变化,则可以显示动画或其它信息。 控 制信号的使用方法在设计内容部分已经作了说明。 音调 音符 1 2 3 4 5 6 7 初 始 值 高 1730 1750 1770 1790 1815 1830 1930 中 1410 1490 1560 1600 1622 1650 1690 低 773 912 1036 1116 1197 1290 1372 次低 100 200 300 400 500 600 700 ntsVHDL - 5 - 三、 设计过程 多功能数字电子时钟的设计原理采用自顶向下的设计方法,也就是将大系统 分解为多个小系统。分解过程见图 5。为了实现多功能数字时钟的各个功能,首 图 5 先要实现小系统的功能,也就是说实现过程采用自底向上的方法。 实现的顺序为:十进制 数码管显示电路 带清零、使能信号的十进制数码管显示电路 任意进制计数器(仿真试验即可) 采用动态扫描显示方法的 60 进制显示电路 基本数字时钟 电路 通用分频器 数控分频器 音调计数初值装载电路 8*8LED 点阵显示电路 联调。 以下将根据上述设计步骤 并且结合源代码 详 细说明各个部分的 设计过程。 以下程序全部经过调试并且可以实多功能电子 数字 时 钟 基本数字时钟电路 音乐演奏电路 8*8LED 点阵显示电路 手动调整功能 60 进制计数器 24 进制计数器 6进制计数器 10 进制计数器 数控分频器 音调计数初值 功率放大电路 通用分频器 送显电路 行扫描 电路 输出值电路 ntsVHDL - 6 - 现预期功能。 -带清零信号的十进制计数器,单独使用一个数码管进行显示 - LIBRARY ieee; USE ieee.std_logic_1164.all; - ENTITY sevenseg IS PORT ( clk, reset: IN STD_LOGIC; digit: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); END sevenseg; - ARCHITECTURE behave OF sevenseg IS BEGIN PROCESS (clk, reset) VARIABLE temp: INTEGER RANGE 0 TO 10; BEGIN IF (reset = 1 ) THEN temp:= 0; ELSIF (clkEVENT AND clk = 1) THEN IF (temp=10) THEN temp:= 0; ELSE temp:= temp+1; END IF; END IF; CASE temp IS WHEN 0 = digit digit digit digit digit digit digit digit digit digit NULL; END CASE; END PROCESS; END behave; -一千进制计数器(可以扩展为 60 进制和 24 进制计数器 ) - ntsVHDL - 7 - LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.ALL; - ENTITY counter1000 IS PORT( clk: in STD_LOGIC; qa: out STD_LOGIC_VECTOR(3 DOWNTO 0); qb: out STD_LOGIC_VECTOR(3 DOWNTO 0); qc: out STD_LOGIC_VECTOR(3 DOWNTO 0); qd: out STD_LOGIC_VECTOR(3 DOWNTO 0); END counter1000; - ARCHITECTURE behave OF counter1000 IS signal tma: STD_LOGIC_VECTOR(3 DOWNTO 0); signal tmb: STD_LOGIC_VECTOR(3 DOWNTO 0); signal tmc: STD_LOGIC_VECTOR(3 DOWNTO 0); signal tmd: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN process(clk)
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:毕业设计196集成音乐演奏功能和LED点阵显示功能的数字电子时钟设计-VHDL
链接地址:https://www.renrendoc.com/p-544716.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!