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

正文內(nèi)容

基于dsp微控制器定時器設(shè)計(更新版)

2024-10-20 12:04上一頁面

下一頁面
  

【正文】 四位 { scan()。 i=3。 //定時器關(guān)閉 for(Loop=0。 //選擇要掃描的數(shù)碼管位 SPI_xmit(msg[DisData_Bit[Loop]])。 相關(guān)程序如下: if(Fun==15) { = 0x4001。若按下 “開始”鍵(鍵值 15),則開啟定時器,開始定時,同時 SPI 會將時間數(shù)據(jù)傳送給數(shù)碼管進行時間顯示,在數(shù)碼管上可以看到定時的時間一秒一秒的減少。j4。} KY_On = 0。 if(!KX_Status[KX_On] amp。 KX_Tim[3]=0。假設(shè)第 a 行 b 列的按鍵按下,那么第 a 行的輸入就變?yōu)榈碗娖?,說明按鍵在第 a行。 } 先通過除法和取余運算將分鐘和秒的個位 與十位分開,放置于數(shù)組中;再將這四位數(shù)字存入一個具有四個元素的一維數(shù)組 DisData_Bit 中,在 DSP 與74HC164 進行通信時均是通過這個數(shù)組選取數(shù)碼管需要的段碼從而進行通信的。具體的實現(xiàn)方法和程序如下: void Second_Trans(Uint16 data) { Second_Bit[1]=data/10。 通信功能的實現(xiàn) 由硬件部分所述, SPI 通信的數(shù)據(jù)傳輸是在主機 DSP 微控制器和從機74HC164 的移位寄存器之間實現(xiàn)的,在對 SPI 進行了初始化并設(shè)置好極性和相位之后,主機和從機之間的通信是隨著 SPI 的時鐘信號自動進行的,軟件部分只需要將需要進行通信的數(shù)據(jù)寫入主機的寫入串行輸出緩沖寄存器( SPITXBUF)即可 [14][15]。amp。打開總中斷語句如下 EINT。 向 TCR 寄存器的 4 位 TSS 寫 1 即為開啟定時器 開中斷 cpu 的中斷使能位,因為看門狗和定時器 0 的中斷都通過 INT1 傳輸給 cpu,故需要將 IER 的第 0 位置 1 ,程序如下 IER |= M_INT1。相關(guān)程序如下: ConfigCpuTimer(amp。 第 22 頁 = 0。 其他外設(shè)的初始化 如前文所述, 按鍵矩陣和數(shù)碼管等外設(shè)要通過 DSP 的 GPIO 接口與 DSP 進行連接,所以要對相應(yīng)的 GPIO 接口進行初始化。 = 1。 //SPICLKA 第 20 頁 = 1。SPI_init()。這個函數(shù)對 PLL 鎖相環(huán),看門狗(默認(rèn)為關(guān)閉), SPI 等外設(shè)的時鐘都進行了初始化。軟件消抖發(fā)就是即檢測出鍵閉合后執(zhí)行一個延時程序, 5ms~ 10ms 的延時,讓前沿抖動消失后再一次檢測鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認(rèn)為真正有鍵按下。 按鍵的消抖分為軟件消抖和硬件消抖兩種。 按鍵接口的消抖 通常的按鍵所用開關(guān)為機械彈性開關(guān),當(dāng)機械觸點斷開、閉合時,由于機械觸點的彈性作用,一個按鍵開關(guān)在閉合時不會馬上穩(wěn)定地接通,在斷開時也不會一下子斷開。 第 16 頁 按鍵 控制電路 矩陣鍵盤的概述 矩陣鍵盤是 微控制器 外部設(shè)備中所使用的排布類似于矩陣的鍵盤組 。 圖 29 共陽數(shù)碼管連接原理圖 表 22 共陽數(shù)碼管段碼表 字型 DP G F E D C B A 段碼 0 1 1 0 0 0 0 0 0 C0H 1 1 1 1 1 1 0 0 1 F9H 2 1 0 1 0 0 1 0 0 A4H 3 1 0 1 1 0 0 0 0 B0H 第 15 頁 4 1 0 0 1 1 0 0 1 99H 5 1 0 0 1 0 0 1 0 92H 6 1 0 0 0 0 0 1 0 82H 7 1 1 1 1 1 0 0 0 F8H 8 1 0 0 0 0 0 0 0 90H 9 1 0 0 1 0 0 0 0 90H 1)靜態(tài)顯示驅(qū)動 靜態(tài)驅(qū)動也稱直流驅(qū)動。主復(fù)位 (MR) 輸入端上的一個低電平將使其它所有輸入端都無效,同時非同步地清除寄存器,強制所有的輸出為低電平。從式 (22)可以看出,當(dāng)SPIBRR 為奇數(shù)時, (SPIBRR+1)為偶數(shù), SPICLK 信號高電平與低電平在一個周期內(nèi)保持對稱 ; 當(dāng) SPIBRR 為偶數(shù)時, (SPIBRR+1)為奇數(shù), SPICLK 信號高電平和低電平在一個周期內(nèi)不對稱 [7]。 SPIBRR(波特率寄存器)可以配置 126 種不同的位傳輸率,該寄存器決定了整個串行通信網(wǎng)絡(luò)發(fā)送和接受數(shù)據(jù)的位傳輸率。 3 個 FIFO 寄存器也是 16 位。能夠使用的最大波特率受到 I/O 緩沖器最大緩存速度的限制,這些緩沖器是使用在 SPI 引腳上的 I/O 緩沖器,而最高的波特率不能超過 LSPCLK/4。當(dāng) S1 給 M1 發(fā)送數(shù)據(jù)時,原理是一樣的,只不過通過 MISO 引腳來完成。系統(tǒng)內(nèi)如果有一個主設(shè)備 M1 和兩個從設(shè)備 S1 和 S2。 SPI 最早是由 Freescale(原 Motorola)公司在其 MC68 HCxx 系列處理器上定義的一種高速同步串行通信接口。 第 9 頁 圖 24 顯示系統(tǒng)電路原理圖 數(shù)碼管顯示系統(tǒng)的電路連接原理圖如上圖所示。也就是說,當(dāng)定時器向 PIE 發(fā)出中斷請求 TINT 時, PIE 的 PIEIFR( 1,7)會置位,如果 PIEIER( 1,7)置位 且 PIEACK1 被清除,則此中斷才會被傳送到 CPU 級中 級 當(dāng)中斷請求被發(fā)送到 CPU。相反,雖然中斷事件已經(jīng)發(fā)生了,相應(yīng)的中斷標(biāo) 志位也被置位了,但是該中斷沒有被使能,也就是中斷使能位的值為 0,那么外設(shè)就不會向 PIE 控制器提出中斷請求。在下一個定時器輸 入 時鐘周期開始時, TDDRH:TDDR 中的值 第 7 頁 重新裝載人 PSCH:PSC 中,周而復(fù)始地循環(huán)下去 [3]。 DSP 內(nèi)部定時器 TMS320F28335芯片內(nèi)部具有 3個 32位的 CPU定時器 —— Timer0 、 Timerl和 Timer2。它的強大數(shù)據(jù)處理能力和高運行速度,是最值得稱道的兩大特色。 DSP 的 GPIO54和 GPIO56 設(shè)置為 SPI 的數(shù)據(jù)發(fā)送和時鐘端, GPIO58~59 和 GPIO62~63 設(shè)置為數(shù)碼管的位選端 DSP 芯片的 GPIO4 引腳來控制 LED 燈閃亮提示報警。 第 4 頁 2 定時器系統(tǒng)的 硬件設(shè)計 總體硬件設(shè)計 本系統(tǒng)采用德州儀器的 TMS320F28335 DSP 微控制器作為核心部件。鑒此, 本文 設(shè)計開發(fā)了一種基于 DSP 微控制器的多用途定時器 , 它造價低,功能全, 性價比高 ,配以小鍵盤和 數(shù)碼管 顯示,可適應(yīng)各種場合的定時預(yù)警之用。 定時器系統(tǒng)概述 本系統(tǒng)主要分為由 DSP 微控制器,數(shù)碼管,矩陣鍵盤三部分。電子式定時 第 2 頁 器在科學(xué)實驗中和在微波爐、電飯鍋、洗衣機等電器中也有使用。 電動式定時器,用交流同步電動機或石 英步進電機驅(qū)動,通過齒輪傳動和凸輪簧片觸點機構(gòu),按預(yù)置的時段或時刻控制執(zhí)行機構(gòu)。當(dāng)定時結(jié)束時,還會通過 LED 燈閃爍報警,提示定時結(jié)束。這種定時器精度不高,定時誤差較大。 本文設(shè)計了一種以TMS320F28335 DSP 微控制器 為核心的定時器?,F(xiàn)在的定時器廣泛運用與工業(yè)控制,家用電器甚 至軍工領(lǐng)域,成為現(xiàn)在社會不可或缺的電子設(shè)備。 電子式定時器,利用石英振蕩器或民用交流電的標(biāo)準(zhǔn)頻率 , 經(jīng)過分頻計數(shù)組成時間累加器或數(shù)字鐘 , 按照預(yù)置的時間編碼輸出控制信號。在家用電器中經(jīng)常用于延時自動開關(guān)、定時。程序調(diào)試成功后通過 JTAG 將程序下載到 DSP 的 RAM 中進行硬件調(diào)試,程序具體實現(xiàn)功能見 的功能實現(xiàn)。 定時器的功能 本次 設(shè)計的課題是基于 DSP 為控制器定時器設(shè)計,相關(guān)功能如下: ,最大定時時間為 100 分鐘。 ,停止定時,數(shù)碼管上顯示“ 0000”, LED 燈開始閃亮,提示定時結(jié)束。 以上是對定時器的 硬件組成 和具體工作流程進行了大體的介紹,現(xiàn)對其各功能的實現(xiàn)方式 分別進行講解。 TMS320F28335 具有 150MHz 的高速處理能力,具備 32 位浮 點處理單元,6 個 DMA 通道支持 ADC、 McBSP 和 EMIF,有多達(dá) 18 路的 PWM 輸出,其中有 6 路為 TI 特有的更高精度的 PWM 輸出 (HRPWM), 12 位 16 通道 ADC。 在本系統(tǒng)中使用的是定時器 0,定時器 0 的內(nèi)部原理圖如下所示: 圖 22 定時器 0 內(nèi)部結(jié)構(gòu)圖 Cpu 定時器的通常工作過程如下,首先把周期寄存器 PRDH:PRD 的值裝入32 位計數(shù)寄存器 TIMH:TIM 中。平時能夠用到的所有的外設(shè)中斷都被歸人了這 96 個中斷中,被分布在不同的組里 [3]。 對于復(fù)用的中斷源, PIE 模塊中的每個中斷組都有一個中斷標(biāo)志寄存器( PIEIFR(x,y))和中斷使能寄存器( PIEIER(x,y)),其中 x=PIE 組 1~PIE 組 12,y 表示一組中的 8 個復(fù)用中斷 ,這樣, PIEIFRx,y 和 PIEIERx,y 將對應(yīng) PIE 組 x( x=1~12)中的中斷 y(y=1~8),即代表相應(yīng)的中斷標(biāo)志位和中斷使能位。 由于定時器 0 占用的是 PIE 第一組的第七個中斷線。 其次 74HC164 還有 8 個輸出 QA~QH,其中 QA 是高位, QH 是低位, 所以QA 接數(shù)碼管的小數(shù)點 DP 位, QB~QH 分別接數(shù)碼管的 g~a 位。 SPI 支持主 /從模式的多機通信。從機只有通過 CS 信號被選中之后,對此從機的操作才一會有效,可見片選信號的存在使得允許在同一總線上連接多個 SPI 設(shè)備成為可能。在點對點的通信中, SPI 接口不需要尋址操作,且為全雙工通信,因此顯得簡單高效。當(dāng)然,發(fā)送功能可以通過 SPICTL,寄存器的 TALK 位禁止或者使能。從圖中也可以看到,時鐘信號 SPICLK 是由主機提供給從機的,主機和從機在 SPICLK 的協(xié)調(diào)下同步進行數(shù)據(jù)的發(fā)送或者接收,數(shù)據(jù)在時鐘脈沖信號的上升沿或者下降沿進行發(fā)送或者讀取。當(dāng)設(shè)定的位發(fā)送完畢后。 74HC164 74HC164 是 8 位串入、并出移位寄存器,主要用于數(shù)字電路和 LED 顯示控制電路應(yīng)用。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極 (COM)的數(shù)碼管 ,其 在應(yīng)用時應(yīng)將公共極 COM 接到 +5V,當(dāng)某一字段發(fā)光二極管 的陰極為低電平時,相應(yīng)字段就點亮;當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。 2)動態(tài)顯示驅(qū)動 數(shù)碼管動態(tài)顯示接口是應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的 8 個顯示筆劃“ A,B,C,D,E,F,G,DP”的同名端連在一起,另外為每個數(shù)碼管的公共極 COM增加位選通控制電路,位選通由各自獨立的 I/O線控制,當(dāng)微控制器輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于 微控制器 對位選通 COM 端電路的控制,所以只要將需要顯示的數(shù)碼管的選通控制打開, 該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。這樣, 8 個 GPIO 就可以構(gòu)成 4 4=16 個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成 20 鍵的鍵盤,而直接用端口線則只能多出一鍵( 9 鍵)。這是一個很重要的時間參數(shù),在很多場合都要用到。其電路實際上是由 R~S 觸發(fā)器構(gòu)成的單脈沖電路。在本次設(shè)計中,將一個發(fā)光二極管的輸入段與電源相連接,輸出與 DSP芯片的 GPIO4 端口相連接,當(dāng) GPIO 端口為低電平時, LED 點亮 [9]。初始化 cpu 中斷和 PIE 相應(yīng)的寄存器、 再 對中斷向量表進行賦值。 InitSPIaGpio()函數(shù)在工程的 文件中。在這個函數(shù)中,本設(shè)計 對 SPI的配置控制寄存器、工作控制寄存器,波特率寄存器和優(yōu)先級寄存器都進行了相應(yīng)的初始化 [9]。 最后配置優(yōu)先權(quán)寄存器,忽視 SPI 的中斷。 = 1。 = amp。CpuTimer0 表示 這個指針是指向定時器 0 的,也就是說,是為定時器 0中的相關(guān)寄存器進行操作。程序如下: = 1。 主要功能的實現(xiàn) 定時器中斷子程序的設(shè)計 本程序使用的是 DSP 微控制器中的內(nèi)部定時器 0。 } else if(Second==00amp。 圖 37 數(shù)字拆分示意圖 為了清晰直觀的顯示出定時器的計時狀態(tài),本系統(tǒng)設(shè)置了四個七段數(shù)碼管對時間進行顯示。 Minute_Bit[0]=data%10。矩陣鍵盤是十六個按鍵排列成為 4X4 的矩陣,通過行掃描和列掃描就能獲取鍵值。行識別的核心代碼如下: void Read_KX(Uint16 x) { KX_AllStatus()。 列的識別是通過列掃描函數(shù)來實現(xiàn)的。 delay(200)。amp。} } } Rst_KY(x)。例如:用戶在剩余 1 分 20 秒時按下“暫?!?,然后選擇重新設(shè)置時間,但是只輸入了前兩位,即將分鐘設(shè)置為 30 分鐘,而沒有設(shè)置秒。 DisData_Send()。 Key_Bit[1]
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1