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