freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于dsp微控制器定時(shí)器設(shè)計(jì)-在線瀏覽

2024-08-02 18:37本頁面
  

【正文】 執(zhí)行定時(shí)器0的中斷服務(wù)子程序。其中CPU定時(shí)器2被系統(tǒng)保留,用于實(shí)時(shí)操作系統(tǒng),例如DSP/ BIOS。在本系統(tǒng)中使用的是定時(shí)器0,定時(shí)器0的內(nèi)部原理圖如下所示:圖22 定時(shí)器0內(nèi)部結(jié)構(gòu)圖Cpu定時(shí)器的通常工作過程如下,首先把周期寄存器PRDH:PRD的值裝入32位計(jì)數(shù)寄存器TIMH:TIM中。其中,TIMCLK由定時(shí)器分頻器TDDRH:TDDR和定時(shí)器預(yù)定標(biāo)計(jì)數(shù)器PSCH:PSC來控制。當(dāng)PSCH:PSC中的值為0的時(shí)候,就會(huì)輸出一個(gè)TIMCLK,從而TIMH:TIM減1。因此,TIMCLK就等于(TDDRH:TDDR+1)個(gè)系統(tǒng)時(shí)鐘的時(shí)間[3]。平時(shí)能夠用到的所有的外設(shè)中斷都被歸人了這96個(gè)中斷中,被分布在不同的組里[3]。對(duì)于某一個(gè)具體的外設(shè)中斷請(qǐng)求,只要有任意一級(jí)不許可,CPU最終都不會(huì)響應(yīng)該外設(shè)中斷。此時(shí),如果該中斷相應(yīng)的中斷使能位(IE=Interrupt Enable)已經(jīng)被置位,也就是值為1,該外設(shè)就會(huì)向PIE控制器發(fā)出一個(gè)中斷請(qǐng)求。但在本系統(tǒng)中,定時(shí)器0內(nèi)部的計(jì)數(shù)寄存器一旦遞減到零,就會(huì)向PIE產(chǎn)生一個(gè)中斷請(qǐng)求TINT,而無需經(jīng)過外設(shè)內(nèi)部的中斷位置位。對(duì)于復(fù)用的中斷源,PIE模塊中的每個(gè)中斷組都有一個(gè)中斷標(biāo)志寄存器(PIEIFR(x,y))和中斷使能寄存器(PIEIER(x,y)),其中x=PIE組1~PIE組12,y表示一組中的8個(gè)復(fù)用中斷,這樣,PIEIFRx,y和PIEIERx,y將對(duì)應(yīng)PIE組x(x=1~12)中的中斷y(y=1~8),即代表相應(yīng)的中斷標(biāo)志位和中斷使能位。當(dāng)外設(shè)向PIE控制器發(fā)送中斷請(qǐng)求時(shí),則相應(yīng)的PIE中斷標(biāo)志位(PIEIFRx,y)置位,如果相應(yīng)的PIE中斷使能位PIEIER(x,y)也置位,則PIE將檢查相應(yīng)的PIEACKx位,以確定CPU是否為該組中斷準(zhǔn)備好。定時(shí)器0的中斷TINT使用的時(shí)PIE中的第一組的第七個(gè)中斷。相應(yīng)的CPU中斷標(biāo)志位置1,當(dāng)中斷標(biāo)志鎖存到標(biāo)志寄存器后。由于定時(shí)器0占用的是PIE第一組的第七個(gè)中斷線。當(dāng)定時(shí)器0的中斷傳輸?shù)紺PU級(jí)后,IFR1會(huì)被置位,如果IER和INTM都被使能,那么定時(shí)器0的中斷服務(wù)子程序才會(huì)被執(zhí)行。其中SPI串行通信接口負(fù)責(zé)把數(shù)碼管需要的數(shù)據(jù)一位一位的傳送給74HC164芯片,再由74HC164將數(shù)碼管所需的段碼并行輸出給數(shù)碼管,這樣數(shù)碼管就可以顯示數(shù)據(jù)了。 首先,數(shù)據(jù)要利用SPI在DSP和74HC164之間進(jìn)行通信。其次74HC164還有8個(gè)輸出QA~QH,其中QA是高位,QH是低位,所以QA接數(shù)碼管的小數(shù)點(diǎn)DP位,QB~QH分別接數(shù)碼管的g~a位。三極管的集電極接+5V電源,基極分別接DSP的四個(gè)GPIO口5554和55。 SPI串行外設(shè)接口SPI是Serial Peripheral Interface的縮寫,翻譯成中文就是串行外圍設(shè)備接口。SPI通常用于DSP和外設(shè)及其他處理器之間的通信。SPI支持主/從模式的多機(jī)通信。SPI的通信原理。其中,CS信號(hào)是用來控制從機(jī)的芯片是否被選中的。當(dāng)SI的片選信號(hào)為低電平時(shí),S1被選中,Ml通過MOSI引腳發(fā)送數(shù)據(jù),S1通過MOSI引腳接收數(shù)據(jù),或者S1通過MISO引腳發(fā)送數(shù)據(jù),而M1通過MISO引腳接收數(shù)據(jù)。從機(jī)只有通過CS信號(hào)被選中之后,對(duì)此從機(jī)的操作才一會(huì)有效,可見片選信號(hào)的存在使得允許在同一總線上連接多個(gè)SPI設(shè)備成為可能。通信時(shí)通過進(jìn)行數(shù)據(jù)交換來完成,這里首先要知道SPI采用的是串行通信協(xié)議,也就是說通信時(shí)數(shù)據(jù)是一位一位進(jìn)行傳輸?shù)?。?dāng)M1給S1發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)在時(shí)鐘脈沖的上升沿或者下降沿時(shí)通過MI的MOSI引腳發(fā)送,在緊接著的下降沿或者上升沿時(shí)通過S1的MOSI引腳接收[6]。 值得注意的是,SCK信號(hào)只由主設(shè)備控制,從設(shè)備不能控制時(shí)鐘信號(hào)線。在點(diǎn)對(duì)點(diǎn)的通信中,SPI接口不需要尋址操作,且為全雙工通信,因此顯得簡單高效。圖25 SPI模塊內(nèi)部結(jié)構(gòu)圖 1)4個(gè)外部引腳 SPISOMI:SPI從輸出/主輸入引腳; SPISIMO:SPI從輸入/主輸出引腳 SPISTE:SPI從傳送使能引腳; SPICLK:SPI串行時(shí)鐘引腳。3)波特率:具有125種可編程的波特率。4)依次發(fā)送的數(shù)據(jù)字的長度為1~~16s位,可以通過寄存器設(shè)定。當(dāng)然,發(fā)送功能可以通過SPICTL,寄存器的TALK位禁止或者使能。8)具有6個(gè)控制寄存器、3個(gè)數(shù)據(jù)寄存器和3個(gè)FIFO寄存器。但是,3個(gè)數(shù)據(jù)寄存器SPIRXBUF , SPITXBUF和SPIDAT都是16位的。SPI的主從工作方式圖26 SPI主從通信原理圖圖示的是典型的SPI工作于主機(jī)模式,系統(tǒng)中有兩個(gè)處理器,處理器1的SPI工作于主機(jī)模式,而處理器2的SPI工作于從機(jī)模式。從圖中也可以看到,時(shí)鐘信號(hào)SPICLK是由主機(jī)提供給從機(jī)的,主機(jī)和從機(jī)在SPICLK的協(xié)調(diào)下同步進(jìn)行數(shù)據(jù)的發(fā)送或者接收,數(shù)據(jù)在時(shí)鐘脈沖信號(hào)的上升沿或者下降沿進(jìn)行發(fā)送或者讀取。主機(jī)和從機(jī)之間可以同時(shí)實(shí)現(xiàn)數(shù)據(jù)的發(fā) 送和接收,也就是說可以工作于全雙工模式。數(shù)據(jù)是從SPISIMO引腳輸出,并將鎖存SPISOMI引腳輸入的數(shù)據(jù)。寫入SPIDAT(串行數(shù)據(jù)寄存器)或SPITXBUF(串行輸出緩沖寄存器)的書籍啟動(dòng)SPISOMI引腳的數(shù)據(jù)發(fā)送,數(shù)據(jù)的最高位(MSB)最先發(fā)送。當(dāng)設(shè)定的位發(fā)送完畢后。數(shù)據(jù)以右對(duì)齊的方式存儲(chǔ)于SPIRXBUF寄存器中。從上面的波特率計(jì)算公式可以看出,SPI模塊最大的波特率為LSPCLK/4。當(dāng)時(shí)鐘極性位被清零時(shí),SPILCK的低電平比高電平多一個(gè)系統(tǒng)時(shí)鐘周期。 74HC16474HC164是8位串入、并出移位寄存器,主要用于數(shù)字電路和LED 顯示控制電路應(yīng)用。數(shù)據(jù)通過兩個(gè)輸入端(DSA 或 DSB)之一串行輸入;任一輸入端可以用作高電平使能端,控制另一輸入端的數(shù)據(jù)輸入。時(shí)鐘 (CP) 每次由低變高時(shí),數(shù)據(jù)右移一位,輸入到 Q0, Q0 是兩個(gè)數(shù)據(jù)輸入端(DSA 和 DSB)的邏輯與,它將上升時(shí)鐘沿之前保持一個(gè)建立時(shí)間的長度。圖27 74HC164引腳圖表21 74HC164引腳說明符號(hào)管腳名稱管腳號(hào)描述A,B數(shù)據(jù)輸入1,2該管腳為與門輸入QA~QH數(shù)據(jù)輸出3,4,5,6,10,11,12,13并行輸出口CLK時(shí)鐘輸入8在上升沿讀取串行數(shù)據(jù)CLR復(fù)位9端口輸入為低時(shí),所有輸入無效,所有輸出清零,端口為高時(shí),輸出數(shù)據(jù)VDD邏輯電源15電源GND邏輯地7系統(tǒng)地 數(shù)碼管數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管,是常用的一種顯示輸出元件。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管,其在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮;當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。圖28 七段數(shù)碼管示意圖數(shù)碼管有共陽和共陰兩種,由于共陰數(shù)碼管要靠微控制器DSP提供電流,顯示效果往往沒有共陽數(shù)碼管好,所以本系統(tǒng)采用的是共陽數(shù)碼管。本程序用的是共陽連接方式。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)GPIO端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二~十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。2)動(dòng)態(tài)顯示驅(qū)動(dòng)數(shù)碼管動(dòng)態(tài)顯示接口是應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃“A,B,C,D,E,F,G,DP”的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)微控制器輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于微控制器對(duì)位選通COM端電路的控制,所以只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。當(dāng)數(shù)碼管要顯示數(shù)字時(shí),74HC164將段碼輸出給4個(gè)數(shù)碼管,由DSP控制4個(gè)GPIO端口分時(shí)輪流點(diǎn)亮,從而實(shí)現(xiàn)4個(gè)數(shù)碼管同時(shí)點(diǎn)亮的現(xiàn)象。在鍵盤中按鍵數(shù)量較多時(shí),為了減少I/O口的占用,通常將按鍵排列成矩陣形式。這樣,8個(gè)GPIO就可以構(gòu)成44=16個(gè)按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。 矩陣鍵盤的硬件設(shè)計(jì)矩陣式結(jié)構(gòu)的鍵盤顯然比直接法要復(fù)雜一些,識(shí)別也要復(fù)雜一些,行線KX4~KX1的一端通過電阻接正電源另一端接DSP的GPIO50~GPIO53口作為輸入,列線KY4~KY1分別接DSP的GPIO00~GPIO03口作為輸出。圖210矩陣鍵盤硬件連接原理圖如圖所示:、KYKY3和KY4作為輸出口,設(shè)置KXKXKX3和KX4作為輸入口、KYKY3和KY4全部輸出低電平,檢測(cè)KXKXKX3和KX4中哪個(gè)是低電平,這樣就可以確定是哪行的按鍵被按下;,讓KYKYKY3和KY4輸出的電平依次由低變高,這樣如果KYn輸出高電平的時(shí)候,KX接收到的電平也由低變高,由此就說明是KYn列的按鍵被按下,按鍵的位置就被確定了。因而在閉合及斷開的瞬間均伴隨有一連串的抖動(dòng),為了不產(chǎn)生這種現(xiàn)象而作的措施就是按鍵消抖。這是一個(gè)很重要的時(shí)間參數(shù),在很多場(chǎng)合都要用到。鍵抖動(dòng)會(huì)引起一次按鍵被誤讀多次。在鍵閉合穩(wěn)定時(shí)讀取鍵的狀態(tài),并且必須判別到鍵釋放穩(wěn)定后再作處理。圖211按鍵抖動(dòng)示意圖硬件消抖法就是在按鍵中附加去抖動(dòng)電路,從根上消除抖動(dòng)產(chǎn)生的可能性。其電路實(shí)際上是由R~S觸發(fā)器構(gòu)成的單脈沖電路。 如果按鍵較多,常用軟件方法去抖。而鍵抖動(dòng)時(shí)間與按鍵的機(jī)械特性有關(guān),一般為5~10ms不等。 本系統(tǒng)主要采用軟件消抖法,具體過程將在軟件設(shè)計(jì)部分加以介紹。在本次設(shè)計(jì)中,將一個(gè)發(fā)光二極管的輸入段與電源相連接,輸出與DSP芯片的GPIO4端口相連接,當(dāng)GPIO端口為低電平時(shí),LED點(diǎn)亮[9]。由于本系統(tǒng)用到了定時(shí)器,SPI,GPIO接口等部件,所以也要對(duì)這些部分進(jìn)行相應(yīng)的初始化。 F28335的系統(tǒng)初始化函數(shù)是InitSysCtrl()。 ,就需要對(duì)本程序中會(huì)用到的外設(shè)及其接口進(jìn)行初始化,包括SPI、定時(shí)器0、按鍵矩陣、數(shù)碼管和看門狗。初始化cpu中斷和PIE相應(yīng)的寄存器、再對(duì)中斷向量表進(jìn)行賦值。 ,其中編寫系統(tǒng)將要執(zhí)行的主要功能。SPI的初始化函數(shù)有InitSPIaGpio()。SPI_fifo_init()。 InitSPIaGpio()。而進(jìn)行數(shù)據(jù)傳輸就要用到DSP的GPIO接口,因此就需要對(duì)這四根線所用到的GPIO接口進(jìn)行初始化設(shè)置,如下 = 1。 //SPISOMIA = 1。 //SPISTEA這四行語句即表示將GPIO的5556和57接口設(shè)置為外設(shè)I/O模式。在這個(gè)函數(shù)中,本設(shè)計(jì)對(duì)SPI的配置控制寄存器、工作控制寄存器,波特率寄存器和優(yōu)先級(jí)寄存器都進(jìn)行了相應(yīng)的初始化[9]。 =0x0006。 =0x00DF。 該函數(shù)的主要功能為:先配置SPICCR寄存器,初始化SPI到復(fù)位狀態(tài),設(shè)置時(shí)鐘極性為上升沿輸入,下降沿輸出狀態(tài),字長控制為16位;再配置SPICTL寄存器,禁止溢出中斷使能位,設(shè)置
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1