8.5  典型实例15:基于NIOSII处理器的数字钟设计

8.5.1  实例的内容及目标

1.实例的主要内容

本节旨在通过给定的工程实例——“数字钟”来熟悉Altera软嵌入式系统的软硬件设计方法。同时使用基于Altera FPGA的开发板将该实例进行下载验证,完成工程设计的硬件实现。在本节中,将主要讲解以下知识点。

·  NIOSII IDE软件开发流程。

读者可以迅速掌握Altera软嵌入式软硬件设计方法。

 

2.实例目标

通过详细的流程讲解,读者应达到下面的目标,

·  熟悉NIOSII IDE软件设计方法。

 

8.5.2  软件规划

电子钟的软件部分主要包括:显示、设置和时间算法3部分。

显示部分要求能够显示年、月、日、小时、分钟、秒,并提示时间显示状态(如设置日期、设置小时、设置分钟等)。

设置部分要求能够对电子钟显示器上面的年、月、日、小时、分钟、秒进行修改,并退出设置状态。要实现这些功能就要通过实验板上面的4个按键,下面是一种推荐的按键功能分配方法。

主菜单。

·  SW0:设置选择按键,依次可以选择设置年、月、日、小时、分钟、秒。

·  SW1:显示日期按键。

·  SW2:显示时间按键。

子菜单。

·  SW0:选项数值增加1。

·  SW1:选项数值减少1。

·  SW2:推出设置状态,返回主菜单。

时间算法部分比较简单,主要是要按照时间累加的原则,并设置好时间的进位要求(主要是每个月是有多少天组成的)。

 

8.5.3  实例步骤

(1)首先验证8.4节编写的硬件系统是否适合本实验硬件要求。

(2)设计软件流程图。

(3)编写、修改软件程序,下载调试。

具体的操作方式在此不再详述,相关的工程文件及代码参见本书实例代码的“典型实例15”文件夹。

 

8.5.4  小结

本训练要求在实验板上面实现一个功能比较全面的电子钟。要求能够显示较为全面的时间,如:年、月、日、小时、分钟、秒并提示时间显示状态,另外还要求能够按照需要设置时间。要实现电子钟的功能重点在于软件方面的设计和优化,所以通过本实例要求用户熟练掌握软件系统的规划。