日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
電視遙控器的單片機(jī)譯碼程序
電視遙控器的單片機(jī)譯碼程序
 更新時間:2008-7-26 19:52:06  點(diǎn)擊數(shù):3
【字體: 字體顏色

;電子報2001年18期12版
Cs_X1 EQU 26H ;數(shù)據(jù)緩沖區(qū)字節(jié)數(shù)
Cs0_X1 EQU 25H ;緩沖區(qū)一個字節(jié)有幾位
U0_X1 EQU 40H ;數(shù)據(jù)臨時存放字節(jié),存滿8位后送
2AH~2FH
N0_M EQU 1EH ;鍵值存放單元

N0_J EQU 1FH ;遙控器識別碼
X1_N1 EQU 2AH ;連續(xù)六個單元,(可位操作)作
X1_N2 EQU 2BH ;遙控輸入數(shù)據(jù)緩沖區(qū)
X1_N3 EQU 2CH
X1_N4 EQU 2DH
X1_N5 EQU 2EH
X1_N6 EQU 2FH
ORG 00H ;
轉(zhuǎn)主程序
LJMP REST0
ORG 13H
LJMP INT_X1 ;
轉(zhuǎn)外部中斷
1
ORG 100H
REST0: CLR EA ;關(guān)中斷

MOV SP,#60H ;設(shè)置堆棧
MOV R0,#50H ;0~50H
0
CLR A
RE_0: MOV @R0,A
DJNZ R0,RE_0
MOV IP,#00H ;中斷優(yōu)先級

CLR TR1 ;關(guān)
T1
MOV TL1,#00H ;T1時間常數(shù)送初值

MOV TH1,#00H
MOV 18H,#2AH ;
在INT1中斷服務(wù)程序中使用工#3寄存器,
R0=2AH
MOV Cs0_X1,#06H ;輸入數(shù)據(jù)取6個字節(jié)

MOV Cs_X1,#08H ;每個字節(jié)8位
MOV N0_M,#0FFH ;識別碼先送FFH,以免在未送數(shù)時錯當(dāng)有數(shù)
MOV A,#1FH ;選擇T1,高4位送01H,低4位不變
ANL TMOD,A ;送T1參數(shù),但不影響其他參數(shù)
SETB EX1 ;開中斷1,
INT1
SETB IT1 ;INT1下降沿觸發(fā)

SETB EA ;開中斷,等待
LOOP: LJMP lOOP


INT_X1: PUSH ACC
PUSH PSW
ORL PSW,#18H ;
取3#區(qū)寄存器
CLR TR1 ;T1停止計數(shù)
MOV R2,TH1 ;取T1計數(shù)次數(shù)
MOV R3,TL1
MOV R4,#01H ;0190H~0200H
為數(shù)據(jù)窗口
0
MOV R5,#90H ;窗口0的下限

LCALL SUB0 ;計數(shù)值小于190H嗎?
JC X1_OUT1 ;<190H,作廢
MOV R4,#02H ;窗口0的上限
MOV R5,#00H
MOV R2,TH1 ;
取T1計數(shù)次數(shù)
MOV R3,TL1
LCALL SUB0 ;
計數(shù)值大于200H嗎?
JNC X1_01 ;>200,去看是否在1的窗口
CLR C ;在窗口0中,清C,移位時移入
0
LJMP X1_02 ;去移位處理

X1_01: MOV R4,#03H ;窗口1的下限
MOV R5,#90H ;0390H~0400H為窗口
1
MOV R2,TH1 ;取T1計數(shù)次數(shù)

MOV R3,TL1
LCALL SUB0 ;
計數(shù)值小于390H嗎?
JC X1_OUT1 ;<0390,作廢
MOV R4,#04H ;窗口1的上限
MOV R5,#00H ;#0400
MOV R2,TH1 ;
取T1計數(shù)次數(shù)
MOV R3,TL1
LCALL SUB0 ;
計數(shù)值大于#400H嗎?
JNC X1_OUT1 ;>400H,作廢
SETB C ;在窗口1中,將C置
1
X1_02: MOV A,U0_X1 ;臨時存放單元送
A
RLC A ;左移,0或1進(jìn)入
D0
MOV U0_X1,A ;新輸入的一位數(shù)據(jù)移入U0_X1單元(40H)

