欢迎来到天天文库
浏览记录
ID:59416149
大小:164.50 KB
页数:37页
时间:2020-09-19
《NIOS实现电子钟ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验十四基于SOPC的电子钟《计算机EDA设计》实验教程8/17/20211内容概要实验目的实验要求实验原理预习要求实验内容实验报告8/17/20212实验目的掌握SOPCBuilder和NiosⅡIDE软件的基本使用方法掌握SOPC系统的开发流程,熟悉基于SOPC,设计和实现电子钟的全过程8/17/20213实验要求利用NiosⅡ软核处理器,以Altera公司的NiosⅡCyclone开发板为硬件平台,设计一个电子钟系统功能在液晶屏上显示时间、日期、状态提示利用4个按键对时间(小时和分钟)、日期(年月日)进行设置(包括退出设置)8/17/20214硬件规划根据系统
2、要实现的功能和开发板配置,系统需使用的外围器件包括:LCD:电子钟显示屏幕按钮:电子钟设置功能键Flash存储器:存储硬件和程序SRAM存储器:程序运行时将其导入SRAM8/17/20215根据用到的外设和器件特性,在SOPCBuilder中要添加的组件包括:NiosⅡ32bitsCPU定时器按键PIOLCDDisplay外部RAM总线(Avalon三态桥)外部RAM接口外部Flash接口EPCSSerialFlashController重新配置请求PIOJTAGUARTInterface8/17/20216端口定义表序号名称输入/输出描述1clkIn时钟输入,50
3、MHz2reset_nIn复位输入3in_port_to_the_button_[3..0]In4个按键输入4be_n_to_the_ext_ram[3..0]Out字节选择5ext_ram_bus_address[22..0]OutSRAM地址6ext_ram_bus_data[31..0]InoutSRAM数据7read_n_to_the_ext_flashOutFLASH输出使能8read_n_to_the_ext_ramOutSRAM输出使能9select_n_to_the_ext_flashOutFLASH片选信号10select_n_to_the_ext
4、_ramOutSRAM片选信号8/17/20217端口定义表(续)序号名称输入/输出描述11write_n_to_the_ext_flashOutFLASH写信号12write_n_to_the_ext_ramOutSRAM写信号13LCD_E_from_the_lcd_displayOutLCD使能信号14LCD_RW_from_the_lcd_displayOutLCD读写信号15LCD_RS_from_the_lcd_displayOutLCD端口寻址信号16LCD_data_to_and_from_the_lcd_display[7..0]InoutLCD数
5、据17bidir_port_to_and_from_the_reconfig_request_pioInout重新配置请求8/17/20218软件规划软件功能包括显示、设置和算法三大部分:显示部分设置部分时间算法部分8/17/20219软件规划-显示部分显示时间(小时:分钟:秒)显示日期(年-月-日)显示状态提示(如BeijingTime、Sethour等等)注意将初始时间设为0:0:0,初始日期设为2000-1-18/17/202110软件规划-设置部分功能:设置小时、分钟、年份、月份、日期和退出设置。对开发板上4个功能键的分配如下:主菜单SW0:设置选择键,可依
6、次选择设置小时、分钟、年份、月份、日期SW1:显示日期键SW2:显示时间键子菜单(进入到对某个对象设置后的按键功能)SW1:对象数字增加SW2:对象数字减少SW3:退出,返回主菜单8/17/202111软件规划-时间算法部分功能:时间累加;确定每个月的最大天数,使年、月、日能够正确累加。只有显示和响应按键部分涉及硬件,其它子程序可以在进行硬件设计的同时开始编写。8/17/202112电子钟主程序流程图8/17/202113按键处理子程序介绍按键处理子程序handle_button_press(FILE*lcd)是一个主要的子程序。它首先采用多分支if…elseif…
7、else形式,根据flag的取值,执行不同的程序块。在每一个条件下(如flag=0,flag=1,……,flag=5),又采用开关(switch)分支结构,根据edge_capture的值判断应执行哪个程序段。8/17/202114flag=0flag=1flag=2flag=3flag=4flag=5进入主菜单进入小时设置子菜单进入分钟设置子菜单进入年份设置子菜单进入月份设置子菜单进入日期设置子菜单哪个按键被按下SW0SW1SW2SW3edge_capture取值(十六进制)0X10x20x40x8表14-2根据flag的取值,执行不同的程序块表14-3按下不
此文档下载收益归作者所有