CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  汇编语言

sos(help me)(有关pbl 38710的问题)

楼主swsg(倾城一哭)2002-06-11 10:02:18 在 其他开发语言 / 汇编语言 提问

我最近用到了一块芯片-pbl38710  
  可是我却遇到了问题,就是在设置他的c1c2=10(即电话的振铃状态)后,当来铃后在电话振铃是摘机他却不按我的程序跳转,而是跳到不知道什么状态了,自然也就不能通话,但是在电话振铃间隙摘机却没有如此的问题,不知有谁用过这块芯片的,可否能为我指点一些。  
  以下是我的来铃后的振铃程序。  
  RING1: CLR   F   ;本地有电话来,F是我的一个硬件开关,低电平时是把通话线路打开  
  CLR   VR       ;VR是38710的一个脚,如果该脚上出现一定频率的信号则电话振铃  
  MOV   R7,#010H     ;以下这一段是产生一定频率的信号使电话政令  
  DL5: SETB   C1  
  CLR   C2  
  MOV   R4,#03H  
  DL6: MOV   R6,#050H  
  DL7: MOV   R5,#07H  
  DL10: MOV   R3,#0FFH  
  DL8: JB   Y_DET,NEXT2     ;主叫方摘机则振铃结束。  
  JNB   DET,TONGHUA1     ;被叫方摘机则进入通话状态,DET是被叫摘机指示,低电平有效  
  DJNZ   R3,DL8  
  DJNZ   R5,DL10  
  DL9: CPL   VR      
   
  DJNZ   R6,DL7  
  DJNZ   R4,DL6  
  CLR   C1  
  SETB   C2  
  MOV   R4,#04H     ;这是振铃间隙的延时程序段  
  WA4: MOV   R6,#050H  
  WA5:   MOV   R5,#07H  
  WA7:   MOV   R3,#0FFH  
  WA6: JB   Y_DET,NEXT2  
  JNB   DET,TONGHUA1     ;被叫方摘机则进入通话状态  
  DJNZ   R3,WA6  
   
  DJNZ   R5,WA7  
  DJNZ   R6,WA5  
  DJNZ   R4,WA4  
  DJNZ   R7,DL5 ;若R7为0时还本地还没有接则结束  
  AJMP   NEXT2  
  TONGHUA1:SETB   C2       ;设置C1C2=01也就是是电话进入通话状态。  
  CLR   C1  
  CLR   VR  
  JIAN2: ACALL   YANSHI  
  JB   DET,NEXT2  
  AJMP   JIAN2  
  NEXT2: CLR   Y_DET  
  SETB   F  
  RET  
  在我的上一段程序中,在我的第一个JNB   DET,TONGHUA期间摘机他不能正常的跳转,而在第二个JNB   DET,TONGHUA期间却可以正常的跳转。  
  这是为什么?  
  我想不通,哪位大虾救救我把!! 问题点数:100、回复次数:7Top

1 楼setcdq9801(蓝鸽@我是你.net)回复于 2002-06-11 19:16:10 得分 20

有点不明白Y_net起什么作用?Top

2 楼ckc(火)回复于 2002-06-11 21:18:04 得分 30

开始还以为是不是干扰的问题。看了一下你的程序,感觉在这两种情况下你的机器状态是不同的。  
  看一下wA4前面3行,即使被叫方没有摘机你都设置了c1c2=01,  
  所以,被叫方在振铃和非振铃的情况下摘机c1c2是不一样的。  
  我没用过这芯片,不过看了你的程序,你要编程让VR产生高低变化来振铃,那么,为什么不在c1c2=01的时候试试振铃呢?  
  我想你可以在dl5处设置一下c1c2=01试试Top

3 楼swsg(倾城一哭)回复于 2002-06-12 09:07:08 得分 0

这个芯片只有在C1C2=10时才可以让电话振铃,C1C2=01时使电话处于通话状态。  
  如果在DL5处设置C1C2=01则即使VR脚的电平高低变化也电话也不能振铃。  
  我的两处C1C2不同是为了使电话在有电话来时让电话响一段时间停一段时间。Top

4 楼ckc(火)回复于 2002-06-12 12:31:39 得分 40

没看到什么明显的问题。  
  问一下,为什么开始的时候要设置clr   f?是不是应该在tonghua1中再打开这个开关?  
  再问一下,next2为什么要clr   y_det?你是用的51吧,clr   y_det之后,下次如何读y_det状态?Top

5 楼swsg(倾城一哭)回复于 2002-06-12 15:47:51 得分 0

这个只是我的子程序,Y_DET的值是在我的通信双机通信程序中设置的,这一行在这里可以不要(涉及到y_det的那一行你都可以不考虑),clr   f在tonghua1中打开这也是可以的,我试过了都是没有用的,程序还是一样的出错。Top

6 楼setcdq9801(蓝鸽@我是你.net)回复于 2002-06-12 21:49:01 得分 10

c1c2为01的时候,应该是什么状态  
  我是指那个芯片Top

7 楼swsg(倾城一哭)回复于 2002-06-13 09:52:03 得分 0

就是啊,就是振铃状态。Top

相关问题

  • 有关Windows编程,Help Me
  • help me,有关VB随机数。
  • 有关文件比较的问题,help me 急!!!
  • help me!有关PICTURE BOX和OPTION BUTTON的问题!
  • 有关角色的问题,who can help me???
  • 一个有关ISampleGrabber接口调用的问题!Please HELP ME...
  • help me,help me
  • help me,help me!!!
  • help me,help me !!
  • help me help me

关键词

  • 芯片
  • det
  • tonghua
  • 振铃
  • djnz
  • clr
  • 被叫
  • 摘机
  • vr
  • dl

得分解答快速导航

  • 帖主:swsg
  • setcdq9801
  • ckc
  • ckc
  • setcdq9801

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo