碧波液压网 欢迎你,游客。 登录 注册

基于C语言为内核的电子时钟设计

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

    1 引言

    我们知道,模拟时钟已经基本淘汰,因此,数字时钟是经常用到的计时工具,它能够用时、分、秒来显示一天的时间。传统的数字时钟采用了众多的分立元器件, 其性能和稳定性不够理想。现代电子产品的系统复杂度的不断提高和面积不断缩小,用传统时钟系统设计方法很难满足设计需求。在此,引入基于 C 语言编程的设计方法。设计中仅考虑数字钟表的基本功能,即能够显示秒、分、小时。小时显示可采用 0~12 小时及上下午标志,也可采用 0~24 小时的显示方式,此处采用后者。并且用仿真软件 MAXplusII 仿真实验结果。

    2 以 C 语言为内核的 VerilogHDL 简介和特点

    由于本文所涉及的C语言的算法和设计思想都在VerilogHDL语言环境中来实现,因此有必要简要介绍Verilog HDL语言。Verilog HDL语言最初是于1983年由Gateway DesignAutomation 公司为其模拟器产品开发的硬件建模语言,那时它只是一种专用语言。由于他们的模拟、仿真器产品的广泛使用,Verilog HDL 作为一种便于使用且实用的语言逐渐为众多设计者所接受。1990年,在一次努力增加语言普及性的活动中, Verilog HDL语言被推向公众领域。Open VerilogInternational(OVI)是促进verilog发展的国际性组织。1992年,OVI决定致力于推广Verilog OVI标准成为IEEE标准。这一努力最后获得成功,Verilog 语言于1995年成为IEEE标准,称为IEEE Std1 364-1995。

    Verilog HDL的语法特点是Verilog HDL语言与C语言很相似,从C语言中继承了多种操作符和结构,其核心子集非常易于学习和使用。

    3 数字电子时钟的设计

    VerilogHDL是通过构造模块间的清晰结构来描述及其复杂的系统的设计。

    这里的数字钟表由小时模块、分钟模块、秒表模块和一个与门模块构成。小时模块,分钟模块和秒表模块实质上都是同步的计数器,只不过小时模块采用 0~23 小时的方式,是 24 进制同步计数器。分钟模块和秒表模块都是 60 进制同步计数器。因此,小时模块,分钟模块,秒表模块的设计思想是一致的。只在此列出小时模块的编程设计。

    下面列出的是 C 语言程序:

    /*信号的定义:

    clear2:清零信号;

    clk2:输入时钟信号;

    en2:使能端信号;*/

    module hour24(clear2,clk2,en2,q);

    input clear2,clk2,en2;

    output [4:0] q;

    reg [4:0] q;

    parameter a=6'd00

    parameter max=6'd23;

    parameter min=6'd00;

    always @ (posedge clear2 or posedge clk2)

    begin

    if(clear2)

    begin

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论