日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看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:45:07  點(diǎn)擊數(shù):3
【字體: 字體顏色
;--------------------------------------------------------------------------------
IRCOM EQU 20H ;20H-23H IR使用
IRIN EQU P3.2
D1 EQU 30H ;流水燈移位數(shù)緩存
D2 EQU 31H
NO_M EQU 44H
;--------------------------------------------------------------------------------
ORG 0000H
AJMP MAIN
ORG 0003H ;外部中斷INT0入口地址
AJMP IR_IN
;--------------------------------------------------------------------------------

org 040h
MAIN:
MOV SP,#60H
MOV PSW,#00H
MOV A,#00H
MOV 20H,#00H
MOV 21H,#00H
MOV 22H,#00H
MOV 23H,#00H
MOV 30h,#00h
MOV 31h,#00h
MOV IE,#81H ;允許總中斷中斷,使能 INT0 外部中斷
MOV TCON,#01H ;觸發(fā)方式為脈沖負(fù)邊沿觸發(fā)
SETB IRIN
MOV NO_M,#00H
loop1: MOV p0,#00h
loop:
MOV A,NO_M
JZ loop1;開機(jī)無遙控按鍵按下點(diǎn)亮所有二極管
RL A;實(shí)現(xiàn)1~8倍乘(及1變2,2變4....)
MOV DPTR,#TAB_KEY
NOP
JMP @A+DPTR;散轉(zhuǎn)
TAB_KEY: AJMP LOOP
AJMP TAPE1
AJMP TAPE2
AJMP TAPE3
AJMP TAPE4
AJMP TAPE5
AJMP TAPE6
AJMP TAPE7
AJMP TAPE8

;------------------以下為花樣燈顯示樣式--------------------
TAPE1: MOV D1,#08H;單燈點(diǎn)亮右移
MOV A,#0FEH
QQ0: MOV P0,A
ACALL YS
RL A
DJNZ D1,QQ0
ajmp loop
TAPE2: MOV D1,#08H;單燈點(diǎn)亮左移
MOV A,#7FH
QQ1: MOV P0,A
ACALL YS
RR A
DJNZ D1,QQ1
ajmp loop
TAPE3: MOV D1,#08H;暗點(diǎn)右移
MOV A,#01H
QQ2: MOV P0,A
ACALL YS
RL A
DJNZ D1,QQ2
ajmp loop
TAPE4: MOV D1,#08H;暗點(diǎn)右移
MOV A,#80H
QQ3: MOV P0,A
ACALL YS
RR A
DJNZ D1,QQ3
ajmp loop
TAPE5: MOV D1,#08H;亮點(diǎn)右左往返流動
MOV D2,#08H
MOV A,#0FEH
QQ4: MOV P0,A
ACALL YS
RL A
DJNZ D1,QQ4
AJMP NBA
NBA: RR A
MOV P0,A
ACALL YS
DJNZ D2,NBA
ajmp loop
TAPE6: MOV R5,#00H;全亮后向右檫除,向左點(diǎn)亮
QQ5: INC R5
MOV A,R5
MOV DPTR, #NU_TAB1
MOVC A,@A+DPTR
MOV P0,A
ACALL YS
ACALL YS
CJNE R5,#11H,QQ5
ajmp loop
NU_TAB1: DB 00H
DB 00H,01H,03H,07H,0FH,1FH,3FH,7FH,0FFH
DB 7FH,3FH,1FH,0FH,07H,03H,01H,00h

TAPE7: MOV R5,#00H;模擬隊(duì)列向左經(jīng)過顯示窗口
QQ7: INC R5
MOV A,R5
MOV DPTR, #NU_TAB2
MOVC A,@A+DPTR
MOV P0,A
ACALL YS
CJNE R5,#0FH,QQ7
ajmp loop
NU_TAB2: DB 00H
DB 7FH,0BFH,5FH,0AFH,57H,0ABH,55H,0AAH,0D5H
DB 0EAH,0F5H,0FAH,0FDH,0FEH,0FFH
TAPE8: MOV R5,#00H;全亮后從兩端往中間擦,再從兩端往中間點(diǎn)亮
QQ9: INC R5
MOV A,R5
MOV DPTR, #NU_TAB3
MOVC A,@A+DPTR
MOV P0,A
ACALL YS
CJNE R5,#10H,QQ9
ajmp loop
NU_TAB3: DB 00H
DB 00H,81H,0C3H,0E7H,0FFH,0E7H,0C3H,81H,00H
DB 81H,0C3H,0E7H,0FFH,0E7H,0C3H,81H
;----------------------------燈點(diǎn)亮延時---------------------

