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

正文內(nèi)容

基于61單片機的數(shù)據(jù)采集系統(tǒng)畢業(yè)設(shè)計論文-資料下載頁

2025-06-28 00:19本頁面
  

【正文】 07 .ELSE .DEFINE Key_ALL 0x0700.ENDIF.IF Key_IO_Port==0 .DEFINE P_Key_Data 0x7000 .DEFINE P_Key_Buf 0x7001 .DEFINE P_Key_Dir 0x7002 .DEFINE P_Key_Attrib 0x7003.ELSE .DEFINE P_Key_Data 0x7005 .DEFINE P_Key_Buf 0x7006 .DEFINE P_Key_Dir 0x7007 .DEFINE P_Key_Attrib 0x7008.ENDIF.DEFINE P_INT_Mask 0x702d.DEFINE P_TimeBase_Setup 0x700e.DEFINE P_Watchdog_Clear 0x7012.DEFINE C_IRQ6_TMB2 0x0001.DEFINE C_TMB2_128Hz 0x0000.PUBLIC F_Key_Init.PUBLIC _Key_Init.PUBLIC F_Key_Scan.PUBLIC _Key_Scan.PUBLIC F_Key_Get.PUBLIC _Key_Get.external _R_InterruptStatus.RAM.VAR KeyCode // 存儲獲得的鍵值.VAR ScanCnt // 該變量用來表示按鍵持續(xù)時間.VAR KeyUp // 按鍵是否處于抬起狀態(tài).CODE//===================================================// 函數(shù)名稱: Key_Init// C調(diào)用: void Key_Init(void)// 匯編調(diào)用: F_Key_Init// 實現(xiàn)功能: 初始化按鍵掃描程序,該函數(shù)將開啟IRQ6_TMB2中斷//==================================================F_Key_Init:_Key_Init: push r1 to [sp] INT Off r1 = [P_Key_Dir] // 初始化IO為下拉輸入 r1 amp。= ~Key_ALL [P_Key_Dir] = r1 r1 = [P_Key_Attrib] r1 amp。= ~Key_ALL [P_Key_Attrib] = r1 r1 = [P_Key_Buf] r1 amp。= ~Key_ALL [P_Key_Buf] = r1 r1 = 0 [ScanCnt] = r1 // 初始化變量 [KeyCode] = r1 [KeyUp] = r1 r1 = [_R_InterruptStatus] r1 |= C_IRQ6_TMB2 // 開啟IRQ6_TMB2(128Hz)中斷 [P_INT_Mask] = r1 [_R_InterruptStatus] = r1 INT FIQ,IRQ pop r1 from [sp]retf//======================================================// 函數(shù)名稱: Key_Scan// C調(diào)用: void Key_Scan(void)// 匯編調(diào)用: F_Key_Scan// 實現(xiàn)功能: 按鍵掃描,該函數(shù)被IRQ6_TMB2中斷服務(wù)程序調(diào)用//======================================================F_Key_Scan:_Key_Scan: push r1,r2 to [sp] r2 = [P_Key_Data] // 獲取IO端口狀態(tài) r2 amp。= Key_ALL jnz ?L_ScanKey_Down // 判斷當(dāng)前是否有鍵按下?L_ScanKey_Up: r1 = 1 // 如果按鍵處于抬起狀態(tài)則KeyUp置1 [KeyUp] = r1 jmp ?L_ScanKey_Exit?L_ScanKey_Down: r1 = 0 // KeyUp置0 [KeyUp] = r1.if Key_IO_HighByte r2 = r2 lsr 4 r2 = r2 lsr 4.endif cmp r2,[KeyCode] // 本次得到的鍵值與上次得到的鍵值比較 je ?L_ScanKey_Cont?L_ScanKey_New: // 如果與上次鍵值不同則重置鍵值 [KeyCode] = r2 r1 = 1 // 重新記錄鍵持續(xù)按下的時間 [ScanCnt] = r1 jmp ?L_ScanKey_Exit?L_ScanKey_Cont: // 如果此次鍵值與上次鍵值相同 r1 = [ScanCnt] // 更新按鍵持續(xù)時間(ScanCnt加1) r1 += 1 [ScanCnt] = r1?L_ScanKey_Exit: pop r1,r2 from [sp]retf//======================================================// 函數(shù)名稱: Key_Get// C調(diào)用: unsigned Key_Get(void)// 匯編調(diào)用: F_Key_Get// 實現(xiàn)功能: 獲取鍵值//======================================================F_Key_Get:_Key_Get: INT OFF push r2 to [sp] r2 = 0x01 [P_Watchdog_Clear] = r2 r2 = [ScanCnt] cmp r2,Key_Debounce // 如果按鍵持續(xù)時間小于Key_Debounce jb ?L_GetKey_NoKey // 則認(rèn)為當(dāng)前沒有鍵按下 cmp r2,Key_TimeOut // 如果按鍵持續(xù)時間大于Key_TimeOut jnb ?L_GetKey // 則認(rèn)為發(fā)生了一次按鍵 r2 = [KeyUp] // 如果按鍵持續(xù)時間在Key_Debounce與Key_TimeOut之間 jnz ?L_GetKey // 如果按鍵處于抬起狀態(tài)則認(rèn)為發(fā)生了一次按鍵?L_GetKey_NoKey: r1 = 0 // 沒有按鍵則返回0 jmp ?L_GetKey_Exit?L_GetKey: r1 = [KeyCode] // 有按鍵則返回鍵值 r2 = 0 [KeyCode] = r2 // 重新初始化變量 [ScanCnt] = r2 [KeyUp] = r2?L_GetKey_Exit: INT FIQ,IRQ pop r2 from [sp]retf中斷子程序://======================================================// 文件名稱: // 功能描述: 系統(tǒng)中斷服務(wù)函數(shù)//======================================================.include .include .include .external F_FIQ_Service_SACM_S480.external _uiMode,_uiTurn.public _FIQ,_IRQ0,_IRQ1,_IRQ2,_IRQ3,_IRQ4,_IRQ5,_IRQ6,_IRQ7,_BREAK.RAM.VAR uiBlink.text//======================================================// 函數(shù)名稱: FIQ// 匯編調(diào)用: _FIQ// 實現(xiàn)功能: TimerA中斷服務(wù)函數(shù)//======================================================_FIQ: push r1,r5 to [sp] r1 = C_FIQ_TMA //判斷是否是定時器A的FIQ中斷? [P_INT_Clear] = r1 //清中斷標(biāo)志位 call F_FIQ_Service_SACM_S480 //調(diào)用音頻中斷服務(wù)程序A2000的 pop r1,r5 from [sp] reti//======================================================// 函數(shù)名稱: IRQ2// 匯編調(diào)用: _IRQ2// 實現(xiàn)功能: TimerB中斷服務(wù)函數(shù)//======================================================_IRQ2: // 自動狀態(tài)下切換DS18B20通道 push r1 to [sp] r1 = [_uiMode] jz ?Exit // 手動模式下,禁止修改uiChannel // r1 = [_F_Change]// jz ?Exit // 當(dāng)前轉(zhuǎn)換尚未完成,禁止修改uiChannel r1 = [_uiTurn] r1 += 1 [_uiTurn] = r1 cmp r1,1 jna ?Exit r1 = 0 [_uiTurn] = r1?Exit: r1 = C_IRQ2_TMB [P_INT_Clear] = r1 pop r1 from [sp] reti//======================================================// 函數(shù)名稱: IRQ4// 匯編調(diào)用: _IRQ4// 實現(xiàn)功能: 4KHz中斷服務(wù)函數(shù)//======================================================_IRQ4: // 數(shù)碼管顯示 push r1 to [sp] call F_DIG_Drive r1 = C_IRQ4_4KHz [P_INT_Clear] = r1 pop r1 from [sp] reti//======================================================// 函數(shù)名稱: IRQ5// 匯編調(diào)用: _IRQ5// 實現(xiàn)功能: 2Hz中斷服務(wù)函數(shù)//======================================================_IRQ5: // 數(shù)碼管閃爍 push r1 to [sp] call F_DIG_Blink r1 = C_IRQ5_2Hz [P_INT_Clear] = r1 pop r1 from [sp] reti//======================================================// 函數(shù)名稱: IRQ6// 匯編調(diào)用: _IRQ6// 實現(xiàn)功能: 128Hz中斷服務(wù)函數(shù)//======================================================_IRQ6: // 按鍵掃描 push r1 to [sp] call F_Key_Scan r1 = C_IRQ6_TMB2 [P_INT_Clear] = r1 pop r1 from [sp] reti// 其他未用中斷定義_IRQ0: reti_IRQ1: reti_IRQ3: reti_IRQ7: reti_BREAK: reti致謝本設(shè)計是在我的導(dǎo)師左鴻飛老師的悉心指導(dǎo)下完成的。他嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵著我。從課題的選擇到項目的最終完成,左老師都始終給予我細心的指導(dǎo)和不懈的支持。半年多來,左老師不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時還在思想、生活上給我以無微不至的關(guān)懷,在此謹(jǐn)向左老師致以誠摯的謝意和崇高的敬意。同時,我還要感謝在一起做畢業(yè)設(shè)計的同學(xué)們,正是由于你們的幫助和支持,我才能克服一個一個的困難和疑惑,直至本文的順利完成。在本論文完成之際,我的心情無法平靜,從開始進入課題到本設(shè)計的順利完成,有多少可敬的師長、同學(xué)、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1