|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
請教8051的串行中斷 |
| 作者:mj_07013 欄目:單片機 |
用8051與計算機串行通信,向中斷引腳發(fā)一中斷信號,用示波器已經看出了該信號,不過,8051就是不產生中斷,請教各位,這是怎么回事? |
| 2樓: | >>參與討論 |
| 作者: Herowa 于 2005/5/12 16:11:00 發(fā)布:
不明白 這樣才能做到“向中斷引腳發(fā)一中斷信號”?我只知道如果有通訊信號,而且串口中斷使能有效的話,自然可以進入中斷服務程序,我的信息接收和發(fā)送功能就一直設計在串口中斷服務程序中的,一切正常啊。 |
|
| 3樓: | >>參與討論 |
| 作者: 水星 于 2005/5/12 20:14:00 發(fā)布:
他的意思是有中斷申請,沒有中斷響應 樓主,你的初始化沒有初始化好啊 |
|
| 4樓: | >>參與討論 |
| 作者: mj_07013 于 2005/5/13 13:02:00 發(fā)布:
多謝了 多謝了 這是我編的程序,請各位幫忙指點一下 ORG 00H SJMP MAIN ORG 0003H JMP SVR1 ;INT0,P3.2按鍵響應 ORG 000BH JMP TIMER0 ;T0,按鍵后延時一小時 ORG 0023H JMP SVR3 ;串行口中斷 F1 BIT 20H.0 ;p3.2每按鍵一下,f1取反,證明有變化 F2 BIT 20H.1 ;定時中斷跟隨 F3 BIT 20H.2 F4 BIT 20H.3 ;pc機作用標志,作用后置1 ORG 0060H MAIN: MOV P1, #00H ;初始狀態(tài),燈是亮的 MOV P1, #0FFH MOV SP, #40H ;堆棧 MOV 54H, #00H CLR F0 ; 按鍵標志清零 CLR F4 ;pc機標志清零 ;這就是串行口的初始化 MOV TMOD, #20H ;定時器t1初始化 MOV TH1, #0F3H ;方式2 MOV TL1, #0F3H ;撥特率2400 SETB TR1 ; MOV SCON, #50H ; MOV IP,#01H ;設串行口優(yōu)先級最高,向下依次是int0,t0,t1 SETB ES ;開各個中斷 SETB EA LOOP: MOV C, F4 JC LOOP MOV R0,#3 ;閃亮三下 CLR C ; LOOP1:MOV P3.5, C ; CALL DELAY1 ; CPL C ; DJNZ R0,LOOP1 ; JNB P2.7, LOOP ; 白天p2.7為低電壓,黑天為高 LJMP SVR2 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;主程序到此 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SVR1: PUSH ACC ;p3.2腳按鍵處理 PUSH PSW ; CLR C MOV P3.5, C MOV A,54H ;判斷燈此時狀態(tài) CJNE A,#00H,SECOND ON : MOV C, F4 JNC NEXT1 JMP RETURN1 NEXT1: CALL DELAY2 JNB P3.2, $ MOV 54H, #01H MOV P1, #01010101B ;變?yōu)?54h)==#01h,第二狀態(tài) MOV R5, #1H ; A4: MOV R7, #1H ;判斷是否連續(xù)按鍵 A2: MOV R6, #1H ; A1: JNB P3.2, SECOND ;若又按,則跳至SECOND MOV C, F4 JNC NEXT2 JMP RETURN1 NEXT2: DJNZ R6, A1 ; DJNZ R7, A2 ;一小段延時 DJNZ R5, A4 ; MOV 54H, #01H ;沒有按,存儲該狀態(tài),即(54h)=#01h CPL F1 ;完成一次按鍵,取反f1,做標志 CALL DELAY3 ;延時一小時 JMP RETURN1 ;中斷返回 SECOND:MOV C, F4 JNC NEXT3 JMP RETURN1 NEXT3: MOV A, 54H CJNE A, #01H, OFF;是第二狀態(tài) CALL DELAY2 JNB P3.2 , $ MOV 54H, #0FFH MOV P1, #0FFH ;變第三狀態(tài),即(54h)=#02h MOV R5, #1H B4: MOV R7, #1H B2: MOV R6, #1H B1: JNB P3.2, OFF ;規(guī)定時間內,又按了一下 MOV C, F4 JC RETURN1 DJNZ R6, B1 DJNZ R7, B2 DJNZ R5, B4 MOV 54H, #0FFH ;沒有按,存儲該狀態(tài) CPL F1 &nbs |
|
| 5樓: | >>參與討論 |
| 作者: kid_A 于 2005/5/13 16:56:00 發(fā)布:
串行口的初始化 里面IE沒設置 |
|
|
|
| 免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 udpf.com.cn 浙ICP證030469號 |