注意:訪問本站需要Cookie和JavaScript支持!請設置您的瀏覽器! • 打開購物車 • 查看留言 • 付款方式 • 聯系我們 |
![]() |
首頁 | 電子入門 | 學單片機 | 免費資源 | 下載中心 | 商品列表 | 象棋在線 | 在線繪圖 | 加盟五一 | 加入收藏 | 設為首頁 |
選擇分類:當前分類——學單片機 相關聯或者相類似的文章: 三十分鐘一個小時學會單片機(9045) 什么是單片機?單片機有什么用? (8723) 如何用STC板將代碼燒錄進IC(8681) 怎樣安裝AT51編程板的USB轉串口軟件?(8206) 送給單片機愛好者——LED在線編碼器(1814) 送給單片機愛好者——LED點陣在線編碼器(1544) 單片機系統中的漢字顯示(1492) 帶語音報數功能的搶答器(1489) 用VB進行串口實時數據采集(1347) 用AT89C2051設計超聲波測距儀(1171) 小小電子鬧鐘 生活學習良伴(1165) DS1820測溫原理(1129) 幾句代碼實現控制攝像頭(轉)(1117) STC單片機選型指南(1111) 自制PIC單片機編程器(1105) USB轉串口芯片CH340(1010) 快速學習單片機之黃金機會!(1010) 告戒購單片機開發實驗板初學者(970) 新款實用旋轉LED顯示屏A(890) 使用市售 USB轉RS232串口與PLC通信的測試報告 (881) 首頁 前頁 后頁 尾頁 本站推薦: | ★單片機四路無線遙控解碼程序 這篇文章中的程序我們只提供了程序設計思路,有些子程序還要自己增加。即大家應該怎么樣做才可能完成我們需要的功能。本站另一片文章中有最終版本完成版的程序,可以直接生成HEX,請自己找。 該程序可以對2262以及類似芯片的遙控器進行解碼,并且可以學習記憶,不受停電影響,做成的無線遙控開關通過學習后,可以實現單獨開、單獨關、群開、群關等功能。 這個程序我們收了客戶2500元,客戶不允許我們提供在網上,后來達成協議,不提供任何技術支持的情況下,可以讓付費貴賓閱讀。如果需要提供原理路、源程序批注,最少應付款800元才可以出售(包括一塊功能演示測試電路板)。 org 00h jmp config org 03h reti org 0bh reti org 13h reti org 1bh reti org 23h reti org 30h config: clr ea mov p0,#0h mov p1,#0ffh mov p2,#0ffh mov p3,#0ffh mov r3,#0;表示現在非學習狀態,1234分別表示要學習四路 mov r4,#0;延時要準 mov r5,#0;延時要準 clr 30h;當30h能變成高電平時,說明長識別碼已經收到,下次電平變化時開始保存數據 main: call key;求出鍵值 call keyrun;執行功能 call rec;記錄接收 call kong;執行接收 call xuexi;是否學習 jmp:main rec:jb p2.2,recend;檢查p2.2是低電平,高電平轉移到recend,可以進入保存數據程序 rec0:clr p2.3 mov r1,#30h mov a,#0;累加器清零,準備保存數據 rec1:call chk rlc a;第1位存入低位 call d10ms rec2:call chk rlc a;第2位存入a call d10ms rec3:call chk rlc a;第3位存入a call d10ms rec4:call chk rlc a;第4位存入a call d10ms rec5:call chk rlc a;第5位存入a call d10ms rec6:call chk rlc a;第6位存入a call d10ms rec7:call chk rlc a;第7位存入a call d10ms rec8:call chk rlc a;第8位存入a call d10ms mov @r1,a;r1=30/31/32/33,連續記錄4個字節 inc r1 cjne r1,#34h,rec1 setb p2.3 recend:ret chk:inc r5 cjne r5,#0,chk0;去檢測P3。7的狀態 mov r5,#0 inc r4 cjne r4,#50,chk0 mov r4,#0 clr p2.2 chk0:jnb p2.1, sou2 sou1:jb p3.7, sou3 clr p2.1 setb p2.2 jmp sou3 sou2:jnb p3.7, sou3 setb p2.1 setb p2.2 chkend: mov c,p3.7 jb p2.2,recend;檢查p2.2是低電平,高電平轉移到recend,可以進入保存數據程序 ret kong:jb p2.3,kondend;只有p2.3為高表示收到了有效的數據 jb p2.4,kongend;數據已經記錄,看現在是什么狀態,是學習狀態跳到學習,kk0表示要開始執行按鍵功能 kk0:mov r1,#50h;50/51/52/53存第一個開關 call bj cjne r2,#4,kk1;連續4個字節相等,說明有碼相同,執行開關命令,否則到kk1檢查第二個開關 cpl p1.4 kk1:mov r1,#54h; call bj cjne r2,#4,kk2;連續4個字節相等,說明有碼相同 cpl p1.5 kk2:mov r1,#58h; call bj cjne r2,#4,kk3;連續4個字節相等,說明有碼相同 cpl p1.6 kk3:mov r1,#5ch; call bj cjne r2,#4,bend;連續4個字節相等,說明有碼相同, cpl p1.7 kongend :ret xuexi:jnb p2.3,xxend;只有p2.3為高表示收到了有效的數據 jb p2.4,xxend;數據已經記錄,看現在是什么狀態,是學習狀態學習 cjne r3,#0,xxend;r3是表示當前被學習的路數,0表示不學習,1234分別代表4路 xx1:cjne r3,#1,xx2;是否保存第1路數據 mov r1,#50h call up xx2:cjne r3,#2,xx3;是否保存第2路數據 mov r1,#54h call up xx3:cjne r3,#3,xx4;是否保存第3路數據 mov r1,#58h call up xx4:cjne r3,#4,xxend;是否保存第4路數據 mov r1,#5ch call up jmp xxend up: mov r2,#0;從第一位數保存 mov r0,#30h;裝入學習的數或者收到的數 upre: mov a,@r0 mov @r1,a;r1已經分別裝入四路要保存的數 inc r0 inc r1 inc r2 cjne r2,#4,upre;0123表示四位數已經全部保存,r2=4時表示第五數不能保存,否則會寫壞其它數據 iap0: ;此處要寫到EEROM,50-5f必須放入EEROM中才能在停電不丟失數據,每次重啟動時又從EEROM中讀出 ; ; ; xxend:ret bj:mov r2,#0;正在比較第幾位數 mov r0,#30h;裝入學習的數或者收到的數 bj0:mov a,@r0 xrl a,@r1;與要比較的數異或 inc r0 inc r1 inc r2 cjne a,#0,bjend;等于表示數相等,往下走,不等于0表示不等,結束比較 cjne r2,#4,bj0;0123表示四位數都相等就要立即反回,等于4表示前四次比較完都相等 bjend:ret key: setb p1.0 setb p1.1 setb p1.2 setb p1.3 mov r7,#0;r7內裝按鍵值,0表示無鍵按下去 k1:jb p1.0,k2;先檢查P1。0是否按下, mov r7,#1 mov 4fh,r7;立即將鍵值存入R7和4F,R7還要檢查按鍵松開 k2:jb p1.1,k3 mov r7,#2 mov 4fh,r7 k3:jb p1.2,k4 mov r7,#3 mov 4fh,r7 k4:jb p1.3,k5 mov r7,#4 mov 4fh,r7;立即將鍵值存入R7和4F,R7還要檢查按鍵松開 k5:cjne r7,#0,kend;掃描到最后,r7為0表示已經沒有按鍵按下,下面要執行按鍵程序 mov r7,4fh;將4FH值裝入r7,根據鍵值去執行功能。 mov 4fh,#0;同時將4FH清零,以免重復執行 run1:cjne r7,#1,run2;分別執行鍵值等于1234的功能 cpl p1.4 run2:cjne r7,#2,run3 cpl p1.5 run3:cjne r7,#3,run4 cpl p1.6 run4:cjne r7,#4,kend;沒有按鍵值相等,表示什么也不執行。 cpl p1.7 kend:ret d10ms: mov r6,#0 ;mov r5,#0 dms: ;inc r5 ;cjne r5,#25,dms ;mov r5,#0 inc r6 cjne r6,#250,dms mov r6,#0 cpl p1.7 ret end 1、 本站不保證以上觀點正確,就算是本站原創作品,本站也不保證內容正確。 2、如果您擁有本文版權,并且不想在本站轉載,請書面通知本站立即刪除并且向您公開道歉! |
本站協議。
版權信息。
關于我們。
本站地圖。
營業執照。
發票說明。
付款方式。
聯系方式
深圳市寶安區西鄉五壹電子商行——粵ICP備16073394號-1;地址:深圳西鄉河西四坊183號;郵編:518102 E-mail:51dz$163.com($改為@);Tel:(0755)27947428 工作時間:9:30-12:00和13:30-17:30和18:30-20:30,無人接聽時可以再打手機13537585389 |