ImageVerifierCode 换一换
格式:DOC , 页数:20 ,大小:590KB ,
资源ID:2541649      下载积分:25 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-2541649.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课程设计(论文)实验报告-基于VHDL的数字钟设计.doc)为本站会员(微传9988)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

课程设计(论文)实验报告-基于VHDL的数字钟设计.doc

1、本科实验报告题目:数字钟课程名称: 学院(系): 专 业: 班 级: 学生姓名: 学 号: 完成日期: 成 绩: 2011 年 12 月 12 日题目:数字钟1 设计要求系统功能: 1.计时,数码管显示的时 、 分 、 秒的十进制数字显示(小时从 0023)计时器2.星期,lcd1602 显示星期:MON/TUE/WEN/THU/FRI/SAT/SUN3.校准,具有手动校星期、校时、校分、校秒的功能。4.秒表,显示 1%秒、60 秒, 60 分,能手动开始和停止5.闹钟,能在设定的时间发出闹铃声。6.整点报时,即从 59 分 55 秒起,每隔 1 秒钟发出一次低音“嘟”的信号,连续 2 次,最

2、后一次为高音“嘀”的信号,此信号结束即达到整点,发音的同时伴有 led 闪烁。7.倒计时,能在设定的时间开始倒计时,至 0 时 0 分 0 秒停止2 设计分析及系统方案设计一设计分析:依据功能要求,程序分为:1. 计时与校准模块 计时:秒钟计数到 59 后清零并向分钟进一位,分钟计数到 59 后清零并向时钟进一位,时钟计数到 23 后清零并向星期进一位,星期按照MON/TUE/WEN/THU/FRI/SAT/SUN 循环变化 校准:使用 k1/k0 两个功能键, k1 切换要改变的位,k0 校正2. 数码管显示模块 显示译码 利用 k3 切换显示内容,根据不同模式关闭用不到的数码管。3. lc

3、d 显示模块定义七个常量数组,数组内容分别为 MON/TUE/WEN/THU/FRI/SAT/SUN 的ASC码。液晶初始化液晶显示,将相应字母的 ASC码写入 ddram 的相应地址中,由 cnt1 值决定地址,cnt1 由 0 到 2 循环,因此用到 lcd 开始的前三个位显示字符。由星期(m)值决定写入内容,m 值不同,cnt1 扫描显示的就是不同的数组。4. 闹钟与整点报时模块 整点报时:利用分频得到 1k 和 0.5k 的频率,当分钟位到达59 ,秒钟位为55 、 57时,将 0.5k 频率接到输出引脚,秒钟位为59时,将 1k 频率接到输出引脚。 闹钟:到达闹钟时间,将 1k 频率

4、接到输出引脚,时长 3 秒 Led 闪烁:将 led 输出引脚连接至频率输出引脚即可(设为 inout)5. 秒表模块 开启显示 1%秒、60 秒、 60 分的数码管。显示小时的数码管关闭 手动开始和停止,停止时显示计时终止时间6. 倒计时模块 显示小时、分钟,秒。显示毫秒的数码管关闭。 可以利用 k2 切换倒计时与设置倒计时时间状态,利用 k1 与 k0 设置倒计时时间。 至 0 时 0 分 0 秒倒计时终止,此时自动切换至时间设置状态。二系统总体结果框图:3 系统以及模块硬件电路设计数码管(图中只有 1 个,共用 8 个):数码管共阴极,故输入低电平管亮 开关(4 个全用):按键按下时为低

5、电平50MHZ计时与校准闹钟与整点报时秒表倒计时计时 校准闹钟 整点报时设置闹钟时间 时间到闹钟响Key1切换校准位 Key0校准数码管显示LCD显示星期Key3切换模式Key2切换状态Key3切换状态 分频器发光二极管(全部使用):引脚为高电平时 led 亮DE2 开发板上使用的元件的管脚编号:接口名称 类型 引脚号 说明bs Bidir PIN_K19 蜂鸣器clk Input PIN_N2 50mhz 时钟k0 Input PIN_G26k1 Input PIN_N23k2 Input PIN_P23k3 Input PIN_W26 控制按键lcd_blon Output PIN_K2

