搜索
bottom↓
回复: 25
打印 上一主题 下一主题

[原创diy]试验红外遥控小车

[复制链接]

出0入0汤圆

跳转到指定楼层
1
发表于 2018-3-12 18:59:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
无线的、蓝牙的、wifi的。。。。。小车
都试验过了
这段时间试验了红外遥控的小车

详见下:

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

2
 楼主| 发表于 2018-3-12 19:00:58 | 只看该作者
外观与电路图:

怎么的还是不能上传图片啊???

出0入0汤圆

3
 楼主| 发表于 2018-3-12 19:01:41 | 只看该作者
参考原代码:
仅供参考
不得用于商业!
违者必究!



;试验红外遥控小车汇编代码  
;2018-3-8晚修改完成
;at89c2051--11.0592MHz晶振
;p17与p10分别驱动左右电机,p37驱动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设方式0,T1方式1并打开门控
mov tcon,#04h         ;T1由外部下降沿触发中断
mov ie,#84h             ;开INT1和总中断
mov ip,#04h             ;INT1外部中断优先
mov sp,#4fh             ;设堆栈入口
mov 08h,#38h          ;开始转换红外波头
mov 09h,#07h          ;转换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动作完成后恢复相关的寄存器<不占区>******************************
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            ;然后恢复相关单元
mov 21h,#00h
setb ex1                      ;全部动作完成最后开INT1中断
ccc0:ret   

;tt1 T1读红外代码子程序<占用区2>********************************
org 0200h
tt1:push dph          ;保护现场
push dpl
push acc
push psw
jb 01h,t3                ;若正在转换则返回
jb 02h,t3                ;若正在动作则返回
jb 00h,t2                ;收到遥控引导码则进入接收识别模式
mov th1,#00h        ;清T1,为接收做准备
mov tl1,#00h
setb 00h                 ;设接收遥控波头准备好标志位
setb tr1                  ;启动T1
sjmp t3
t2:setb psw.4          ;进入区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        ;存放波头数量
setb 01h                  ;设读取完成与允许转换标志位
clr tr1                      ;关T1
clr ex1                     ;关外部中断1
clr 00h                    ;恢复接收标致位
t3:pop psw
pop acc
pop dpl
pop dph
reti

;zh转换子程序<占用区1>******************************************
org 0280h
zh:push dph             ;将识别后的遥控信号转换成16位动作代码
push dpl
push acc
push psw
setb psw.3               ;进入区1
clr psw.4
jb 00h,h01              ;若正在接收则返回              
jb 02h,h01              ;若正在动作则返回
jb 01h,h02              ;若允许转换则继续     
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单元开始转换指令码
h03:mov a,@r0           ;地址码正确开始转换指令码
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位指令码转换完否?
setb 02h                 ;设置允许执行动作标志位                        
clr 01h                    ;清除允许转换标志位
ljmp h01

;dz动作子程序<不占区>**********************************************
org 0300h
dz:push dph
push dpl
push acc
push psw
jb 00h,d01                ;若正在接收则返回
jb 01h,d01                ;若正在转换则返回
jnb 02h,d01              ;允许动作否?
mov a,21h
cjne a,#50h,dz2         ;左转?
mov p1,#00h
nop
setb p1.7
nop
sjmp d00a
dz2:mov a,21h             ;右转?
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                      ;本次动作完成后设置标志
d01:pop psw
pop acc
pop dpl
pop dph
ret


end

出85入4汤圆

4
发表于 2018-3-12 19:50:30 | 只看该作者
擦,汇编啊,参考不了

图片呢?

出0入0汤圆

5
发表于 2018-3-12 19:55:06 | 只看该作者

擦,汇编啊,参考不了

出0入0汤圆

6
发表于 2018-3-13 09:07:29 | 只看该作者
汇编,现在谁敢用于商业?后来维护都没法维护

出0入0汤圆

7
发表于 2018-3-13 09:12:41 | 只看该作者
看看再说

出0入0汤圆

8
发表于 2018-3-13 09:13:27 | 只看该作者
楼主,今年上大三了吧,赶紧转C语言

出0入0汤圆

9
发表于 2018-3-13 09:14:25 | 只看该作者
擦,汇编啊,参考不了

出0入0汤圆

10
 楼主| 发表于 2018-3-13 10:46:36 | 只看该作者
zzy9903 发表于 2018-3-12 19:50
擦,汇编啊,参考不了

图片呢?

发图片时提示错误
发不了
想转发图片连接
又怕给我封掉
矛盾中~~~~~~~~~

出0入0汤圆

11
发表于 2018-3-13 10:49:51 | 只看该作者
怎么还要回复

出0入8汤圆

12
发表于 2018-3-13 11:16:40 | 只看该作者
汇编啊,参考不了

出0入14汤圆

13
发表于 2018-3-13 15:00:41 | 只看该作者
擦,汇编啊,参考不了

出0入4汤圆

14
发表于 2018-3-13 15:10:54 | 只看该作者
不是一般人能看得懂

出0入0汤圆

15
发表于 2018-3-13 17:56:51 | 只看该作者
汇编啊,参考不了

出0入0汤圆

16
发表于 2018-3-13 17:58:38 | 只看该作者
汇编啊,参考不了

出0入8汤圆

17
发表于 2018-3-13 18:06:35 | 只看该作者
汇编啊,参考不了

出0入0汤圆

18
 楼主| 发表于 2018-3-13 22:42:28 | 只看该作者
转告大家:
C语言我不会~~~~~~~~~只好继续玩汇编啦

出0入0汤圆

19
发表于 2018-3-13 23:08:45 来自手机 | 只看该作者
楼主神一样的存在!

出0入0汤圆

20
 楼主| 发表于 2018-4-2 17:21:06 | 只看该作者
还是上不了图 啊~~~~~~~~~~~~~~~~~~~

出0入0汤圆

21
发表于 2018-4-3 10:21:21 来自手机 | 只看该作者
完全用汇编写的都是神人,贴出来一般人也参考不了

出0入4汤圆

22
发表于 2018-4-3 11:03:39 | 只看该作者
不玩汇编好多年。好熟悉的51汇编,大学时学的也是这个。

刚工作时,用过几年的汇编,主要是为了维护之前工程师留下的程序。

现在只用C了,再不想用汇编了,主要是编写起来速度慢。

出0入0汤圆

23
发表于 2018-4-3 11:43:02 来自手机 | 只看该作者
你说我要不要告诉你,图片上传完成后,要在上传界面点一下你上传的图片,这样就会在编辑框里插入一串代码,这样图片才算上传成功,估计你是图片上传了,却没有引用。。。

出0入0汤圆

24
发表于 2018-4-3 12:20:29 来自手机 | 只看该作者
汇编,神一样的存在!

出0入0汤圆

25
发表于 2018-4-3 12:50:48 | 只看该作者
汇编,神一样的存在!

出0入0汤圆

26
 楼主| 发表于 2018-4-4 22:21:36 | 只看该作者
longwu537 发表于 2018-4-3 11:43
你说我要不要告诉你,图片上传完成后,要在上传界面点一下你上传的图片,这样就会在编辑框里插入一串代码, ...

非也
上传时就提示有错误的
晕忽忽啊~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-28 00:40

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表