90 likes | 189 Views
简易文本阅读器. 设计者:王 振 郭洋洋. 一个想法. 我们起初的设想是把 LCD 和 SD 卡结合起来,从 SD 卡读取字符,显示在 LCD 上,即综合 SD 卡音乐播放和 LCD 字符显示这两个题目的设计要求。 然后我们进一步丰富和完善了这个想法,借助 DE2 开发板提供的资源,形成了文本阅读器的雏形 —— 从 SD 卡读取字符,然后显示。这个最初的设计很粗糙,断行显示、乱码显示的几率很高。 后来我们把更丰富的功能设想写在纸上,然后逐一实现,最终诞生了这件简易的文本阅读器。. 最终作品.
E N D
简易文本阅读器 设计者:王 振 郭洋洋
一个想法 • 我们起初的设想是把LCD和SD卡结合起来,从SD卡读取字符,显示在LCD上,即综合SD卡音乐播放和LCD字符显示这两个题目的设计要求。 • 然后我们进一步丰富和完善了这个想法,借助DE2开发板提供的资源,形成了文本阅读器的雏形——从SD卡读取字符,然后显示。这个最初的设计很粗糙,断行显示、乱码显示的几率很高。 • 后来我们把更丰富的功能设想写在纸上,然后逐一实现,最终诞生了这件简易的文本阅读器。
最终作品 • 单词完整显示在LCD一行,不会出现单词被拆开的情况。一篇文章看完后会出现提示信息,重新阅读或者选择不再阅读,开关0加以控制。 • 有自动换页和自动换页两种模式,可以通过按键0调节,也可以由按键3改变自动换页的时间间隔。 • 按键1控制向下翻页,按键2向上翻页,按键翻页优先级高于自动翻页。 • 四个数码管显示时间,两个数码管显示页码,一个数码管显示自动翻页间隔,还有一个数码管显示自动还是手动模式(A/0). • 看电子书时可以选择收听音乐,只要把开关1拨下就行了;如果音乐打扰了你阅读,只需拨上。SD卡上的一首或几首歌曲是循环播放的,目前还不可控。
硬件架构 SDRAM NIOSII Timer AVALON PIO SD Card Connector Audio FIFO WM8371 Audio Module
软件设计思想 • 主程序包括初始化和音乐播放,文本数据在初始化过程中已由SD卡调到内存,并进行了一番处理,以符合输出要求。音乐播放一直进行,不断从SD卡读数据,然后送到音频缓冲区,采用查询方式与音频模块通信。 • 中断作为设计的重点,用到了PIO中断和定时器中断。无论是文本的输出显示,手动或自动翻页,数码管显示的时间、页码、模式等,都交由中断服务程序处理。 • 在中断处理程序中,我们尽量减少处理时间,采用全局标志变量进行程序间的通信。
主函数的说明 • int main() • { • txtInit(); • pioInit(); • timerInit(); • playMusic(); • return 0; • }
分享喜悦 下面是我们的作品展示,敬请关注…
我们所获得的 • 我们认识并亲身经历了一项新技术,从中领会到一种新的设计思路,FPGA/SOPC对我们来说已经不再陌生,这就是一种收获。 • 我们经历挫折,排疑解难,这样的历练是以后工作和生活不可或缺的。 • 我们组成团队,分工合作,相互督促,为了共同的目标努力,从而领会到团队合作的重要性。 • 我们把想法变成了现实,从而体会到“思想有多远,你就能走多远”的道理,这本身就是一件意义重大的事。