YS: MOV R7,#250
CBA: MOV R6,#250
DJNZ R6,$
DJNZ R7,CBA
RET
; IR 譯碼子程序
;--------------------------------------------------------------------------------
IR_IN:
CLR EA ;暫時關(guān)閉CPU的所有中斷請求
PUSH ACC
PUSH PSW
SETB PSW.3 ;選擇工作寄存器組1
CLR PSW.4
MOV R2,#04H
MOV R0,#IRCOM
I1: JNB IRIN,I2 ;等待 IR 信號出現(xiàn)
DJNZ R2,I1
JMP IR_OUT ;IR信號沒出現(xiàn),退出。
I2: MOV R4,#20
I20: CALL DEL
DJNZ R4,I20
JB IRIN,I1 ;確認(rèn)IR信號出現(xiàn)
I21: JB IRIN,I3 ;循環(huán)等IR變?yōu)楦唠娖?變高就過了9MS低電平引導(dǎo)區(qū)
CALL DEL
JMP I21
I3: MOV R3,#0 ;8位數(shù)清為0
LL: JNB IRIN,I4 ;等IR變?yōu)榈碗娖?變低就過了4.5MS結(jié)束碼
CALL DEL
JMP LL
I4: JB IRIN,I5 ;等 IR 變?yōu)楦唠娖,過了0或1的0.56MS低電平區(qū)
CALL DEL
JMP I4
I5: MOV R2,#0 ;0.14ms 計(jì)數(shù)
L1: CALL DEL ;看高電平保持時間,即幾個0.14MS
;"0"不超過(1.125-0.56)/0.14=4個
;"1"至少有(2.25-0.56)/0.14=12個
JB IRIN, N1 ;等 IR 變?yōu)楦唠娖?BR>;IR=0,檢查R2中的計(jì)數(shù)值
MOV A,#8
CLR C
SUBB A,R2 ;判斷高低位,R2小于8,C=0,R2大于8,C=1
;取5,6,7,8,9,10,11都可,中間數(shù)最保險(xiǎn)
;若C=0說明R2小于8,說明收到的是"0"位
;若C=1說明R2大于8,說明收到的是"1"位
MOV A,@R0 ;R0=20H已被清0,及A=0
RRC A ;RRC后A內(nèi)被一位一位C替代了,低位是第一個C的值
MOV @R0,A ;處理完一位,暫時存到20H
INC R3
CJNE R3,#8,LL ;需處理完8位,1,2,3,4,5,6,7,8位放入20H,第8位是最高位
MOV R3,#0
INC R0 ;換緩存21H,22H,23H,一個緩存存8位0,1組合
CJNE R0,#24H,LL ;收集到4字節(jié)了哦(用戶反碼=21H,鍵碼=22H,鍵反碼=23H)
JMP IR_COMP ;
N1: INC R2
CJNE R2,#30,L1 ;0.14ms計(jì)數(shù)過長則時間到自動離開

IR_OUT: POP PSW
POP ACC
SETB EA
RETI
;--------------------------------------------------------------------------------
;鍵值比較與鍵值數(shù)據(jù)處理
;22H存入鍵碼,23H存入鍵碼的反碼
;--------------------------------------------------------------------------------
IR_COMP:
;MOV A,20H
;XRL A,#00H;不同遙控器用戶碼不同的,加上比較遙控就專用了
;JNZ,IR_OUT
;MOV A,21H
;XRL A,#0DFH;同上,雙保險(xiǎn)
;JNZ IR_OUT
MOV A,22H
CPL A
XRL A,23H ;將22H取反后和23H比較
JNZ IR_OUT ;如果不等表示接收數(shù)據(jù)發(fā)生錯誤,放棄
MOV R1,#08H;只用遙控的8個按鍵,看按下的按鍵是第幾個
MOV DPTR,#TAB_REMOT;指針指向遙控鍵值表
LOOKUP:
MOV A,R1
MOVC A,@A+DPTR
XRL A,22H
JZ REMBAK
DJNZ R1,LOOKUP
REMBAK:
MOV NO_M,R1
nop
sjmp ir_out
;-------------------------遙控鍵值表---------------------------------------------
TAB_REMOT:;其他6221/6222遙控器要先測碼建立此表
DB 00H
DB 04H,06H,07H,08H
DB 0AH,0BH,0CH,0EH;只用遙控?cái)?shù)字1-8按鍵
;================================
;6121 遙控器(音響單片機(jī)網(wǎng)WWW.MCU51AV.COM)

;DVD遙控1-8數(shù)字鍵
;04H,06H,07H,08H,0AH,0BH,0CH,0EH
; 1 2 3 4 5 6 7 8 (遙控器數(shù)字鍵)
;--------------------------------------------------------------------------------
; DELAY R5*0.14MS
DEL:
MOV R5,#1 ;IR解碼使用
DEL0: MOV R6,#2
DEL1: MOV R7,#32
DEL2: DJNZ R7,DEL2
DJNZ R6,DEL1
DJNZ R5,DEL0
RET
;------------------------------------------------------------------
DELAY1: ;數(shù)碼管延時4MS

MOV R6,#20
DL2: MOV R7,#100
DJNZ R7,$
DJNZ R6,DL2
RET
;-----------------------------------------------------------------
END ;結(jié)束
  • 上一篇: 51單片機(jī)紅外遙控解碼程序
  • 下一篇: 單片機(jī)定時中斷的精確編程方法
  • 發(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