6、lcd 背光灯LCD_Data0 Output PIN_J1LCD_Data1 Output PIN_J2LCD_Data2 Output PIN_H1LCD_Data3 Output PIN_H2LCD_Data4 Output PIN_J4LCD_Data5 Output PIN_J3LCD_Data6 Output PIN_H4LCD_Data7 Output PIN_H3 lcd 数据输入LCD_EN Output PIN_K3 lcd 使能lcd_on Output PIN_L4 lcd 开启lcd_rs Output PIN_K1 寄存器选择信号Reset input PIN_N2

7、5 lcd 复位LCD_RW Output PIN_K4 液晶读写信号led0 Output PIN_AE23led1 Output PIN_AF23led2 Output PIN_AB21led3 Output PIN_AC22led4 Output PIN_AD22led5 Output PIN_AD23 整点报时及闹钟显示led6 Output PIN_AD21led7 Output PIN_AC21led8 Output PIN_AA14led9 Output PIN_Y13led10 Output PIN_AA13led11 Output PIN_AC14led12 Output P

8、IN_AD15led13 Output PIN_AE15led14 Output PIN_AF13led15 Output PIN_AE13led16 Output PIN_AE12led17 Output PIN_AD12led18 Output PIN_AE22led19 Output PIN_AF22led20 Output PIN_W19led21 Output PIN_V18led22 Output PIN_U18led23 Output PIN_U17led24 Output PIN_AA20led25 Output PIN_Y18mbp0 Output PIN_V20mbp1 O

9、utput PIN_V21mbp2 Output PIN_W21mbp3 Output PIN_Y22mbp4 Output PIN_AA24mbp5 Output PIN_AA23mbp6 Output PIN_AB24 秒表高位mbq0 Output PIN_AF10mbq1 Output PIN_AB12mbq2 Output PIN_AC12mbq3 Output PIN_AD11mbq4 Output PIN_AE11mbq5 Output PIN_V14mbq6 Output PIN_V13 秒表低位mp0 Output PIN_T2mp1 Output PIN_P6mp2 Out

10、put PIN_P7mp3 Output PIN_T9mp4 Output PIN_R5mp5 Output PIN_R4mp6 Output PIN_R3 分高位mq0 Output PIN_U9mq1 Output PIN_U1mq2 Output PIN_U2 分低位mq3 Output PIN_T4mq4 Output PIN_R7mq5 Output PIN_R6mq6 Output PIN_T3p0 Output PIN_Y23p1 Output PIN_AA25p2 Output PIN_AA26p3 Output PIN_Y26p4 Output PIN_Y25p5 Outpu

11、t PIN_U22p6 Output PIN_W24 秒高位q0 Output PIN_AB23q1 Output PIN_V22q2 Output PIN_AC25q3 Output PIN_AC26q4 Output PIN_AB26q5 Output PIN_AB25q6 Output PIN_Y24 秒低位hp0 Output PIN_L3hp1 Output PIN_L2hp2 Output PIN_L9hp3 Output PIN_L6hp4 Output PIN_L7hp5 Output PIN_P9hp6 Output PIN_N9 时高位hq0 Output PIN_R2hq

