ASM 板


LINE

看板 ASM  RSS
各位前輩好: 小弟目前在寫一個以8051紀錄紅外線HI-LO時間的code 打算將波形時間紀錄之後 可以再完整發送出去 類似紅外線 repeater 目前是以NEC Code 為紀錄項目 高準位 +低準位 約134byte 但是在紀錄方面就出了一些問題 都只會記錄到第76byte就沒了 想請前輩幫我看一下 是哪裡出了問題,有其他可以更簡化的方法嗎? #include <C8051F340.h> #include <intrins.h> // nop指令需要引用 #define uchar unsigned char #define uint unsigned int void exint0(); void IR_repeat(void); void TT0(bit BT,TH0,TL0); void interrupt_int(void); sbit IR_IN = P0^2;//紅外線接收電路端 sbit IR_OUT = P1^1; uchar i; idata uchar IR_code_time[134];//識別碼,操作碼存放 /****************** 主函數 *******************/ void main(void) { OSCICN = 0x80; //0x80=1.5Mhz 0x81=3Mhz 0x82=6Mhz 0x83-12Mhz PCA0MD &= 0X9F; //看門狗OFF P1MDOUT = 0x02;//Push Pull P2MDOUT = 0xff;//pp XBR1 = 0x40;//致能crossbar TMOD=0X01;//timer0工作在模式1 16bit計數器 interrupt_int(); for (i=0;i<=133;i++)初始值IR_code_time 以便除錯 { IR_code_time[i]=0xaa; } i=1; TH0=0; TL0=0; while(1) { if((TH0==0xFF)|(i==134)){ TR0=0; IE=0x80; break;}//訊號超時 關閉計時器、外部中斷,跳出迴圈 } IR_code_time[0]=i-1;//紀錄byte數 } /********************** 中斷函數初始************************/ void interrupt_int(void) { IT01CF= 0x82; //設定LOW中斷腳=P0^2 HIGHT中斷腳P0^4 IT0=0; //外部中斷0邊緣觸發 IE = 0x81; } /********************** 外部中斷函數************************/ void exint0() interrupt 0 { IR_code_time[i+1]=TL0; IR_code_time[i]=TH0; TR0=1; TL0=0; TH0=0; IT01CF^=0x08; //將IN0PL反向 調整HI-LO觸發轉換 i++; } --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.251.222.115
1F:→ cortex1234:你的8051用哪一顆?基本款只有128byte RAM喔! 07/27 11:57
2F:→ Deltaguita:我是用c8051f340這顆 變數我有宣告為idata 07/27 12:02
3F:→ cortex1234:exint0()裡面一次存兩個byte但是i只有加1 07/27 12:28
4F:→ Deltaguita:!!! 07/27 12:30
謝謝前輩提醒我這個盲點 我等等有空就馬上來去測試! ※ 編輯: Deltaguita 來自: 60.251.222.115 (07/27 12:31)
5F:推 lion21:如果你知道格式 其實 16 bit 就可存了 07/27 13:00
6F:→ Deltaguita:我知道格式 可是repeater並不能只限定NEC碼可以使用 07/27 13:03
7F:→ Deltaguita:要有通用性的 所以以最長的NEC碼來當作實驗對象 07/27 13:04
8F:→ cortex1234:我不是前輩 我是新來的單晶片業餘愛好者而已 :D 07/27 17:34
9F:→ WolfLord:用100uS去切割,直接紀錄Bit Stream如何? 07/27 19:33
10F:→ Deltaguita:請問Bit Stream 我剛剛查了網路 都是講影音的@@ 07/27 19:45
11F:→ lion21:如果你不用編碼固定格式.. 你連續按鍵機制要怎樣做? 07/27 21:12
12F:→ WolfLord:就是位元流啊~ 遙控器的編碼一樣可以當做多煤體的位元流 07/27 23:33
13F:→ WolfLord:來看待啊~ 只是遙控器的位元流只有十分之一秒上下,音樂 07/27 23:34
14F:→ WolfLord:、影像的位元流都上小時的。差別就這樣而已啊~ 07/27 23:34
15F:→ WolfLord:Lion21: Time Space Mark 07/27 23:35
16F:→ Deltaguita:請問W前輩 有具體的做法可以參考嗎@@? 我會盡量google 07/28 00:19
17F:→ Deltaguita:相關做法的 07/28 00:20
18F:推 WolfLord:位元流的格式:BitRate/pre Second我上面不是說100uS為 07/28 00:21
19F:→ WolfLord:單位嗎? 換成BitStream的說法就是10Kb/S:每100uS取樣一 07/28 00:22
20F:→ WolfLord:次,每800uS為一個Byte這樣儲存,播放時也這樣播放。 07/28 00:24
21F:→ WolfLord:每100uS取出一個位元來播放... 07/28 00:24
22F:推 WolfLord:我沒記錯的話F340的XRAM打開有4KB 用10Kb記,每一段1/10 07/28 00:29
23F:→ WolfLord:秒的話應該可以紀錄32組訊號 07/28 00:30
24F:→ Deltaguita:我大概懂了 是類似MP3取樣這樣嗎? 07/28 00:36
25F:推 WolfLord:yeah,不過不必壓縮 07/28 00:46
26F:推 lion21:我說的"連續按鍵".是比如你按著音量鍵連續2秒的狀況 07/28 11:26
27F:推 WolfLord:lion21 IR是有time space的,wkup+cod+spc+cod+cpc+cod.. 07/28 19:45
28F:推 WolfLord:wkup+cod+spc+cod+spc+cod+spc+cod+spc+cod...直到你放開 07/28 19:46
29F:→ WolfLord:如果要記憶後發偽造指令需要解析WKUP後區分出CODE 07/28 19:48
30F:→ WolfLord:如果是REPEAT 那就很單純的中實轉發bit stream就可以了 07/28 19:49
31F:→ Deltaguita:最終目標 還是要做出具有學習功能的遙控器XD 07/28 20:17
32F:推 WolfLord:所以紀錄後寫段程式把Wakeup跟code區分出來就好了,其實 07/28 20:43
33F:→ WolfLord:不難判斷:Space 10ms以下為連續碼,連續碼的bitStream 07/28 20:44
34F:→ WolfLord:減去開頭的持續狀態就能分辨Wakeup了,另外也可以單純 07/28 20:45
35F:→ WolfLord:以超過2mS的0或1為Wakeup(一般通用)然後後面的波動CUT 07/28 20:46
36F:→ WolfLord:開來當DATA。總之方法很多,簡單的根超級聰明的都可以:P 07/28 20:47
37F:→ WolfLord:340可以跑很快,所以不用擔心CPU速度不夠用 07/28 20:48
38F:→ lion21:我的資訊.持續按壓為wkup+cod+spc+cne+spc+cne+spc+cne+... 07/28 22:37
39F:→ lion21:cne是每個按鍵都相同的 持續碼.. 與第一個資料碼無關 07/28 22:38
40F:→ lion21:我只是說出我看到的東西 不代表每個遙控器都相同 07/28 22:39
41F:推 WolfLord:不管是怎樣的format,碼段中間還是有space可以區分啊~ 07/28 22:53
42F:→ WolfLord:不管怎樣的format,在Btistream模式下還是都可以複製的。 07/28 22:54
43F:→ WolfLord:除非你拿到一個滾碼發射器....那就只能repeat無法偽造了 07/28 22:56
44F:→ Deltaguita:如果是有toggle的要怎麼處理阿? 07/28 23:01
45F:推 WolfLord:那就得寫例外了,反正遇山炸山遇水架橋就是了 07/28 23:20
46F:推 lion21:我想表達的意思是.不解碼直接存再重發不會比較好做 07/28 23:57
47F:推 WolfLord:我想,這中間有點分歧的是:如何泛用 如果能全部都懂格式 07/29 00:00
48F:→ WolfLord:自然會比教友效率,但是,如果是不特定對象呢?這時候 07/29 00:01
49F:→ WolfLord:記憶豬(Memo-Pig)反而是比較好的方法,只要把一般泛用的 07/29 00:02
50F:→ WolfLord:分析方法放進去,然後把訊號全部展開在記憶體裡面。這樣 07/29 00:03
51F:→ WolfLord:即使碰到不懂的訊號最多多用些記憶還是可以複製與偽造, 07/29 00:04
52F:→ WolfLord:坊間很多可燒錄的無線遙控器就是採用這種模式複製的 07/29 00:06
53F:→ WolfLord:密碼遙控器百百種,每一家都有獨特的編碼法。你要如何 07/29 00:07
54F:→ WolfLord:JUST IN TIME的替每一種新編碼推出複製工具? 這時候,僅 07/29 00:08
55F:→ WolfLord:分析共通特徵,訊號完全錄製的方式就會通用許多(當然 07/29 00:08
56F:→ WolfLord:有些連基本共通模式都修改的編碼法無法複製)不過也夠用 07/29 00:09
57F:推 WolfLord:我之前有寫一個可以使用紅外線遙控器遙控的裝置,因為允 07/29 00:12
58F:→ WolfLord:許用戶拿自己的遙控器(不特定)來定義功能,所以我的解 07/29 00:13
59F:→ WolfLord:碼程式就很OX的用了比較慢得解碼速度(會漏BIT)把所有 07/29 00:14
60F:→ WolfLord:的遙控器訊號都作成16BIT的模式,然後我只記憶這個特徵碼 07/29 00:15
61F:→ WolfLord:而不是完整的OEM+KEY+SHADOW碼。那個產品至今還沒碰到 07/29 00:16
62F:→ WolfLord:客戶抱怨哪一隻遙控器不能用。我覺得通用的方法不一定要 07/29 00:17
63F:→ WolfLord:是最正確的解碼,但是只要能用,應該就是個解(我在說啥? 07/29 00:18
64F:→ Deltaguita:我照原來的方式寫出來了 雖然照前輩的建議走 07/31 18:37
65F:→ Deltaguita:還是感謝 07/31 18:37







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP