欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6111|回復: 7
收起左側(cè)

[原創(chuàng)diy]試驗紅外遙控小車

[復制鏈接]
ID:74784 發(fā)表于 2018-3-12 19:04 | 顯示全部樓層 |閱讀模式
無線的、藍牙的、wifi的。。。。。小車
都試驗過了
這段時間試驗了紅外遙控的小車

詳見下:

回復

使用道具 舉報

ID:74784 發(fā)表于 2018-3-12 19:07 | 顯示全部樓層
外觀與電路圖:


yk紅外遙控小車.jpg
yk紅外小車電圖.jpg
回復

使用道具 舉報

ID:74784 發(fā)表于 2018-3-12 19:10 | 顯示全部樓層
所使用的紅外遙控器:


yk紅外小車手柄圖1.jpg
yk紅外小車手柄圖2.jpg
回復

使用道具 舉報

ID:74784 發(fā)表于 2018-3-12 19:10 | 顯示全部樓層
參考原代碼:
僅供參考
不得用于商業(yè)!
違者必究!



;試驗紅外遙控小車匯編代碼  
;2018-3-8晚修改完成
;at89c2051--11.0592MHz晶振
;p17與p10分別驅(qū)動左右電機,p37驅(qū)動led燈


org 0000h
ajmp mm
org 0013h
ajmp tt1

;主程序*********************************************************
org 0100h
mm:nop
mov p1,#00h
mov p1,#00h        
mov th1,#00h
mov tl1,#00h
mov tmod,#90h        ;T0設(shè)方式0,T1方式1并打開門控
mov tcon,#04h         ;T1由外部下降沿觸發(fā)中斷
mov ie,#84h             ;開INT1和總中斷
mov ip,#04h             ;INT1外部中斷優(yōu)先
mov sp,#4fh             ;設(shè)堆棧入口
mov 08h,#38h          ;開始轉(zhuǎn)換紅外波頭
mov 09h,#07h          ;轉(zhuǎn)換8位一組波頭
mov 10h,#30h          ;讀紅外波頭存放首址
mov 11h,#10h          ;讀紅外波頭16個
mov 20h,#00h          ;所有標志位
mov 21h,#00h          ;存放動作指令碼      
clr p3.7   
m0:acall zh            
acall dz      
acall ccc
sjmp m0

;cc動作完成后恢復相關(guān)的寄存器<不占區(qū)>******************************
ccc:jnb 07h,ccc0
mov 30h,#00h
mov 31h,#00h
mov 32h,#00h
mov 33h,#00h
mov 34h,#00h
mov 35h,#00h
mov 36h,#00h
mov 37h,#00h
mov 38h,#00h
mov 39h,#00h
mov 3ah,#00h
mov 3bh,#00h
mov 3ch,#00h
mov 3dh,#00h
mov 3eh,#00h
mov 3fh,#00h
mov 20h,#00h            ;然后恢復相關(guān)單元
mov 21h,#00h
setb ex1                      ;全部動作完成最后開INT1中斷
ccc0:ret   

;tt1 T1讀紅外代碼子程序<占用區(qū)2>********************************
org 0200h
tt1:push dph          ;保護現(xiàn)場
push dpl
push acc
push psw
jb 01h,t3                ;若正在轉(zhuǎn)換則返回
jb 02h,t3                ;若正在動作則返回
jb 00h,t2                ;收到遙控引導碼則進入接收識別模式
mov th1,#00h        ;清T1,為接收做準備
mov tl1,#00h
setb 00h                 ;設(shè)接收遙控波頭準備好標志位
setb tr1                  ;啟動T1
sjmp t3
t2:setb psw.4          ;進入?yún)^(qū)2
clr psw.3
mov @r0,th1          ;從30h存放讀進的紅外波頭
mov th1,#00h        ;清T1,準備讀下一位
mov tl1,#00h
inc r0
djnz r1,t3                ;接收0fh個紅外波頭完成否?
mov 10h,#30h        ;存放波頭首地址
mov 11h,#10h        ;存放波頭數(shù)量
setb 01h                  ;設(shè)讀取完成與允許轉(zhuǎn)換標志位
clr tr1                      ;關(guān)T1
clr ex1                     ;關(guān)外部中斷1
clr 00h                    ;恢復接收標致位
t3:pop psw
pop acc
pop dpl
pop dph
reti