12、1 Output PIN_P4hq2 Output PIN_P3hq3 Output PIN_M2hq4 Output PIN_M3hq5 Output PIN_M5hq6 Output PIN_M4 时低位4 系统的 VHDL 设计 VHDL 语言源代码VHDL 语言源代码:clock.vhd:ieee.std_logic_arith.all;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clock isport(clk:in std_logic;led:out std_logi

13、c_vector(25 downto 0);k0: in std_logic;k1: in std_logic;k2: in std_logic;k3: in std_logic;bs: inout std_logic;-整点报时及闹钟mbp,mbq,p,q,mp,mq,hp,hq:out std_logic_vector(6 downto 0);-p 高 q 低reset : in std_logic; lcd_rs : out std_logic; -寄存器选择信号LCD_RW : out std_logic; -液晶读写信号LCD_EN : out std_logic; -液晶时钟信号l

14、cd_on : out std_logic;lcd_blon:out std_logic; LCD_Data : out std_logic_vector(7 downto 0); -液晶数据信号end;architecture a of clock iscomponent segport(inp:in integer range 0 to 10;outp:out std_logic_vector(6 downto 0);end component;component lcdPort ( CLK : in std_logic; -状态机时钟信号,同时也是液晶时钟信号m : in integer

15、 range 1 to 7;-显示的星期转换Reset : in std_logic; LCD_RS : out std_logic; -寄存器选择信号LCD_RW : out std_logic; -液晶读写信号LCD_EN : out std_logic; -液晶时钟信号lcd_on : out std_logic;lcd_blon:out std_logic;LCD_Data : out std_logic_vector(7 downto 0); -液晶数据信号end component;component rem1Port ( rint:in integer range 0 to 99

16、;ri:inout integer range 0 to 10);end component;signal cp:std_logic;-0.01 秒signal state:std_logic_vector(1 downto 0);-状态:00:计时与校准;01:秒表;10:闹钟;11:倒计时signal jjstate:std_logic;-状态:0:计时;1:校准signal dstate:std_logic;-倒计时状态:1:倒计时;0:设置时间signal djzstate:std_logic_vector(1 downto 0);-倒计时设置位的状态signal mbi,mbj,i,

17、j,mi,mj,hi,hj:integer range 0 to 10;-i 高 j 低signal hour,min,sec:integer range 0 to 99;-计时signal mbnum,mbsec,mbmin:integer range 0 to 99;-秒表signal dhour,dmin,dsec:integer range 0 to 99;-倒计时signal mod_dsec,mod_dmin,mod_dhour,mod_mbnum,mod_mbsec,mod_mbmin,mod_nzhour,mod_nzmin1,mod_nzmin,mod_sec,mod_min

18、,mod_hour:integer range 0 to 10;-取高位值signal nzhour,nzmin:integer range 0 to 59;-闹钟signal week:integer range 1 to 7;-星期signal week1:integer range 1 to 7;-更改星期中间变量signal jzstate:std_logic_vector(1 downto 0);-计时设置位的状态signal change_dstate:std_logic;-倒计时至 0 自动改变至设置状态beginprocess(clk)variable num:integer

19、range 0 to ;beginif rising_edge(clk) thenif num= thencpdjzstatedjzstatedjzstatedjzstateif dnum2=10 then dnum2:=0;if dhour=23 then dhour-分校准if dnum2=10 thendnum2:=0;if dmin=59 thendmin-秒校准if dnum2=10 thendnum2:=0;if dsec=59 thendsecnull;end case;end if;end if;end if;end if;end process;process(k1,stat

20、e,jjstate)beginif rising_edge(k1) thenif state=“00“ thenif jjstate=1 thencase jzstate iswhen “00“=jzstatejzstatejzstatejzstatejzstatestatestatestatestatestatejjstatejjstatejjstateif num2=29 thennum2:=0;if week=7 thenweekif num2=29 thennum2:=0;if hour=23 thenhour-分校准if num2=10 thennum2:=0;if min=59 t

21、henmin-秒校准if num2=10 thennum2:=0;if sec=59 thensecnull;end case;end if;-else-计时if num1=99 thennum1:=0;if sec=59 thensecoutpoutpoutpoutpoutpoutpoutpoutpoutpoutp outp cnt1:=“00000“; LCD_Data LCD_Data LCD_Data LCD_Data if cnt1=“00011“ thencnt1:=“00000“;LCD_Data LCD_RSLCD_DataLCD_DataLCD_DataLCD_DataLCD

22、_DataLCD_DataLCD_Datanull;end case;cnt1:=cnt1+1;Current_State Current_State null;end case;end if;end process;end Behavioral;rem1.vhd:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity rem1 is-取高位运算port(rint:in integer range 0 to 99;ri:inout integer range 0 to 10);end;arc

23、hitecture r of rem1 isbeginprocess(rint,ri)beginif rint=90 then ri=80 then ri=70 then ri=60 then ri=50 then ri=40 then ri=30 then ri=20 then ri=10 then riyF 邴 ?詑 攗檢锟袥匏=憌?&丹?鐘 w 鲽毨G 艟*鍚揝?剾貀 窴*権?K 猞i? 僗 野 x.?=萙 S?穊堺 e 崖?*g 繍Y 犡 cn*唇?竟瘡缀頎y?挤lo 睈y 軩-%q1?r?.鍼 t 滜?jMR=cZ?X?Pox 邦漺“癬 c 荵“ 挜 FQ?yF 邴 ?詑 攗檢锟袥匏

24、=憌?&丹?鐘 w 鲽毨G 艟*鍚揝?剾貀 窴*権?K 猞i? 僗 野 x.?= 萙 S?穊堺 e 崖?*g 繍Y 犡 cn*唇?竟瘡缀頎y?挤lo 睈y 軩-%q1?r?.鍼 t 滜?jMR=cZ?X?Pox 邦漺“癬 c 荵“ 挜 FQ?yF 邴 ?詑 攗檢锟袥匏=憌?&丹?鐘 w 鲽毨G 艟*鍚揝?剾貀 窴*権?K 猞i? 僗 野 x.?= 萙 S?穊堺 e 崖?*g 繍Y 犡 cn唇?竟瘡缀 頎y? 挤lo 睈y 軩-%q1?r?. 鍼 t 滜?jMR=cZ?X?Pox 邦漺“癬 c 荵“挜 FQ?*鍚揝?剾貀 窴*権?K 猞i? 僗 野x.?=萙 S?穊堺 e 崖?*g 繍Y 犡 c

25、n唇?竟瘡缀 頎y? 挤lo 睈y 軩-%q1?r?. 鍼 t 滜?jMR=cZ?X?Pox 邦漺“癬 c 荵“挜 FQ?yF 邴 ?詑 攗檢锟袥匏=憌?&丹?鐘 w 鲽毨G 艟*鍚揝?剾貀 窴*権?K 猞i? 僗 野 x.?=萙 S?穊堺 e 崖?*g 繍Y 犡 cn曦*唇?竟瘡缀頎y?挤lo 睈y 軩-%q1?r?.鍼 t 滜?jMR=cZ?X?Pox 邦漺“癬 c 荵“ 挜 FQ?yF 邴 ?詑 攗檢锟袥匏=憌?&丹?鐘 w 鲽毨G 艟*鍚揝?剾貀 窴*権?K 猞i? 僗 野 x.?= 萙 S?穊堺 e 崖?*g 繍Y 犡 cn曦*唇?竟瘡缀頎y?挤lo 睈y 軩-%q1?r?.鍼 t

26、滜?jMR=cZ?X?Pox 邦漺“癬 c 荵“ 挜 FQ?yF 邴 ?詑 攗檢锟袥匏=憌?&丹?鐘 w 鲽毨G 艟*鍚揝?剾貀 窴*権?K 猞i? 僗 野 x.?=萙 S?穊堺 e 崖?*g 繍Y 犡 cn*唇?竟瘡缀頎y?挤lo 睈y 軩-%q1?r?.鍼 t 滜?jMR=cZ?X?Pox 邦漺“癬 c 荵“ 挜 FQ?yF 邴 ?詑 攗檢锟袥匏=憌?&丹?鐘 w 鲽毨G 艟*鍚揝?剾貀 窴*権?K 猞i? 僗 野 x.?= 萙 S?穊堺 e 崖?*g 繍Y 犡 cn唇?竟瘡缀 頎y? 挤lo 睈y 軩-%q1?r?. 鍼 t 滜?jMR=cZ?X?Pox 邦漺“癬 c 荵“挜 FQ?*鍚

27、揝?剾貀 窴*権?K 猞i? 僗 野 x.?= 萙 S?穊堺 e 崖?*g 繍Y 犡 cn*唇?竟瘡缀頎y?挤lo 睈y 軩-%q1?r?.鍼 t 滜?jMR=cZ?X?Pox 邦漺“癬 c 荵“ 挜 FQ?yF 邴 ?詑 攗檢锟袥匏=憌?&丹?鐘 w 鲽毨G 艟*鍚揝?剾貀 窴*権?K 猞i? 僗 野 x.?= 萙 S?穊堺 e 崖?*g 繍Y 犡 cn唇?竟瘡缀 頎y? 挤lo 睈y 軩-%q1?r?. 鍼 t 滜?jMR=cZ?X?Pox 邦漺“癬 c 荵“挜 FQ?*鍚揝?剾貀 窴*権?K 猞i? 僗 野 x.?= 萙 S?穊堺 e 崖?*g 繍Y 犡 cn曦*唇?竟瘡缀頎y?挤lo 睈y 軩-%q1?r?.鍼 t 滜?jMR=cZ?X?Pox 邦漺“癬 c 荵“ 挜 FQ?J 鍔 峜摤蚗平绂?B

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报