欢迎来到天天文库
浏览记录
ID:58841549
大小:340.50 KB
页数:15页
时间:2020-09-24
《电子表微控器设计FPGA课程设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、西安邮电学院FPGA课程设计报告题目:电子表微控器设计院系:电子工程学院专业班级:微电子0901学生姓名:邢青青导师姓名:黄海生起止时间:2012/6/18至2012/6/29年月日基于FPGA的电子表微控器设计一实验目的:设计一个简单的电子表微控器。用FPGA开发板的按键作为电子表的时间初值设置控制信号,数码管当前时间值输出。用按键选择分别输出:分、秒、1/10秒。二功能描述:1用开发板的拨码开关作为电子表时间初值设置控制信号,首先设置初始时间,并用数码管显示出当前时间,共用5个数码管,分别显示分,秒,和1/10秒,其中,分和秒均用两个数码管表示高低位,1/10秒用一个数码管
2、表示。2当复位信号有效时(复位信号低有效),系统清零,并且将所有时间都清零,不管是显示状态还是调整状态。3拨码开关是总控制开关,为低时才可以修改即设置新时间,为高是显示当前时间,包括修改后的时间。4按键1是1/10秒的初值设置和修改控制键。5按键2是秒的初值设置和修改控制键。6按键3是分的初值设置和修改控制键。7用数码管显示开始和修改后的时间。8结构框图:三输入输出信号描述:其中:Clk:输入信号,系统时钟,为50MHZ。Reset:异步复位信号,当下降沿来临时有效,此时系统清零,所有输出均为0。Key:模式选择键,用拨码开关实现。当为低电平时,修改当前时间;当为高电平时,输出
3、并用数码管显示当前时间。此操作在复位端无效时进行,若复位端有效,则输出和显示均为0。Button1:输入信号,按键1是1/10秒的初值设置和修改控制键,当满10后进一。Button2:输入信号,按键2是秒的初值设置和修改控制键,当满60后进一。Button3:输入信号,按键3是分的初值设置和修改控制键,当满60后进一。Clk1,2:内部输出信号,为分频后的输出时钟,clk1控制按键消抖模块,clk2控制时钟显示模块。Fen:内部变量,分的输出。Miao:内部变量,秒的输出。1/10miao:,内部变量,用于1/10秒的输出。Count:用于计数。LED:是八位输出,用于显示时间
4、。其中分和秒的显示均用两个数码管,一个显示高位,一个显示低位,当低位显示到9时,向高位进一,直到高位为6时清零。而1/10秒特用两个数码管分别输出,同样低位为9时向秒位进一,1/10秒的数码管清零。四功能模块描述:1根据设计思想,大体要分以下几个模块,顶层结构框图如图:2顶层模块划分:(1)时钟模块:a在这个模块中有1/10秒,秒,分,通过这几个时间来反映做出来的电子表,用板子里面的50MHZ产生出10HZ的分频(即0.1秒)作为1/10秒,从而进行计时。b初值设置开关(总开关):总开关用拨码开关控制,当拨到低电平(0)时,1/10秒,秒,分都停止,开始修改时间;当拨到高电平(
5、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时钟经过分频,从
6、而得到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时,返回
7、到0并且向分进位1)。Button3:作为分的初值设置和修改控制键(每按键一次,分加1,累加到59时返回到0)。(2)时钟模块设计:1.利用板子中晶振产生的50MHZ频率,把它分频成0.1秒即10HZ。2.上面分频得到的0.1秒就是电子表的最小时间单位,当1/10秒从0开始走到9时,向秒进位1的同时,从9跳转到0,重新开始从零计时。3.秒从0开始计数,当从1/10秒得到进位时,秒加1,直到计数计到59时,向分进位1的同时,从59跳转到0,重新开始从零计时。4.分从0开始计数,当从秒得到进位时
此文档下载收益归作者所有