智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4324|回复: 7
打印 上一主题 下一主题

[编程类] 用AD口作为普通IO口接收CD4520的计数脉冲为什么收到数据全是0?

[复制链接]

1

主题

2

帖子

0

精华

注册会员

Rank: 2

积分
114
威望
175
贡献
29
兑换币
0
注册时间
2011-4-22
在线时间
15 小时
跳转到指定楼层
1#
发表于 2011-5-8 18:00:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
用M0口控制CD4520清零端 高的电平清零 AD口作为普通IO口接收从CD4520过来的脉冲 但是收到的脉冲数全是0  不知道这是为什么 是不是程序有问题呢 知道的朋友麻烦给看下  小弟感激不尽 一下是源程序
void IoPortInit()
{
   DDRA=0x00;   //将每行的像素点输入到A口
   DDRB=0XF0;   //高四位LED 低四位拨码开关
//  PORTB_PB0=Red_Light;
   

   ATD0DIEN=0XFF;   //ATD输入使能
   DDR1AD0=0x00; //AD0口做普通IO口接收脉冲数 还有一个DDR0AD0 PT0AD0未引出
   //PT1AD0=0x00;  //脉冲数初始化0   PT1AD0是低8位 PT0AD0是高八位
  
   DDRM_DDRM0=1;
   PTM_PTM0=1;
   asm(nop);
   asm(nop);  //确保清零
   PTM_PTM0=0; //高脉冲给CD4520清零  低脉冲允许计数
   asm(nop);
   asm(nop);
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 66 PIT0_ISR(void)
{
   
   PIT_Num++;
   if(PIT_Num==10)
   {
      left_speed_get=PT1AD0;
      SendChar(left_speed_get&0x00ff);
      PTM_PTM0=1;//置高清零
      _asm(nop);
      _asm(nop);//保持高电平一段时间确保清零
      PTM_PTM0=0;//允许计数
      _asm(nop);
      _asm(nop);
      
      
     
      //right_speed_get=PACNT;
      PACNT=0;
      SendChar(right_speed_get&0X00FF);
      
      PIT_Num=0;
   }
   PITTF_PTF0=1;    //CLER FLAG   
   
}
#pragma CODE_SEG DEFAULT

附件: 您需要 登录 才可以下载或查看,没有帐号?注册

1

主题

2

帖子

0

精华

注册会员

Rank: 2

积分
114
威望
175
贡献
29
兑换币
0
注册时间
2011-4-22
在线时间
15 小时
2#
 楼主| 发表于 2011-5-8 19:15:03 | 只看该作者
哎 没人回答 自己顶
回复

使用道具 举报

1

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
433
QQ
威望
298
贡献
23
兑换币
0
注册时间
2010-11-29
在线时间
56 小时
3#
发表于 2011-5-17 10:35:50 | 只看该作者
有没有换其他口试一下呢?
我的CD4520也有问题,就是CD4520读的脉冲数不稳定,远没有片内PT7稳定。
不知道什么原因。
回复

使用道具 举报

3

主题

50

帖子

0

精华

高级会员

Rank: 4

积分
759
威望
301
贡献
406
兑换币
10
注册时间
2011-2-12
在线时间
26 小时
4#
发表于 2011-5-17 15:38:56 | 只看该作者

null

我们也用过AN口,不好用,不过按照你这个设置的寄存器应该可以啊,怎么会不行呢?是不是电路问题?
回复

使用道具 举报

3

主题

117

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1143

热心会员奖章优秀会员奖章活跃会员奖章

QQ
威望
753
贡献
220
兑换币
30
注册时间
2011-7-12
在线时间
85 小时
5#
发表于 2012-3-6 16:47:08 | 只看该作者
CP为什么设为接地啊,不是应该接脉冲的吗?
回复

使用道具 举报

4

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1522

优秀会员奖章

威望
828
贡献
460
兑换币
16
注册时间
2011-12-3
在线时间
117 小时
6#
发表于 2012-3-6 17:55:47 | 只看该作者
就直接用通用口呗
回复

使用道具 举报

8

主题

219

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2776
威望
863
贡献
381
兑换币
29
注册时间
2012-4-9
在线时间
766 小时
毕业学校
本科学校
7#
发表于 2012-5-10 23:28:18 | 只看该作者
你可以把    ATD0DIEN 改成 0xffff试试。。。。。。。。。。。
嘿嘿。。。。。。。。。。。。。。。。。。。。。。。。。。
回复

使用道具 举报

10

主题

141

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1685
威望
853
贡献
440
兑换币
82
注册时间
2012-3-10
在线时间
197 小时
毕业学校
丰润小学
8#
发表于 2012-5-25 10:17:53 | 只看该作者
我也这样
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-6 07:07 , Processed in 0.071069 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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