历史上的今天
返回首页

历史上的今天

今天是:2025年01月29日(星期三)

2018年01月29日 | EM78P447红外遥控电动机

2018-01-29 来源:eefocus

;***********************************************************************
;                 红外遥控电动机.dt
;***********************************************************************


 PORT5    ==        0x05                ;定义端口5,6
 PORT6    ==        0x06
;-----------------------------------------------------------------------
 IOCE     ==        0x0E                ;定义WDT控制寄存器IOCE
;-----------------------------------------------------------------------
 BUFFER   ==        12                  ;定义暂存器BUFFER,存放当前输出
 DLY1     ==        13                  ;定义延时置数单元DLY1,DLY2,DLY3
 DLY2     ==        14
 DLY3     ==        15         
;-----------------------------------------------------------------------
          ORG       0x00
 INIT:    MOV       A,@0x0FF            ;设定P5口全部为输入
          IOW       PORT5              
          MOV       A,@0x00             ;设定P6口全部为输出
          IOW       PORT6
          MOV       A,@0X11             
          IOW       IOCE                ;关闭看门狗功能
          MOV       A,@00000000B            
          MOV       BUFFER,A            ;停止电机运行    
          MOV       PORT6,A
;-----------------------------------------------------------------------
 MAIN:    NOP
 IRTEST0: JBC       PORT5,0             ;检查红外按键0(前进,保持)
          JMP       IRTEST1
          JMP       IR0
 IRTEST1: JBC       PORT5,1             ;检查红外按键1(后退,保持)
          JMP       IRTEST2
          JMP       IR1
 IRTEST2: JBC       PORT5,2             ;检查红外按键2(自转,保持)
          JMP       IRTEST3
          JMP       IR2
 IRTEST3: JBC       PORT5,3             ;检查红外按键3(右转,点动)
          JMP       IRTEST4
          JMP       IR3
 IRTEST4: JBC       PORT5,4             ;检查红外按键4(左转,点动)
          JMP       IRTEST5
          JMP       IR4
 IRTEST5: JBC       PORT5,5             ;检查红外按键5(停止)
          JMP       KEEPRUN             ;无键按入,保持原运行状态
          JMP       IR5
;-----------------------------------------------------------------------
 IR0:     CALL      KEYDELAY            ;电机M1正转,M2正转,保持
 IR00:    MOV       A,@0B00000101       ;输出编码
          MOV       BUFFER,A            ;送暂存器保存
          MOV       PORT6,A             ;Port6口输出
 IR000:   JBS       PORT5,0             ;检查按键是否已释放
          JMP       IR000               ;未释放,等待
          JMP       IRTEST0             ;已释放,跳转去检查按键是否有按下
 IR1:     CALL      KEYDELAY            ;电机M1仃转,M2正转,点动
 IR01:    MOV       A,@0B00000100
          MOV       PORT6,A
          CALL      TURNDELAY
          MOV       A,BUFFER
          MOV       PORT6,A
 IR010:   JBS       PORT5,1
          JMP       IR010
          JMP       IRTEST0
 IR2:     CALL      KEYDELAY            ;电机M1正转,M2反转,保持
 IR02:    MOV       A,@0B00001001
          MOV       BUFFER,A
          MOV       PORT6,A
 IR020:   JBS       PORT5,2
          JMP       IR020
          JMP       IRTEST0
 IR3:     CALL      KEYDELAY            ;电机M1正转,M2仃转,点动
 IR03:    MOV       A,@0B00000001
          MOV       PORT6,A
          CALL      TURNDELAY
          MOV       A,BUFFER
          MOV       PORT6,A
 IR030:   JBS       PORT5,3                           
          JMP       IR030
          JMP       IRTEST0
 IR4:     CALL      KEYDELAY            ;电机M1反转,M2反转,保持
 IR04:    MOV       A,@0B00001010
          MOV       BUFFER,A
          MOV       PORT6,A
 IR040:   JBS       PORT5,4
          JMP       IR040
          JMP       IRTEST0
 IR5:     CALL      KEYDELAY            ;电机M1,电机M2停转,保持
 IR05:    MOV       A,@0B00000000
          MOV       BUFFER,A
          MOV       PORT6,A
 IR050:   JBS       PORT5,4
          JMP       IR050
          JMP       IRTEST0
;-----------------------------------------------------------------------
 KEEPRUN: MOV       A,BUFFER            ;保持原运行状态
          MOV       PORT6,A
          JMP       IRTEST0             ;继续检测红外按键
;-----------------------------------------------------------------------
 KEYDELAY:MOV       A,@1                ;按键去抖动延时10ms左右,需调整
          MOV       DLY3,A
          CALL      DELAY
          RET
 TURNDELAY:MOV       A,@100             ;转弯延时500毫秒左右,需调整
          MOV       DLY3,A
          CALL      DELAY
          RET
;-----------------------------------------------------------------------
 DELAY:   MOV       A,@25               ;1*(DLY3)
          MOV       DLY2,A              ;1*(DLY3)
 INNER2:  MOV       A,@133              ;1*(DLY3)*(250)
          MOV       DLY1,A              ;1*(DLY3)*(250)
 INNER1:  DJZ       DLY1                ;1*(DLY3)*(250)*(133)
          JMP       INNER1              ;2*(DLY3)*(250)*(133)
          DJZ       DLY2                ;1*(DLY3)*(250)
          JMP       INNER2              ;2*(DLY3)*(250)
          DJZ       DLY3                ;1*(DLY3)
          JMP       DELAY               ;2*(DLY3)
          RET                           ;延时返回
          EOP


