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

正文內(nèi)容

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

  

【正文】 lStatus()。只有當(dāng)按鍵按下后,按鍵的行被確定后,列掃描函數(shù)才中的語(yǔ)句才會(huì)被執(zhí)行,如果按鍵的行位置都沒(méi)有被確定,也就是數(shù)按鍵的行標(biāo)KX_On仍然為零,那么即使運(yùn)行列掃描函數(shù),其中的語(yǔ)句也不會(huì)被執(zhí)行,即此時(shí)函數(shù)什么功能也不執(zhí)行。 if(KX_Status[x] == 0) { KX_Tim[x]++。 按鍵識(shí)別的大致流程是:硬件電路四個(gè)列是輸出,默認(rèn)是低電平,四個(gè)行是輸入,默認(rèn)是高電平。}void DisData_Send(){ DisData_Bit[3] = Minute_Bit[1]。隨著程序的運(yùn)行,定時(shí)器所剩的的時(shí)間逐漸減少,四個(gè)數(shù)碼管上的數(shù)字就會(huì)顯示出這種狀態(tài)。amp。如上文所述,程序組配置定時(shí)器0的定時(shí)周期為1秒,也就是說(shuō)每隔1秒定時(shí)器0就會(huì)產(chǎn)生一個(gè)中斷,主程序就會(huì)響應(yīng)這個(gè)中斷從而進(jìn)入定時(shí)器0的中斷服務(wù)子程序執(zhí)行相應(yīng)的語(yǔ)句。 = 1。第二個(gè)參數(shù)是設(shè)定使用的硬件DSP芯片的主頻的,單位是MHz,本系統(tǒng)使用的是主頻為150MHz的TMS320F28335芯片,所以此處寫150。cpu_timer0_isr。 = 0。SPI_fifo_init()是用來(lái)配置SPI的fifo模塊的,由于本系統(tǒng)中沒(méi)有使用SPI的fifo模式,故關(guān)閉fifo功能,相應(yīng)的語(yǔ)句為:=0xA040。圖31 SPI配置控制寄存器情況圖上圖是配置控制寄存器各位的情況圖圖32 SPI工作配置寄存器情況圖上圖是工作配置寄存器各位的情況圖圖33 SPI波特率寄存器情況圖上圖是波特率寄存器的情況圖圖34 SPI優(yōu)先權(quán)寄存器情況圖上圖是優(yōu)先權(quán)寄存器的各位情況圖以下是初始化函數(shù)的主要部分 =0x004F。前文提到,DSP的SPI模塊采用的是四線制,即主機(jī)與從機(jī)采用四根線進(jìn)行通信(SPISOMI、SPICLK、SPISTE和SPISIMO)。 (即每隔多久產(chǎn)生一個(gè)中斷從而進(jìn)入中斷服務(wù)子程序)、開(kāi)啟計(jì)時(shí)器和看門狗。圖212 LED顯示系統(tǒng)電路圖 3 定時(shí)器軟件的設(shè)計(jì) 主函數(shù)程序設(shè)計(jì)在程序執(zhí)行之前,首先需要對(duì)DSP芯片的各個(gè)部分進(jìn)行初始化,如系統(tǒng)時(shí)鐘,CPU中斷,中斷向量表等。當(dāng)按鈕開(kāi)關(guān)按下時(shí)Q端輸出低電平,當(dāng)開(kāi)關(guān)松開(kāi)時(shí)Q端恢復(fù)高電平,即輸出一個(gè)負(fù)脈沖,以此消除抖動(dòng),這種方法適合在鍵數(shù)較少時(shí)可用硬件方法消除鍵抖動(dòng)。按鍵穩(wěn)定閉合時(shí)間的長(zhǎng)短則是由操作人員的按鍵動(dòng)作決定的,一般為零點(diǎn)幾秒至數(shù)秒。由此可見(jiàn),在需要的鍵數(shù)比較多時(shí),采用矩陣法來(lái)做鍵盤是合理的。通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管,其在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮;當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。74HC164串行輸入數(shù)據(jù),然后并行輸出。已接受的數(shù)據(jù)移入SPIRXBUF供CPU讀取。當(dāng)然,主機(jī)和從機(jī)之間進(jìn)行通信的前提是從機(jī)片選信號(hào)SPISTE為低電平,將SPI從機(jī)選中,也就是將處理器2選中。7)與SCI相同,發(fā)送和接收都能通過(guò)查詢或者中斷方式來(lái)實(shí)現(xiàn)。SPI模塊介紹。 當(dāng)從機(jī)被選中,和主機(jī)建立連接之后,接下來(lái)起作用的就是負(fù)責(zé)通信的3根線了。F28335系列DSP還支持一個(gè)16級(jí)深度的接受發(fā)送FIFO、用來(lái)減少CPU的開(kāi)銷[5]。最后,四位數(shù)碼管的四條位選線分別接三極管的發(fā)射極。所以在CPU級(jí)中,定時(shí)器0的中斷是經(jīng)過(guò)CPU的第一條中斷線INT1進(jìn)行傳輸?shù)?。另外,每一個(gè)PIE中斷組中還存在一個(gè)中斷應(yīng)答位PIEACK。F28335的中斷采用的是三級(jí)中斷機(jī)制,分別為外設(shè)級(jí)、PIE級(jí)和CPU級(jí)。接著每經(jīng)過(guò)一個(gè)TIMCLK周期,計(jì)數(shù)器就遞減一次,最后當(dāng)計(jì)數(shù)寄存器TIMH:TIM等于0時(shí),定時(shí)器中斷輸出信號(hào)產(chǎn)生一個(gè)中斷脈沖。得益于其浮點(diǎn)運(yùn)算單元,用戶可快速編寫控制算法而無(wú)需在處理小數(shù)操作上耗費(fèi)過(guò)多的時(shí)間和精力,與前代DSC相比,平均性能提高50%,并與定點(diǎn)C28x控制器軟件兼容,從而簡(jiǎn)化軟件開(kāi)發(fā),縮短開(kāi)發(fā)周期,降低開(kāi)發(fā)成本[2]。 DSP微控制器DSP(Digital Signal Processor)是一種獨(dú)特的微處理器,是以數(shù)字信號(hào)來(lái)處理大量信息的器件。根據(jù)設(shè)計(jì)要求,本系統(tǒng)主要硬件電路由DSP微控制器、按鍵、共陽(yáng)數(shù)碼管、LED顯示電路組成。,更新的定時(shí)時(shí)間。 CCS是它是美國(guó)德州儀器公司(Texas Instrument,TI)出品的代碼開(kāi)發(fā)和調(diào)試套件。延時(shí)自動(dòng)開(kāi)關(guān)可用于電視機(jī)、收音機(jī)、錄音機(jī)、催眠器、門燈、路燈、汽車頭燈、轉(zhuǎn)彎燈以及其他電器的延時(shí)斷電和延時(shí)自停電源。這種定時(shí)器走時(shí)精確,時(shí)間設(shè)定沒(méi)有誤差,定時(shí)精度高,控制程序多。 定時(shí)器的分類定時(shí)器按結(jié)構(gòu)可分為機(jī)械式、電動(dòng)式和電子式三類。利用內(nèi)部定時(shí)器0和PIE外設(shè)中斷擴(kuò)展模塊產(chǎn)生定時(shí)中斷,并進(jìn)行逆行計(jì)數(shù)。傳統(tǒng)的機(jī)械式定時(shí)器,電動(dòng)式定時(shí)器都是通過(guò)發(fā)條、交流同步步進(jìn)電機(jī)或者石英步進(jìn)電機(jī)進(jìn)行驅(qū)動(dòng)的。在定時(shí)器暫停時(shí),還可以通過(guò)鍵盤重新輸入定時(shí)初值。這些定時(shí)器都是在手動(dòng)上發(fā)條的同時(shí)預(yù)置時(shí)限,定時(shí)精度不高,但結(jié)構(gòu)簡(jiǎn)單,使用方便。電子定時(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)。此外,DSP中的定時(shí)器還可用于數(shù)模和模數(shù)轉(zhuǎn)換,信號(hào)的采樣,伺服位置控制,數(shù)字振蕩器的設(shè)計(jì)等等。它功能強(qiáng)大,體積小,重量輕,靈活好用,配以適當(dāng)?shù)慕涌谛酒?,可以?gòu)造各種各樣、功能各異的微電子產(chǎn)品。,LED燈開(kāi)始不斷閃爍,提示定時(shí)時(shí)間到。:顯示時(shí)間由4位共陽(yáng)數(shù)碼管顯示,首先由DSP與74HC164進(jìn)行SPI串行同步通信,將數(shù)碼管需要的段碼傳輸給74HC164,再由74HC164將段碼并行輸出給數(shù)碼管,達(dá)到數(shù)碼管顯示的目的。它不僅具有可編程性,而且其實(shí)時(shí)運(yùn)行速度可達(dá)每秒數(shù)以千萬(wàn)條復(fù)雜指令程序,遠(yuǎn)遠(yuǎn)超過(guò)通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片[1]。當(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ù)子程序。當(dāng)PSCH:PSC中的值為0的時(shí)候,就會(huì)輸出一個(gè)TIMCLK,從而TIMH:TIM減1。此時(shí),如果該中斷相應(yīng)的中斷使能位(IE=Interrupt Enable)已經(jīng)被置位,也就是值為1,該外設(shè)就會(huì)向PIE控制器發(fā)出一個(gè)中斷請(qǐng)求。定時(shí)器0的中斷TINT使用的時(shí)PIE中的第一組的第七個(gè)中斷。其中SPI串行通信接口負(fù)責(zé)把數(shù)碼管需要的數(shù)據(jù)一位一位的傳送給74HC164芯片,再由74HC164將數(shù)碼管所需的段碼并行輸出給數(shù)碼管,這樣數(shù)碼管就可以顯示數(shù)據(jù)了。 SPI串行外設(shè)接口SPI是Serial Peripheral Interface的縮寫,翻譯成中文就是串行外圍設(shè)備接口。其中,CS信號(hào)是用來(lái)控制從機(jī)的芯片是否被選中的。當(dāng)M1給S1發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)在時(shí)鐘脈沖的上升沿或者下降沿時(shí)通過(guò)MI的MOSI引腳發(fā)送,在緊接著的下降沿或者上升沿時(shí)通過(guò)S1的MOSI引腳接收[6]。3)波特率:具有125種可編程的波特率。但是,3個(gè)數(shù)據(jù)寄存器SPIRXBUF , SPITXBUF和SPIDAT都是16位的。數(shù)據(jù)是從SPISIMO引腳輸出,并將鎖存SPISOMI引腳輸入的數(shù)據(jù)。從上面的波特率計(jì)算公式可以看出,SPI模塊最大的波特率為L(zhǎng)SPCLK/4。時(shí)鐘 (CP) 每次由低變高時(shí),數(shù)據(jù)右移一位,輸入到 Q0, Q0 是兩個(gè)數(shù)據(jù)輸入端(DSA 和 DSB)的邏輯與,它將上升時(shí)鐘沿之前保持一個(gè)建立時(shí)間的長(zhǎng)度。本程序用的是共陽(yáng)連接方式。當(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)象。圖210矩陣鍵盤硬件連接原理圖如圖所示:、KYKY3和KY4作為輸出口,設(shè)置KXKXKX3和KX4作為輸入口、KYKY3和KY4全部輸出低電平,檢測(cè)KXKXKX3和KX4中哪個(gè)是低電平,這樣就可以確定是哪行的按鍵被按下;,讓KYKYKY3和KY4輸出的電平依次由低變高,這樣如果KYn輸出高電平的時(shí)候,KX接收到的電平也由低變高,由此就說(shuō)明是KYn列的按鍵被按下,按鍵的位置就被確定了。在鍵閉合穩(wěn)定時(shí)讀取鍵的狀態(tài),并且必須判別到鍵釋放穩(wěn)定后再作處理。而鍵抖動(dòng)時(shí)間與按鍵的機(jī)械特性有關(guān),一般為5~10ms不等。 F28335的系統(tǒng)初始化函數(shù)是InitSysCtrl()。SPI的初始化函數(shù)有InitSPIaGpio()。 //SPISOMIA = 1。 =0x00DF。該函數(shù)對(duì)三個(gè)定時(shí)器的周期寄存器,預(yù)定標(biāo)寄存器,控制寄存器都進(jìn)行了初始化,還針對(duì)不同的cpu頻率,為定時(shí)器的周期寄存器裝入不同的定時(shí)周期。 按鍵矩陣的四個(gè)列也被設(shè)置為輸出,和數(shù)碼管一樣,在此不再重述,按鍵矩陣的四個(gè)行被設(shè)置為輸入,其初始化程序?yàn)椋?= 0。 設(shè)置定時(shí)器0的周期、打開(kāi)定時(shí)器、看門狗和開(kāi)中斷 設(shè)定定時(shí)器的周期初始化定時(shí)器之后就應(yīng)該設(shè)定定時(shí)器周期了。 打開(kāi)定時(shí)器開(kāi)定時(shí)器的語(yǔ)句如下所示:圖35 定時(shí)器0控制寄存器情況圖開(kāi)定時(shí)器的語(yǔ)句如下所示: = 0x4011。如前文所述,只有cpu的總中斷被使能,其他外設(shè)的中斷才能被傳輸?shù)絚pu內(nèi),如果INTM未被使能,那么,無(wú)論什么外設(shè)的中斷,都沒(méi)有辦法傳輸?shù)絚pu內(nèi)部。}Else if(Second==00amp。圖36 定時(shí)器中斷子程序流程圖 SPI通信與數(shù)碼管顯示程序的設(shè)計(jì)由硬件部分所述,本程序所用的4個(gè)七段數(shù)碼管的段選端一同連接到74HC164串行輸入并行輸出芯片的輸出端,故需要先用DSP的串行外設(shè)通信SPI進(jìn)行DSP和74HC164之間的通信,從而將數(shù)碼管所需要的段碼傳輸給74HC164芯片,再通過(guò)74HC164并行輸出給數(shù)碼管。由于采用了四個(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í)間的目的。 DisData_Bit[0] = Second_Bit[0]。由于四個(gè)行默認(rèn)的輸入是高電平,所以沒(méi)有鍵按下時(shí),輸入一直是高電平。 KX_Tim[2]=0。相應(yīng)的程序如下:void Read_KY(Uint16 x){ int j=0。 if(Key==15||Key==16) {Fun=Key。} } for(j=0。 核心功能的設(shè)計(jì)當(dāng)程序開(kāi)始運(yùn)行后,定時(shí)器默認(rèn)為關(guān)閉狀態(tài),數(shù)碼管不顯示任何數(shù)值。 程序逆推初值公式如下:分鐘初值=分鐘十位10+分鐘個(gè)位 (31)秒初值=秒十位10+秒個(gè)位 (32)當(dāng)定時(shí)時(shí)間到時(shí),程序中的分鐘位和秒都會(huì)歸零,數(shù)碼管的顯示也為零,此時(shí)數(shù)碼管會(huì)亮起,起到報(bào)警的作用。 Sellect_Bit(Loop)。 } else if(Fun==16) { = 0x4011。 Second=DisData_Bit[1]*10+DisData_Bit[0]。其次,這次的畢設(shè)還鍛煉了我的自學(xué)能力。在這四年里,學(xué)校為我們創(chuàng)造了優(yōu)良的條件,良好的師資,為我營(yíng)造了一種良好的學(xué)習(xí)氛
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1