标题: 自做红外遥控解码遥控资料分享 [打印本页]

作者: 294785731    时间: 2017-12-1 11:20
标题: 自做红外遥控解码遥控资料分享
自做遥控资料分享




单片机源程序如下:
  1. ;@ by yangzhenshang
  2. ;@ email:yangzhenshang@hotmail.com
  3. ;@ 2003.7.20

  4. keydata equ 30h  

  5. org 00h
  6. main:
  7. mov keydata,#0       
  8.         mov tmod ,#09h
  9.              mov  r7,#0
  10.         mov  r6,#0
  11.         jb p3.2,$
  12. again:
  13.         mov tl0,#0
  14.         mov th0,#0       
  15.         setb tr0
  16.         jnb p3.2,$
  17.         jb p3.2,$
  18.         clr tr0       
  19.         mov a,th0
  20.         clr c
  21.         subb a,#12
  22.         jc again
  23.         mov a,#14
  24.         clr c
  25.         subb a,th0
  26.         jc again   ;seaching start bit:  3.6ms
  27. nextbit:
  28.         mov tl0,#0
  29.         mov th0,#0
  30.         setb tr0
  31.         jnb p3.2,$
  32.         jb p3.2,$
  33.         clr tr0
  34.         mov a,th0
  35.         clr c
  36.         subb a,#8
  37.         jc next  ;;;;;;;;;;if <2.2ms
  38.         mov a,#10
  39.         clr c
  40.         subb a,th0
  41.         jc again ;;;;;;;if >2.7ms
  42.         mov a,keydata
  43.         setb c          ;bit  = 1
  44.         rrc a
  45.         mov keydata,a
  46.         inc r7
  47.         cjne r7,#8,nextbit
  48.         inc r6
  49.         cjne r6,#2,last8
  50.         sjmp seach
  51. last8:
  52.         mov keydata+1,a
  53.         mov r7,#0
  54.         sjmp nextbit       
  55. next:   
  56.         mov a,th0
  57.         swap a
  58.         mov r1,a
  59.         anl tl0,#0f0h
  60.         mov a,tl0
  61.         clr c
  62.         rrc a
  63.         rrc a
  64.         rrc a
  65.         rrc a
  66.         add a,r1
  67.         mov r1,a
  68.         subb a,#30
  69.         jc nextbit ; if <0.84ms
  70.         mov a,r1
  71.         clr c
  72.         cjne a,#64,continue
  73. continue:
  74.         jnc nextbit ;  if >1.11ms
  75.         mov a,keydata
  76.         clr c          ;bit  = 0
  77.         rrc a
  78.         mov keydata,a
  79.         inc r7
  80.         cjne r7,#8,nextbit
  81.         inc r6
  82.         cjne r6,#2,last_8
  83.         sjmp seach
  84. last_8:
  85.         mov keydata+1,a
  86.         mov r7,#0
  87.         sjmp nextbit
  88. seach:       
  89.         mov r0,#-2  ;pointer
  90.         mov r1,#-1  ;counter       
  91. seach1:
  92.         inc r0
  93. seach2:        inc r0
  94.         inc r1
  95.         cjne r1,#29,compare
  96.         sjmp exit0
  97. compare:
  98.         mov a,r0
  99.         mov dptr,#keycode
  100.         movc a,@a+dptr
  101.         cjne a,keydata,seach1
  102.         inc r0
  103.         mov a,r0
  104.         mov dptr,#keycode
  105.         movc a,@a+dptr
  106.         cjne a,keydata+1,seach2
  107.         mov p1,r1         ;output to p1
  108. send:       
  109.         mov tmod,#20h     ;   timer 1,mode 2
  110.         mov tl1,#0fdh
  111.         mov th1,#0fdh
  112.         mov scon,#01010000b;9600,8,1,0
  113.         setb tr1
  114. loop_s:
  115.         mov sbuf,r1    ;send to the serial port of computer
  116.         jnb ti,$
  117.         clr ti
  118. exit0:       
  119. ljmp main

  120. keycode:
  121. db 11111000b,00000000b,    11111100b,00000000b,    11111001b,11000000b
  122. db 11111100b,11000000b,    11111010b,00000000b,    11111010b,00100000b
  123. db 11111010b,01000000b,    11111010b,01100000b,    11111010b,10000000b
  124. db 11111010b,10100000b,    11111010b,11000000b,    11111010b,11100000b
  125. db 11111011b,00000000b,    11111011b,00100000b,    11111011b,01000000b
  126. db 11111011b,01100000b,    11111111b,01100000b,    11111111b,10100000b
  127. db 10001100b,10001110b,    10001101b,11101110b,    10001100b,10101110b
  128. db 10001101b,11001110b,    11111000b,11100000b,    11111100b,10000000b
  129. db 11111100b,01000000b,    11111001b,10100000b,    11111100b,10100000b
  130. db 11111100b,01100000b
  131. end
复制代码

所有资料51hei提供下载:
自做遥控资料.zip (366.55 KB, 下载次数: 12)









欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1