欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機 >> 正文

單片機紅外遙控解碼器

作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2010-8-20
 你家里是否有一個電視機遙控器或者空調(diào)機遙控器呢?你是否也想讓它遙控其他的電器甚至讓它遙控您的電腦呢?那好,跟我一起做這個“紅外遙控解碼器”。
     該小制作所需要的元件很少:單片機TA89C2051一只,RS232接口電平與TTL電平轉(zhuǎn)換心片MAX232CPE 一只,紅外接收管一只,晶振11.0592MHz,電解電容10uF4只,10uF一只,電阻1K1個,300歐姆左右1個,瓷片電容30P2個。發(fā)光二極管8個。價錢不足20元。

電路原理:
    主控制單元是單片機AT89C2051,中斷口INT0跟紅外接受管U1相連,接收紅外信號的脈沖,8個發(fā)光二極管作為顯示解碼輸出(也可以用來擴展接其他控制電路),U3是跟電腦串行口RS232相連時的電平轉(zhuǎn)換心片,9、10腳分別與單片機的1、2腳相連,(1腳為串行接收,2腳為串行發(fā)送),MAX232CPE的7、8腳分別接電腦串行口的2(接收)腳、3(發(fā)送腳)。晶振采用11.0592MHz,這樣才能使得通訊的波特率達到9600b/s,電腦一般默認值是9600b/s、8位數(shù)據(jù)位、1位停止位、無校驗位。
 
    電路就這么簡單了,現(xiàn)在分析具體的編程過程吧。
    如圖所示,panasonic遙控器的波形是這樣的(經(jīng)過反復測試的結(jié)果)。
 
    開始位是以3.6ms低電平然后是3.6ms高電平,然后數(shù)據(jù)表示形式是0.9ms低電平0.9ms高電平周期為1.8ms表示“0”, 0.9ms低電平 2.4ms高電平周期為3.3ms表示“1”,編寫程序時,以大于3.4ms小于3.8ms高電平為起始位,以大于2.2ms小于2.7ms高電平表示“1”,大于0.84ms小于1.11ms高電平表示“0”。因此,我們主要用單片機測量高電平的長短來確定是“1”還是“0”即可。定時器0的工作方式設置為方式1:mov tmod,#09h,這樣設置定時器0即是把GATE置1,16位計數(shù)器,最大計數(shù)值為2的16次方個機器周期,此方式由外中斷INT0控制,即INT0為高時才允許計數(shù)器計數(shù)。比如:
jnb p3.2,$
jb p3.2,$
clr tr0
這3條指令就可以測量一個高電平,接下來讀取計數(shù)值TH0,TL0就可以分辨是起始位還是“1”或“0”。在確定碼表之前,您可以使用P0口的8個發(fā)光二極管來顯示編碼,16位編碼分兩次顯示:
mov p0,keydata
acall delay_1s ;//1ms延時子程序
mov p0,keydata+1
ljmp main
根據(jù)P0相繼的兩次顯示的編碼,記錄每個按鍵的編碼,形成編碼表,即遙控器編碼的解碼完畢。碼表確定之后,以后接收到遙控器的編碼之后,就與碼表比較,找到匹配的碼項,并把該碼項對應的順序號輸出到P0口,同時也把順序號向串行口輸出到電腦,電腦接收該數(shù)據(jù)后由串口軟件決定如何處理。
     程序不長,下面是完整的程序和注釋:(先看流程圖)
 
keydata equ 30h ;//該地址和31H地址用來存放遙控器按鍵編碼。
org 00h
main:
 mov keydata,#0 ;// 清零
 mov tmod ,#09h       ;//設置定時0方式1,GATE=1
      mov  r7,#0  ;//計數(shù)器,用來計數(shù)是否滿8位
 mov  r6,#0  ;//計數(shù)器,用來計數(shù)是否滿2字節(jié)(解16位編碼)
 jb p3.2,$  ;//是否為低電平
again:    ;//如果為低,繼續(xù)往下面執(zhí)行
 mov tl0,#0  ;//清零TL0
 mov th0,#0  ;//清零TH0
 setb tr0  ;//開啟定時器0
 jnb p3.2,$  ;//等待高電平到來
 jb p3.2,$ ;//高電平到來,此時開始計數(shù)
 clr tr0 ;//高電平結(jié)束,停止計數(shù)
 mov a,th0 ;//讀取th0 值,TL0忽略不計 
 clr c  ;//
 subb a,#12 ;//
 jc again ;//th0<12則轉(zhuǎn),即小于3.4ms,你可以算一下這個時間
 mov a,#14 ;//
 clr c  ;//
 subb a,th0 ;//和14比較,如果TH0>14則大于3.8ms
        jc again    ;//大于3.8ms,從新再檢測
