2022年电子表微控器设计FPGA课程设计分析方案 .pdf
《2022年电子表微控器设计FPGA课程设计分析方案 .pdf》由会员分享,可在线阅读,更多相关《2022年电子表微控器设计FPGA课程设计分析方案 .pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 / 15 西安邮电学院FPGA 课程设计报告题目:电子表微控器设计院系:电子工程学院专业班级:微电子0901学生姓名:邢青青导师姓名:黄海生起止时间: 2018/6/18至 2018/6/29年月日精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 15 页2 / 15 基于 FPGA 的电子表微控器设计一 实验目的:设计一个简单的电子表微控器。用 FPGA 开发板的按键作为电子表的时间初值设置控制信号,数码管当前时间值输出。用按键选择分别输出:分、秒、1/10 秒。二 功能描述:1 用开发板的拨码开关作为电子表时间初值设置控制信号,首
2、先设置初始时间,并用数码管显示出当前时间,共用5 个数码管,分别显示分,秒,和1/10 秒,其中,分和秒均用两个数码管表示高低位,1/10 秒用一个数码管表示。2 当复位信号有效时( 复位信号低有效 ,系统清零,并且将所有时间都清零,不管是显示状态还是调整状态。3 拨码开关是总控制开关,为低时才可以修改即设置新时间,为高是显示当前时间,包括修改后的时间。4 按键 1 是 1/10 秒的初值设置和修改控制键。5 按键 2 是秒的初值设置和修改控制键。6 按键 3 是分的初值设置和修改控制键。7 用数码管显示开始和修改后的时间。8 结构框图:三输入输出信号描述:其中:Clk: 输入信号,系统时钟,
3、为50MHZ 。Reset: 异步复位信号,当下降沿来临时有效,此时系统清零,所有输出均为0。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 15 页3 / 15 Key:模式选择键,用拨码开关实现。当为低电平时,修改当前时间;当为高电平时,输出并用数码管显示当前时间。此操作在复位端无效时进行,若复位端有效,则输出和显示均为0。Button1: 输入信号,按键 1 是 1/10 秒的初值设置和修改控制键,当满10 后进一。Button2: 输入信号,按键 2 是秒的初值设置和修改控制键,当满60 后进一。Button3: 输入信号,按键
4、 3 是分的初值设置和修改控制键,当满60 后进一。Clk1,2: 内部输出信号,为分频后的输出时钟,clk1控制按键消抖模块, clk2控制时钟显示模块。Fen:内部变量,分的输出。Miao: 内部变量,秒的输出。1/10miao:, 内部变量,用于 1/10 秒的输出。Count:用于计数。LED:是八位输出,用于显示时间。其中分和秒的显示均用两个数码管,一个显示高位,一个显示低位,当低位显示到9 时,向高位进一,直到高位为6 时清零。而 1/10 秒特用两个数码管分别输出,同样低位为9 时向秒位进一, 1/10秒的数码管清零。四功能模块描述:1 根据设计思想,大体要分以下几个模块,顶层结
5、构框图如图: 2 顶层模块划分:(1 时钟模块: a在这个模块中有1/10 秒,秒,分,通过这几个时间来反映做出来的电子表, 用板子里面的 50MHZ 产生出 10HZ的分频 ( 即 0.1 秒作为 1/10 秒,从而进行计时。b 初值设置开关 时,1/10 秒,秒,分都停止,开始修改时间;当拨到高电平(1时,说明时间设置完毕,时钟开始正常显示和计时。按键 1修改 1/10 秒):按一次, 1/10 秒加 1,加到 10 清零。按键 2修改秒):按一次,秒加1,加到 60 清零。按键 3 按键消抖模块:这个模块完成的是按键的消抖,使用系统自带50MHZ时钟分频得到的25MHZ ,再进行按键采样
6、,人一般的反应时间在50ms 左右,所以采样的计数设置为 25MHZ*50ms 。(3 LED 显示模块:将计时模块所计数,输出到LED的输入端,从而来控制LED灯的显示,即对应的哪一段该亮那一段该灭,以此来显示时间。(4 时钟分频模块:将板子的50MHZ时钟经过分频,从而得到10HZ 时钟,用于电子表计时,分频得到 25MHZ ,用于按键消抖模块时对按键采样的频率。3 子模块详细设计: (1 键盘模块设计:Key:用它作为时钟的总开关,拨码开关,当它低电平0)有效时,开始设置电子表的初值,否则,显示当前时间。当按键1 为 1 时显示 1/10 秒,当按键 2 为1 时显示秒,当按键3 为 1
7、 时显示分。Reset:作为电子表的复位,当它为低电平时,把电子表的1/10 秒,秒,分清零。 Button1:作为 1/10 秒的初值设置控制键 每按键一次, 1/10 秒加 1,到9 时在返回到 0 并且向秒进位 1)。 Button2:作为秒的初值设置和修改控制键每按键一次,秒加1,累加到 59 时,返回到 0 并且向分进位 1)。 Button3:作为分的初值设置和修改控制键 时钟模块设计:1. 利用板子中晶振产生的50MHZ 频率,把它分频成0.1 秒即 10HZ 。2. 上面分频得到的0.1 秒就是电子表的最小时间单位,当1/10 秒从 0开始走到 9 时,向秒进位 1 的同时,从
8、 9 跳转到 0,重新开始从零计时。3. 秒从 0 开始计数,当从1/10 秒得到进位时,秒加1,直到计数计到59 时,向分进位 1 的同时,从 59 跳转到 0,重新开始从零计时。4. 分从0 开始计数,当从秒得到进位时,分加1,直到计数计到59时,跳转到 0,从零开始重新计时。 (3 LED数码管显示模块:首先显示初值1/10 秒,秒,分,如果有修改,那么LED液晶显示当前的时间值。数码管编码:输入输出 0 1000000 1 1111001 2 0100100 3 0110000 4 0011011 5 0010010 精选学习资料 - - - - - - - - - 名师归纳总结 -
9、- - - - - -第 4 页,共 15 页5 / 15 6 0000010 7 1111000 8 0000000 9 0010000 其他 xxxxxxx 五 程序清单:1 分频器:。 input clk,reset。 output clk1,clk2。 reg clk1,clk2 。reg22:0count1。Reg1:0count2 。 always(posedge clk or negedge reset/clk1 begin if(!reset begin count1=0。 clk1 begin count1=0。 clk1=clk1。 end else begin count
10、122:0/clk2 begin if(!reset begin Count2=0。 Clk2 begin Count2=0。 Clk2=clk2。 end else begin Count21:0=count21:0+1b1。 end end end endmodule 。input clk1,reset。input button1,button2,button3,key。output7:0 fen,miao。output3:0 one_miao。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 15 页7 / 15 reg 7:0 f
11、en,miao。reg3:0 one_miao。always(posedge clk1 or negedge reset /reset? begin if(!reset begin one_miao=0 。 fen=0 。 miao /key=1 begin one_miao3:0 begin one_miao3:0=0。 miao3:0 begin miao3:0=0。 miao7:4 begin miao6:0=0。 fen3:0 begin fen3:0=0。 fen7:4 begin fen7:4=0。 miao=0。 one_miao/ begin one_miao3:0 begin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年电子表微控器设计FPGA课程设计分析方案 2022 电子表 微控器 设计 FPGA 课程设计 分析 方案
限制150内