前言:

无数昼夜的来回轮替以后,这本《驱动篇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模块

 

【黑金原创教程】【FPGA那些事儿-驱动篇I 】原创教程连载导读【连载完成,共二十九章】的更多相关文章

  1. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】连载导读

    前言: 无数昼夜的来回轮替以后,这本<驱动篇I>终于编辑完毕了,笔者真的感动到连鼻涕也流下来.所谓驱动就是认识硬件,还有前期建模.虽然<驱动篇I>的硬件都是我们熟悉的老友记,例 ...

  2. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十九:SDRAM模块② — 多字读写

    实验十九:SDRAM模块② — 多字读写 表示19.1 Mode Register的内容. Mode Register A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A ...

  3. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十:SDRAM模块③ — 页读写 α

    实验二十:SDRAM模块③ — 页读写 α 完成单字读写与多字读写以后,接下来我们要实验页读写.丑话当前,实验二十的页读写只是实验性质的东西,其中不存在任何实用价值,笔者希望读者可以把它当成页读写的热 ...

  4. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二:按键模块① - 消抖

    实验二:按键模块① - 消抖 按键消抖实验可谓是经典中的经典,按键消抖实验虽曾在<建模篇>出现过,而且还惹来一堆麻烦.事实上,笔者这是在刁难各位同学,好让对方的惯性思维短路一下,但是惨遭口 ...

  5. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验七:PS/2模块① — 键盘

    实验七:PS/2模块① — 键盘 实验七依然也是熟烂的PS/2键盘.相较<建模篇>的PS/2键盘实验,实验七实除了实现基本的驱动以外,我们还要深入解PS/2时序,还有PS/2键盘的行为.不 ...

  6. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十:PS/2模块④ — 普通鼠标

    实验十:PS/2模块④ - 普通鼠标 学习PS/2键盘以后,接下来就要学习 PS/2 鼠标.PS/2鼠标相较PS/2键盘,驱动难度稍微高了一点点,因为FPGA(从机)不仅仅是从PS/2鼠标哪里读取数据 ...

  7. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十八:SDRAM模块① — 单字读写

    实验十八:SDRAM模块① — 单字读写 笔者与SDRAM有段不短的孽缘,它作为冤魂日夜不断纠缠笔者.笔者尝试过许多方法将其退散,不过屡试屡败的笔者,最终心情像橘子一样橙.<整合篇>之际, ...

  8. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】【实验一】流水灯模块

    实验一:流水灯模块 对于发展商而言,动土仪式无疑是最重要的任务.为此,流水灯实验作为低级建模II的动土仪式再适合不过了.废话少说,我们还是开始实验吧. 图1.1 实验一建模图. 如图1.1 所示,实验 ...

  9. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验六:数码管模块

    实验六:数码管模块 有关数码管的驱动,想必读者已经学烂了 ... 不过,作为学习的新仪式,再烂的东西也要温故知新,不然学习就会不健全.黑金开发板上的数码管资源,由始至终都没有改变过,笔者因此由身怀念. ...

随机推荐

  1. LeetCode题库13. 罗马数字转整数(c++实现)

    问题描述: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II  ...

  2. 解决netaddr不能安装0.7.6以上版本

    今天在Jenkins上添加了两个新jobs,但是同事提交代码后的自动测试运行出现错误.查看原因是tox命令在安装包依赖的时候,找不到大于0.7.6以上的版本,但可是我们明明安装过0.7.10了呀. 后 ...

  3. WIN10平板如何录制视频,为什么录制屏幕无法播放

    你的平板分辨率太高(系统推荐2736X1824),实际上一半就够了(1368X912),因为大部分传统显示器分辨率只有1280X720这种.把分辨率调低还有很多的好处,因为很多软件在分辨率太高的情况下 ...

  4. APICloud和海马玩模拟器结合调试手机页面

    https://blog.csdn.net/pleasecallme_522/article/details/54577904

  5. XMR恶意挖矿脚本处理笔记

    一.登录 攻击者如何登录系统未能查出,所有日志已被清除.为防万一,把系统中没用的用户都删掉并修改其他用户密码. 二.被攻击后的表象 1.服务器资源被大量占用,资源占用率飙升: 2.服务器所有JS文件被 ...

  6. 外贸圈 贸易经 外贸心路 一位成功外贸人的SOHO心得

    一位成功外贸人的SOHO心得 外贸圈http://waimaoquan.alibaba.com/wm Jade,高中毕业,93年进入外贸行业,刚开始,只是在公司的外贸仓库工作,10多年后的今天,他已成 ...

  7. 利用 Express 托管静态文件

    通过 Express 内置的 express.static 可以方便地托管静态文件,例如图片.CSS.JavaScript 文件等. 将静态资源文件所在的目录作为参数传递给 express.stati ...

  8. 你被R语言的=和<-搞昏了头吗

    学习R有一周了,心中一直有一个困惑,关于= 和 <-,今晚决定搞定它! 迄今为止用到最多的函数是matrix() 和c(),就用他们说起!   之前学了四五门语言,对于=赋值已经成了惯性,下面是 ...

  9. 为OLED屏添加GUI支持6:进度条控件

    为OLED屏添加GUI支持6:进度条控件 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN10 开发环境:MDK5.13 MCU:S ...

  10. 解决python3 UnicodeEncodeError: 'gbk' codec can't encode character '\xXX' in position XX

    从网上抓了一些字节流,想打印出来结果发生了一下错误: UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position ...