nextbit:  ;//起始位找到了,然后下一位
 mov tl0,#0 ;//
 mov th0,#0 ;//
 setb tr0 ;//啟動定時器
 jnb p3.2,$ ;//等待高電平
 jb p3.2,$  ;//高電平到來,此時開始計數(shù)
 clr tr0 ;//高電平結(jié)束,停止計數(shù)
 mov a,th0 ;//讀取計數(shù)值,TL0忽略不計
 clr c  ;//
 subb a,#8 ;//th0和8比較
 jc next  ;;;;//若 <2.2ms則轉(zhuǎn),再判斷是否大于0.84ms
 mov a,#10 ;//再跟10比較
 clr c  ;//
 subb a,th0 ;//
 jc again ;;;;;;;//若 >2.7ms,則放棄,從新檢測
 mov a,keydata ;// 符合大于2.2ms 小于2.7ms,即為“1”
 setb c        ;//C = 1
 rrc a  ;//把1移位進A
 mov keydata,a ;//保存
 inc r7  ;//計數(shù)器加1
 cjne r7,#8,nextbit ;//是否滿8位
 inc r6   ;//計數(shù)加1
 cjne r6,#2,last8 ;//是否滿兩字節(jié)
 sjmp seach  ;//不滿兩字節(jié),再新采集
last8:    ;//滿1字節(jié),再接下來第二字節(jié)
 mov keydata+1,a ;//把第一字節(jié)編碼數(shù)據(jù)保存到31h里
 mov r7,#0  ;//計數(shù)器R7清零
 sjmp nextbit  ;//繼續(xù)采集數(shù)據(jù)
next:      ;//小于2.2ms時轉(zhuǎn)到這里
 mov a,th0  ;//讀取計數(shù)值TH0
 swap a   ;//高4位與低4位對換
 mov r1,a  ;//保存到R1
 anl tl0,#0f0h  ;//取TL0高4位,低4位忽略不計
 mov a,tl0  ;//
 clr c   ;//
 rrc a  ;//
 rrc a  ;//
 rrc a  ;//
 rrc a  ;//
 add a,r1 ;//
 mov r1,a ;//
 subb a,#30 ;//以上幾行是把TH0的低4位和TL0的高4位合并為1字節(jié)作為計數(shù)值
 jc nextbit ; //判斷是否 <0.84ms,是則放棄,繼續(xù)采集
 mov a,r1 ;//否
 clr c  ;//
 cjne a,#64,continue   ;//跟64比較
continue:  ;//
 jnc nextbit ;  //a>64表示采樣值 >1.11ms  放棄
 mov a,keydata  ;//否則 ,符合位“0”
 clr c          ;//C  = 0
 rrc a   ;//把零右移進A
 mov keydata,a  ;//保存
 inc r7   ;//計數(shù)器加1
 cjne r7,#8,nextbit ;//是否滿8位
 inc r6   ;//計數(shù)器加1
 cjne r6,#2,last_8 ;//是第一字節(jié)已經(jīng)滿
 sjmp seach  ;//
last_8:    ;//如果為第二字節(jié)
 mov keydata+1,a ;//則保存第一字節(jié)到31h
 mov r7,#0  ;//清零R7
 sjmp nextbit  ;//
seach:    ;//匹配按鍵編碼
 mov r0,#-2  ;//按鍵編碼字節(jié)個數(shù)計數(shù)器
 mov r1,#-1  ;//按鍵順序計數(shù)器
seach1:   ;//
        inc r0  ;//
seach2:   ;//
 inc r0   ;//
 inc r1   ;//
 cjne r1,#29,compare ;//是否R1=29 
 sjmp exit0  ;//
compare:   ;//開始匹配
  mov a,r0  ;//
 mov dptr,#keycode ;//地址指針指向碼表首址
 movc a,@a+dptr ;//取碼
 cjne a,keydata,seach1 ;//比較
 inc r0   ;//R0+1,再比較下一字節(jié)(每個按鍵編碼為2字節(jié))
 mov a,r0  ;//
 ;mov dptr,#keycode ;//
 movc a,@a+dptr ;//比較
 cjne a,keydata+1,seach2 ;//是否匹配,不匹配則繼續(xù)跟下一字節(jié)比較
 mov p1,r1         ;//如果匹配,把按鍵順序號輸出到p1
send:    ;//
 mov tmod,#20h     ;   //設置timer 1,mode 2
 mov tl1,#0fdh  ;//設置定時器初值
 mov th1,#0fdh  ;//
 mov scon,#01010000b;//以上設置,即設置串口波特率系數(shù)為:9600,8,1,0
 setb tr1  ;//啟動定時器1
