0到1的突破-跟我一起學(xué)可編程邏輯器件設(shè)計(jì)cpld青創(chuàng)原創(chuàng)教程第二講led操作_第1頁
0到1的突破-跟我一起學(xué)可編程邏輯器件設(shè)計(jì)cpld青創(chuàng)原創(chuàng)教程第二講led操作_第2頁
0到1的突破-跟我一起學(xué)可編程邏輯器件設(shè)計(jì)cpld青創(chuàng)原創(chuàng)教程第二講led操作_第3頁
0到1的突破-跟我一起學(xué)可編程邏輯器件設(shè)計(jì)cpld青創(chuàng)原創(chuàng)教程第二講led操作_第4頁
0到1的突破-跟我一起學(xué)可編程邏輯器件設(shè)計(jì)cpld青創(chuàng)原創(chuàng)教程第二講led操作_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、既然開始了,就要堅(jiān)持下去,強(qiáng)大的執(zhí)行力很重要。每天上網(wǎng)沖浪,看看,睡睡覺是不會實(shí)質(zhì)性的斬獲的,而且在人在江湖,這些浪費(fèi)的時(shí)光總有那么一天是要還的。今天開始第二講,用可編程邏輯器件來控制 LED。這個(gè)程序可以O(shè) WORLD”。Lets GO!看作是學(xué)習(xí)可編程邏輯器件的“現(xiàn)在市面上用的 LED 多為直插和貼片兩種,如下圖。從正面看,綠點(diǎn)端為負(fù)極,從看,箭頭指向的那端為負(fù)極。電路圖連接圖:使用:直插 LED 較長引腳為正極,較短引腳為負(fù)極;貼片 LED其中 R5,R6,R7 為限流電阻,防止電流過大而損害 LED。按照這ED 的點(diǎn)亮或熄滅就轉(zhuǎn)換為控制 CPLD 引腳電平的樣的連接方,點(diǎn)亮 LED;低

2、電平,熄滅 LED。所以,只要控制 CPLD高低:引腳的電平就能控制 LED 了。來看下程序,這是碰到的第一個(gè)應(yīng)用的程序,講解的知識點(diǎn)會較多,請耐點(diǎn)心。程序詳解:2-3:庫和需要使用的程序包。6-11:實(shí)體定義了“l(fā)ed”這個(gè) 3 位的輸出端口。在這里,在程序編譯的時(shí)候會按上面的電路圖將這三個(gè)端口連接到CPLD 的 76,77,78 端口。下面學(xué)下端口的定義。端口名 A:端口模式(即端口的數(shù)據(jù)流方向) 數(shù)據(jù)類型;各部分涉及的知識點(diǎn):1. 命名:由大寫字母、小寫字母、數(shù)字和下劃線組成。第一個(gè)字符必須是字母,最后一個(gè)字符不能是下劃線。這里提一下 VHDL 的基本語言要素:1)標(biāo)識符,即各種量名。2

3、)數(shù)據(jù)對象。包括:常量,信號,變量,文件四類,在以后的講解中會挑重點(diǎn)講解。3)數(shù)據(jù)類型。包括整型 (EGER),(),位(BIT)數(shù)據(jù)類型, 位矢量(BIT_VECTOR) 數(shù)據(jù)類型, 標(biāo)準(zhǔn)邏輯位STD_LOGIC,標(biāo)準(zhǔn)邏輯矢量(STD_LOGIC_VECTOR)等。在后面會講解比較常用的數(shù)據(jù)類型。4)操作符。包括邏輯操作符,關(guān)系操作符,加操作符,移位操作符等。2. 端口模式:OUT(輸出端口):輸出到外部,不能在;IN(輸入端口):輸入到,可在;INOUT(雙向端口):可輸出和輸入;BUFFER(緩沖端口):可輸出和輸入,與 INOUT 的區(qū)別就是它不能有多于一個(gè)的信號源。1) 所有定義的端

4、口都是信號(信號的定義待會講解)。注意:注意:語法:2) OUT 不能在,也就說不能把 OUT 的值賦值給程序的量,否則編譯時(shí)會報(bào)錯(cuò)。若想使用 OUT 的值,可先設(shè)置一個(gè)中間信號,先把原本應(yīng)該賦給 OUT 的值給賦給中間信號,然后再用中間信號去賦值信號和 OUT,這樣,這個(gè)中間信號和 OUT 就是一樣的值,而且也可以用這個(gè)中間信號。一個(gè)典型的曲線,呵呵。3) 最后一行的端口定義不需要分號。盡量多使用 IN、OUT,少用 INOUT,不得已才用 BUFFER。3.數(shù)據(jù)類型:VHDL 中的數(shù)據(jù)類型有很多,先解釋一下這個(gè)STD_LOGIC_VECTOR 類型。STD_LOGIC_VECTOR 叫標(biāo)準(zhǔn)

5、邏輯矢量,是 STD_LOGIC的集合。類似于 C 語言中的數(shù)組,即 STD_LOGIC_VECTO 是由STD_LOGIG類新組成的數(shù)組。 所以,講解一下STD_LOGIC 就可以了。STD_LOGIC 中文名叫標(biāo)準(zhǔn)邏輯位,有九種包括(U,X,0,1,Z,W,L,H,-),可選值,表含義是:U-未初始化的; X-強(qiáng)未知的;0-強(qiáng)各種值代0;1-強(qiáng) 1;Z-高阻態(tài);W-弱未知的;L-弱 0;H-弱 1;-忽略。就像 C 語言中的數(shù)組要定義長度一樣, STD_LOGIC_VECTOR用 TO 和 DOWNTO 這兩個(gè)關(guān)鍵字來定義長度。前者表示以升序排列信號,最在右邊,后者表示以降序排列信號,最在

6、左邊。我建議:STD LOGIC 中最常用的是 0,1 和 Z 這三種狀態(tài)語法:建議:們舉個(gè)例子來說明這個(gè)區(qū)別。假設(shè)A 信號:STD_LOGIC_VECTOR(7 DOWNTO 0),B 信號: STD_LOGIC_VECTOR(0 TO 7),現(xiàn)在用”1000_1110” 給它們賦值,則:A7 DOWNTO 0=10001110;A0 TO 7= 10001110;由此看出,因?yàn)榕判虿煌?,雖然賦予了同一個(gè)值,但 A 和 B 的值卻不一樣。定義后的賦值符合大家的閱讀(左,右低位)15:信號賦值,也就是點(diǎn)亮或者熄滅 LED。在 VHDL 語言中,SIGNAL(信號) 和 VARIABLE(變量)

7、是兩個(gè)重要的數(shù)據(jù)對象,使用最頻繁。信號賦值符號“=”,變量賦值符號“:=”。前面已經(jīng) 說了“所有定義的端口都是信號”,所以上面程序中用“=”進(jìn)行 賦值。而且賦值給 STD_LOGIC_VECTOR 的值要雙引號(“”)。若賦值給 STD_LOGIC 用單引號(),若賦值給EGER(整數(shù)) 就不用符號括起來了。信號和變量還有很多的不同,理解它們的區(qū)別很重要,會在后面一一詳細(xì)解釋。根據(jù)電路圖分配管腳,然后把整個(gè)工程編譯一遍,到板子里。再把板子重新斷電,再上電就能看到三個(gè) LED 的亮滅情況了(關(guān)于建議:大家在使用中一律都用關(guān)鍵字 DOWNTO 來描述,因?yàn)檫@個(gè)B07A70Quartus附件:Q2 使用快速入門的使用請參照教程.rar)。你可以任意修改第 15 句賦給

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論