SOPC-电子钟.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SOPC-电子钟

摘要本文介绍基于NiosⅡ的电子时钟的设计方法,在文章中主要分为硬件设计和软件设计两个部分。在设计的过程中,采用QuartersⅡ作为仿真平台。在各个部分中,给出每一步的设计方法。读者只要根据所给的方法做,就能设计好一个完整的电子时钟。关键字NiosⅡQuartersⅡ电子时钟设计方法第一章设计要求与软硬件规划在本章中我将给出一个电子钟的软、硬件方案设计以及系统功能和一些具体的功能实现等。1.1 系统功能电子钟的功能包括下面两个方面:1、在液晶屏上显示时间、日期、状态提示;2、对时间、日期能够进行设置。1.2硬件系统组成规划1.2.1 需要的硬件设备在硬件系统组织规划中系统需使用的外围器件包括下面四个方面:1、LCD:电子钟显示屏幕;2、按钮:电子钟设置功能键;3、Flash存储器:存储硬件和程序;4、SRAM存储器:程序运行时将其导入SRAM。在SOPC Builder中建立系统要添加的模块包括:1、NiosⅡ 32bits CPU;2、定时器;3、按键PIO;4、LCD Display ;5、外部RAM总线(Avalon 三态桥) ;6、外部RAM接口;7、外部Flash接口;8、重新配置请求PIO;9、JTAG UART Interface;10、EPCS Serial Flash Controller。1.2.2端口定义在系统中需要对一些端口进行定义,具体的定义方式在下面的表中给出:序号名称输入/输出描述1clkIn时钟输入,50MHz2reset_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_ramOutSRAM片选信号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[6..0]InoutLCD数据17bidir_port_to_and_from_the_reconfig_request_pioInout重新配置请求1.2 软件系统规划软件功能包括显示、设置和时间算法三大部分。1.2.1 显示部分显示部分分为下面几个部分:(1) 显示时间(小时:分钟:秒)(2) 显示日期(年-月-日)(3) 显示状态提示(如Beijing Time、Set hour等等)1.2.2 设置部分设置功能包括设置小时、分钟、年份、月份、日期和退出设置。编写程序前对开发板上4个功能键的分配如下:(1)主菜单SW0:设置选择键,可依次选择设置小时、分钟、年份、月份、日期SW1:显示日期键SW2 :显示时间键(2)子菜单(即进入到对某个对象设置后的键盘功能)SW1 :对象数字增加SW2 :对象数字减少SW3 :退出,返回主菜单1.2.3软件系统规划(1) 时间累加(2) 确定每个月的最大天数,使年、月、日能够正确累加1.2.4电子钟主程序流程图系统的电子钟的主流程图如下面所示:1.2.5 程序的设计说明(1) 显示日期是调用display_day(lcd)子程序,在lcd上显示年-月-日;(2) 显示时间是调用display_time(lcd)子程序,在lcd上显示小时:分钟:秒。当begin=0时开始计时;当begin=1时,暂停计时。一旦有按键按下,当选择设置小时或分钟时,则将begin置为“1”,暂停计时,这样能更清楚地看到设置值的变化。而在设置年或月或日时,因为计时单位较小,计时值的变化一般不会影响到日期的值,所以可以使begin=0,边设置日期边计时。(3) 按键处理子程序handle_button_press(FILE * lcd)是一个主要的子程序。它首先采用多分支if…else if…else形式,根据flag的取值,执行不同的程序块。在每一个条件下(如flag=0,flag=1,……,flag=5),又采用开关(swi

文档评论(0)

shuwkb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档