loop_s:  ;//
 mov sbuf,r1    ;//把R1(按鍵順序號)輸出到串口
 jnb ti,$  ;//等待是否發(fā)送完畢
 clr ti   ;//發(fā)送完畢,清零TI
exit0:    ;//
ljmp main   ;//循環(huán)

keycode:   ;//每兩字節(jié)代表一個按鍵的編碼
db 11111000b,00000000b,    11111100b,00000000b,    11111001b,11000000b
db 11111100b,11000000b,    11111010b,00000000b,    11111010b,00100000b
db 11111010b,01000000b,    11111010b,01100000b,    11111010b,10000000b
db 11111010b,10100000b,    11111010b,11000000b,    11111010b,11100000b
db 11111011b,00000000b,    11111011b,00100000b,    11111011b,01000000b
db 11111011b,01100000b,    11111111b,01100000b,    11111111b,10100000b
db 10001100b,10001110b,    10001101b,11101110b,    10001100b,10101110b
db 10001101b,11001110b,    11111000b,11100000b,    11111100b,10000000b
db 11111100b,01000000b,    11111001b,10100000b,    11111100b,10100000b
db 11111100b,01100000b
end
---------------------------------------------------------------------------------
各種遙控器編碼不同,如果你采用的是其他遙控器,修改幾個參數(shù)即可(當然按鍵的編碼表肯定不同了),即計數(shù)器的值不同,不過有的遙控器有機器碼(機器碼每個按鍵都是一樣的),此時可以跳過機器碼的采集。最后有一點想提一下的是,剛開始不知道遙控器的編碼是比較麻煩的,筆者在“雙龍電子“網(wǎng)站下載了個聲卡示波器,用他可以一目了然觀看遙控器的波形,測量其脈沖寬度,有了它確實方便很多,該軟件可以到雙龍公司網(wǎng)站http://www.sl.com.cn/免費下載使用。如果你想用遙控器遙控電腦,你可以自己編寫一個接受串行口應用軟件,或者你可以直接下載使用Girder這個軟件,該軟件是專門為串口遙控器做的,很好用,下載地址為:http://www.girder.nl/,你可以利用這個軟件定義遙控器來遙控你電腦移動鼠標、鍵盤操作、上網(wǎng)瀏覽、打開播放器、關機等。

