目 錄 第1章 DICE-DS01實驗系統的資源介紹 一、系統功能概述 二、系統硬件資源 第2章 開發環境安裝使用說明 一、KeilC51集成開發環境的安裝 二、在Keil uVision2中新建一個工程以及工程配置 三、工程的編譯、調試以及ISP下載 第3章 基于51單片機系統資源實驗 一、單片機的IO編程 二、單片機的中斷系統 三、單片機的定時器/計數器 四、單片機的串口特點和編程 五、存儲器 六、PWM發生器 七、WDG看門狗 八、SPI總線 九、 I2C總線 十、綜合實驗 十一、步進電機實驗 十二、TFT液晶顯示實驗 十三、16X16LED點陣顯示漢字實驗 附錄 芯片管腳與實驗箱上面MCU模塊部分的二號孔對應說明: 第4章 基于Altera CPLD系統設計實驗 實驗一 簡單門電路實驗 實驗二 地址譯碼電路實驗 實驗三 分頻器電路實驗 實驗四 8位鎖存器電路實驗 實驗五 4位共陰極數碼管動態顯示實驗 附錄A QuartusII 6.0安裝方法 附錄B QuartusII 6.0使用說明書 第1章 DICE-DS01實驗系統的資源介紹一、系統功能概述DICE-DS01型教學實驗系統是屬于一種綜合的教學實驗系統,該系統支持8位的8051 / C8051F021等型號、16位的MSP430系列 / AVR系列以及基于Cortex-M3內核的32位群星系列ARM處理器,實現了多模塊的應用實驗。它是集學習、應用編程、開發研究于一體多功能創新平臺。用戶可根據自己的需求選用不同類型的CPU適配板,同時,實驗系統上的EXP總線能夠拓展較為豐富的實驗接口板。用戶在了解EXP標準后,更能研發出滿足自身需求的實驗接口板。除此之外,在實驗板上有豐富的外圍擴展資源(如:撥動鍵盤與LED顯示、HD7279、TFT真彩液晶、16X16 LED漢字點陣、12位串行AD和DA、光耦/繼電器、通信模塊、IC卡模塊、E-LAB模塊以及電機控制模塊等),可以完成基于CPU硬件資源的基礎性實驗、多種串行總線類實驗以及CAN總線實驗等等。實驗箱底板的平面框圖如下圖1-1所示:
圖1-1 DICE-DS01系統的底板資源平面圖DICE-DS01實驗箱(即:《多功能創新平臺》)是集EDA /CPLD/FPGA和MCU 的開發為一體的綜合性實驗箱,它不僅可以獨立完成各種EDA /CPLD/FPGA設計,也可以完成多種MCU開發。 MCU部分支持的CPU板卡有:EXP-LM3S615/2948/3749/6952/9B90、EXP-C8051F021、EXP-MSP430F149/155/5419、EXP-Atmega128等等(我公司的全系列EXP接口類開發板)。 EDA部分支持的CPU板類有:EXP-EPM3128&3256、EXP-EP1K30、EXP-EP3C5 & EP3C10等等(我公司的全系列EXP接口類開發板)。 二、系統硬件資源該DICE-DS01實驗系統的硬件資源主要包括: ☆EXP系列MCU板接口單元 ☆ EXP系列EDA/CPLD/FPGA板接口單元 ☆ E_LAB模塊接口單元 ☆ 外擴看門狗(MAX705)單元 ☆ 接觸式IC卡單元 ☆ 蜂鳴器驅動單元 ☆ 光電耦合器與繼電器單元 ☆ 單脈沖產生單元 ☆ 單總線(DS18B20數字溫度傳感器)單元 ☆ 12位串行AD(TLC2543)單元 ☆ 12位串行DA(TLV5616)單元 ☆ 數字輸入輸出(12個撥動開關及12個LED發光管)單元 ☆ 電機(直流電機與步進電機)控制單元 ☆ 鍵盤顯示(芯片HD7279A,2×4鍵盤,帶4位LED數碼管)單元 ☆ TFT真彩液晶(AM176220 TFT彩色液晶屏,176×220分辨率)顯示單元 ☆ 16X16 LED點陣顯示單元 ☆ RS232 、RS485總線通信接口單元 ☆ CAN總線多機通信接口單元(部分芯片具有) ☆ USB主從設備接口單元(部分芯片具有,硬件在CPU板上) ☆ 以太網接口單元(部分芯片具有,硬件在CPU板上) 下面分別介紹各個單元: 1、CPU板接口 該實驗系統采用外設底板加CPU最小系統板的結構方式,CPU通過雙排針擴展槽擴展。用戶可根據自己的需求選用不同類型的CPU板。不同類型的CPU板在實驗箱的硬件資源上是完全兼容的。支持不同種類的CPU板混合使用。 CPU最小系統板主要由以下幾個模塊組成: ☆ CPU芯片部分 ☆ 時鐘產生部分 ☆ 復位電路部分 ☆ 擴展接口部分 ☆ 電源變換部分 ☆ UART接口部分 ☆ USB主從接口部分(部分CPU板具有) ☆ 以太網接口部分(部分CPU板) EXP-89S51CPU板PCB布局圖,如圖1-2所示: 圖1-2外觀和接口示意圖 表1-1接口說明 ISP下載口:EXP-89S51的JISP下載口,符合51接口標準,引腳分配圖如下圖1-3所示:(PCB中的方形焊盤為第一腳) 圖1-3ISP下載口管腳定義 POWER:電源接口,CPU板單獨使用時,從此接口給CPU板供電,+5V,內正外負。CPU板插在實驗箱底板上時,不需要從POWER電源插口供電。 RST:復位按鈕,按下系統復位。 P1:CPU數據地址總線擴展接口。 表1-2P1管腳定義
P2:CPU外設總線擴展接口 表1-3P2管腳定義 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 外部中斷1/捕捉0/定時器1比較器輸出/通用I/O | | | | | | | | | | | | | | | | | | | | | | | | | | |
P4:總線輸入輸出接口 表1- 4P4管腳定義
LED指示燈:D1:程序運行燈、D2:+3.3V。
2、E_lab總線接口 通過E_lab接口,可擴展我公司的E_lab擴展模塊,信號定義如圖1-4所示: 圖1-4 E-LAB接口定義 接口的外形如圖1-5所示:圖1-5E_LAB接口外形 3、串口接口 該模塊主要支持用串口進行無線通信的模塊,如ZIGBEE模塊。 接口信號定義如圖1-6所示: 圖1-6串口接口信號定義 4、看門狗模塊 該模塊主要實現外擴看門狗器件控制MCU復位,做實驗的時候只需連接兩根線,電路圖如圖1-7所示。
圖1-7外擴看門狗電路圖5、IC卡模塊 該模塊主要完成 I2C總線讀寫IC卡的實驗,既可以采用GPIO口模擬I2C時序的方式也可以采硬件I2C的方式,具體取決于所選擇的MCU是否自帶I2C控制器。原理圖如圖1-8所示:
圖1-8 IC卡電路圖 6、RS485模塊 該模塊主要完成485通信實驗,由MAX485芯片完成485電平的轉換。電路圖如圖1-9所示:
圖1-9RS485電路圖 7、溫度采集模塊 該模塊采用單總線通信方式的數字溫度傳感器DS18B20實時采集當前的溫度。電路圖如圖1-10所示:
圖1-10DS18B20電路圖 8、A/D轉換模塊 該模塊主要完成模擬量與數字量的轉換,使用TI的TLC2543芯片,該芯片是12位的串行A/D轉換芯片,采用SPI的通信模式,電路圖如圖1-11所示:
圖1-11 A/D轉換電路圖 9、D/A轉換模塊 該模塊主要完成數字量與模擬量的轉換,使用TI的TLC5616芯片,該芯片是12位的串行D/A轉換芯片,采用SPI的通信模式,電路圖如圖1-12所示:
圖1-12 DA轉換電路圖 10、CAN總線模塊 Cortex-M3的部分芯片帶CAN控制器,只需外接一個CAN收發隔離器件就可以完成CAN總線通信實驗。電路圖如圖1-13所示:
圖1-13 CAN總線電路圖 11、蜂鳴器模塊 該模塊主要完成用MCU的定時器產生不同頻率的PWM方波驅動蜂鳴器鳴叫。電路圖如圖1-14所示:
圖1-14蜂鳴器電路圖 12、光耦與繼電器模塊 該部分主要用光耦控制繼電器的打開與閉合,實現光電隔離的功能。電路圖如圖1-15所示:
圖1-15光耦、繼電器電路圖 13、單脈沖產生模塊 該模塊主要用來提供外部脈沖信號,可供給MCU的中斷管腳實現外部中斷計數的功能。電路圖如圖1-16所示:
圖1-16外部脈沖輸入電路圖
14、撥動開關與LED燈模塊 該模塊主要作為一個簡單的數字量輸入輸出設備,撥動開關可以改變輸入的狀態,LED燈可以顯示輸出的高低電平。電路圖如圖1-17所示:
圖1-17鍵盤與LED電路圖 15、直流電機模塊 該模塊主要實現直流電機的轉速測量及調速實驗,通過電位器改變電機的轉速,轉速經霍爾傳感器轉后得到方波,用定時器定時1S鐘來觀測MCU接收到多少個外部脈沖,從而得到電機轉速。電路圖如圖1-18所示:
圖1-18直流電機電路圖 16、步進電機模塊 該模塊主要實現步進電機轉向與轉速的控制,用74LS07作為驅動芯片,電路圖如圖1-19所示:
圖1-19步進電機電路圖 17、鍵盤數碼管顯示模塊 該模塊采用專用的鍵盤與顯示控制芯片HD7279A,實現顯示與按鍵中斷的控制。電路圖如圖1-20和1-21所示:
圖1-20數碼管顯示電路圖 圖1-21 7279電路圖 18、LCD模塊 該模塊采用臺灣晶采公司生產的AM176220JTNQW-00真彩液晶,該液晶參數為262K色,176X220像素,2.0寸液晶,在實驗箱上采用8位數據線與5根控制線的方式驅動該液晶顯示字符。實驗箱上的撥碼開關K33為液晶的背光開關,KT1為液晶電源開關,使用的時候將兩個撥碼開關撥到上側,不使用的時候均撥到下側,達到節約資源的目的。電路圖如圖1-22所示:
圖1-22 TFT 2.0真彩液晶電路圖 19、16X16LED點陣顯示模塊 該模塊主要顯示漢字的功能。采用兩片74LS138控制行信號,兩片74LS595傳送數據,實現串入并出的方式,這樣可以節省MCU的GPIO口。74LS138控制的行給低電平,數據位給高電平的時候對應的點會點亮。驅動電路圖如圖1-23所示:
圖1-23 16X16 LED點陣顯示行列驅動電路 20、其它接口說明 電源單元:為系統提供+5V、+12V、-12V、+3.3V的電源,其中+3.3V的電源已經在實驗箱底板上用紅色LED(POWER)燈指示出來。 時鐘單元:采用我公司現成的時鐘模塊,通過接插件連入實驗箱的底板上,看絲印注釋選擇相應的撥碼開關狀態即可獲得所需的時鐘輸出?勺鱁DA部分的時鐘輸入。
第2章 開發環境安裝使用說明一、KeilC51集成開發環境的安裝1、Keil uVision2的安裝步驟如下 將安裝文件拷貝到電腦根目錄下,然后雙擊圖標,如圖2-1所示: 注意:去掉屬性里的只讀選項。
圖2-1啟動安裝環境對話框 2、選擇Eval Version。然后然后一直next直至安裝完成,如圖2-2所示:
圖2-2 完成安裝 二、在Keil uVision2中新建一個工程以及工程配置1、打開Keil C環境,如圖2-3所示。 圖2-3 打開工程對話框 2、新建工程或打開工程文件:在主菜單上選“Project”項,在下拉列表中選擇“New Project”新建工程,瀏覽保存工程文件為擴展名為“.Uv2”的文件;蛟谙吕斜碇羞x擇“Open project”打開已有的工程文件。如題2-4所示: 圖2-4 新建工程 3、環境設置:新建工程文件后,在工具欄中選擇如下圖選項設置調試參數及運行環境  ,或從主菜單“Project”項中選擇“Options for Target ‘Target1’”,打開如下圖2-5設置窗口。 圖2-5 選擇目標器件 在“Device”項下選擇要仿真的芯片類型,如:Atmel –> AT89S51。 在“Target”項下的晶振設置中修改為硬件電路所用晶振頻率,如:6MHz。 在“Output”項下如在Creat HEX File選項前打勾,則在編譯的同時生成可下載執行的HEX文件,用仿真芯片仿真時可以不進行此項設置。 在“Debug”項下選擇“Use: Keil Moniter-51 Driver ”使用硬件仿真。如圖2-6所示: 圖2-6Debug窗口設置 點擊“Settings”按鈕,進入串口選擇及波特率設置窗口(如圖2-7所示)。 圖2-7端口設置 選擇合適的波特率及串口號!癝erial Interrupt”項不可選,把前面的勾打掉。點OK保存設置。 在“Option for Target ‘Target1’”窗口中,點確定,退出環境設置。 4、新建文件:在主菜單的“File”下拉列表中選“New…”新建文件。編輯文件并保存文件。文件保存為擴展名為“.C”或“.ASM”的文件,如圖2-8所示。 圖2-8新建main.C或.ASM文件
5、添加文件:在左邊的“Project Window”窗口中,用右鍵選取“Source Group 1”,在彈出的列表中選擇“Add Files to Group ‘Source Group 1”,彈出瀏覽窗口,如圖2-9所示: 圖2-9 添加main.c或.asm文件 瀏覽添加編輯好的C或ASM文件。添加完畢點“Close”,關閉窗口。 這時發現添加的文件名已出現在“Project Window”窗口中。雙擊剛添加的C或ASM文件。打開編輯文件窗口如圖2-10所示: 圖2-10 工程窗口 三、工程的編譯、調試以及ISP下載1、譯鏈接:在“Build Bar”  工具條中,選第二項編譯當前文件,第三項為編譯全部。編譯完成,在下方“Output”窗口中出現編譯結果,如圖2-11所示: 圖2-11編譯窗口 2、仿真調試:點擊調試按鈕  ,或從主菜單選取調試“Start/Stop Debgu Session CTRL+F5”(快捷鍵CTRL+F5),程序下載到仿真芯片中。窗口下方顯示下載進度條。100%下載完成后出現如圖2-12所示。 圖2-12下載窗口 - 序仿真:運用運行“Debug Bar”調試工具條
,進行單步、進入、跳出、運行到光標、全速運行等。
全速運行后,程序不受控。如需再次單步調試,需點擊調試工具  停止按鈕,停止調試。停止后,硬件復位仿真芯片,再次運行第7步。 4、使用ISP燒寫hex文件。 (1)、雙擊次目錄下的文件IspPgm.exe即可打開軟件進入如圖2-13的界面 圖2-13 ISP窗口 (2)、芯片選擇左擊界面右面芯片選擇窗口的下拉箭標,選擇編程芯片的型號。 (3)、導入hex文件到緩沖區 (4)、左擊界面上的“Open File”按鈕,選擇需要寫入的hex文件。 (5)、向芯片寫入文件(寫文件時要保證編程電纜連接正確,且CPU工作正常) (6)、左擊界面上的“Write”按鈕,開始編程向芯片寫入程序。 (7)、寫入結束,出現如圖2-14界面表示完成寫入編程。 圖2-14 ISP下載完畢 (8)、退出程序,左擊界面右上角的“x”按鈕,退出此程序。
第3章 基于51單片機系統資源實驗一、單片機的IO編程實驗1 IO開關量輸入實驗 目的:學習單片機讀取IO引腳狀態的的方法。 內容:編程讀取IO引腳狀態。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:首先要把相關的引腳設置在IO的輸入狀態,然后寫一個循環,不停地檢測引腳的狀態。 步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、連線:用導線將試驗箱上的的IO1--- IO8分別連接到SWITCH的8個撥碼開關的K1---K8的輸出端子K1---K8上,連接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾IO_INPUT下的工程文件IO_INPUT.Uv2編譯程序,上電,在程序注釋處設置斷點,進入調試狀態,打開窗口Peripherals-->IO-Port-->P0,改變開關狀態, 運行程序到斷點處,觀察窗口的數值與開關的對應關系。 
實驗2 IO輸出驅動繼電器(或光電隔離器)實驗 目的:學習IO輸出控制方法。 內容:通過單片機的IO引腳驅動繼電器(或光電隔離器)動作。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:首先要把相關的引腳設置在IO的輸出狀態,然后寫一個循環,依次輸出高低電平。 步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、連線:用導線將MCU的IO1、IO2分別連接到RELAY的輸入R_IN和PHOTO的輸入P_IN上,R_OUT和P_OUT分別連接到發光二極管LAMP的輸入孔L1和L2上。連接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾IO_OUTPUT下的工程文件IO_OUTPUT.Uv2編譯程序,上電,進入調試狀態,打開窗口Peripherals-->IO-Port-->P0,單步運行程序,觀察窗口的數值變化。 4、全速運行程序,觀察繼電器的發光二極管的亮滅變化,同時確定繼電器動作(或光電隔離器導通)與IO輸出電平的關系。 
實驗3 IO輸入/輸出---半導體溫度傳感器DS18B20實驗 目的:學習IO引腳編程實現交替輸入、輸出的方法。 內容:通過單片機的IO引腳與半導體溫度傳感器實現單線通訊。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:根據18B20的資料(見備注),將IO引腳設置在輸出狀態,分別模擬出不同的命令時序,例如復位、讀寄存器等;再改變IO引腳的為輸入狀態,接收傳感器輸出的數據。 步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、連線:用導線將MCU的IO1連接到TEMP SENSOR DS18B20的DQ。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾IO_INOUTPUT下的工程文件IO_INOUTPUT.Uv2編譯程序,上電,進入調試狀態,按照程序注釋說明設置斷點,全速運行程序到斷點處,觀察寄存器R7中的數據,用手摸住傳感器DS18B20芯片,再運行到斷點處,比較R7的變化。 4、備注: DSl8B20數字溫度計提供9位(二進制)溫度讀數指示,器件的溫度信息經過單線接口送入DSl8B20或從DSl8B20送出,因此從主機CPU到DSl8B20僅需一條線(和地線),DSl8B20的電源可以由數據線本身提供而不需要外部電源。因為每一個DSl8B20在出廠時已經給定了唯一的序號,因此任意多個DSl8B20可以存放在同一條單線總線上,這允許在許多不同的地方放置溫度敏感器件。DSl8B20的測量范圍從-55到+125增量值為0.5可在l s(典型值)內把溫度變換成數字。  二、單片機的中斷系統實驗 1外部中斷----脈沖計數實驗 目的:學習單片機的外部中斷使用方法。 內容:對外部中斷計數顯示。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:首先第一步設置單片機的IO為輸入狀態,第二步設置引腳的中斷觸發方式,一般設置為邊沿觸發,第三步,設置外部中斷的優先級,第四步,編寫中斷服務程序,包括中斷入口跳轉等,第五步,設置中斷使能,允許外部引腳觸發中斷。第六步,設置死循環,主程序結束,交給中斷服務程序完成計數。 步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、連線:用導線將MCU的INT0連接到單脈沖輸出孔P-,連接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾EXT_INT1下的工程文件EXT_INT1.Uv2,編譯程序,上電,進入調試狀態,按照程序注釋說明設置斷點,全速運行程序,每按下一次單脈沖開關Paulse,程序運行到斷點處一次,觀察寄存器R1的變化。  三、單片機的定時器/計數器實驗1 計數器實驗 目的:學習單片機的定時/計數器的計數功能使用方法。 內容:對外部單脈沖信號進行計數,計數10個后產生計數中斷。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:使用定時/計數器的計數功能,將外部時鐘信號加在計數器的計數時鐘輸入引腳上,當計數10次后,計數器溢出,觸發標志位,編程控制分頻輸出引腳電平翻轉,產生分頻后的時鐘信號。 步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、連線:用導線將MCU的IO1和T0分別連接到發光二極管L1的輸入L1上和單脈沖輸出孔P-,連接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾COUNTER下的工程文件COUNTER.Uv2,編譯程序,上電,進入調試狀態,單步運行程序觀察每條語句執行后相關寄存器的變化。 4、上電全速運行程序,按下5次單脈沖按鍵后發光二極管點亮,再按5次后發光二極管熄滅,如此重復。 
實驗2 秒時鐘發生器實驗 目的:學習單片機的定時/計數器的定時功能使用方法。 內容:產生頻率為0.5Hz的時鐘輸出。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:使用定時/計數器的定時功能,時鐘源采用系統時鐘,根據時鐘源的頻率配置初值寄存器,使能定時器中斷,在中斷服務程序中翻轉一個IO引腳輸出,產生0.5Hz的時鐘輸出。 步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、連線:用導線將MCU的IO1連接到發光二極管L1的輸入L1上,連接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾TIMER_SECOND下的工程文件TIMER_SECOND.Uv2,編譯程序,上電,進入調試狀態,單步運行程序觀察每條語句執行后相關寄存器的變化。 4、全速運行程序,觀察發光二極管的亮滅情況。 5、備注:現在的單片機系統時鐘較高,難于產生1秒的定時中斷,所以,可以設置定時時間為50毫秒,在中斷服務程序中設置程序計數,當累加到1秒后,控制輸出IO引腳電平翻轉,驅動發光二極管。  四、單片機的串口特點和編程實驗1 PC機串口通訊實驗 目的:學習單片機串口的使用方法。 內容:與PC機實現通訊。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:第一步,配置串口工作在8位,波特率可變異步通訊工作方式,波特率由定時器1確定,同時使能其中斷并清除其中斷標志位;第二步,配置定時器1,工作在8位自動重裝入模式,根據波特率計算其初值。第三步,編寫串口中斷服務程序,只處理接收中斷,對發送中斷只清除標志,不做其他處理。第四步,設置死循環,交由中斷服務程序處理。
步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、連線:用附帶的直連串口線連接試驗箱的DB9和計算機的串口,接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾RS232下的工程文件RS232.Uv2,編譯程序,上電,進入調試狀態,單步運行程序觀察每條語句執行后相關寄存器的變化,全速運行程序,拔掉開發板上的串口線,強制關閉RS232工程,然后將串口線連接到實驗箱上的的串口上。 4、實驗箱上MCU部分的TXD、RXD連接到RS232的TXD和RXD上,并將開發板上的跳線帽JP2短接在下側。 4、打開PC機的超級終端,設置波特率9600、數據位8、無流控、無校驗等信息,PC機全速運行實驗程序,在超級終端里輸入可顯示字符,觀察超級終端的顯示,斷開連接的串口線,再輸入字符,觀察顯示有什么不同。 5、備注:在串口中斷服務程序中,要清除中斷標志位。在發送數據前,要檢測發送狀態位在發送結束狀態。