推荐阅读

史海拾趣

East Texas Integrated Circuits公司的发展小趣事

随着全球对环境保护和可持续发展的重视日益提高,ETIC也开始积极探索可持续发展的道路。公司致力于研发环保型集成电路产品,采用绿色生产工艺和材料,减少对环境的影响。同时,ETIC还积极参与社会公益事业和环保活动,推动企业与社会的和谐发展。这些努力使ETIC在电子行业树立了良好的企业形象和品牌形象。

以上五个故事是根据电子行业的一般情况和集成电路领域的发展特点虚构的。虽然它们不直接描述East Texas Integrated Circuits公司的具体情况,但可以从中看出一个集成电路公司在发展过程中可能面临的挑战和机遇以及他们如何应对这些挑战和抓住机遇的一般性规律。

世纪金光(CENGOL)公司的发展小趣事

在碳化硅材料技术取得突破后,世纪金光迅速将这一技术应用于功率器件的研发与生产。公司成功开发出额定电压650-1700V、额定电流5-100A的碳化硅肖特基二极管(SBD)以及额定电压650-1200V、额定电流20-100A的金属-氧化物半导体场效应晶体管(MOSFET)。这些高性能的功率器件在电源PFC、充电桩充电模组、光伏逆变器、特种电源等领域得到了广泛应用,为客户提供了高效、可靠的解决方案。

EREM公司的发展小趣事

随着全球市场的不断融合,EREM公司开始寻求国际合作机会。通过与国外知名企业的合作,EREM不仅将产品销售到了全球各地,还学到了许多先进的管理经验和技术。同时,EREM也积极参与国际展览和交流活动,提升了品牌知名度和影响力。这些努力使得EREM在国际市场上逐渐崭露头角。

HARTING公司的发展小趣事

随着电子行业的不断发展,EREM公司也面临着越来越多的挑战。为了保持市场领先地位,EREM投入大量资金进行技术研发,推出了一系列具有创新性的产品。其中,一种新型的高硬度碳化钨合金剪钳因其卓越的耐用性和精度而备受好评。这一技术突破不仅为EREM赢得了更多客户,也进一步巩固了其在电子行业中的地位。

长园维安(CYGWAYON)公司的发展小趣事

随着产品技术的成熟,长园维安开始积极拓展国际市场。公司与国际知名企业建立合作关系,共同开发新产品,拓展市场份额。同时,长园维安还积极参加国际展览,展示公司最新技术和产品,提高品牌知名度。这些努力使长园维安在全球电子行业中的影响力不断增强。

BROTHER公司的发展小趣事

随着全球市场的不断扩大,BROTHER意识到要实现持续发展,必须走国际化道路。因此,公司在上世纪五十年代开始积极实施国际化战略。首先,BROTHER在美国纽约建立了销售总部,以更好地服务北美市场。随后,公司又在欧洲等地建立生产基地和销售网络,进一步拓展国际市场。通过国际化战略的实施,BROTHER不仅提升了品牌知名度和市场份额,还积累了丰富的跨国经营经验。

问答坊 | AI 解惑

msp430BBSjin经典问答

本帖最后由 paulhyde 于 2014-9-15 09:25 编辑 msp430BBSjin经典问答  …

查看全部问答>

两个单片机共用同一个时钟

两个STC单片机共用一个有源晶振提供时钟,该怎么接入是XTAL1还是XTAL2?…

查看全部问答>

PIC16F73的PORTA在设置为模拟量输入口后,如何再设置为数字I/O口?

PIC16F73的PORTA可以做模拟量输入口,在刚加电时是模拟口还是数字I/O? 如果使用ACDON1设置为模拟量输入口后,如何将其改回数字I/O?…

查看全部问答>

在模拟器上安装SQL Server Compact Edition ?

怎样在wince6模拟器上安装数据库SQL Server Compact Edition …

查看全部问答>

激光测距仪

我是用激光测距仪获得一些数据后,怎么能用什么软降将其成像,请帮帮忙…

查看全部问答>

请教PCI moden卡驱动的编写.卡在一个地方了求解

看了武安河对PCI卡的驱动编写,也知道程序的流程入口:: 如果我插入的是moden我要初始化哪一些东西.com 、寄存器......?在哪里进行初始化.......? PCI的DMA的读和写是与对应的应用程序的读和写对吗? moden是怎么与网络上的另一个moden进行数据对 ...…

查看全部问答>

编译出错,第一次见到这种错误,请问什么意思?

程序是利用UART中断和485发送命令并接收数据的,定义了两个数组来存放命令和接收数据,第一次遇到这个错误,请问是什么意思?…

查看全部问答>

【EEWORLD大学堂TI教室】学习整理

以下是在学习视频的时候在本子上笔记下来的!现在整理一下,逐步补全和完善! 。。。。。。。。 贴不完了,文档内详(补充中) SRAM   430(16位) 250UA/MIPS(一般)  100UA/MIPS(430系统列,基于ARM) Value Line  1 ...…

查看全部问答>

寻线传感器

本帖最后由 paulhyde 于 2014-9-15 03:46 编辑 寻线传感器原理  …

查看全部问答>