• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::

論壇索引


Board index » All Posts (Blake)




Re: 用pic如何讀取IR信號
#61
高級會員
高級會員


發射、接收程式都有寫..
不過傳送的資料格式是自己訂的...
基本上..格式不同..就不相容...
但是只要知道傳輸資料位元..
1bit hi/lo ,Startbit, Endbit週期時間
修改些參數應該就可以相容了吧..(如果傳輸格式一樣的話)
沒研究過市販的遙控器送的是什麼碼...sorry
等手上案子趕完..有機會再把程式碼po上來..

發表於: 2007/7/5 11:08
頂部


Re: 用pic如何讀取IR信號
#62
高級會員
高級會員


我不知道我所說的IR碼跟你的一不一樣..
不一樣就參考看看囉.
1BIT 有HI/LO 變化...由HI/LO 週期來決定為1或0
HI:LO 2:1 -> 1
HI:LO 1:2 -> 0

用取樣的方式..如果接收每個BIT HI/LO寬度固定..
其實取樣數誤差放寬可以調整靈敏度..
只要再加入CheckSum檢查..資料接收應該還ok..
我用16f505,沒有中斷..只能用輪詢來取樣..
取樣時間就有3~5us的變化 ..但是目前測試還滿ok的..

至於重複信號..我想每發射一筆資料應該有一段hold time..
只要取樣hi或lo counter值大於非正常範圍的話..
應該要重置接收,或有接收到一個正確的Start Bit...
應該就要準備接收資料...

另外按1次鍵,碼發射2次會是比較好的做法...
因為接收端一直持續會有雜訊進入...
不過雜訊同時要與hi/lo取樣值相同,再加上checksum檢查無誤
造成誤判的機會...資料量越多就越不可能...
第一次發射的信號很容易會被雜訊影響..
第二次信號就漂亮多了...
有做過小測試..就是發射2次..距離能拉的比較遠一點..

至於資料長度時間多久...就不需要去考慮了...
以上是小弟最近寫IR的心得....希望能有所幫助...

發表於: 2007/7/4 22:40
頂部


Re: 用pic如何讀取IR信號
#63
高級會員
高級會員


我的做法是用200us中斷取樣的方式...
取樣hi,lo週期..再檢查合理取樣次數範圍..
接收有問題..便重置接收..
直到取樣到下一個Start Bit,才開始資料接收...

發表於: 2007/7/4 12:39
頂部


Re: 切page遇到問題?
#64
高級會員
高級會員


用disassembly listing 來看...
發現到 bKeyL, bKeyH 被共用的問題....
終於找到問題了....

麻煩各位...真對不起各位..下次會多加注意的...
深刻反省中......

發表於: 2007/5/24 9:38
頂部


Re: 切page遇到問題?
#65
高級會員
高級會員


加上去後...還是一樣...

然後更奇怪的問題發生了
我把readkey簡化到只剩return...
再從page1直接呼叫readkey...這樣執行ok....
但是...我只在readkey加上clrf bKeyL; clrf bKeyH這2行指令(bank沒切錯)雖然不會卡死...但執行的程序已經出問題...
我想不出為什麼加那2行指令..會變成這樣...? 怪...

發表於: 2007/5/24 9:07
頂部


切page遇到問題?
#66
高級會員
高級會員


在PAGE1呼叫 PAGE0 的程式...
不知道為什麼,軟體模擬都跑的滿正常的...
我在scankey return 時看 stack 的位址是ok的...
所以軟體模擬跑起來也跟想的一樣...
但實際燒錄去RUN...卻會造成程式卡死在readkey??
因為我把readkey註解掉..LED顯示就正常切換了...
我一直在想是不是呼叫page0的程式..然後scankey又call readkey子程序...造成return位址被覆蓋掉?
請各位先進指導....是不是我忽略了什麼??

ps. scankey這部份程式是ok的...因為要加上量產測試程式
,所以必須要使用到page1 , stack 也注意過沒有over flow..
其它呼叫page0的程式也都用同樣的方式..都滿正常的..
就是scankey 有再call readkey 子程序...

一些測試結果:
scankey將 call readkey 註解掉...正常
page1直接呼叫 readkey ....卡死...


--------------page0--------------
.....
scankey:
call readkey
......
return

readkey:
.....
call _k01
return
_k01:
return

;-------------page1--------------
TEST_LOOP:
........
page0
call scankey ; 10ms run
page1
........
; led 反相顯示...
goto TEST_LOOP

發表於: 2007/5/23 17:53
頂部


Re: 請教要能即時顯示同時又要省電..怎麼做會比較好?
#67
高級會員
高級會員


謝謝..第一次使用到sleep功能..

16f946,這個chip, osc,t1osc是共用接腳的..
所以必須要使用到內部振盪才行...

時間用 timer1 加32k 外部振盪 每0.5s中斷一次..
來wakeup系統..在中斷時只處理時間&LCD顯示,
馬上再進入sleep...
若是按鍵操作wakeup系統,timer1中斷就不再進入sleep..
....等待時間到後再sleep

這樣想起來應該ok...謝謝..我會試看看的..



發表於: 2007/5/11 12:01
頂部


請教要能即時顯示同時又要省電..怎麼做會比較好?
#68
高級會員
高級會員


因為進入SLEEP模式後,程式會停止執行..直到被喚醒..
但是時間顯示(LCD)必須持續做更新..
有哪些方式可以降低耗電量??

降低頻率至32K執行比8M執行省電多了...
但頻率這樣切來切去..
時間計時會被影響吧?有辦法可改善嗎??

若時間計時由外部振盪(T0CKI)來計時,
主程式可切換頻率執行,這樣做ok嗎?..
我用的MCU有內部振盪是可以直接切換(16F946)...
不知道內部振盪準不準確??

還是有什麼更好的做法..請各位先進指導..謝謝



發表於: 2007/5/10 17:23
頂部


Re: LCD問題~HELP~
#69
高級會員
高級會員


如果可以的話...
能不能mail一份Graphic TFT LCD 的設計範例給小弟參考看看..
謝謝~


發表於: 2007/4/27 16:27
頂部


Re: 請教 LCD DRIVE MODULE 問題
#70
高級會員
高級會員


謝謝版主...

發表於: 2007/4/27 12:03
頂部



« 1 ... 4 5 6 (7) 8 9 10 ... 13 »



:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------