當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀] ;電子報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~2FHN0_M EQU 1EH ;鍵值存放單元N0_J EQU 1FH ;遙控器識

;電子報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進入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 ;準備接收下一個數(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 ;去準備接收下一個數(shù)據(jù)
SUB0: CLR CY ;減法子程序
MOV A,R3 ;被減數(shù)低位送A
SUBB A,R5 ;低位減
JNC X1_S1 ;沒進位,去處理高位減法
DEC R2 ;有進位,被減數(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


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