导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[Kiven216]请教:关于STC89C51单片机解码UP



No.7784
作者:Kiven216
邮件:everbright0216@yahoo.com.cn
ID:84601
登陆:1次
文章数:1篇
最后登陆IP:219.153.62.118
最后登陆:2007/7/21 12:46:21
注册:2007/7/21 12:41:38
财富:105
发帖时间:2007/7/21 12:46:21
发贴者IP:219.153.62.118
标题:Kiven216:请教:关于STC89C51单片机解码UPD6121G的问题
摘要:No.7784请教:关于STC89C51单片机解码UPD6121G的问题 我现在调试一个红外键盘,现在买到uPD6121G芯片的遥控器,用STC89C51单片机(和AT的语言指令一模一样)解码的时候,始终没有成功。我用的解码程序是这样的:
ORG 0000H 
AJMP MAIN;转入主程序
ORG 0003H ;外部中断P3.2脚INT0入口地址 
AJMP INT ;转入外部中断服务子程序(解码程序)
         
;以下为主程序进行CPU中断方式设置
MAIN:SETB EA ;打开CPU总中断请求
     SETB IT0 ;设定INT0的触发方式为脉冲负边沿触发
     SETB EX0 ;打开INT0中断请求
;以下对单片机的所有引脚进行初始化,全部设置成高电平
     MOV P1,#11100111B
     AJMP $
;以下为进入P3.2脚外部中断子程序,也就是解码程序
INT: CLR EA ;暂时关闭CPU的所有中断请求
     MOV R6,#10
SB:  ACALL YS1;调用882微秒延时子程序
     JB P3.2,EXIT;延时882微秒后判断P3.2脚是否出现高电平如果有就退出解码程序
     DJNZ R6, SB;重复10次,目的是检测在8820微秒内如果出现高电平就退出解码程序
;以上完成对遥控信号的9000微秒的初始低电平信号的识别。
     JNB P3.2, $ ;等待高电平避开9毫秒低电平引导脉冲
     ACALL YS2 ;延时4.74毫秒避开4.5毫秒的结果码
     MOV R1,#1AH ;设定1AH为起始RAM区
     MOV R2,#4 
     PP: MOV R3,#8
     JJJJ: JNB P3.2,$;等待地址码第一位的高电平信号
     LCALL YS1;高电平开始后用882微秒的时间尺去判断信号此时的高低电平状态
     MOV C,P3.2;将P3.2引脚此时的 ......

>>返回讨论的主题


  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:31毫秒 最大:7276毫秒 查询6次