通过红外设置时间的数字时钟Word文档下载推荐.docx
- 文档编号:18812958
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:5
- 大小:156.11KB
通过红外设置时间的数字时钟Word文档下载推荐.docx
《通过红外设置时间的数字时钟Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《通过红外设置时间的数字时钟Word文档下载推荐.docx(5页珍藏版)》请在冰豆网上搜索。
由于VerilogHDL电路描述语言能涵盖的范围相当广,能适用于各种不同阶层的设计工程师的需要,所以VerilogHDL电路设计毫无疑问的成为硬件设计工程师的必备工具。
本系统是用Verilog编写的通过红外设置时间的数字时钟。
该设计采用了现场可编程逻辑器件FPGA设计,并基于硬件描述语言VerilogHDL在Altera公司的QuartusⅡ软件上实现仿真。
通过红外遥控器在数码管上设置时间以及年月日,确定后开始计时。
关键词:
Verilog,红外信号,计时器
2.1.3数码管显示模块7
2.1.48563模块
第1章绪论
1.1项目的背景和意义
20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。
对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。
数码管显示的时间简单明了而且读数快、时间准确显示到秒。
而机械式的依赖于晶体震荡器,可能会导致误差。
数字钟是采用数字电路实现对“时”“分”“秒”数字显示的计时装置。
数字钟的精度、稳定度远远超过老式机械钟。
1.2项目的主要内容
上电后显示为00-00-00,开始计时,通过红外遥控器来设置时间,发出开始设置信号,计时停止,然后从秒、分、小时、星期、日、月、年开始设置,设置完毕后发出确定命令,数码管从设置的时间开始计时,按按键可以切换显示内容,设置时间时可以设置到某一位进行确定并开始计时。
1.3项目的结构安排
程序总体上分为6个模块:
顶层模块、键盘按键驱动模块、红外接收模块、数码管显示模块、8563模块,时间设置模块。
6个模块并行执行。
顶层模块:
只对底层模块进行例化,不做逻辑设计。
键盘按键驱动模块:
对按键进行相关处理,切换显示的时间
红外接收模块:
对遥控器发射的红外进行译码后传给时间设置模块。
8563模块:
将时间设置模块出来的数据通过I2C总线传输给8563时钟芯片,再从8563读取时间的数据,然后通过数码管来显示时间。
数码管显示模块:
显示从8563模块传递过来的数码管显示值。
总体设计框图如下:
第2章设计方案
2.1I²
c协议
发送到SDA线上的每个字节必须为8位。
每次传输可以发送的字节数量不受限制。
每个字节后必须跟一个响应位首先传输的是数据的最高位(MSB)如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟线SCL保持低电平迫使主机进入等待状态。
当从机准备好接收下一个数据字节并释放时钟线SCL后,数据传输继续。
数据传输必须带响应。
相关的响应时钟脉冲由主机产生。
在响应的时钟脉冲期间,发送器释放SDA(线高)。
在响应的时钟脉冲期间,接收器必须将SDA线拉低,使它在这个时钟脉冲的高电平期间保持稳定的低电平。
当然必须考虑建立和保持时间。
当从机不能响应从机地址时(例如它正在执行一些实时函数不能接收或发送),从机必须使数据线保持高电平。
主机然后产生一个停止条件终止传输或者产生重复起始条件开始新的传输。
如果从机接收器响应了从机地址但是在传输了一段时间后不能接收更多数据字节,主机必须再一次终止传输。
这个情况用从机在第一个字节后没有产生响应来表示。
从机使数据线保持高电平,主机产生一个停止或重复起始条件。
如果传输中有主机接收器,它必须过在从机不产生时钟的最后一个字节不产生一个响应,向从机发送器通知数据结束。
从机发送器必须释放数据线,允许主机产生一个停止或重复起始条件。
2.2各模块详细说明
2.2.1总体设计RTL图
2.2.2红外接收模块
当按下遥控器的按键时,遥控器将发出如图1的一串二进制代码,称它为一帧数据。
根据各部分的功能,可将它们分为5部分,分别为引导码、用户码、用户反码、数据码、数据反码。
遥控器发射代码时,均是低位在前,高位在后。
红外接收头会将高低电平变反,所以实际从IR端出来的电平是上述格式图中的波形取反,即停止状态时IR为高电平,然后接收到9ms左右的低电平后进入准备状态。
我们这里取32位中的第17-24进行数据的译码输出。
2.2.3按键驱动模块
输入:
按键输入一个信号key_in;
输出:
下降沿的判断使能输出;
我们在这里调用我们以前做过的按键驱动模块,按下之后数码管进行时分秒界面和年月日界面之间的相互切换。
2.2.4数码管显示模块
由8563模块输出的时钟,按键的下降沿的使能输入,全局时钟,全局复位信号;
数码管的段选和位选输出;
程序分为5个always语句块,always语句块之间并行执行。
我们这里在为选的always语句块中定义两个状态,一个是时分秒的状态,一个是年月日状态。
我们通过按键的方式来实现时分秒和年月日之间的切换
2.2.5时间设置模块
红外接收模块中的译码输出,红外模块的标志位输出,全局时钟,全局复位信号;
设定的想要的时间;
我们这里由于标志位比数据输入块一拍,我们先把标志位延时1拍产生新的标志位,在时间设定的always语句块中以该标志位进行使能判断,然后判断设置时间的信号是否产生,最后设置时间从秒的地位设置到年的高位,每设置完一个数按键跳到下一个数。
设置完之后按下确定按钮,时钟设置完毕。
2.2.68563模块
时间设置模块的设定时间输出,全局时钟输入,全局复位信号输入,I2C总线的数据输入,红外的时间开始确定信号的输入。
时间的输出,I2C总线的数据和时钟,三态门的使能信号输出。
我们通过I2C总线来实现FPGA与8563时钟芯片之间的数据传输,这里FPGA是主机,8563是从机。
我们把时间设定模块的数据通过I2C总线传递给8563,让时钟从我们设定的时间开始工作
第3章实验结果与数据处理
下面将对成品进行测试。
主要的可观察现在在数码管
1.通电烧写程序。
可见数码管区域为开始计时状态。
2.通过红外遥控来设置时间,可以看到时间被设置成了22时11分30秒。
3.按一下按键后可以看到时间设置成了15年8月19日周
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通过 红外 设置 时间 数字 时钟