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

正文內(nèi)容

非操作系統(tǒng)下的實(shí)驗(yàn)嵌入式實(shí)驗(yàn)報(bào)告-wenkub

2023-04-07 12:42:10 本頁(yè)面
 

【正文】 實(shí)驗(yàn)?zāi)康?. 熟悉ARM的定時(shí)器操作2. 熟悉ARM的PWM操作 實(shí)驗(yàn)原理3c2440A有5個(gè)16位的定時(shí)器。LED_Control(4,OFF)。LED_Control(1,OFF)。}if(rINTPND==BIT_EINT2){ ClearPending(BIT_EINT2)。其部分位的意義如下表所示,本實(shí)驗(yàn)只用到其第4位:外部中斷掛起寄存器(EINTPEND)外部中斷掛起寄存器(EINTPEND)用于標(biāo)志產(chǎn)生中斷請(qǐng)求的外部中斷源,其各位的意義如下所示。下表列出了INTMSK中部分位的意義。中斷模式寄存器(INTMOD)用于選擇中斷源屬于FIQ還是IRQ,只有一個(gè)中斷源能夠配置為FIQ。中斷處理函數(shù)需要將其清零以免重復(fù)觸發(fā)。這些中斷源由內(nèi)部外設(shè)提供,例如DMA控制器、UART、IIC等。=~((10))。需要將其配置為輸入的模式,然后讀取數(shù)據(jù)寄存器即可(3) 把按鍵檢測(cè)的程序段和對(duì)應(yīng)的現(xiàn)象寫(xiě)入下表中序號(hào)程序現(xiàn)象1For(j=0。 //PORTB[0]為低電平delay(10)。 //PORTB[3]為高電平 delay(20)。 rGPFDATamp。=~((12))。 //PORTB[1]為低電平 delay(20)。 rGPFDAT|=((10))。 //PORTB[0至3]為高電平delay(20)。 //PORTB[0至3]為高電平LED0~LED3全部熄滅3rGPFDATamp。 //PORTB[0]為高電平LED0熄滅(2) 例程中實(shí)現(xiàn)的是對(duì)一個(gè)LED的控制,修改例程,寫(xiě)出一個(gè)對(duì)所有LED控制的通用函數(shù),該函數(shù)的參數(shù)有兩個(gè):LED的號(hào)碼和LED的開(kāi)關(guān)狀態(tài)。并且在調(diào)試過(guò)程中觀察LED的變化。每個(gè)引腳的功能必須在啟動(dòng)主程序之前進(jìn)行定義。GPIO引腳能夠通過(guò)軟件編程改變輸入/輸出方向。S3C2440A共有130個(gè)多功能復(fù)用輸入/輸出端口(I/O口),分為端口A~端口J共9組。如果一個(gè)引腳沒(méi)有使用復(fù)用功能,那么它可以配置為I/O口。寫(xiě)出控制LED開(kāi)啟和關(guān)閉的程序語(yǔ)句和對(duì)應(yīng)LED的狀態(tài),填入下表當(dāng)中序號(hào)程序現(xiàn)象1rGPFDAT=rGPFDATamp。寫(xiě)出該函數(shù)并且寫(xiě)出調(diào)用該函數(shù)控制4個(gè)LED狀態(tài)的語(yǔ)句和對(duì)應(yīng)現(xiàn)象,填入下表中:序號(hào)程序現(xiàn)象1rGPFDATamp。=~((10)|(11)|(12)|(13))。LED0~LED3循環(huán)點(diǎn)亮熄滅2. 實(shí)現(xiàn)流水燈功能(1) 利用上面編寫(xiě)的通用的LED控制函數(shù),實(shí)現(xiàn)LED依次亮滅的過(guò)程(流水燈),把流水燈控制的語(yǔ)句填入下表中并描述LED的變化序號(hào)程序現(xiàn)象1rGPFDATamp。 //PORTB[0]為高電平 delay(20)。 rGPFDAT|=((11))。 //PORTB[2]為低電平 delay(20)。=~((13))。LED0~LED3循環(huán)點(diǎn)亮熄滅實(shí)現(xiàn)流水燈功能3. 實(shí)現(xiàn)控制蜂鳴器功能(1) 跟LED的控制類(lèi)似,蜂鳴器的控制也是通過(guò)控制IO輸出電平來(lái)控制的。 rGPBDAT=rGPBDAT|(10)。j4。}Else{rGPFDAT|=((10))。當(dāng)接收來(lái)自?xún)?nèi)部外設(shè)和外部中斷請(qǐng)求引腳的多個(gè)中斷請(qǐng)求時(shí),在仲裁過(guò)程后中斷控制器請(qǐng)求ARM920T的FIR或IRQ中斷。下表列出了SRCPND中部分位的意義中斷掛起寄存器(INTPND)該寄存器標(biāo)志中斷源掛起寄存器(SRCPND)中非屏蔽的且優(yōu)先級(jí)最高的中斷,只有一位被標(biāo)志,該中斷將產(chǎn)生IRQ。下表列出了INTMOD中部分位的意義。外部中斷控制寄存器(EXTINT0~2)外部中斷控制寄存器(EXTINT0~2)主要用于配置外部中斷的觸發(fā)方式,觸發(fā)方式有:低電平觸發(fā)、高電平觸發(fā)、下降沿觸發(fā)、上升沿觸發(fā)、雙邊觸發(fā)。 實(shí)驗(yàn)儀器與設(shè)備1. TQ2440實(shí)驗(yàn)平臺(tái)2. JLINK 調(diào)試器 實(shí)驗(yàn)步驟1. 2. 閱讀代碼,單步執(zhí)行,體會(huì)void KeyScan_Test(void)函數(shù)里面對(duì)中斷相關(guān)寄存器的設(shè)置方法和意義,了解中斷服務(wù)函數(shù)static void __irq Key_ISR(void)中對(duì)相關(guān)寄存器的設(shè)置方法3. 注意:要進(jìn)入中斷服務(wù)函數(shù),必須全速執(zhí)行程序,不能單步執(zhí)行。}檢測(cè)按鍵中斷并清除相應(yīng)中斷掛起位2if((rGPFDATamp。}LED1亮1s后熄滅3if((rGPFDATamp。}LED3亮1s后熄滅 實(shí)驗(yàn)思考題,要實(shí)現(xiàn)檢測(cè)按鍵被按下的功能,采用中斷和查詢(xún)的方法哪個(gè)響應(yīng)的速度會(huì)更快??jī)烧哂惺裁磧?yōu)缺點(diǎn)?答:(1)采用中斷方式的相應(yīng)速度會(huì)更快。其內(nèi)部結(jié)構(gòu)如圖210所示。每個(gè)定時(shí)器有一個(gè)時(shí)鐘分頻器,其可以生成5種不同的分頻信號(hào)(1/2,1/4,1/8,1/16和TCLK)。定時(shí)器比較緩存寄存器(TCMPBn)有一個(gè)被裝載到比較寄存器中用來(lái)和遞減計(jì)數(shù)的值作比較。TCMPBn用于脈寬調(diào)制(PWM)。其各位的定義如下:定時(shí)器控制寄存器(TCON)定時(shí)器控制寄存器的第0位用于啟動(dòng)和關(guān)閉定時(shí)器,如下表所示定時(shí)器計(jì)數(shù)緩沖寄存器(TCNTB0~4)定時(shí)器計(jì)數(shù)緩沖寄存器用于存儲(chǔ)計(jì)數(shù)初值,當(dāng)使能自動(dòng)裝載功能后,當(dāng)計(jì)數(shù)值為0后,會(huì)把定時(shí)器計(jì)數(shù)緩沖寄存器的值重新裝載進(jìn)計(jì)數(shù)器。蜂鳴器發(fā)出音調(diào)‘1’持續(xù)4拍2Buzzer_Freq_Set0( 294 )。蜂鳴器發(fā)出音調(diào)‘3’持續(xù)4拍4Buzzer_Freq_Set0( 347 )。蜂鳴器發(fā)出音調(diào)‘5’持續(xù)4拍6Buzzer_Freq_Set0( 438 )。蜂鳴器發(fā)出音調(diào)‘7’持續(xù)4拍3. 理解蜂鳴器唱歌的過(guò)程,全速運(yùn)行程序,聆聽(tīng)蜂鳴器唱歌4. 更改唱歌的內(nèi)容,播放另外兩首歌 實(shí)驗(yàn)思考題簡(jiǎn)述PWM技術(shù)的其他應(yīng)用例子及其原理答:通信與控制PWM的一個(gè)優(yōu)點(diǎn)是從處理器到被控系統(tǒng)信號(hào)都是數(shù)字形式的,無(wú)需進(jìn)行數(shù)模轉(zhuǎn)換。從模擬信號(hào)轉(zhuǎn)向PWM可以極大地延長(zhǎng)通信距離。簡(jiǎn)單地說(shuō),制動(dòng)器是緊夾住某種東西的一種裝置。要產(chǎn)生更大的制動(dòng)功率,只需通過(guò)軟件加大PWM輸出的占空比就可以了。如果系統(tǒng)中有一個(gè)傳感器,則可以通過(guò)閉環(huán)控制來(lái)調(diào)節(jié)占空比,直到精確產(chǎn)生所需的壓力。串行通信的數(shù)據(jù)是一位一位地進(jìn)行傳輸?shù)?,在傳輸中每一位?shù)據(jù)都占據(jù)一個(gè)固定的時(shí)間長(zhǎng)度。u 單工通信:數(shù)據(jù)僅能從設(shè)備A到設(shè)備B進(jìn)行單一方向的傳輸。一幀數(shù)據(jù)的各位代碼間的時(shí)間間隔是固定的,而相鄰兩幀的數(shù)據(jù)其時(shí)間間隔是不固定的。例如ASCII碼傳送時(shí),一幀數(shù)據(jù)的組成是:前面1個(gè)起始位,接著7位ASCII編碼,再接著一位奇偶校驗(yàn)位,最后一位停止位,共10位。u 校驗(yàn)位在一個(gè)有8位的字節(jié)(byte)中,其中必有奇數(shù)個(gè)或偶數(shù)個(gè)的“1”狀態(tài)位。停止位通常取B. 同步通信方式為了提高通信效率可以采用同步通信方式。RS232C通常以177。在波特率不高于9600bps的情況下進(jìn)行串口通信時(shí),通信線路的長(zhǎng)度通常要求小于15米,否則可能出現(xiàn)數(shù)據(jù)丟失現(xiàn)象 3).S3C2440A的UART簡(jiǎn)介UART(Universal Asynchronous Receiver and Transmitter,通用異步收發(fā)器)主要由數(shù)據(jù)線接口、控制邏輯、配置寄存器、波特率發(fā)生器、發(fā)送部分和接收部分組成,采用異步串行通信方式,采用RS232C 9芯接插件(DB9)連接,是廣泛使用的串行數(shù)據(jù)傳輸方式,UART以字符為單位進(jìn)行數(shù)據(jù)傳輸,每個(gè)字符的傳輸格式如圖214所示,包括線路空閑狀態(tài)(高電平)、起始位(低電平)、5~8位數(shù)據(jù)位、校驗(yàn)位(可選)和停止位(位數(shù)可以是)。在使用系統(tǒng)時(shí)鐘的情況下。發(fā)送器和接收器包含16字節(jié)的FIFO緩沖寄存器和數(shù)據(jù)移位器。A39。在串口調(diào)試助手輸入任意字符串口調(diào)試助手將再次顯示該字符4. 修改程序,實(shí)現(xiàn)一個(gè)字符串的發(fā)送功能,把程序和現(xiàn)象記錄下來(lái) 序號(hào)程序現(xiàn)象1void UART0_SendString(char *pWord){ while(*pWord) { if(*pWord == 39。)。 } else {UART0_SendChar(*pWord)。: LED_Control(1,ON)。: LED_Control(2,ON)。: LED_Control(3,ON)。: LED_Control(4,ON)。 LED_Control(3,OFF)。在串口調(diào)試助手中輸入字符‘1’、‘2’、‘3’、‘4’對(duì)應(yīng)LED點(diǎn)亮 實(shí)驗(yàn)思考題如何采用帶FIFO的串口進(jìn)行數(shù)據(jù)收發(fā)答:在接受數(shù)據(jù)的時(shí)候放入FIFO中,然后發(fā)送數(shù)據(jù),把FIFO中的數(shù)據(jù)通過(guò)串口發(fā)送出去。S3C2440A的RTC模塊的結(jié)構(gòu)如圖218所示,其能夠以BCD碼的形式提供秒、分鐘、小時(shí)、星期、日、月、年的信息,具有閏年生成器,具有報(bào)警功能,解決2000年問(wèn)題,具有獨(dú)立電源引腳(RTCVDD),支持對(duì)于實(shí)時(shí)內(nèi)核時(shí)間節(jié)拍的毫秒節(jié)拍時(shí)間中斷。 rBCDYEAR = 0x14 。 //星期rBCDHOUR = 0x14 。= ~1 。rRTCCON = 1 。 //日 hour = rBCDHOUR 。= ~1 。 //設(shè)置時(shí)間為2014年2月28日星期一23:59:57while(1){RTC_Display()。S3C2440A的看門(mén)狗的結(jié)構(gòu)如圖219所示,看門(mén)狗實(shí)際是一個(gè)計(jì)數(shù)器,當(dāng)計(jì)數(shù)溢出的時(shí)候可以對(duì)系統(tǒng)進(jìn)行復(fù)位,因此程序在正常運(yùn)行的時(shí)候應(yīng)該隔一段時(shí)間對(duì)看門(mén)狗復(fù)位,防止看門(mén)狗計(jì)數(shù)器溢出使得系統(tǒng)復(fù)位,這個(gè)過(guò)程叫做“喂狗”。i=8。delay(1)。i++){led_con(i,ON)。//rWTCNT=2000。因此,現(xiàn)代操作系統(tǒng)幾乎都是對(duì)任務(wù)操作系統(tǒng)。 μC/OSII 的任務(wù)有兩種:用戶(hù)任務(wù)和系統(tǒng)任務(wù)。 目前,μC/OSII 最多可以對(duì) 64 個(gè)任務(wù)(包括用戶(hù)任務(wù)和系統(tǒng)任務(wù))進(jìn)行管理。任務(wù)的狀態(tài) 說(shuō)明睡眠狀態(tài) 任務(wù)只是以代碼的形式駐留在程序空間(ROM 和 RAM)中,還沒(méi)有交給操作 系統(tǒng)管理時(shí)的情況叫睡眠狀態(tài)。//進(jìn)入臨界段(關(guān)中斷)不可以被中斷的用戶(hù)代碼;OS_EXIT_CRITICAL()。在運(yùn)行這兩個(gè)宏之間的代碼時(shí)是不會(huì)響應(yīng)中斷的,這種保護(hù)的代碼段叫做臨界段。因此它不是被主函數(shù)或其他函數(shù)調(diào)用的,主函數(shù) main()只負(fù)責(zé)創(chuàng)建和啟動(dòng)它們,而由操作系統(tǒng)負(fù)責(zé)來(lái)調(diào)度運(yùn)行它們。){.......}}void main(){.......OSIniT()。 //創(chuàng)建用戶(hù)任務(wù) 3.......OSStart()。為了使 CPU 在沒(méi)有使用用戶(hù)任務(wù)可執(zhí)行時(shí)有事可做,μC/OSII 提高了一個(gè)叫做空閑任務(wù) OSTaskIdle()的系統(tǒng)任務(wù)。){OS_ENTER_CRITICAL()。這個(gè)統(tǒng)計(jì)任務(wù)每秒計(jì)算一次CPU 在單位時(shí)間內(nèi)被使用的時(shí)間,并把計(jì)算結(jié)果以百分比的形式存放在變量 OSCPUUsage 中,以便應(yīng)用程序通過(guò)訪問(wèn)它來(lái)了解 CPU 的利用率,所以該系統(tǒng)任務(wù) OSTaskStart()叫做統(tǒng)計(jì)任務(wù)。μC/OSII 把任務(wù)的優(yōu)先權(quán)分為 64 個(gè)優(yōu)先級(jí)別,每一個(gè)級(jí)別用一個(gè)都用的數(shù)字來(lái)表示。該常數(shù)一旦被定義,就意味著系統(tǒng)中可供使用的優(yōu)先級(jí)別為 0、… 、OSl_LOWEST_PRIO,共 OSl_LOWEST_PRIO+1 個(gè)。 實(shí)驗(yàn)儀器與設(shè)備
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1