Tags:單片機,紅外解碼器  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網(wǎng)友評論
關于我們 - 聯(lián)系我們 - 廣告服務 - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人
日韩毛片视频在线看| 欧美一级电影网站| 国产精品一区二区黑丝 | 韩国精品一区二区| 蜜桃视频一区二区三区在线观看| 亚洲成人免费在线观看| 亚洲精品国产第一综合99久久| 亚洲欧美一区二区三区孕妇| 一区二区三区四区在线播放| 性欧美疯狂xxxxbbbb| 喷白浆一区二区| 国产一区二区主播在线| 成人视屏免费看| 欧美亚洲日本国产| 91麻豆精品国产91久久久| 26uuu亚洲婷婷狠狠天堂| 国产欧美综合在线观看第十页| 国产精品二区一区二区aⅴ污介绍| 亚洲欧美综合在线精品| 亚洲一区二区欧美激情| 久久精品av麻豆的观看方式| 国产mv日韩mv欧美| 色噜噜久久综合| 日韩精品一区二区三区蜜臀 | 在线视频综合导航| 欧美变态口味重另类| 国产精品高潮久久久久无| 亚洲成a人片在线观看中文| 国内精品久久久久影院一蜜桃| 成人午夜视频在线| 欧美日韩久久一区| 国产网红主播福利一区二区| 一区二区高清视频在线观看| 激情都市一区二区| 91福利社在线观看| 久久综合久久综合久久综合| 亚洲精品免费在线观看| 激情偷乱视频一区二区三区| 日本道色综合久久| 国产日韩欧美激情| 天天色综合成人网| 91蜜桃网址入口| 久久香蕉国产线看观看99| 亚洲国产综合在线| heyzo一本久久综合| 欧美不卡在线视频| 亚洲成a人v欧美综合天堂下载| 岛国精品一区二区| 精品理论电影在线观看| 亚洲成av人片一区二区三区| www.亚洲在线| 国产亚洲短视频| 另类小说色综合网站| 欧美视频你懂的| 亚洲欧洲三级电影| 国产suv精品一区二区6| 久久综合色综合88| 美女www一区二区| 欧美精品18+| 亚洲第一综合色| 色婷婷亚洲综合| 亚洲色图丝袜美腿| 一本久久a久久免费精品不卡| 欧美激情一区二区三区蜜桃视频| 精品一区二区三区久久久| 日韩三级高清在线| 免费在线看一区| 欧美一区二区国产| 首页亚洲欧美制服丝腿| 欧美高清视频www夜色资源网| 久久精品视频在线免费观看| www.一区二区| 欧美国产一区在线| 国产精品99久久久久久宅男| 精品捆绑美女sm三区| 久久精品国产网站| 精品免费日韩av| 全国精品久久少妇| 久久亚洲影视婷婷| 国产精品1区2区| 国产精品福利电影一区二区三区四区| 成人性生交大片免费看视频在线| 国产日韩欧美不卡在线| 成人免费不卡视频| 亚洲欧美日韩国产另类专区| 色网站国产精品| 日韩影院免费视频| 欧美变态tickling挠脚心| 国产精品1区2区| 中文字幕亚洲电影| 精品视频在线看| 久久99精品久久久久久| 欧美激情在线一区二区| 色美美综合视频| 麻豆精品精品国产自在97香蕉| 久久久久久久久久久久久久久99| 播五月开心婷婷综合| 一区二区三区在线高清| 日韩欧美在线1卡| av一区二区久久| 秋霞电影一区二区| 国产精品免费观看视频| 欧美日韩免费一区二区三区| 国产一区二区三区高清播放| 亚洲人成精品久久久久久| 91精品婷婷国产综合久久| 国产传媒久久文化传媒| 亚洲电影视频在线| 国产调教视频一区| 欧美日韩精品一区二区三区| 国精产品一区一区三区mba桃花 | 91精品国产色综合久久ai换脸| 国产成a人亚洲精| 奇米影视在线99精品| √…a在线天堂一区| 精品少妇一区二区三区视频免付费| 91麻豆国产福利在线观看| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲男人的天堂一区二区| 久久久精品人体av艺术| 精品视频在线免费观看| 成人精品国产一区二区4080| 免费在线欧美视频| 亚洲一区在线观看视频| 中文字幕一区二区三区不卡在线| 欧美白人最猛性xxxxx69交| 欧美这里有精品| 91首页免费视频| 成人一区在线看| 国产在线精品免费av| 日本不卡的三区四区五区| 亚洲综合成人在线| 成人欧美一区二区三区黑人麻豆 | 久久99国产精品麻豆| 亚洲午夜精品久久久久久久久| 中文字幕视频一区| 国产精品久久久久久久久免费相片 | 国产亚洲欧美在线| 日韩欧美一区中文| 欧美肥大bbwbbw高潮| 欧美裸体bbwbbwbbw| 欧美色视频一区| 欧美三级电影网| 在线观看免费成人| 色哦色哦哦色天天综合| 91久久精品日日躁夜夜躁欧美| 91免费看片在线观看| 欧美在线你懂的| 欧美裸体一区二区三区| 在线电影欧美成精品| 777xxx欧美| 日韩精品一区二区三区老鸭窝 | 欧美视频一区二区在线观看| 色婷婷综合久久久中文字幕| 欧洲精品视频在线观看| 欧美日韩精品一区二区三区蜜桃| 欧美日韩1区2区| 欧美videossexotv100| 精品对白一区国产伦| 久久精品人人爽人人爽| 中文字幕一区二区三区在线不卡| 成人免费小视频| 午夜精品久久久久久久99樱桃| 肉丝袜脚交视频一区二区| 久久成人18免费观看| 高清国产午夜精品久久久久久| 99久久伊人精品| 欧美丰满少妇xxxbbb| 久久网这里都是精品| 最好看的中文字幕久久| 亚洲成人1区2区| 精品综合久久久久久8888| 成人a免费在线看| 欧美色爱综合网| 欧美电影免费观看高清完整版| 国产视频一区二区在线观看| 亚洲欧美区自拍先锋| 日韩1区2区3区| 成人精品小蝌蚪| 欧美一区二区高清| 国产精品日产欧美久久久久| 亚洲第一综合色| 成人免费视频播放| 欧美一卡二卡在线观看| 国产精品国产a级| 久久国产视频网| 欧美曰成人黄网| 国产欧美日韩一区二区三区在线观看| 亚洲综合区在线| 国产成人综合亚洲网站| 欧美日韩国产天堂| 国产精品久久综合| 美女mm1313爽爽久久久蜜臀| 色狠狠综合天天综合综合| 久久人人爽人人爽| 日本亚洲最大的色成网站www| 99re6这里只有精品视频在线观看| 欧美va亚洲va| 免费美女久久99| 91国产免费看|