The Hard Week---嵌入式系统实验2---两位计数器
2012-12-27 22:38
183 查看
起这样的题目倒不是因为这个实验有多难,而是自己经历了很难熬的一周,这是个怀疑自己,不知道怎么走的一周。消极的话就不说了,继续努力向前走吧,就像泰囧里2b的"泰国传奇"组合,不管有多2b,路还是要走下去的。
这几周特忙,博客拖了很久了,这个实验也是半辈子前的事了,放这充充数,要写的有很多,有技术含量的也很多,没时间搬上来,看元旦怎么样吧。
这次实验要实现两位计数器,就是在在七段译码器上以十进制显示:0、1、2、3、0、...的循环计数显示,开始自己以为是两位十进制数,从1计到了99,最后发现没那个必要,代码挺简单,没什么好讲的,就是得注意数码管的使能,我是在Quartus 2软件下设计的,在Altera的FPGA平台下烧制运行的,所以要移植,可能兼容性有点问题,硬件在这方面就不如软件了,但代码中大致思路还是较清晰的,所以就放在这了。
计数器在时钟信号的驱动下,可以依次的按照顺序循环进行计数,本次实验设计的计数器是一个两位计数器,在计数时在七段译码器上以十进制显示:0、1、2、3、0、...,循环计数。
该计数器共有时钟输入信号clk,复位信号clr,L2输出端控制数码管和enable信号使能数码管。clr复位信号为0时,计数器复位为0;否则进行计数,通过case…when语句,在除了‘11‘状态下进行加1,在’11‘时计数器返回为0;
在连接硬件平台时,enable信号置为0,使能选中的数码管。将得到的结果用数码管来表示,可以看到随着时间的进行,数码管发生变化: 0、1、2、3、0、…。
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity test is port(clk,clr:in std_logic; L2:out std_logic_vector(7 downto 0); enable:out std_logic); end test; architecture count of test is signal Low,L1: std_logic_vector(1 downto 0); signal num:integer; begin process(clk,Low,clr) begin enable <= '0'; if(clr = '0') then Low <= "00";L2 <= "11000000";num <= 0; else if(clk'event and clk = '1') then if(num < 50000000) then num <= num + 1; end if; if(num = 50000000) then num <= 0; case Low is when "00" => Low <= Low + 1;L2 <= "11111001"; when "01" => Low <= Low + 1;L2 <= "10100100"; when "10" => Low <= Low + 1;L2 <= "10110000"; when "11" => Low <= "00";L2 <= "11000000"; end case; end if; else Low <= Low; end if; L1 <= Low; end if; end process; end count;
波形图明天再传,寝室要熄灯了,最近状态不好,需要调整调整,另外最近在看 30天制作操作系统, 随后的博客和大家一起分享每一天。祝好!
在clr为1的情况下,我们可以看到随着时钟信号上升沿的不断产生,向数码管输出的状态不断发生着变化:从初始的”11111001"即数码管的1,到”10100100",数码管的2,到 "10110000"(3),再到"11000000"(0)。
上面两图均可以看出计数器不断循环计数。
相关文章推荐
- 20145303 20145339 《信息安全系统设计基础》 实验五 简单嵌入式WEB服务器实验
- 20145210 20145226 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验
- 嵌入式系统下文件传输实验
- 20145216 20145330 《信息安全系统设计基础》 实验五 简单嵌入式WEB 服务器实验
- 嵌入式 hi3518c下ramdisk文件系统与文件系统烧写以及uboot中change-the-env
- 2013上半年—嵌入式系统开发—实验
- WinCE实验教程之一嵌入式系统简介
- ARM嵌入式系统教程的外部存储器接口实验1
- 嵌入式 hi3518c下ramdisk文件系统与文件系统烧写以及uboot中change-the-env
- 实验题目:实现嵌入式Linux系统下的字符设备驱动程序(报告)
- TI8168嵌入式系统教学实验平台 & TI8168实验箱 & TI8168教学实验箱 & TI8168DSP实验箱
- 20145202、20145225、20145234 《信息安全系统设计基础》实验五 简单嵌入式WEB 服务器实验
- 嵌入式linux GUI系统(The Embedded Linux GUI System)
- 20145216 20145330 《信息安全系统设计基础》 实验五 简单嵌入式WEB 服务器实验
- 学号20145332 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验
- WinCE实验教程之一嵌入式系统
- 信息安全系统设计基础实验五:简单嵌入式 WEB 服务器实验 (20135229,20135234)
- 信息安全系统设计基础实验五:简单嵌入式 WEB 服务器实验 (20135229,20135234)
- 20145324 20145325《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验
- 嵌入式成长轨迹54 【Zigbee项目】【CC2430基础实验】【系统睡眠工作状态】