- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子表微控器设计 FPGA课程设计报告
西安邮电学院
FPGA课程设计报告
题 目:电子表微控器设计
院 系: 电子工程学院
专业班级: 微电子0901
学生姓名: 邢青青
导师姓名: 黄海生
起止时间:2012/6/18至2012/6/29
年 月 日
基于FPGA的电子表微控器设计
一 实验目的:
设计一个简单的电子表微控器。
用FPGA开发板的按键作为电子表的时间初值设置控制信号,数码管当前时间值输出。用按键选择分别输出:分、秒、1/10秒。Clk:输入信号,系统时钟,为50MHZ。
Reset:异步复位信号,当下降沿来临时有效,此时系统清零,所有输出均为0。
Key:模式选择键,用拨码开关实现。当为低电平时,修改当前时间;当为高电平时,输出并用数码管显示当前时间。此操作在复位端无效时进行,若复位端有效,则输出和显示均为0。
Button1: 输入信号,按键1是1/10秒的初值设置和修改控制键,当满10后进一。
Button2: 输入信号,按键2是秒的初值设置和修改控制键,当满60后进一。
Button3: 输入信号,按键3是分的初值设置和修改控制键,当满60后进一。
Clk1,2:内部输出信号,为分频后的输出时钟,clk1控制按键消抖模块,clk2控制时钟显示模块。
Fen:内部变量,分的输出。
Miao:内部变量,秒的输出。
1/10miao:,内部变量,用于1/10秒的输出。
Count:用于计数。
LED:是八位输出,用于显示时间。其中分和秒的显示均用两个数码管,一个显示高位,一个显示低位,当低位显示到9时,向高位进一,直到高位为6时清零。而1/10秒特用两个数码管分别输出,同样低位为9时向秒位进一, 1/10秒的数码管清零。
四 功能模块描述:
1根据设计思想,大体要分以下几个模块,顶层结构框图如图:
2 顶层模块划分:
(1) 时钟模块:
a在这个模块中有1/10秒,秒,分,通过这几个时间来反映做出来的电子表,用板子里面的50MHZ产生出10HZ的分频(即0.1秒)作为1/10秒,从而进行计时。
b初值设置开关 (总开关):总开关用拨码开关控制,当拨到低电平(0)时,1/10秒,秒,分都停止,开始修改时间;当拨到高电平(1)时,说明时间设置完毕,时钟开始正常显示和计时。
按键1(修改1/10秒):按一次,1/10秒加1,加到10清零。
按键2(修改秒):按一次,秒加1,加到60清零。
按键3(修改分):按一次,分加1,加到60清零。
(2) 按键消抖模块:
这个模块完成的是按键的消抖,使用系统自带50MHZ时钟分频得到的25MHZ,再进行按键采样,人一般的反应时间在50ms左右,所以采样的计数设置为25MHZ*50ms。
(3) LED显示模块:
将计时模块所计数,输出到LED的输入端,从而来控制LED灯的显示,即对应的哪一段该亮那一段该灭,以此来显示时间。(4) 时钟分频模块:
将板子的50MHZ时钟经过分频,从而得到10HZ时钟,用于电子表计时,分频得到25MHZ,用于按键消抖模块时对按键采样的频率。
3 子模块详细设计:
(1) 键盘模块设计:
Key:用它作为时钟的总开关,拨码开关,当它低电平(0)有效时,开始设置电子表的初值,否则,显示当前时间。当按键1为1时显示1/10秒,当按键2为1时显示秒,当按键3为1时显示分。
Reset:作为电子表的复位,当它为低电平时,把电子表的1/10秒,秒,分清零。
Button1:作为1/10秒的初值设置控制键(每按键一次,1/10秒加1,到9时在返回到0并且向秒进位1)。
Button2:作为秒的初值设置和修改控制键(每按键一次,秒加1,累加到59时,返回到0并且向分进位1)。
Button3:作为分的初值设置和修改控制键(每按键一次,分加1,累加到59时返回到0)。
(2) 时钟模块设计:
利用板子中晶振产生的50MHZ频率,把它分频成0.1秒即10HZ。
上面分频得到的0.1秒就是电子表的最小时间单位,当1/10秒从0开始走到9时,向秒进位1的同时,从9跳转到0,重新开始从零计时。
秒从0开始计数,当从1/10秒得到进位时,秒加1,直到计数计到59时,向分进位1的同时,从59跳转到0,重新开始从零计时。
分从0开始计数,当从秒得到进位时,分加1,直到计数计到59时,跳转到0,从零开始重新计时。
(3) LED数码管显示模块:
首先显示初值1/10秒,秒,分,如果有修改,那么LED液晶显示当前
文档评论(0)