DJNZ Cs_X1,X1_OUT1 ;不到8位轉(zhuǎn)走
MOV Cs_X1,#08H ;下一個數(shù)據(jù)還是8位
MOV @R0,U0_X1 ;數(shù)據(jù)存入
@R0
INC R0 ;下一個數(shù)據(jù)存入下一字節(jié)

DJNZ Cs0_X1,X1_OUT1 ;不夠6個數(shù)中斷返回
LJMP X1_10 ;已存滿6個數(shù),轉(zhuǎn)去處理
X1_OUT1:MOV TH1,#00H ;送T1時間常數(shù)
MOV TL1,#00H
SETB TR1 ;
啟動
T1
POP PSW
POP ACC
SETB EA ;開中斷,中斷返回

RETI ;以下為數(shù)據(jù)處理程序
X1_10: MOV Cs0_X1,#10H ;最多移位10H次
MOV A,X1_N1 ;第一個字節(jié)送
A
X1S_01: CJNE A,#0E2H,X1S_00 ;E2H為識別碼,(A)不等于#E2H轉(zhuǎn)去移位

MOV A,X1_N3 ;(A)=#E2H,第三個字節(jié)也等于#E2H嗎
X1S_03: CJNE A,#0E2H,X1S_00 ;不等,轉(zhuǎn)去移位
MOV A,X1_N4 ;等,再看第二個字節(jié)和第四個字節(jié)相等嗎?
CJNE A,X1_N2,X1S_00 ;不等,轉(zhuǎn)去移位
SJMP X1S_07 ;識別碼,數(shù)據(jù)全部正確
X1S_00: CLR C ;以下為六個字節(jié)依次移位
MOV A,X1_N6
RLC A
MOV X1_N6,A
MOV A,X1_N5
RLC A
MOV X1_N5,A
MOV A,X1_N4
RLC A
MOV X1_N4,A
MOV A,X1_N3
RLC A
MOV X1_N3,A
MOV A,X1_N2
RLC A
MOV X1_N2,A
MOV A,X1_N1
RLC A
MOV X1_N1,A ;
移完
DJNZ Cs0_X1,X1S_01 ;沒移夠10H次再去判斷
X1S_04: MOV A,X1_N3 ;已移夠10H次,再判斷一次
CJNE A,X1_N1,X1S_05 ;(2AH)不等于(2CH)或不等于#E2H,數(shù)據(jù)作廢
CJNE A,#0E2H,X1S_05
MOV A,X1_N2 ;
(2AH)=(2CH)=#E2H,再看(2BH)=(2DH)嗎
CJNE A,X1_N4,X1S_05 ;不等,轉(zhuǎn)走
X1S_07: MOV NO_J,X1_N1 ;識別碼送
N0_J
MOV NO_M,X1_N2 ;數(shù)據(jù)送
N0_M
LCALL DEL10mS
X1S_06: MOV Cs_X1,#08H ;準(zhǔn)備接收下一個數(shù)據(jù),一個字節(jié)8位

MOV R0,#2AH ;下一個數(shù)據(jù)首地址
MOV Cs0_X1,#06H ;6個字節(jié)
LJMP X1_OUT1 ;轉(zhuǎn)走
X1S_05: MOV NO_M,#0FFH ;數(shù)據(jù)單元送
#FFH
MOV NO_J,#00H ;識別存儲單元送
#00
SJMP X1S_06 ;去準(zhǔn)備接收下一個數(shù)據(jù)

SUB0: CLR CY ;減法子程序
MOV A,R3 ;被減數(shù)低位送
A
SUBB A,R5 ;低位減

JNC X1_S1 ;沒進(jìn)位,去處理高位減法
DEC R2 ;有進(jìn)位,被減數(shù)高位減
1
X1_S1: CLR CY ;清
C
MOV A,R2 ;被減數(shù)高位

SUBB A,R4 ;減被減數(shù)高位
RET ;返回
DEL10mS:MOV R2,#0FFH ;延時子程序
DEL_01: MOV R3,#0FFH
DEL_02: NOP
NOP
DJNZ R3,DEL_02
DJNZ R2,DEL_01
RET
END

  • 上一篇: DSC12887與單片機(jī)接口的匯編例程
  • 下一篇: 4*4鍵盤程序的使用
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1