產品詳情
手把手教你學CPLD(FPGA)與單片機聯合設計
?
第1章? 可編程邏輯器件概述
1.1? 可編程邏輯器件簡介
1.1.1? 可編程邏輯器件的基本結構
1.1.2? 可編程邏輯器件的分類及特點
1.1.3? 可編程邏輯器件的邏輯表示方法
1.2? CPLD(FPGA)的結構與特性
??????????? ?1.2.1? 基于乘積項的CPLD原理與結構
1.2.2? 基于乘積項的CPLD邏輯實現方式
1.2.3? 基于查找表的FPGA原理與結構
1.2.4? 基于查找表結構的FPGA邏輯實現方式
1.2.5? CPLD與FPGA 器件差別之處
1.3?? Altera的MAX7000系列CPLD特性介紹
1.3.1? 邏輯陣列塊(LAB)
1.3.2? 宏單元
1.3.3????????? 擴展乘積項
1.3.4????????? 可編程連線陣列
1.3.5? I/O控制塊
1.3.6? 其他特性
?
第2章 可編程邏輯器件的設計流程及學習開發器材
2.1? 可編程邏輯器件的設計流程
2.1.1? 設計輸入
2.1.2? 綜合
2.1.3? CPLD/FPGA器件適配
2.1.4? 仿真
2.1.5? 編程下載
2.2? CPLD(FPGA)與單片機聯合設計的學習器材介紹
2.2.1? Altera 的集成開發軟件MAX+plus II及Quartus II
2.2.2? Keil C51? Windows集成開發環境
2.2.3? MCU & CPLD DEMO綜合試驗板
2.2.4? ByteBlaster MV并口下載器
2.2.5? 單片機USB程序下載器
2.2.6? 9V高穩定專用穩壓電源
?
第3章 開發軟件的安裝
3.1?? Keil C51集成開發軟件安裝
3.2?? MAX+plus II集成開發軟件安裝
3.3?? Quartus II集成開發軟件安裝
3.4? USBasp下載器的安裝與使用
3.4.1? USBasp下載器的安裝
3.4.2? USBasp下載器的使用
3.5? Atmel并口下載軟件atmelisp 的安裝
3.6?? POF to JED轉換軟件Pof2jed的安裝
?
第4章 第一個CPLD(FPGA)入門實驗程序
4.1? 使用Max+plusⅡ集成開發軟件進行入門實驗
4.1.1? 建立項目
4.1.2? 設計輸入
4.1.3? 選擇器件并鎖定引腳
4.1.4? 編譯器件
4.1.5? 仿真
4.1.6? 編程下載
4.1.7? 應用
4.2? 使用Quartus II集成開發軟件進行入門實驗
4.2.1? 建立項目
4.2.2? 設計輸入(原理圖或硬件描述語言)
4.2.3? 設計編譯
4.2.4? 仿真
4.2.5? 引腳分配
4.2.6? 編程下載
4.2.7? 應用
?
第5章 Verilog HDL硬件描述語言
5.1?? Verilog HDL模塊的基本結構
5.1.1?????? 模塊聲明
5.1.2?????? 端口定義
5.1.3?????? 信號類型說明
5.1.4??? 邏輯功能描述
5.1.5?????? 實驗程序1—緩沖器
5.1.6?????? 實驗程序2—反相器(非門)
5.2?? Verilog HDL語法要素
5.2.1?????? 標識符與關鍵字
5.2.2?????? 常量、變量及數據類型
5.2.3?????? 實驗程序3—與門
5.2.4?????? 實驗程序4—與非門
5.2.5?????? 實驗程序5—LED的閃爍
5.2.6?????? 運算符
5.2.7?? 運算符的優先級
5.2.8?????? 實驗程序6—或門
5.2.9?????? 實驗程序7—或非門
5.2.10???? 實驗程序8—異或門
5.2.11???? 實驗程序9—異或非門
5.2.12???? 實驗程序10—三態門
5.3?? Verilog HDL的行為語句
5.3.1?????? 賦值語句
5.3.2?????? 過程語句
5.3.3?????? 塊語句
5.3.4?????? 條件語句
5.3.5?????? 循環語句
5.3.6?????? 編譯預處理
5.3.7?????? 任務和函數
5.4?? Verilog HDL數字邏輯單元結構的設計
5.4.1?????? 結構描述方式
5.4.2? ??實驗程序—門級結構描述設計的基本門電路
5.4.3?????? 數據流描述方式
5.4.4?????? 行為描述方式
?
第6章? 組合邏輯電路的設計實驗
6.1?? 2選1數據選擇器
6.1.1?? 2選1數據選擇器簡介
6.1.2?? 采用數據流描述方式的設計
6.1.3?? 采用行為描述方式的設計
6.2?? 4選1數據選擇器
6.2.1?? 4選1數據選擇器簡介
6.2.2?? 采用數據流描述方式的設計
6.2.3?? 采用行為描述方式的設計
6.3??? 3位二進制優先編碼器(8-3優先編碼器)
6.3.1?? 3位二進制優先編碼器簡介
6.3.2?? 3位二進制優先編碼器的設計
6.4??? 3位二進制譯碼器(3-8譯碼器)
6.4.1?? 3位二進制譯碼器簡介
6.4.2?? 3位二進制譯碼器的設計
6.5?? BCD-7段譯碼器
6.5.1?? BCD-7段譯碼器簡介
6.5.2?? BCD-7段譯碼器的設計
6.6 ??半加器
6.6.1?? 半加器簡介
6.6.2?? 采用門級描述方式的半加器設計
6.6.3?? 采用數據流描述方式的半加器設計
6.6.4?? 采用行為描述方式的半加器設計
6.7?? 全加器
6.7.1?? 全加器簡介
6.7.2?? 全加器的設計
?
第7章 觸發器的設計實驗
7.1?? RS觸發器
7.1.1?? RS觸發器簡介
7.1.2?? RS觸發器的設計
7.2?? JK觸發器
7.2.1?? JK觸發器簡介
7.2.2?? JK觸發器的設計
7.3?? 帶有復位的JK觸發器
7.3.1 ??帶有復位的JK觸發器簡介
7.3.2?? 帶有復位的JK觸發器的設計
7.4?? D觸發器
7.4.1?? D觸發器簡介
7.4.2?? D觸發器的設計
7.5?? 帶有復位的D觸發器
7.5.1?? 帶有復位的D觸發器簡介
7.5.2?? 帶有復位的D觸發器設計
7.6?? 帶有復位的異步T觸發器
7.6.1?? 帶有復位的異步T觸發器簡介
7.6.2?? 帶有復位的異步T觸發器的設計
7.7?? 帶有復位的同步T觸發器
7.7.1?? 帶有復位的同步T觸發器簡介
7.7.2?? 帶有復位的同步T觸發器的設計
?
第8章?? 時序邏輯電路的設計實驗
8.1?? 寄存器
8.1.1?? 寄存器簡介
8.1.2?? 寄存器的設計
8.2?? 鎖存器
8.2.1?? 鎖存器簡介
8.2.2?? 鎖存器的設計
8.3?? 移位寄存器
8.3.1?? 移位寄存器簡介
8.3.2?? 移位寄存器的設計
8.4?? 計數器
8.4.1?? 4位二進制異步加法計數器簡介
8.4.2?? 4位二進制異步加法計數器的設計
8.4.3?? 10進制(任意進制)同步加法計數器簡介
8.4.4?? 10進制同步加法計數器的設計
?
第9章 CPLD(FPGA)的設計應用
9.1?? 跑馬燈實驗
9.1.1?? 實驗要求
9.1.2????????? 實現方法
9.1.3?? 程序設計
9.2?? 多位數碼管的動態掃描顯示
9.2.1?? 實驗要求
9.2.2????????? 實現方法
9.2.3?? 程序設計
9.3?? 蜂鳴器發聲實驗
9.3.1?? 實驗要求
9.3.2????????? 實現方法
9.3.3??? 程序設計
9.4?? 簡易電子琴實驗
9.4.1?? 實驗要求
9.4.2????????? 實現方法
9.4.3?? 程序設計
9.5?? 驅動字符型液晶顯示器實驗
9.5.1?? 實驗要求
9.5.2?? 字符型液晶控制器的指令簡介
9.5.3?? 字符型液晶控制器的工作時序
9.5.4?? 時序參數
9.5.5????????? 實現方法
9.5.6?? 程序設計
9.6?? 串口接收實驗
9.6.1?? 實驗要求
9.6.2????????? 實現方法
9.6.3?? 程序設計
9.7?? 串口發送實驗
9.7.1?? 實驗要求
9.7.2????????? 實現方法
9.7.3?? 程序設計
9.8.?? RS232收發實驗
9.8.1??? 實驗要求
9.8.2??? 實現方法
9.8.3??? 程序設計
9.9?? RS232收發不同內容的實驗
9.9.1?? 實驗要求
9.9.2????????? 實現方法
9.9.3?? 程序設計
9.10?? 簡易數字電子鐘
9.10.1?? 實驗要求
9.10.2?? 實現方法
9.10.3?? 程序設計
?
第10章?? MCS-51單片機的基本知識
10.1?? MCS-51單片機的基本結構
10.2?? 80C51基本特性及引腳定義
10.2.1?? 80C51的基本特征
10.2.2?? 80C51的引腳定義及功能
10.3?? 80C51的內部結構
10.4?? 80C51的存儲器配置和寄存器
?
第11章? 單片機C語言基礎知識
11.1? C語言的標識符與關鍵字
11.2? 數據類型
11.3? 常量、變量及存儲類型
11.4? 數組
11.4.1? 一維數組的定義
11.4.2? 二維及多維數組的定義
11.4.3? 字符數組
11.4.4? 數組元素賦初值
11.4.5? 數組作為函數的參數
11.5? C語言的運算
11.5.1? 算術運算符
11.5.2? 關系運算符
11.5.3? 邏輯運算符
11.5.4? 賦值運算符
11.5.5? 自增和自減運算符
11.5.6? 逗號運算符
11.5.7? 條件運算符
11.5.8? 位運算符
11.5.9? sizeof運算符
11.6? 流程控制
11.6.1? 條件語句與控制結構
11.6.2? 循環語句
11.7? 函數
11.7.1? 函數定義的一般形式
11.7.2? 函數的參數和函數返回值
11.7.3? 函數調用的三種方式
11.8? 指針
11.8.1? 指針與地址
11.8.2? 指針變量的定義
11.8.3? 指針變量的引用
11.8.4? 數組指針與指向數組的指針變量
11.8.5? 指針變量的運算
11.8.6? 指向多維數組的指針和指針變量
11.9? 結構體
11.9.1? 結構體的概念
11.9.2? 結構體類型變量的定義
11.9.3? 關于結構體類型有幾點需要注意的地方
11.9.4? 結構體變量的引用
11.9.5? 結構體變量的初始化
11.9.6? 結構體數組
11.9.7? 指向結構體類型數據的指針
11.9.8? 用指向結構體變量的指針引用結構體成員
11.9.9? 指向結構體數組的指針
11.9.10? 將結構體變量和指向結構體的指針作函數參數
11.10? 共用體
11.10.1? 共用體類型變量的定義
11.10.2? 共用體變量的引用
11.11? 中斷函數
11.11.1? 什么是中斷
11.11.2?? 中斷響應及C51編程
11.11.3? MCS-51單片機的常用中斷源和中斷向量
11.11.4? 編寫MCS-51單片機中斷函數時應嚴格遵循的規則
?
第12章? CPLD(FPGA)與單片機的接口及數據傳輸
12.1? CPLD(FPGA)與單片機AT89S51的接口連接及數據傳輸實驗
12.1.1?? 實驗要求
12.1.2????? 實現方法
12.1.3? CPLD(FPGA)程序設計
12.1.4? 單片機程序設計
12.2? 單片機直接訪問方式驅動液晶
12.2.1? 實驗要求
12.2.2????? 實現方法
12.2.3 ?CPLD(FPGA)程序設計
12.2.4? 單片機程序設計
12.3? 單片機間接控制方式驅動液晶
12.3.1? 實驗要求
12.3.2? 實現方法
12.3.3? CPLD(FPGA)程序設計
12.3.4? 單片機程序設計
?
第13章? CPLD(FPGA)與單片機的聯合設計實例--液晶顯示頻率計
13.1? 設計要求
13.2? 實現方法
13.2.1?? CPLD(FPGA)的功能設計
13.2.2?? 單片機的功能設計
13.3?? CPLD(FPGA)程序設計
13.4?? 單片機程序設計
?