前言:
无数昼夜的来回轮替以后,这本《驱动篇I》终于编辑完毕了,笔者真的感动到连鼻涕也流下来。所谓驱动就是认识硬件,还有前期建模。虽然《驱动篇I》的硬件都是我们熟悉的老友记,例如UART,VGA等,但是《驱动篇I》贵就贵在建模技巧的升华,亦即低级建模II。
话说低级建模II,读过《建模篇》的朋友多少也会面熟几分,因为它是低级建模的进化形态。许久以前,笔者就有点燃低级建模II的念头,但是懒惰的性格让笔者别扭许久。某天,老大忽然说道:“让咱们大干一场吧! ”。就这样,Alinx计划开启,这本《驱动篇I》也成为吉利开红炮。
《驱动篇I》涉及的硬件可谓是大杂烩,例如经典的流水灯,折磨死人的SDRAM,暴力的SD Card等,内容尽是一些平民硬件。虽然,它们曾在其它教程露脸过,但是结果都卡在一半,处于不上不下那种,说起来还真是不好意思,因为笔者当时年少无知嘛。因此,笔者尽可能为《驱动篇I》补足每一项解释以及时序。
老实说,《驱动篇I》更加钟情解释时序,提高代码的解读能力,减少连线,应用通用结构等小细节,古人不是说过什么细节决定成败。所以说,笔者宁愿在细节上加好料,也不要太啰嗦硬件。期间,如果发现什么地方存在忽略,请读者大人原谅懒惰的笔者。手册是读者的好朋友。
在此,笔者需要说声抱歉。《驱动篇I》是偏向实用性的教程,同时也是综合性质的教程,多少也会缺少一丝温柔。因为《驱动篇I》不会一点一滴给大伙解释,更多仅挑重点而已。入门的同学读起来可能会觉得痛苦,这种感觉好比一口气消化几块切糕。如果读者真的痛苦万分,读者可以回顾《Verilog HDL那些事儿》系列的教程,它可能更加适合。最后,愿大家建模愉快!
目录:
实验一:流水灯模块
实验二:按键模块① - 消抖
实验三:按键模块② — 点击与长点击
实验四:按键模块③ — 单击与双击
实验五:按键模块④ — 点击,长点击,双击
实验六:数码管模块
实验七:PS/2模块① — 键盘
实验八:PS/2模块② — 键盘与组合键
实验九:PS/2模块③ — 键盘与多组合键
实验十:PS/2模块④ — 普通鼠标
实验十一:PS/2模块⑤ — 扩展鼠标
实验十二:串口模块① — 发送
实验十三:串口模块② — 接收
实验十四:储存模块
实验十五:FIFO储存模块(同步)
实验十六:IIC储存模块
实验十七:IIC储存模块 - FIFO读写
实验十八:SDRAM模块① — 单字读写
实验十九:SDRAM模块② — 多字读写
实验二十:SDRAM模块③ — 页读写 α
实验二十一:SDRAM模块④ — 页读写 β
实验二十二:SDRAM模块⑤ — FIFO读写
实验二十三:DS1302模块
实验二十四:SD卡模块
实验二十五:SDHC模块
实验二十六:VGA模块
实验二十七:TFT模块 - 显示
实验二十八:TFT模块 - 触屏
实验二十九:LCD模块