基于FPGA的电子钟实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

signal dcnt:integer range 0 to 100;
signal ledcnt:integer range 0 to 100;
signal beeptemp:std_logic;
--蜂鸣器寄存器
signal ledflag1:std_logic;
signal ledflag2:std_logic;
3 顶层、底层 PCB 版图设计 4 所有元器件清单 5 状态机:
6 电子钟顶层模块:
library ieee; use ቤተ መጻሕፍቲ ባይዱeee.std_logic_1164.all; use ieee.std_logic_unsigned.all;
entity clock is port(sclk:in std_logic; --系统时钟
2 数据接收模块:它有 clk1、rst1 和 rx 三个输入端口,flag 和 dout1[7..0]两个输出端口。Clk1 是时钟信号,为整个模块提供时钟 信号;rst1 是复位信号,可以对整个模块进行复位控制;rx 是数据
接收模块,用以接收来自 PC 机的控制信号;flag 是结束标志,当一 个完整的字节接收完毕时,它的输出为高电平,其他状态时为低电平; dout1[7..0]是数据传输端口,用以传输各种控制数据和显示数据。
二 软件设计
控制窗口用的是 VC 的 MFC 编写的,可以实现计时状态、调时状 态、定时状态的转换。计时状态时,电子钟正常显示时间;在调时状 态时,可以实现调时数据的发送,FPGA 便可以从发送的时间开始计 时;在定时状态时,PC 机可以向 FPGA 发送三个定时时间点,当时间 到定时时间点时蜂鸣器就鸣叫 100s。
end component;
signal flg:std_logic; signal dat:std_logic_vector(7 downto 0);
--串口接收结束标志
signal div:std_logic;
--分频信号
signal cnt:std_logic_vector(23 downto 0); --计数信号
signal ledflag3:std_logic;
type state is(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12);
signal nxt:state;
type rom is array(0 to 5) of std_logic_vector(7 downto 0); signal timer:rom:= rom'("00110010", "00110011", "00110101","00111001", "00110100","00110101"); type rm is array(0 to 6) of std_logic_vector(7 downto 0); signal t:rm:= rm'("00110000","00110010", "00110011", "00110101","00111001", "00110100","00110101"); signal tt:rm:= rm'("00110000","00110010", "00110011", "00110101","00111001", "00110100","00110101"); signal dingshi1:rom:= rom'("00110010", "00110011", "00110101","00111001", "00110100","00110101"); signal dingshi2:rom:= rom'("00110010", "00110011", "00110101","00111001", "00110100","00110101"); signal dingshi3:rom:= rom'("00110010", "00110011", "00110101","00111001", "00110100","00110101");
正确显示出时间,同时又从 PC 机上接收到控制窗口的调时、定时信 息,进而实现调时、定时的功能,这样一个既可以显示时间,又可以 调时、定时的电子钟就做成了。它原理简单,思路清晰,界面友好, 易于控制,是一个简单实用的电子钟设计。
1 电子钟顶层模块:它有 sclk、reset、rxx 三个输入端口和 beep、 enn、rss、rww、dout8[7..0]五个输出端口。sclk 是时钟信号,提 供 40MHz 的系统时钟;reset 是复位信号,用于系统复位;rxx 是串 口接收信号,用于接收来自 PC 机的计时、调时、定时等不同的控制 信号,以便顶层模块能做出正确的处理;beep 为蜂鸣器信号,当时 间到定时时间点时,它就会鸣叫 100s;enn、rss、rww 是液晶显示屏 LCD12864 的三个控制端口,用以控制液晶的工作状态,dout8[7..0] 是液晶的数据端口,用以传输各种数据。
reset:in std_logic; --系统复位 rxx:in std_logic; --串行通信接收端口 beep:out std_logic; --蜂鸣器端口 enn:out std_logic; --LCD使能信号 rss:out std_logic; --LCD数据指令信号 rww:out std_logic; --LCD 读写信号 dout8:out std_logic_vector(7 downto 0)); --数据输出信号 end entity;
architecture one of clock is
component reciever is
--串口数据接收模块
generic(framlenr:integer:=8);
Port (clk1,rst1,rx:in std_logic;
flag:out std_logic;
dout1:out std_logic_vector(7 downto 0));
signal tmp:std_logic_vector(7 downto 0);
signal temp:std_logic_vector(7 downto 0);
signal num:integer range 0 to 37;
signal n:integer range 0 to 5;
signal tcnt:integer range 0 to 1000;
基于 FPGA 的电子钟 贵州大学理学院 王帅 集成电路工程 一 实验要求:
1 正确显示时间的时、分、秒; 2 在 PC 机上编写时间控制窗口,能够实现计时、调时、定时; 3 能够调节时、分、秒; 4 能够设置 3 个定时时间点的时、分、秒;
二 硬件电路设计
本设计是基于 FPGA 的电子钟设计,以 EP1C6Q240C8 为核心控 制芯片,上位机的控制界面用 VC 的 MFC 编写的,显示模块用的是液 晶显示屏 LCD12864,。FPGA 控制时间的产生、输出和 LCD 显示,从而
五 实验结果
实验原理设计合理,实验结果与预期结果相同,能够正确显示时 间,当在正常的计时状态下可以对其进行调时,也可以设置 3 个定时 时间点,当时间到定时时间点时蜂鸣器鸣叫 100s,各项功能都比较 理想。 1 控制窗口定时功能演示
2 液晶显示电子钟时间:
附录:
1 电路原理图总体布局:
2 FPGA 芯片 EP1C6Q240C8 电路布局:
相关文档
最新文档