;zh轉(zhuǎn)換子程序<占用區(qū)1>******************************************
org 0280h
zh:push dph             ;將識別后的遙控信號轉(zhuǎn)換成16位動作代碼
push dpl
push acc
push psw
setb psw.3               ;進入?yún)^(qū)1
clr psw.4
jb 00h,h01              ;若正在接收則返回              
jb 02h,h01              ;若正在動作則返回
jb 01h,h02              ;若允許轉(zhuǎn)換則繼續(xù)     
h01:mov 08h,#38h
mov 09h,#07h
pop psw
pop acc
pop dpl
pop dph
ret
h02:mov a,30h
jnb acc.2,h01           ;以下8條是判別紅外指令的地址碼是否正確
mov a,31h               ;正確時應為HHHL LLHL(11100010B)
jnb acc.2,h01
mov a,32h
jnb acc.2,h01
mov a,36h
jnb acc.2,h01
mov a,33h
jnb acc.1,h01
mov a,34h
jnb acc.1,h01
mov a,35h
jnb acc.1,h01
mov a,37h
jnb acc.1,h01
mov 08h,#38h            ;從38h單元開始轉(zhuǎn)換指令碼
h03:mov a,@r0           ;地址碼正確開始轉(zhuǎn)換指令碼
jb acc.2,h04
clr 08h                         ;21h的最低位置0
sjmp h05
h04: setb 08h             ;21h的最低位置1
h05: mov a,21h
rl a
mov 21h,a
inc 08h
djnz r1,h03             ;8位指令碼轉(zhuǎn)換完否?
setb 02h                 ;設(shè)置允許執(zhí)行動作標志位                        
clr 01h                    ;清除允許轉(zhuǎn)換標志位
ljmp h01

;dz動作子程序<不占區(qū)>**********************************************
org 0300h
dz:push dph
push dpl
push acc
push psw
jb 00h,d01                ;若正在接收則返回
jb 01h,d01                ;若正在轉(zhuǎn)換則返回
jnb 02h,d01              ;允許動作否?
mov a,21h
cjne a,#50h,dz2         ;左轉(zhuǎn)?
mov p1,#00h
nop
setb p1.7
nop
sjmp d00a
dz2:mov a,21h             ;右轉(zhuǎn)?
cjne a,#48h,dz3
mov p1,#00h
nop
setb p1.0
nop                        
sjmp d00a
dz3:mov a,21h             ;前進?
cjne a,#44h,dz4
mov p1,#00h
nop
mov p1,#0ffh
nop
sjmp d00a
dz4:mov a,21h
cjne a,#54h,d00a         ;停止?
mov p1,#00h
mov p1,#00h
d00a:nop
mov 20h,#00h            ;清除全部標志
mov 21h,#00h            ;清除已完成的動作代碼
setb 07h                      ;本次動作完成后設(shè)置標志
d01:pop psw
pop acc
pop dpl
pop dph
ret


end

回復

使用道具 舉報

ID:298454 發(fā)表于 2018-4-1 14:39 | 顯示全部樓層
666666666666666666666666666666666666666
回復

使用道具 舉報

ID:74784 發(fā)表于 2018-4-2 17:40 | 顯示全部樓層
昨天把轉(zhuǎn)向改為點動
并糾正了接收紅外連碼時的錯誤
代碼暫時不發(fā)了
有需要的壇友可以和我聯(lián)系
回復

使用道具 舉報

ID:389696 發(fā)表于 2018-8-24 22:14 | 顯示全部樓層
居然用的是  匯編語言 ,真的強啊。順帶一問,匯編和C語言那個更好(學了C之后只會用C,看需不需要下功夫好好學匯編)
回復

使用道具 舉報

ID:694005 發(fā)表于 2020-3-29 15:56 | 顯示全部樓層
師傅,你的電路圖怎么畫的?》好漂亮
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表