- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一 总体设计方案
1.设计原理及思路
1.1原理分析
图1-1数字钟程序总体框图
数字钟实际上就是对1Hz的频率进行计数的计数电路。振荡器产生32768Hz的时钟信号,经过分频器后产生512Hz、64Hz、2Hz的脉冲信号,秒计数器计满60后,触发分计数器,分计数器计满60后,触发计时电路,当计满24小时后开始下一轮计数。如果计数的起始时间与设想的有误差,可以通过调时、调分按键或复位键进行手动调时。计数器的输出经过6选1多路选择器后以动态扫描方式送到LED数码管输出。
由框图可知程序模块可分为消抖模块、2分频、或门、6进制计数器、10进制计数器、24进制计数器6选1多路选择器、七段译码器、位选端控制器组成。实现思路及具体实现过程将在第二部分详细介绍。
1.2数字钟的电路结构
数字钟由电源电路、CPLD电路、JATG下载接口、振荡器、分频器、显示器等部分组成。
1.2.1电源电路
图1-2电源电路
电源电路通过USB接口输入5V电压,经三端稳压器输出3.3V工作电压用于电路中各元件的用电需求。
1.2.2 JATG下载接口
图1-3 JATG下载接口
通过USB-blaster将JATG接口与电脑相连,即可将编写好程序代码下载到开发板上进行功能验证。
1.2.3 CPLD电路
该CPLD电路通过MAX3000A EPM3064ALC44-10N实现各模块的功能验证和综合。在该芯片中有64个宏单元,44个可用引脚,载入程序后断电不消失,再次通电后仍执行上次载入的程序。编写的VerilogHDL模块利用其中提供的触发器,逻辑门电路实现所编写程序的逻辑功能。从原理图可看出芯片通过制定接口与电源电路、振荡电路、JATG下载接口及译码管相连综合实现其功能。三个按键电路图分别表示RESET(复位键)、AD_Hour(调时按键)、AD_Min(调分按键)。三个按键通过指定接口接入芯片通过程序中的消抖模块为计数器提供调时、调分、复位脉冲。
图1-4 CPLD电路
1.2.4振荡和分频电路
图1-5 振荡和分频电路
振荡和分频电路由晶振产生32768Hz的脉冲通过MC74WC4060芯片分频,产生F512Hz、F64Hz、F2Hz的脉冲信号,用于电路的计时脉冲和位选信号的产生。
1.2.5显示器
该数字钟以动态扫描方式输出。计数器把输出信号送到六选一多路选择器中。F512Hz的信号脉冲通过六进制计数器一个三位二进制数,把它作为六选一多路选择器和位选端控制器的输入。六选一多路选择器根据要求把输出信号给到译码器。位选端控制器产生一个六位二进制数决定哪个译码管亮。由于扫描频率超出人眼识别能力,所以表面上看每个译码管是同时亮的。
图1-6 显示器
二 各模块说明
2.1消抖模块
2.1.1消抖模块原理
按键开关是各种电子设备不可或缺的人机接口。在实际应用中,很大一部分的按键是机械按键。在机械按键的触点闭合和断开时,都会产生抖动,为了保证系统能正确识别按键的开关,就必须对按键的抖动进行处理。为了消除机械开关的抖动,可在开关与输出端点之间接人一个RS触发器,就能使输出端产生很清晰的阶跃信号。
2.1.2消抖模块程序代码
module xiaodou(BJ_CLK,BUTTON_IN,BUTTON_OUT);
input BJ_CLK;
input BUTTON_IN;
output BUTTON_OUT;
reg BUTTON_IN_Q, BUTTON_IN_2Q, BUTTON_IN_3Q;
always @(posedge BJ_CLK)
begin
BUTTON_IN_Q = BUTTON_IN;
BUTTON_IN_2Q = BUTTON_IN_Q;
BUTTON_IN_3Q = BUTTON_IN_2Q;
end
wire BUTTON_OUT = BUTTON_IN_2Q | BUTTON_IN_3Q;
endmodule
仿真波形:
2.2或门
2.2.1或门原理
对于计时和计分电路既需要低位的进位信号,又需要手动按键调时,所以需要将两个信号通过或门后给到计时器和计分器。对于或门,可用连续赋值语句C=A+B;实现。
2.2.2或门程序代码
module huo(in_1,in_2,huo_out);
input in_1,in_2;
output huo_out;
assign huo_out=in_1+in_2;
endmodule
仿真波形
2.3六进制计数器(不带进位端)
2.3.1六进制计数器(不带进位端)原理
该六进制计数器没有进位端,用于六选一多路选择器的输入,控制其输出计时器的计时信号。同时它也作为位选端控制器的输入,决定哪个数码管亮。
六进制计数器采用时序逻辑电路,
您可能关注的文档
- 毕业论文(设计)基于Verilog HDL语言的串口设计说明书.docx
- 毕业论文(设计)基于C语言赛车游戏说明书.doc
- 毕业论文(设计)基于单片机89C2051实现可编程时钟说明书.doc
- 毕业论文(设计)基于c语言的贪吃蛇游戏说明书.doc
- 毕业论文(设计)基于AT89C51 按键控制点阵显示说明书.doc
- 毕业论文(设计)基于AT24C02的多机通信说明书.doc
- 毕业论文(设计)基于c的超市进销存系统说明书.doc
- 毕业论文(设计)基于LPC2114控制步进电机转速以及角位移说明书.doc
- 毕业论文(设计)基于C语言的学生成绩管理设计说明书.doc
- 毕业论文(设计)基于 C 语言的 JavaScript 引擎探索说明书.docx
- 毕业论文(设计)基于AT89C51单片机的最小系统设计说明书.doc
- 毕业论文(设计)基于Verilog_HDL的洗衣机程序说明书.doc
- 毕业论文(设计)基于AT89C51单片机定时闹钟设计说明书.docx
- 毕业论文(设计)基于89c51单片机的简易电子琴设计说明书.docx
- 毕业论文(设计)基于c语言单片机十字交通灯设计说明书.docx
- 毕业论文(设计)基于AT89C51单片机的电子表设计说明书.doc
- 毕业论文(设计)基于Verilog HDL的出租车计费器设计说明书.doc
- 毕业论文(设计)基于STC89C51单片机作息时间控制钟控制系统说明书.doc
- 毕业论文(设计)基于单片机89C51设计电子时钟说明书.doc
- 毕业论文(设计)基于c语言单片机秒表设计说明书.doc
文档评论(0)