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

正文內(nèi)容

基于dsp微控制器定時(shí)器設(shè)計(jì)-預(yù)覽頁(yè)

 

【正文】 機(jī)械式 定時(shí)器,電動(dòng)式定時(shí)器都是通過(guò)發(fā)條、交流同步步進(jìn)電機(jī)或者石英步進(jìn)電機(jī)進(jìn)行驅(qū)動(dòng)的。 本文設(shè)計(jì)了一種以TMS320F28335 DSP 微控制器 為核心的定時(shí)器。 在定時(shí)器 暫停時(shí) ,還可以通過(guò)鍵盤(pán) 重新輸入 定時(shí) 初值 ?,F(xiàn)在的定時(shí)器廣泛運(yùn)用與工業(yè)控制,家用電器甚 至軍工領(lǐng)域,成為現(xiàn)在社會(huì)不可或缺的電子設(shè)備。這些定時(shí)器都是在手動(dòng)上發(fā)條的同時(shí)預(yù)置時(shí)限,定時(shí)精度不高,但結(jié)構(gòu)簡(jiǎn)單 ,使用方便。 電子式定時(shí)器,利用石英振蕩器或民用交流電的標(biāo)準(zhǔn)頻率 , 經(jīng)過(guò)分頻計(jì)數(shù)組成時(shí)間累加器或數(shù)字鐘 , 按照預(yù)置的時(shí)間編碼輸出控制信號(hào)。電子定時(shí)器類的電子定時(shí)開(kāi)關(guān)鐘,可用于按高、平、低峰用電收取不同電費(fèi)制度的場(chǎng)合,它將一天內(nèi)的用電高峰、平峰、低谷時(shí)間在定時(shí)開(kāi)關(guān)中設(shè)定 ,并分別接通 3 種電表進(jìn)行計(jì)費(fèi)。在家用電器中經(jīng)常用于延時(shí)自動(dòng)開(kāi)關(guān)、定時(shí)。 此外, DSP 中的定時(shí)器還可用于數(shù)模和模數(shù)轉(zhuǎn)換,信號(hào)的采樣,伺服位置控制, 數(shù)字振蕩器的設(shè)計(jì)等等。程序調(diào)試成功后通過(guò) JTAG 將程序下載到 DSP 的 RAM 中進(jìn)行硬件調(diào)試,程序具體實(shí)現(xiàn)功能見(jiàn) 的功能實(shí)現(xiàn)。它功能強(qiáng)大,體積小,重量輕,靈活好用,配以適當(dāng)?shù)慕涌谛酒梢詷?gòu)造各種各樣、功能各異的微電子產(chǎn)品。 定時(shí)器的功能 本次 設(shè)計(jì)的課題是基于 DSP 為控制器定時(shí)器設(shè)計(jì),相關(guān)功能如下: ,最大定時(shí)時(shí)間為 100 分鐘。 , LED 燈開(kāi)始不斷閃爍,提示定時(shí)時(shí)間到。 ,停止定時(shí),數(shù)碼管上顯示“ 0000”, LED 燈開(kāi)始閃亮,提示定時(shí)結(jié)束。 第 5 頁(yè) 器 的顯示電路: 顯示時(shí)間 由 4 位共陽(yáng)數(shù)碼管顯示,首先由 DSP 與74HC164 進(jìn)行 SPI 串行同步通信,將數(shù)碼管需要的段碼傳輸給 74HC164,再由74HC164 將段碼并行輸出給數(shù)碼管,達(dá)到數(shù)碼管顯示的目的。 以上是對(duì)定時(shí)器的 硬件組成 和具體工作流程進(jìn)行了大體的介紹,現(xiàn)對(duì)其各功能的實(shí)現(xiàn)方式 分別進(jìn)行講解。它不僅具有可編程性,而且其實(shí)時(shí)運(yùn)行速度可達(dá)每秒數(shù)以千萬(wàn)條復(fù)雜指令程序,遠(yuǎn)遠(yuǎn)超過(guò)通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片 [1]。 TMS320F28335 具有 150MHz 的高速處理能力,具備 32 位浮 點(diǎn)處理單元,6 個(gè) DMA 通道支持 ADC、 McBSP 和 EMIF,有多達(dá) 18 路的 PWM 輸出,其中有 6 路為 TI 特有的更高精度的 PWM 輸出 (HRPWM), 12 位 16 通道 ADC。當(dāng)定時(shí)器計(jì)數(shù)器寄存器遞減到零時(shí),定時(shí)器會(huì)產(chǎn)生一個(gè) 中斷 TINT 并將其傳送給 PIE 外設(shè)中斷模塊,當(dāng) PIE 中的中斷時(shí)能位 PIEIER 被時(shí)能后, PIE會(huì)將這個(gè)中斷傳送給 CPU,如果 CPU 的中斷使能位和 INTM 被使能,則 CPU會(huì)相應(yīng)定時(shí)器 0 中斷,轉(zhuǎn)而執(zhí)行定時(shí)器 0 的中斷服務(wù)子程序。 在本系統(tǒng)中使用的是定時(shí)器 0,定時(shí)器 0 的內(nèi)部原理圖如下所示: 圖 22 定時(shí)器 0 內(nèi)部結(jié)構(gòu)圖 Cpu 定時(shí)器的通常工作過(guò)程如下,首先把周期寄存器 PRDH:PRD 的值裝入32 位計(jì)數(shù)寄存器 TIMH:TIM 中。當(dāng) PSCH:PSC 中的值為 0 的時(shí)候,就會(huì)輸出一個(gè) TIMCLK,從而TIMH:TIM 減 1。平時(shí)能夠用到的所有的外設(shè)中斷都被歸人了這 96 個(gè)中斷中,被分布在不同的組里 [3]。此時(shí),如果該中斷相應(yīng)的中斷使能位 (IE=Interrupt Enable)已經(jīng)被置位,也就是值為 1,該外設(shè)就會(huì)向 PIE 控制器發(fā)出一個(gè)中斷請(qǐng)求。 對(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)志位和中斷使能位。 定時(shí)器 0 的中斷 TINT 使用的時(shí) PIE 中的第一組的第七個(gè)中斷。 由于定時(shí)器 0 占用的是 PIE 第一組的第七個(gè)中斷線。其中 SPI 串行通信接口負(fù)責(zé)把數(shù)碼管需要的數(shù)據(jù)一位一位的傳送給74HC164 芯片,再由 74HC164 將數(shù)碼管所需的段碼并行輸出給數(shù)碼管,這樣數(shù)碼管就可以顯示數(shù)據(jù)了。 其次 74HC164 還有 8 個(gè)輸出 QA~QH,其中 QA 是高位, QH 是低位, 所以QA 接數(shù)碼管的小數(shù)點(diǎn) DP 位, QB~QH 分別接數(shù)碼管的 g~a 位。 SPI 串行 外設(shè)接口 SPI 是 Serial Peripheral Interface 的縮寫(xiě),翻譯成中文就是串行外圍設(shè)備接口。 SPI 支持主 /從模式的多機(jī)通信。其中, CS 信號(hào)是用來(lái)控制從機(jī)的芯片是否被選中的。從機(jī)只有通過(guò) CS 信號(hào)被選中之后,對(duì)此從機(jī)的操作才一會(huì)有效,可見(jiàn)片選信號(hào)的存在使得允許在同一總線上連接多個(gè) SPI 設(shè)備成為可能。當(dāng) M1 給 S1 發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)在時(shí)鐘脈沖的上升沿或者下降沿時(shí)通過(guò) MI 的 MOSI 引腳發(fā)送,在緊接著的下降沿或者上升沿時(shí)通過(guò) S1 的 MOSI 引腳接收 [6]。在點(diǎn)對(duì)點(diǎn)的通信中, SPI 接口不需要尋址操作,且為全雙工通信,因此顯得簡(jiǎn)單高效。 3)波特率 :具有 125 種可編程的波特率。當(dāng)然,發(fā)送功能可以通過(guò) SPICTL,寄存器的 TALK 位禁止或者使能。但是,3 個(gè)數(shù)據(jù)寄存器 SPIRXBUF , SPITXBUF 和 SPIDAT 都是 16 位的。從圖中也可以看到,時(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ā)送或者讀取。數(shù)據(jù)是從 SPISIMO 引腳輸出,并將鎖存 SPISOMI 引腳輸入的數(shù)據(jù)。當(dāng)設(shè)定的位發(fā)送完畢后。從上面的波特率計(jì)算公式可以看出, SPI 模塊最大的波特率為 LSPCLK/4。 74HC164 74HC164 是 8 位串入、并出移位寄存器,主要用于數(shù)字電路和 LED 顯示控制電路應(yīng)用。時(shí)鐘 (CP) 每次由低變高時(shí),數(shù)據(jù)右移一位,輸入到 Q0, Q0 是兩個(gè)數(shù)據(jù)輸入端( DSA 和 DSB)的邏輯與,它將上升時(shí)鐘沿之前保持一個(gè)建立時(shí)間的長(zhǎng)度。共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極 (COM)的數(shù)碼管 ,其 在應(yīng)用時(shí)應(yīng)將公共極 COM 接到 +5V,當(dāng)某一字段發(fā)光二極管 的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮;當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。本程序用的是共陽(yá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ù)碼管的選通控制打開(kāi), 該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。當(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)象。這樣, 8 個(gè) GPIO 就可以構(gòu)成 4 4=16 個(gè)按鍵,比之直接將端口線用于鍵盤(pán)多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成 20 鍵的鍵盤(pán),而直接用端口線則只能多出一鍵( 9 鍵)。 圖 210 矩 陣鍵盤(pán)硬件連接原理圖 如圖所示: KY KY KY3 和 KY4 作為輸出口,設(shè)置 KX KX KX3 和KX4 作為輸入口 第 17 頁(yè) KY KY KY3 和 KY4 全部輸出低電平, ,檢測(cè) KX KX KX3 和 KX4 中哪個(gè)是低電平,這樣就可以確定是哪行的按鍵被按下; ,讓 KY KY KY3 和 KY4 輸出的電平依次由低變高,這樣如果 KYn 輸出高電平的時(shí)候, KX 接收到的電平也由低變高,由此就說(shuō)明是KYn 列的按鍵被按下,按鍵的位置就被確定了。這是一個(gè)很重要的時(shí)間參數(shù),在很多場(chǎng)合都要用到。在鍵閉合 穩(wěn)定時(shí)讀取鍵的狀態(tài),并且必須判別到鍵釋放穩(wěn)定后再作處理。其電路實(shí)際上是由 R~S 觸發(fā)器構(gòu)成的單脈沖電路。而鍵抖動(dòng)時(shí)間與按鍵的機(jī)械特性有 第 18 頁(yè) 關(guān),一般為 5~ 10ms 不等。在本次設(shè)計(jì)中,將一個(gè)發(fā)光二極管的輸入段與電源相連接,輸出與 DSP芯片的 GPIO4 端口相連接,當(dāng) GPIO 端口為低電平時(shí), LED 點(diǎn)亮 [9]。 F28335 的系統(tǒng)初始化函數(shù)是 InitSysCtrl()。初始化 cpu 中斷和 PIE 相應(yīng)的寄存器、 再 對(duì)中斷向量表進(jìn)行賦值。 SPI 的初始化函數(shù)有 InitSPIaGpio()。 InitSPIaGpio()函數(shù)在工程的 文件中。 //SPISOMIA = 1。在這個(gè)函數(shù)中,本設(shè)計(jì) 對(duì) SPI的配置控制寄存器、工作控制寄存器,波特率寄存器和優(yōu)先級(jí)寄存器都進(jìn)行了相應(yīng)的初始化 [9]。 =0x00DF。 最后配置優(yōu)先權(quán)寄存器,忽視 SPI 的中斷。該函數(shù)對(duì)三個(gè)定時(shí)器的周期寄存器,預(yù)定標(biāo)寄存器,控制寄存器都進(jìn)行了初始化,還針對(duì)不同的 cpu頻率,為定時(shí)器的周期寄存器裝入不同的定時(shí)周期。 = 1。 按鍵矩陣的四個(gè)列也被設(shè)置為輸出,和數(shù)碼管一樣,在此不再重述,按鍵矩陣的四個(gè)行被設(shè)置為輸入,其初始化程序?yàn)椋? = 0。 = amp。 設(shè)置定時(shí)器 0 的周期、打開(kāi)定時(shí)器、看門(mén)狗和開(kāi)中斷 設(shè)定定時(shí)器的周期 初始化定時(shí)器之后就應(yīng)該設(shè)定定時(shí)器周期了。CpuTimer0 表示 這個(gè)指針是指向定時(shí)器 0 的,也就是說(shuō),是為定時(shí)器 0中的相關(guān)寄存器進(jìn)行操作。 打開(kāi)定時(shí)器 開(kāi)定時(shí)器的語(yǔ)句如下所示: 圖 35 定時(shí)器 0 控制寄存器情況圖 開(kāi)定時(shí)器的語(yǔ)句如下所示: 第 23 頁(yè) = 0x4011。程序如下: = 1。如前文所述,只有 cpu 的總中斷被使能,其他外設(shè)的中斷才能被傳輸?shù)?cpu 內(nèi),如果 INTM 未被使能,那么,無(wú)論什么外設(shè)的中斷,都沒(méi)有辦法傳輸?shù)?cpu 內(nèi)部。 主要功能的實(shí)現(xiàn) 定時(shí)器中斷子程序的設(shè)計(jì) 本程序使用的是 DSP 微控制器中的內(nèi)部定時(shí)器 0。 } Else if(Second==00amp。 } else if(Second==00amp。 圖 36 定時(shí)器中斷子程序流程圖 SPI 通信與數(shù)碼管顯示程序的設(shè)計(jì) 由硬件部分所述,本程序所用的 4 個(gè)七段數(shù)碼管的段選端一同連接到74HC164 串 行輸入并行輸出芯片的輸出端,故需要先用 DSP 的串行外設(shè)通信 第 25 頁(yè) SPI 進(jìn)行 DSP 和 74HC164 之間的通信,從而將數(shù)碼管所需要的段碼傳輸給74HC164 芯片,再通過(guò) 74HC164 并行輸出給數(shù)碼管。 圖 37 數(shù)字拆分示意圖 為了清晰直觀的顯示出定時(shí)器的計(jì)時(shí)狀態(tài),本系統(tǒng)設(shè)置了四個(gè)七段數(shù)碼管對(duì)時(shí)間進(jìn)行顯示。 第 26 頁(yè) 由于采用了四個(gè)數(shù)碼管,要采用動(dòng)態(tài)掃描的方式點(diǎn)亮數(shù)碼管,在程序中需要將分鐘的十位和個(gè)位拆開(kāi),還需要將秒的十位與個(gè)位也拆開(kāi),這樣才能在動(dòng)態(tài)掃描時(shí)對(duì)不同的數(shù)碼管賦予不同的數(shù)值,從而達(dá)到顯示時(shí)間的目的。 Minute_Bit[0]=data%10。 DisData_Bit[0] = Second_Bit[0]。矩陣鍵盤(pán)是十六個(gè)按鍵排列成為 4X4 的矩陣,通過(guò)行掃描和列掃描就能獲取鍵值。 第 27 頁(yè) 由于四個(gè)行默認(rèn)的輸入是高電平,所以沒(méi)有鍵按下時(shí),輸入一直是高電平。行識(shí)別的核心代碼如下: void Read_KX(Uint16 x) { KX_AllStatus()。 KX_Tim[2]=0。 列的識(shí)別是通過(guò)列掃描函數(shù)來(lái)實(shí)現(xiàn)的。相應(yīng)的程序如 第 28 頁(yè) 下: void Read_KY(Uint16 x) { int j=0。 delay(200)。 if(Key==15||Key==16) {Fun=Key。amp。} } for(j=0。} } } Rst_KY(x)。 第 29 頁(yè) 核心功能的設(shè)計(jì) 當(dāng)程序開(kāi)始運(yùn)行后,定時(shí)器默認(rèn)為關(guān)閉狀態(tài),數(shù)碼管不顯示任何數(shù)值。例如:用戶在剩余 1 分 20 秒時(shí)按下“暫?!保缓筮x擇重新設(shè)置時(shí)間,但是只輸入了前兩位,即將分鐘設(shè)置為 30 分鐘,而沒(méi)有設(shè)置秒。 程序逆推初值公式如下: 分鐘初值 =分鐘十位 10+分鐘個(gè)位 ( 31) 秒初值 =秒 十位 10+秒個(gè)位 ( 32) 當(dāng)定時(shí)時(shí)間到時(shí),程序中的分鐘位和秒都會(huì)歸零,數(shù)碼管的顯示也為零,此時(shí)數(shù)碼管會(huì)亮起,起到報(bào)警的作用。 DisData_Send()。 Sellect_Bit(Loop)。 Key_Bit[1]=10。 } else if(Fun==16) { = 0x4
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1