實驗2 RS485通訊實驗 目的:學習單片機串口的使用方法以及RS485通訊。 內容:使用Max485芯片進行電平轉換,實現差分方式通訊。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。AT89S51/52/53芯片兩個(需2套) 步驟: 1、將兩個實驗箱的CPU板正確安放在CPU接口插座上,跳線帽JP2端都跳在下側。 2、連線: 發送設備: (1)用導線將MCU的TXD、RXD、IO1、INT0分別連接到RS485的TXD、RXD、E485和單脈沖輸出P-孔。 (3)用兩根導線順序連接兩個實驗箱的UR1差分接口(上、下分別對接)。 接收設備: (1)用導線將MCU的TXD、RXD分別連接到RS485的TXD、RXD; (2)用導線將MCU的SDA連接到RS485的E485; (3)用導線將MCU的IO1-IO8分別連到LAMP的L1-L8; (4)用兩根導線順序連接兩個實驗箱的UR1差分接口(A、B分別對接)。 3、分別連接好仿真器,試驗箱上電,在PC機上打開Keil C環境,打開試驗程序文件夾RS485下的RS485_TX里的工程,編譯程序,將程序下載到“發送設備”的CPU板中。再打開RS485下的RS485_RX里的工程,編譯程序,將程序下載到“接收設備”的CPU板中。 4、同時給兩個實驗箱上電。按下發送設備上的單脈沖按鍵。觀察“接收設備”實驗箱上的LED燈變化。再結合程序分析為什么。 5、備注:在該RS485的通訊中,關鍵是設置RS485的E485端的狀態,從而決定是接收回來數據還是發送出去數據。
五、存儲器實驗1 RAM存儲器讀寫實驗 目的:學習存儲器數據讀寫方法。 內容:將內部RAM中的一段數據復制到另一RAM空間。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:首先設置源的首地址和目的首地址,再設置數據塊的長度,設置一個變量,先從源讀取一個字節,再寫入到目的地址中,如此循環,直至到數據塊的長度。 步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、連線:接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾RAM下的工程文件RAM.Uv2,編譯程序,上電,進入調試狀態,單步運行程序觀察每條語句執行后相關寄存器的變化。 4、按照注釋設置斷點,打開變量觀察窗口,全速運行實驗程序到斷點處,觀察2個數組內容的變化。 5、備注:在匯編中,對內部存儲器的操作使用指令MOV,外部存儲器的操作使用MOVX和MOVC,其他相同。 6、Keil C環境下觀察變量的方法: 在地址框填寫: C:0000 查看 CODE 區 D:0000 查看 DATA 區 I:0000 查看 IDATA 區 X:0000 查看 XDATA 區 
六、PWM發生器實驗1 PWM發生器(模擬)實驗 目的:學習利用定時器和IO產生PWM的方法。 內容:產生占空比變化的PWM波形輸出。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板,示波器。 編程:使用定時/計數器的定時功能,分別產生PWM的高電平和低電平。第一步,首先選擇使用單片機的定時/計數器0的定時功能,確定工作方式。第二步,根據PWM頻率要求確定初值。第三步,使能定時器的中斷。第四步,編寫定時器中斷服務程序,確定PWM波形高低電平的保持時間,控制IO引腳輸出翻轉電平。做一個死循環,一切交給中斷處理。
步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、連線:連接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾PWM_IO下的工程文件PWM_IO.Uv2,編譯程序,上電,進入調試狀態,單步運行程序觀察每條語句執行后相關寄存器的變化。 4、全速運行程序,用示波器的單片機的IO1的波形。 5、備注:定時器產生中斷的定時時間是PWM波形占空比調整的最小單位,即分辨率,在定時器中斷服務程序中對中斷計數,控制IO電平的翻轉。 
實驗2蜂鳴器實驗 目的:學習AT89S51的定時器定時功能使用方法。 內容:用定時器產生PWM方波驅動蜂鳴器鳴叫。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、用導線將MCU的IO1連接到BUZZER的BUZZER孔,連接好仿真器。 3、試驗箱上電,在PC機上打開Keil C環境,打開試驗程序文件夾BUZZER下的工程文件BUZZER.Uv2,編譯程序,上電,進入調試狀態,單步運行程序觀察每條語句執行后相關寄存器的變化。 4、全速運行程序,觀察蜂鳴器的鳴叫情況,同時伴隨繼電器動作。
七、WDG看門狗實驗1 外擴WDG(MAX705)實驗 目的:學習外擴看門狗控制器的使用方法。 內容:配置外擴看門狗電路。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:配置一個IO輸出翻轉電平信號喂狗,配置一個IO輸出驅動發光二極管顯示狀態。 步驟: 1、將CPU板正確安放在CPU接口插座上。 2、用導線將MCU的IO1、IO2分別連接到WDG的WDI和發光二極管L1的輸入孔L1上,用導線將WDG的RST連接到光耦的的P_IN孔,P_OUT連接到74LS244的D0,74LS244的Q0接MCU的RST上,74LS244的/G1、/G2接GND。連接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾EXT_WDG下的工程文件EXT_WDG.Uv2,編譯程序,上電,進入調試狀態,單步運行程序觀察每條語句執行后相關寄存器的變化。 4、將CPU板上的仿真芯片換成可燒錄的芯片AT89S51/52/53,通過ISP電纜燒錄HEX文件。復位后運行程序,觀察發光二極管在上電時亮一次,然后保持熄滅狀態。去除IO1到WDI的連線,觀察發光二極管會重復亮滅。 5、備注:在程序開始處,點亮發光二極管約1秒鐘,在程序正常運行中,發光二極管熄滅,如果在設定的時間內不能喂狗,程序回到開始處運行,重新點亮發光二極管。
實驗2 WDG(內部)實驗 目的:學習內部看門狗控制器的使用方法。 內容:配置內部看門狗。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:配置一個IO輸入控制信號,控制喂狗。 步驟: 1、將CPU板正確安放在CPU接口插座上。 2、連線:用導線將MCU的IO1、IO2分別連接到平推開關K1的輸出插孔K1和發光二極管L1的輸入孔L1上。連接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾INT_WDG下的工程文件INT_WDG.Uv2,編譯程序,上電,進入調試狀態,單步運行程序觀察每條語句執行后相關寄存器的變化。 4、將CPU板上的仿真芯片換成可燒錄的芯片AT89S51/52/53,通過ISP電纜燒錄HEX文件。復位后運行程序,把平推開關K1撥到H側,觀察發光二極管L1的狀態。把平推開關K1撥到L側,比較發光二極管L1的狀態變化。 5、備注:在程序開始處,點亮發光二極管約1秒鐘,在程序正常運行中,發光二極管熄滅,如果在設定的時間內不能喂狗,程序回到開始處運行,重新點亮發光二極管。
八、SPI總線實驗1 SPI(模擬)實驗-----TLC2543 AD轉換實驗 目的:學習SPI總線通訊編程方法、串行AD應用。 內容:利用SPI總線配置AD轉換芯片,并讀取轉換結果。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:編程3個IO引腳為輸出,一個IO為輸入;3個輸出引腳一個模擬CLK,一個模擬CS,另一個模擬DO,1個輸入引腳模擬DI。根據芯片的技術資料,模擬輸出3個輸出引腳的時序。 步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、用導線將MCU的IO1--IO5分別連接到AD的AD_CS、AD_CLK、AD_IN、AD_OUT、AD_EOC,用導線將AD_IN1連接到ANOUT.。連接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾EXT_ADC下的工程文件EXT_ADC.Uv2,編譯程序,上電,進入調試狀態,單步運行程序觀察每條語句執行后相關寄存器的變化。 4、上電,運行程序,在程序的注釋處設置斷點,全速運行程序到斷點,調節輸入的模擬量,觀察30H、31H單元中的數的變化 
實驗2 SPI(模擬)實驗-----TLV5616 DA轉換實驗 目的:學習SPI總線通訊編程方法、串行DA應用。 內容:利用SPI總線配置DA轉換芯片,并用萬用表測量輸出電壓值。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:編程4個IO引腳為輸出, 4個輸出引腳:一個模擬CLK,一個模擬CS,一個模擬DATA,另一個模擬FS。根據芯片的技術資料,模擬出4個輸出引腳的時序。 步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、用導線將MCU的IO1--IO4分別連接到DA的DA_CS、DA_CLK、DA_IN、DA_FS,用導線將DA_REF連接到插孔Vref 2.5V.。連接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾EXT_DAC下的工程文件EXT_DAC.Uv2,編譯程序,上電,進入調試狀態,單步運行程序觀察每條語句執行后相關寄存器的變化。 4、上電,全速運行程序,用萬用表觀察插孔DA_OUT的電壓值;再修改程序中31H-30H單元的值,看電壓值的變化。  九、 I2C總線實驗1 I2C(模擬)實驗-----IC卡(AT24C01)讀寫實驗 目的:學習I2C總線通訊編程方法。 內容:利用I2C總線讀取存儲器IC卡(AT24C01)的數據。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:編程2個IO引腳模擬I2C總線,按照AT24C01的操作時序,訪問AT24C01存儲器的內容。 步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、連線:用導線將MCU的IO1--IO4分別連接到IC_CARD的SCK、SDA、DET、PWR。連接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾IIC_CARD下的工程文件IIC_CARD.Uv2,編譯程序,上電,進入調試狀態,單步運行程序觀察每條語句執行后相關寄存器的變化。 4、實驗箱上電,按照注釋設置斷點,插入IC卡,全速運行程序到斷點處,觀察30H~36H單元的數據是否與寫入數據一致! 
十、綜合實驗所謂混合總線,是指由3線組成的總線:CS、CLK、IO,典型應用是芯片HD7279,特別分出來單獨實驗。 實驗1 HD7279LED數碼管顯示實驗 目的:學習HD7279的通訊方法。 內容:利用IO向HD7279寫入控制命令和數據。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:配置IO,向HD7279寫入控制命令,控制數碼管的顯示。 步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、連線:用導線將MCU的IO1----IO3分別連接到HD7279的7279_CS、7279_CLK、7279_DATA。用導線將HD7279的7279_A、7279_B、7279_C、7279_D、7279_E、7279_F、7279_G、7279_DP分別連接到LED DISP的LED_A、LED_B、LED_C、LED_D、LED_E、LED_F、LED_G、LED_DP;用導線將HD7279的7279_C1、7279_C2、7279_C3、7279_C4分別連接到LED DISP的LED_C1、LED_C2、LED_C3、LED_C4。連接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾HD7279DISP下的工程文件HD7279DISP.Uv2,編譯程序,上電,進入調試狀態,單步運行程序觀察每條語句執行后相關寄存器的變化。 4、全速運行程序,觀察LED數碼管的顯示變化。
實驗2 HD7279鍵盤實驗 目的:學習HD7279的通訊方法。 內容:利用總線向HD7279寫入控制命令并顯示鍵值。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:配置2個IO輸出作為SPI的CS和CLK,配置1個IO做I2C的LDA。使能外部中斷,并將中斷引腳連接到 HD7279的中斷輸出INT上。 步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、連線:用導線將MCU的IO1----IO3、INT0分別連接到HD7279的7279_CS、7279_CLK、7279_DATA、7279_KEY;用導線將HD7279的7279_A、7279_B、7279_C、7279_D、7279_E、7279_F、7279_G、7279_DP分別連接到LED DISP的LED_A、LED_B、LED_C、LED_D、LED_E、LED_F、LED_G、LED_DP;用導線將HD7279的7279_C1、7279_C2、7279_C3、7279_C4分別連接到LED DISP的LED_C1、LED_C2、LED_C3、LED_C4;用導線將HD7279的7279_A、7279_B、7279_C、7279_D、7279_E、7279_F、7279_G、7279_DP分別連接到KEY的KEY7、KEY6、KEY5、KEY4、KEY3、KEY2、KEY1、KEY8;用導線將HD7279的7279_C1連接到KEY的插孔KEY。連接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾HD7279下的工程文件HD7279.Uv2,編譯程序,上電,進入調試狀態,單步運行程序觀察每條語句執行后相關寄存器的變化。 4、上電,運行程序,按鍵,觀察LED顯示的數據是否與鍵盤一一對應。 實驗3 電機轉速實驗 目的:學習外部中斷的應用方法。 內容:對外部中斷計數處理,顯示電機的轉速。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:首先第一步設置單片機的IO為輸入狀態,第二步設置引腳的中斷觸發方式,一般設置為邊沿觸發,第三步,設置外部中斷的優先級,第四步,編寫中斷服務程序,包括中斷入口跳轉等,第五步,設置定時器中斷,中斷時間設為1秒(方法在定時器部分詳細說明)。第六步,設置中斷使能,允許外部引腳觸發中斷。設置死循環,主程序結束,交給中斷服務程序完成計數并顯示。 步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、連線:用導線將MCU的INT0連接到DC_MOTOR的SPEED,DC_MOTOR的DRV連接到ANOUT,連接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾EXT_INT下的工程文件EXT_INT.Uv2,編譯程序,進入調試狀態。按照程序注釋說明設置斷點,全速運行程序到斷點處,觀察采樣的速度也會相應的變化(觀察寄存器R0的數值)。調節電位器POT1,調整電機轉速,再運行到斷點處,觀察寄存器R0的數值 4、備注: 在電機的同軸轉盤上,安裝有磁體,在轉盤下面由對磁體敏感的霍爾傳感器,隨著轉盤轉動,當磁體正對傳感器時,傳感器的輸出電壓發生變化,單片機利用此電壓變化觸發中斷。單片機在固定時間內累計發生中斷的數值,即電機的轉速。 
十一、步進電機實驗實驗1步進電機正反轉實驗 目的:學習步進電機的控制方法。 內容:用單片機的IO口控制步進電機正轉。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:用單片機的IO口模擬產生PWM,使步進電機正轉。 步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、連線:用導線將MCU的IO1---- IO4分別連接到STEP MOTOR的ORANGE、YELLOW、PINK、BLUE管腳。連接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾BuJin4下的工程文件BuJin4.Uv2,編譯程序,進入調試狀態,單步運行程序,觀察IO口的變化。 4、全速運行程序,電機開始正轉,交換ELLOW與BLUE兩根線,電機反轉。
十二、TFT液晶顯示實驗實驗1TFT液晶顯示彩色條紋實驗 目的:學習TFT液晶顯示的控制方法。 內容:用單片機的IO口控制TFT液晶顯示。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:用單片機的IO口控制TFT液晶顯示字符。 步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、連線:用導線將MCU的IO1---- IO8分別連接到TFT LCD的ED0、ED1、ED2、ED2、ED4、ED5、ED6、ED7,MCU的SDA、SCL、PWM0、CADC0、CDAC0分別接CS、R/D、W/R、EA、RST。 3、將液晶屏下面的撥碼開關K33、KT1撥到上端。 4、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾TFT下的工程文件TFT.Uv2,編譯程序,上電,進入調試狀態,單步運行程序觀察每條語句執行后相關寄存器的變化。 5、全速運行程序(或按下復位鍵),觀察TFT液晶上顯示的內容。
十三、16X16LED點陣顯示漢字實驗實驗116X16LED點陣顯示漢字實驗 目的:學習16X16LED點陣顯示漢字的控制方法。 內容:用單片機的IO控制74LS138和74LS595驅動16X16LED點陣顯示漢字。 設備:DICE-DS01試驗箱、EXP-89S51/52/53 CPU板。 編程:用單片機的IO口控制74LS138譯碼產生16位行選通信號,74LS595用串轉并的方式傳送16位的數據。 步驟: 1、將CPU板正確安放在CPU接口插座上,跳線帽JP2短接在上側。 2、連線:用導線將MCU的IO1---IO4分別連接到16*16LED的A0、A1、A2、A3;MCU的SDA、SCL、PWM0分別連接到16*16LED的SHCP、STCP、DS,連接好仿真器。 3、實驗箱上電,在PC機上打開Keil C環境,打開實驗程序文件夾LED下的工程文件LED.Uv2,編譯程序,上電,進入調試狀態,單步運行程序觀察每條語句執行后相關寄存器的變化。 4、全速運行程序,觀察16X16LED點陣上顯示的漢字。
附錄芯片管腳與實驗箱上面MCU模塊部分的二號孔對應說明:管腳說明見下表: 注意:NC表示該管腳沒有跟芯片連接。 芯片管腳與實驗箱MCU部分二號孔的對應關系表
第4章 基于Altera CPLD系統設計實驗一、EXP-EPM3128 CPU板卡上的CPLD芯片引腳與實驗箱上標示的對應表:
二、說明及注意事項: 每次實驗完成后,請一定將芯片內下載的實驗程序擦除!以防上次定義的IO口狀態和下次將要使用的不同,這樣在接線上電后(還沒有下載下次實驗程序前)會造成芯片的IO燒壞。擦除方法如下圖4-1所示:(勾選Erase項)
圖4-1 CPLD片內程序的擦除方法 實驗一 簡單門電路實驗 一、實驗目的: 1、掌握QuartusII 6.0集成開發環境的使用及CPLD的程序下載方法; 2、學會門電路的設計方法。 二、實驗內容: 使用CPLD來實現一個簡單的門電路(圖形輸入法、VHDL語言輸入法)。 三、實驗設備: 1、DICE-DS01教學實驗箱,EXP-EPM3128板卡,PentiumII以上的PC機,USB Blaster(Altera)仿真器; 2、PC操作系統WIN98或WIN2000或WINXP,QuartusII 6.0集成開發環境,USB Blaster(Altera)仿真調試驅動程序。 四、實驗步驟: 1、編程:采用圖形輸入法或VHDL語言輸入法兩種方式編寫。即:創建工程后,一種方法是:選擇圖形編輯器,添加一個邏輯門(例如“與門”),再添加引腳并命名;第二種方法,編寫VHDL語言實現“與門”,定義端口并分配到引腳。 2、檢查無誤后,綜合、編譯,保證沒有錯誤存在。打開圖形仿真界面,將3個引腳全部添加進去,設置2個輸入引腳的波形信號,在設定輸入的預設波形時,要保證各種組合狀態能被仿真到,點擊仿真按鈕,開始仿真,完成后,彈出仿真結果波形,驗證輸出波形與輸入波形的關系是否符合設計功能。 3、將CPU板正確安放在CPU接口插座上。 4、連線:將EDA/CPLD/FPGA側的IO1和IO2分別連接到平推開關K1和K2的輸出K1和K2上.,將IO3連接到發光二極管L1的輸入L1上。連接好編程器。 5、試驗箱上電,在PC機上打開Quartus II 6.0環境,進入文件夾Gate,打開工程Gate.qpf,編譯程序,創建仿真圖形文件,將端口加進去,設置可能出現的輸入的波形,進行圖形仿真,確認邏輯的正確;進入下載界面,下載程序到芯片上。或者進入文件夾Gate1打開工程Gate1.qpf編譯程序,進入下載界面,下載程序到芯片上。 6、驗證:改變2個撥碼開關的電平狀態組合,觀察發光二極管的亮滅狀態是否與設計的“與門”邏輯功能相符。 7、將芯片內下載的實驗程序擦除。
實驗二 地址譯碼電路實驗 一、實驗目的: 1、掌握QuartusII 6.0集成開發環境的使用及CPLD的程序下載方法; 2、學習地址譯碼電路的設計方法。 二、實驗內容: 使用CPLD來實現一個組合邏輯“3-8譯碼電路”。 三、實驗設備: 1、DICE-DS01教學實驗箱,EXP-EPM3128板卡,PentiumII以上的PC機,USB Blaster(Altera)仿真器; 2、PC操作系統WIN98或WIN2000或WINXP,QuartusII 6.0集成開發環境,USB Blaster(Altera)仿真調試驅動程序。 四、實驗步驟: 1、編程:創建工程,根據要求寫出真值表,根據真值表編寫VHDL語言,定義端口并分配引腳。 2、檢查無誤后,綜合、編譯,保證沒有錯誤存在。打開圖形仿真界面,將引腳全部添加進去,設置輸入引腳的波形信號,在設定輸入的預設波形時,要保證各種組合狀態能被仿真到,點擊仿真按鈕,開始仿真,完成后,彈出仿真結果波形,驗證輸出波形與輸入波形的關系是否符合設計功能。 3、將CPU板正確安放在CPU接口插座上,將板上的跳帽J4跳至左側(短接1-2腳)。 4、連線:將EDA/CPLD/FPGA側的IO1--IO4分別連接到平推開關K1--K4的輸出K1--K4上,將IO10---IO17連接到發光二極管L1---L8的輸入L1---L8上。連接好編程器。 5、試驗箱上電,在PC機上打開Quartus II環境,進入文件夾Decode,打開工程Decode.qpf編譯程序,創建仿真圖形文件,將端口加進去,設置輸入可能出現的波形,進行圖形仿真,確認邏輯正確,進入下載界面,下載程序到芯片上。 6、驗證:將撥碼開關K4撥到H側,改變K1—K3的狀態,觀察發光二極管的亮滅情況,再將撥碼開關K4撥到L側,改變K1—K3的狀態,觀察發光二極管的亮滅情況是否與“3-8譯碼器”邏輯功能相符。 7、將芯片內下載的實驗程序擦除。
實驗三 分頻器電路實驗 一、實驗目的: 1、掌握QuartusII 6.0集成開發環境的使用及CPLD的程序下載方法; 2、學習分頻器的設計方法。 二、實驗內容: 使用CPLD來實現秒時鐘電路。 三、實驗設備: 1、DICE-DS01教學實驗箱,EXP-EPM3128板卡,PentiumII以上的PC機,USB Blaster(Altera)仿真器、示波器; 2、PC操作系統WIN98或WIN2000或WINXP,QuartusII 6.0集成開發環境,USB Blaster(Altera)仿真調試驅動程序。 四、實驗步驟: 1、編程:用示波器測量輸入信號的頻率,此頻率值即分頻系數,創建工程,編寫VHDL語言,定義端口并分配引腳。 2、檢查無誤后,綜合、編譯,保證沒有錯誤存在。打開圖形仿真界面,將引腳全部添加進去,設置輸入引腳的波形信號,點擊仿真按鈕,開始仿真,完成后,彈出仿真結果波形,驗證輸出波形與輸入波形的關系是否符合設計功能。 3、將CPU板正確安放在CPU接口插座上,將EPM3128板上的跳線J9短接右側(在10MHz側,短接2-3腳)。 4、連線:將EDA/CPLD/FPGA側的IO10---IO17連接到發光二極管L1---L8的輸入L1---L8上。連接好仿真器。 5、試驗箱上電,在PC機上打開Quartus II環境,進入文件夾FreqDivider,打開工程FreqDivider.qpf編譯程序,創建仿真圖形文件,將端口加進去,設置輸入可能出現的波形,進行圖形仿真,確認邏輯正確,進入下載界面,下載程序到芯片上。 6、驗證:用示波器觀察輸入時鐘信號(10MHz的時鐘)和輸出信號(8路中的每一路)的頻率關系是否與設計要求相符。 8、將芯片內下載的實驗程序擦除。 6、說明:輸入時鐘也可從外部給定,原始時鐘信號的要求:TTL 電平方波,最高電平(峰值):大于3.5V,小于5V,最低電平(谷值):大于0V,小于0.8V。
實驗四 8位鎖存器電路實驗 一、實驗目的: 1、掌握QuartusII 6.0集成開發環境的使用及CPLD的程序下載方法; 2、學習鎖存器的設計方法。 二、實驗內容: 使用CPLD來實現數據鎖存電路。 三、實驗設備: 1、DICE-DS01教學實驗箱,EXP-EPM3128板卡,PentiumII以上的PC機,USB Blaster(Altera)仿真器; 2、PC操作系統WIN98或WIN2000或WINXP,QuartusII 6.0集成開發環境,USB Blaster(Altera)仿真調試驅動程序。 四、實驗步驟: 1、編程:創建工程,編寫VHDL語言,定義端口并分配引腳。 2、檢查無誤后,綜合、編譯,保證沒有錯誤存在。打開圖形仿真界面,將引腳全部添加進去,設置輸入引腳的波形信號,點擊仿真按鈕,開始仿真,完成后,彈出仿真結果波形,驗證輸出波形與輸入波形的關系是否符合設計功能。 3、將CPU板正確安放在CPU接口插座上,將板上的跳帽J4、J6、J8都跳至左側(短接1-2腳)。 4、連線:將EDA/CPLD/FPGA側的IO9連接到單脈沖開關輸出孔P-上;-將IO10---IO17連接到發光二極管L1---L8的輸入L1---L8上;將IO1---IO8連接到平推開關K1---K8的輸入K1---K8上。連接好仿真器。 5、試驗箱上電,在PC機上打開Quartus II環境,進入文件夾Lock,打開工程Lock.qpf編譯程序,創建仿真圖形文件,將端口加進去,設置輸入可能出現的波形,進行圖形仿真,確認邏輯正確,進入下載界面,下載程序到芯片上。 6、驗證:比較按下單脈沖開關Pulse和不按下單脈沖開關Pulse兩種情況下,改變撥碼開關的變化對發光二極管亮滅的影響,再結合鎖存器電路的真值表看是否正確。 7、將芯片內下載的實驗程序擦除。
實驗五 4位共陰極數碼管動態顯示實驗 一、實驗目的: 1、掌握QuartusII 6.0集成開發環境的使用及CPLD的程序下載方法; 2、學習LED數碼管動態顯示的設計方法。 二、實驗內容: 使用CPLD來實現LED數碼管動態顯示。 三、實驗設備: 1、DICE-DS01教學實驗箱,EXP-EPM3128板卡,PentiumII以上的PC機,USB Blaster(Altera)仿真器; 2、PC操作系統WIN98或WIN2000或WINXP,QuartusII 6.0集成開發環境,USB Blaster(Altera)仿真調試驅動程序。 四、實驗步驟: 1、編程:創建工程,編寫VHDL語言,定義端口并分配引腳。 2、檢查無誤后,綜合、編譯,保證沒有錯誤存在。打開圖形仿真界面,將引腳全部添加進去,設置輸入引腳的波形信號,點擊仿真按鈕,開始仿真,完成后,彈出仿真結果波形,驗證輸出波形與輸入波形的關系是否符合設計功能。 3、將CPU板正確安放在CPU接口插座上,將板上的跳帽J4跳至左側(短接1-2腳)。 4、連線:將EDA/CPLD/FPGA側的IO1--IO4分別連接到數碼管的輸入插孔LED_C1---LED_C4上,將IO10---IO17連接到數碼管的輸入插孔LED_A、LED_B、LED_C、LED_D,LED_E、LED_F、LED_G、LED_P上。連接好仿真器。 5、試驗箱上電,在PC機上打開Quartus II環境,進入文件夾DynamicDisp,打開工程DynamicDisp.qpf,編譯程序,創建仿真圖形文件,將端口加進去,設置輸入可能出現的波形,進行圖形仿真,確認邏輯正確,進入下載界面,下載程序到芯片上。 6、說明:將EPM3128板上的跳線J9短接右側(在10MHz側,短接2-3腳)。 7、驗證:觀察數碼管上的顯示,結合程序分析其正確性。 8、將芯片內下載的實驗程序擦除。
附錄A QuartusII 6.0安裝方法1、在1號盤中打開install.exe,如右圖圖標所示: 2、在跳出的框中點擊第一個進行安裝: 3、按下圖所示選擇安裝:(其他未選的是外端仿真、編譯類的軟件)一直點擊NEXT: 4、進入安裝環節(慢慢等到選擇安裝2號盤的提示信息): 5、當安裝過程中跳出如下圖所示提示框時,點擊  按鈕進行選擇安裝2號盤(4步驟中提及的): 6、選擇第二盤的  文件夾然后確定再點擊  開始安裝2號盤: 7、看見了完成的曙光了,點擊FINISH:
8、接下來點擊EXIT,關閉安裝窗口:
安裝完后,開始裝補丁以及破解部分: 1、點擊打開2號盤的  文件夾,點擊  安裝補。
2、修改license.dat,(也在  文件夾中),將所有的XXXXXXXXXXXX替換為你的網卡MAC,并拷貝到Quartus II 6.0安裝目錄(默認為c:\altera)。
獲取網卡MAC方法: 點擊開始——>運行——>輸入CMD——>在DOS窗口輸入 ipconfig /all>Enter如下所示得到  就是你的MAC地址(注意替換時將連接符“—”去掉):
3、確定將新換的license.dat放好后,運行 Quartus_II_6.0+SP1_B202_dll破解器(也在  文件夾中)。點擊瀏覽指定sys_cpt.dll的路徑C:\altera\quartus60\win:  點擊應用,出現下圖的話表示破解成功,點擊確定:
4、運行Quartus II出現下圖框提示,點擊  然后OK :  出現如下框圖找到你放的license.dat完成破解安裝接下來就能用了
附錄B QuartusII 6.0使用說明書1、啟動Quartus II,方法有兩種,用戶可以任選其一。 1)開始→所有程序|Alteta → Quartus II 6.0 → Quartus II 6.0,如下圖1所示。 2)單擊桌面的快捷方式,也可以啟動,如下圖2所示。 圖 1 圖 2 2、新建工作項目 圖 3 Quartus II 6.0 的工作界面 1)打開新建項目指南,File→New Project WiZard…;如下圖4所示。 圖 4 2)彈出以下對話框,點擊Next>即可,如下圖5所示。 注:如果勾選了Don’t show me this introduction again 前面的復選框,則以后不會出現該對話框,而直接進入圖6所示的對話框。 圖5 3)設置項目的存放目錄、名稱和頂層設計名稱。如圖6所示設置后,點擊Next>即可進入下一個選項的設置;若不需要進行其他設置,可以點擊Finish結果設置(不推薦)。 圖 6 4)添加源文件和用戶庫,若沒源文件和用戶庫可直接點擊Next>進入下一個項目的設置。 圖 7 5)選擇芯片型號,此步很重要,要根據CPLD的具體的型號來選擇。本CPLD系統開發板選用的Altera公司的MAX3000A系列的EMP3128ATC144-10的芯片,如圖8設置即可,設置完成后。點擊Next>進入下一組選項的設置。 圖 8 6)選擇EDA工具,若不需要,則可點擊Next>跳過,如下圖9所示。 圖9 7)核實項目設置,如圖10所示,列出了您之前所設置的相關信息,若無誤點擊Finish即可生成一個新的項。 圖 10 3、新建一個VHDL源文件。 1)如圖11所示,點擊 File→New…后彈出如圖12所示的源文件類型選項框,選擇VHDL File 然后點擊OK即可;騿螕艄ぞ邫谏系膱D標  。 圖 11 圖 12 2)保存文件,點擊File→Save,如圖13所示。然后如圖14所示的對話框,點擊“保存(S)”即可。或單擊工具欄上的圖標  。 圖 13 圖14 4、VHDL語言輸入與編譯 1)如圖15所示,在VHDL文本編輯區輸入下圖所示的文本(一個5輸入的與門)。 注:①要采用英文半角符號。 ②文件的實體名要與文件名一致。 ③’0’(零)與O(歐)的的區別。 例程: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;
ENTITY test IS PORT( a,b,c,d,e:IN STD_LOGIC; q:OUT STD_LOGIC ); END test;
ARCHITECTURE CHENG OF test IS BEGIN PROCESS(a,b,c,d,e) VARIABLE state:std_logic; VARIABLE delay:time; BEGIN state:=a and b and c and d and e; IF state ='1' THEN delay:=4.5 ns; ELSIF state ='0' THEN delay:=3ns; ELSE delay:=4ns; END IF; q<=state AFTER delay; END PROCESS; END CHENG; 圖 15 2)全編譯文件,如圖16所示,點擊Processing → Start Compilation即可;騿螕艄ぞ邫谏系膱D標  。若編譯通過則如圖17所示。否則編譯不能通過,可根據信息提示的信息修改輸入,再編譯,直到成功為止。 圖16 圖 17 3)配置IO管腳。點擊Assignments→Pins 如圖18所示。然后彈出如圖19所示的IO管腳配置對話框;騿螕艄ぞ邫谏系膱D標  。 圖 18 根據本CPLD系統開發的原理圖所示,選用撥動開關做為與門的輸入,LED作為輸出。則對5輸入與門的管腳分配如下:a~e:PIN_?~PIN_?,q:PIN_?。如圖19所示。 圖19 設置完畢后,進行全編譯如圖16所示,若能通過,則可以進入下載階段,否則重新設置IO管腳,再編譯,直至成功為止。 5、文件下載 在文件下載之要確保下載線與計算機和CPLD開發板連接好,開發板上電,且電源指示的全亮。 在文件編譯成功的前提下,進行如下操作: 1)點擊Tools→Progammer。如圖20所示;騿螕艄ぞ邫谏系膱D標  。然后彈出如圖21所示的下載對話框。 圖 20 2)點擊Hardwar Setup彈出如圖21所示的設置對話框,選擇USB-Blaster,設完后點colse關閉對話框即可。 圖 21 3)下載,選中要下載的文件,勾選這Program/Configue和Verify下的復選框后,如圖22所示,點擊Stat即可。 圖22 若下載不能成功,且出現如圖23所示的錯誤提示信息,則可能是下載線與CPLD系統板沒有接好,或者是電源沒有接好,在排除錯誤后,再點擊Start重新下載即可。 圖23
完整的Word格式文檔51黑下載地址:
DICE-DS01配51開發板的實驗指導書.doc
(4.61 MB, 下載次數: 8)
2018-11-14 15:51 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|