版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录 TOC o 1-3 h z u HYPERLINK l _Toc329084295 设计功能要求 PAGEREF _Toc329084295 h 3 HYPERLINK l _Toc329084296 方案分析选择与系统框图 PAGEREF _Toc329084296 h 4 HYPERLINK l _Toc329084297 模块功能分析 PAGEREF _Toc329084297 h 6 HYPERLINK l _Toc329084298 仿真下载结果 PAGEREF _Toc329084298 h 9 HYPERLINK l _Toc329084299 主要经历 PAGEREF _
2、Toc329084299 h 10 HYPERLINK l _Toc329084300 操作指南 PAGEREF _Toc329084300 h 11 HYPERLINK l _Toc329084301 相关代码 PAGEREF _Toc329084301 h 12设计功能要求一.设计任务数字钟不仅可以通过数字直观地显示日历,时间,用音乐及语言报时,还可以定时发出各种声,光,电信号,以及启动各种设备实现实时控制,时间顺序控制.如作息时间自动打铃,家电设备自动定时启动/停顿,生产过程顺序控制等,用途很广.本课题的要求是:1/设计一个具有时,分,秒计时,6位数字显示的时钟电路.2/具有快速校准时,
3、分的校时功能.3/具有仿电台的自动整点报时功能或者发出与整点数目相等的音响声.4/具有一定的扩展功能二.设计要求1/分析设计任务,拟定多种设计方案,根据当时的制作条件选择其中一种方案绘制系统框图和设计流程.2/设计各局部单元电路或编写VHDL描述程序,计算元器件参数,确定元器件型号和数量,提出元件清单.3/安装调试硬件电路或制作CPLD/FPGA为根底的专用集成芯片ASIC.4/对制作的电路进展功能测试,分析各项技术指标,或对VHDL描述进展功能仿真,对ASIC作硬件测试或脱机运行.5/总结设计各环节的资料,整理打印出设计报告(含原理电路,仿真波形).交验并演示设计制作的电路装置.方案分析选择
4、与系统框图方案分析选择1/使用的是开发板,应选择编写VHDL描述程序,并结合AltiumDesigner中提供的元件绘制原理图,下载到开发板上.2/开发板上的资源包括:LCD显示屏,蜂鸣器,键盘,拨盘开关,各种频率的方波信号,各种对外接口,LED灯等.根据板上资源和需要实现的功能,我选择了使用以下板上资源,并实现以下功能:LCD显示屏用于显示时分秒计时蜂鸣器用于整点报时与闹铃功能拨盘开关用于时间设定,闹铃设定与声音开关方波信号经过分频后作为时钟信号输入和蜂鸣器发声系统原理框图整点报时模块声音模块蜂鸣器存储器模块控制模块拨盘开关信号发生器时钟显示模块LCD显示屏计时模块硬件原理图模块功能分析计时
5、模块计时模块具有时,分,秒的计时功能,每收到一个时钟信号,秒个位计算加一,在各个位加满时,重新置零,并向下一位进一.同时,输出端口会把秒个位,秒十位,分个位,分十位,时个位,时十位的8位数字信号输出到各个模块.显示模块LCD显示模块需要将显示代码与位置代码输入控制模块并给与脉冲,就会在相应的位置显示相应的字符,为了使得显示没有滞后,因此给较高的脉冲频率.因为我们要显示时分秒一共6位数字,因此需要写一个LCD扫描输出模块,时刻显示变化的时间. LCD扫描输出需要把计时模块输出的8位BCD码加上48转化为ASC2码.并且在时分秒之间参加冒号区分.存储器模块存储器模块的地址信号为计时模块的分个位,分
6、十位,时个位,时十位有效位,写入的信号由拨盘开关sw4控制,输出的信号到声音模块的使能.写入开关由拨盘开关sw3控制.在需要闹铃的时间写入一,那么就会读出一,对声音模块使能,使其发声.整点报时模块整点报时模块的输入取上图的几个关键数据,当这些数据都为1时,此时为整点报时的时间,那么对声音模块使能,使其发声.声音模块声音模块包括音调选择以及开关整点报时与闹铃的模块.用来实现不同的要求与功能.仿真下载结果计时模块仿真图下载结果第一次下载的时候,因为很多地方都不知道,不是没接好线就是没有改名字,造成编译正常但是无法下载的结果.后来通过自己的摸索与请教他人,终于实现了下载.但是下载后又发现了许多意想不
7、到的错误.用了很长的时间,我才把这些都弄清楚并且解决掉.最后终于实现了自己的预定功能.主要经历 在电子技术课程设计之前,我先做了单片机课程设计.做单片机课程设计的时候,是一边拿着板子一边不断下载测试,一点点完善程序的,但是当我做电子技术课程设计时,因为板子不在身边,所以自己在寝室写的程序无法验证.因此在这些地方浪费了很多时间,直到我在实验室待了两天时间,才把问题解决掉.所以我明白,做这种设计,必须不断的实践测试,才能知道自己缺乏在哪里,才知道设计有什么不完善的地方.无论做什么事,如果你手边有实验的条件,那么做什么事,学习什么东西都可以事半功倍.还有,经历很重要.如果是一开场什么都没有做过,那么
8、各种各样的问题会接踵而来,而且你不知道从何解决.但是当你有了经历后,就可以很快知道终究在什么地方出现了问题.在开场阶段,如果有一个教师,那一定是无比幸运的事情.他能够告诉你你需要知道什么,能够告诉你如何发现错误,那样就节省了很多自己摸索的时间.最后一点,要知道规那么,如果连语言规那么和软件规那么都不知道,那么怎么能好好地设计呢?靠自己的摸索想要摸索规那么不是不可以,但是也会花太多的时间.所以如果在开场阶段能够看几本根底的书,不需要记住,只要有印象,那么以后在碰到问题的时候就知道在哪里可以找到解决方法,就可以容易地学习好这个课程.总结起来,电子技术课程设计的学习,如果有3点条件,就可以比拟简单的
9、入门了.1/看关于语言规那么,软件操作的书.熟悉根底.2/多做实验,从实验中获得丰富的经历.3/多向别人请教.操作指南本设计使用拨盘开关作为控制输入.sw0为LCD灯开关,打上为关,打下为开.sw1为闹铃开关,打上为关,打下开.sw2为整点报时开关, 打上为关,打下开.sw3为闹铃写入开关,打上为关,打下为RAM写入模式,此时可以利用sw4设定闹铃.sw4为闹铃设定开关,在sw3为写入时有效,打上为取消闹铃,打下为设定闹铃.sw5为时调整,打上为关,打下为开场时调整,此时分秒均置为零,时以每秒1的速度增加.sw6为分十位调整, 打上为关,打下为开场分十位调整,此时分个位和秒均置为零,分十位以每
10、秒1的速度增加.sw7为分十位调整, 打上为关,打下为开场分个位调整,此时秒均置为零,分个位以每秒1的速度增加.提醒,调整时间时,应按一下顺序调整.时-分十位-分个位相关代码整点报时音调选择模块clibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity chose is port ( en,chosein,clkin1,clkin2: in std_logic; clkout: out std_logic );end chose;arc
11、hitecture change of chose isbegin process(clkin1,clkin2,en,chosein) begin if en=1 then if chosein=1 then clkout=clkin1; else clkout=clkin2; end if; else clkout=1; end if; end process;end change;计时模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;
12、entity counter is port ( clk,changemint,changemino,changeh: in std_logic; so,st,mino,mint,ho,ht: buffer std_logic_vector(7 downto 0) );end counter;architecture add of counter isbegin process(clk,so,st,mino,mint,ho,ht,changemint,changemino,changeh) begin if rising_edge(clk) then so=so+1; if so=x09 th
13、en st=st+1; so=x00; end if; if (st=x05 and so=x09) or changemino=1 then mino=mino+1; st=x00; so=x00; end if; if (mino=x09 and st=x05 and so=x09) or changemint=1or (changemino=1 and mino=x09) then mint=mint+1; mino=x00; st=x00; so=x00; end if; if (mint=x05 and mino=x09 and st=x05 and so=x09) or chang
14、eh=1 or (changemint=1 and mint=x05) or (changemino=1 and mino=x09 and mint=x5) then ho=ho+1; mint=x00; mino=x00; st=x00; so=x00; end if; if( ho=x09 and mint=x05 and mino=x09 and st=x05 and so=x09) or (changeh=1 and ho=x09) then ht=ht+1; ho=x00; mino=x00; st=x00; so=x00; mint=x00; end if; if(ht=x02 a
15、nd ho=x03 and mint=x05 and mino=x09 and st=x05 and so=x09) or (changeh=1 and ht=x02 and ho=x03) then ht=x00; ho=x00; mino=x00; st=x00; so=x00; end if; end if; end process;end add;声音开关模块onoff.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;enti
16、ty onoff is port ( en,clkin: in std_logic; clkout: out std_logic );end onoff;architecture en of onoff isbegin process(clkin,en) begin if en=1 then clkout=clkin; else clkout=1; end if; end process;end en;闹铃音乐模块ring.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_
17、logic_unsigned.all;entity ring is port ( clkin1,clkin2,clkin3,clkin4,clk,en: in std_logic; clkout: out std_logic );end ring;architecture change of ring issignal num : integer;begin process(clk,num,clkin1,clkin2,clkin3,clkin4,en) begin if en=1 then if rising_edge(clk) then num=num+1; end if; if num=9
18、 then num=0; end if; if num=1 then clkout=clkin1; elsif num=2 then clkout=clkin2; elsif num=3 then clkout=clkin3; elsif num=4 then clkout=clkin4; elsif num=5 then clkout=clkin4; elsif num=6 then clkout=clkin3; elsif num=7 then clkout=clkin2; elsif num=8 then clkout=clkin1; end if; else clkout=1; end
19、 if; end process;end change;显示扫屏模块show.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity show is port ( clk: in std_logic; data1,data2,data3,data4,data5,data6: in std_logic_vector(7 downto 0); add: out std_logic_vector(3 downto 0); dataout: out std_logic_vector(7 downto 0) );end show;architecture change of show issignal num : integer;begin process(clk,data1,data2,data3,data4,data5,data6,num) begin if rising_edge(clk) then num=num+1; if num=7 then num=0; end if; end if; if num=0 then add=x1; dataout=data1+x30; elsif
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度创城项目墙面翻新与美化专项经费施工合同4篇
- 2025年医院中医科科室承包服务合同范本4篇
- 2025年道路桥梁内外脚手架安全防护系统承包协议3篇
- 2025版木托盘国际标准接轨合同4篇
- 2025年度智能家居系统升级装修合同
- 2025年度预制木屋模块化装配合同4篇
- 2025年度充电桩场地租赁与充电设施投资合同4篇
- 2025餐饮业三人合作投资合作协议书3篇
- 二零二五年度内蒙古工业大学校园照明系统升级改造合同3篇
- 智慧城市中的大数据与云计算-深度研究
- 电缆挤塑操作手册
- 浙江宁波鄞州区市级名校2025届中考生物全真模拟试卷含解析
- 2024-2025学年广东省深圳市南山区监测数学三年级第一学期期末学业水平测试试题含解析
- IATF16949基础知识培训教材
- 【MOOC】大学生创新创业知能训练与指导-西北农林科技大学 中国大学慕课MOOC答案
- 劳务派遣公司员工考核方案
- 基础生态学-7种内种间关系
- 2024年光伏农田出租合同范本
- 《阻燃材料与技术》课件 第3讲 阻燃基本理论
- 2024-2030年中国黄鳝市市场供需现状与营销渠道分析报告
- 新人教版九年级化学第三单元复习课件
评论
0/150
提交评论