云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于LCD1602的简易秒表的设计与实现

基于LCD1602的简易秒表的设计与实现

  • 62 次阅读
  • 3 次下载
  • 2025/6/15 18:28:00

数字电路与逻辑设计

实验报告

学院: 电子工程学院 班级: 2014211212 姓名: 学号: 班内序号:

第 1 页 共 37 页

一、设计课题的任务要求

简易秒表的设计与实现

设计制作一个计时精度为百分之一秒的计时秒表

基本要求:

1. 用LCD1602液晶屏显示计时;

2. 秒表计时长度为23小时59分59.99秒; 3. 用BTN0作为启动/停止开关;

4. 用BTN1作为复位开关,在任何情况下,只要按下复位开关,秒表都要无

条件执行清零操作。 提高要求:

1.增加定时器功能,可根据用户设定的时间进行倒计时,时间到0后蜂鸣器报警提示;

2.自拟其他功能。

二、系统设计(设计思路、总体框图、分块设计)

1. 设计思路:

①分别设计6进制计数器、10进制计数器和24进制计数器用于秒表计时部分。具体来说:将两个10进制计数器级联分别作为秒表的十分秒位(最小单位为0.1秒)和百分秒位(最小单位为0.01秒);将一个10进制计数器和6进制计数器级联,分别作为秒表秒钟部分的个位(最小单位为1秒)和十位(最小单位为10秒);再将一个10进制计数器和6进制计数器级联,分别作为秒表分钟部分的个位(最小单位为1分钟)和十位(最小单位为10分钟);将24进制计数器作为秒表小时部分,其中低位输出作为秒表小时部分的个位(最小单位为1小时),高位输出作为秒表小时部分的十位(最小单位为10小时)。最后把秒表百分秒、十分秒部分、秒钟部分、分钟部分、小时部分这四部分级联起来便构成了简易数字秒表的计时部分。

②将各个计数器部分的输出信号通过译码模块,变成LCD1602液晶屏能够读取并从而显示相关字符的8位二进制数据。再定义一个存储器ram,存储各个计数器部分的输出信号经过译码部分之后得到的数据,然后将这个存储器ram代表的数据在LCD1602液晶屏上显示。 ③考虑到秒表的最小计时长度为0.01秒(频率为100HZ),如果系统时钟设置为50MHZ,则需要500000分频;实验时发现LCD1602液晶屏的时钟在1KHZ时,显示效果较好,故需要在系统时钟为50MHZ的基础上进行50000分频。

④考虑到基本要求中需要用BTN0作为启动/停止开关,用BTN1作为复位开关,所以需要设计相应的按键防抖电路,这里我采用的是计数型防抖。

2. 总体框图:

第 2 页 共 37 页

图1系统结构框图

3. 分块设计:

系统共通过9个模块实现,分别是:

500000分频模块fpq 50000分频模块fpq1 6进制计数器模块cnt6 10进制计数器模块cnt10 24进制计数器模块cnt24 译码模块yima

LCD1602显示模块LCD1602

BTN0启动/停止开关消抖模块xiaodou BTN1复位开关消抖模块fuweixiaodou 具体设计如下:

①500000分频模块fpq

输入端口:clk :in std_logic;

输出端口:clkout : out std_logic; 生成符号:

设计思路:利用计数法实现分频

主要代码:(完整代码请见源程序)

signal clktmp : std_logic;

signal tmp : integer range 0 to 249999; begin

process (clk) begin

第 3 页 共 37 页

②50000分频模块fpq1:

输入端口:clk :in std_logic; 输出端口:clkout : out std_logic;

生成符号:

if clk'event and clk='1' then

if tmp=249999 then--500000分频 tmp<=0; clktmp<=not clktmp; else

tmp<=tmp+1; end if; end if; end process; clkout<=clktmp;

设计思路:利用计数法实现分频 主要代码:(完整代码请见源程序)

signal clktmp : std_logic;

signal tmp : integer range 0 to 24999; begin

process (clk) begin

if clk'event and clk='1' then if tmp=24999 then--50000分频 tmp<=0; clktmp<=not clktmp; else

tmp<=tmp+1; end if; end if; end process; clkout<=clktmp;

③6进制计数器模块cnt6:

输入端口:reset,en,clk:IN STD_LOGIC; 输出端口:carry :OUT STD_LOGIC;

q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); 生成符号:

第 4 页 共 37 页

搜索更多关于: 基于LCD1602的简易秒表的设计与实现 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

数字电路与逻辑设计 实验报告 学院: 电子工程学院 班级: 2014211212 姓名: 学号: 班内序号:第 1 页 共 37 页 一、设计课题的任务要求 简易秒表的设计与实现 设计制作一个计时精度为百分之一秒的计时秒表 基本要求: 1. 用LCD1602液晶屏显示计时; 2. 秒表计时长度为23小时59分59.99秒; 3. 用BTN0作为启动/停止开关; 4. 用BTN1作为复位开关,在任何情况下,只要按下复位开关,秒表都要无条件执行清零操作。 提高要求: 1.增加定时器功能,可根据用户设定的时间进行倒计时,时间到0后蜂鸣器报警提示; 2.自拟

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com