打印

PT2272与AT89C2051单片机接口问题

[复制链接]
7688|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
piao520|  楼主 | 2008-8-21 12:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    小生请教各位高手一个问题:
   就是PT2272的D1,D2,D3,D4,与AT89C2051的P1.0,P1.1,P1.2和P1.3连接(高电平有效),当D1为高电平时,P1.0为什么无动于终?但用D1驱动一个三极管然后再用三极管驱动P1.0就可以.
    1.是不是单片机不能直接接收PT2272的信号?
    2.还是P2272输出的是串码?当遥控器按下一个键时单片机要去扫描IO口然后对P2272发出的信号进行处理?
      请各位大师,大哥,大姐等多多指教?分析一下要什么处理,有什么好的方案比较好.
     如果你有更好的方法,想法要发表的话的请祥细一点发表谢谢!!!

相关帖子

沙发
lyjian| | 2008-8-21 12:28 | 只看该作者

P1.0和P1.1做输出需要接上拉

使用特权

评论回复
板凳
piao520|  楼主 | 2008-8-21 18:48 | 只看该作者

p1.0,p1.1 都是输入

p1.0,p1.1 都是输入
        接上拉,下拉电阻我都试过.都不行

使用特权

评论回复
地板
piao520|  楼主 | 2008-8-21 18:50 | 只看该作者

PT2272与AT89C2051单片机接口问题

   我在想单片机是不是只能认识PT2272的串码信号,
  就是说当D1有输出是就是0001当,D2输出时就是0010这样子的呢?
  但我搞不清楚的是,PT2272输出是高电平可以驱动LED灯(也是5V的)为什么就不能用做单片机的驱动呢?

使用特权

评论回复
5
zidaozhou| | 2008-8-22 13:18 | 只看该作者

读P1.x口之前先将该口置1试试

读P1.x口之前先将该口置1试试,如果你现在没有这样做的话。

使用特权

评论回复
6
lency| | 2008-8-23 09:28 | 只看该作者

...

PT2272我现在都在用,能和单片机直接连接的,你的P10,P11是不是输出了低电平?

使用特权

评论回复
7
piao520|  楼主 | 2008-8-23 10:50 | 只看该作者

谢谢5楼6楼的兄弟

    比如说是按建的话,要高电位有效那我们不是要先写IO口复位(上电复位)成底电平,这样子,当高电平进来时才有效
   如果不复位成高电平那么可能一上电,就等于按键按下了???

使用特权

评论回复
8
piao520|  楼主 | 2008-8-23 10:55 | 只看该作者

这是对应编的程序很通俗见笑了

      ORG 0000H
        AJMP MAIN
        ORG  0030H
MAIN:   MOV P1, #0FFH
        MOv P3, #0FFH
        JNB P3.3,ON
        AJMP OFF
ON:     JB P1.6,L1
        AJMP MAIN
L1:     ACALL ONKEY
        ACALL OPEN
OFF:    JB P1.7,LOOP1
        AJMP MAIN
LOOP1:  ACALL OFFKEY
        ACALL CLOSE
        AJMP  MAIN
ONKEY:  ACALL DELAY
        JB P1.6, KEY3
        AJMP MAIN
KEY3:   RET
OPEN:  CLR P1.3
       SETB P1.0
       SETB P1.1
       SETB P1.2
UP_LS:JNB P3.2,UP_LS1
      AJMP UP_LS
UP_LS1:ACALL DELAY
       JNB P3.2, UP
       AJMP UP_LS
UP:    SETB  P1.3
       CLR   P1.1
       SETB  P1.0
       SETB  P1.2
UP_STOP:JNB P3.4, UP_STOP1
UP_STOP1:ACALL DELAY
UP_STOP2:JNB P3.4,UP_STOP3
        AJMP UP_STOP
UP_STOP3:ACALL STOP
        RET
STOP:  SETB P1.0
       SETB P1.1
       SETB P1.2
       SETB P1.3
        RET
OFFKEY: ACALL DELAY
        JB P1.7, KEY5
        AJMP OFFKEY_RET
KEY4:   AJMP KEY5
KEY5:   JB P1.7,KEY4
OFFKEY_RET:RET
CLOSE: CLR P1.0
       SETB P1.1
       SETB P1.2
       SETB P1.3
DON_STOP:JNB P3.5,DON_STOP1
        AJMP DON_STOP
DON_STOP1:ACALL DELAY
         JNB P3.5, LOOP
         AJMP DON_STOP
LOOP:    SETB P1.0
         CLR  P1.2
         SETB P1.1
         SETB P1.3
L6:      JNB   P3.3, CLOSE_STOP
         JNB   P3.0,L7
         AJMP  L6
L7:      ACALL DELAY
         JNB P3.0,L9
         AJMP  L6
L9:      ACALL STOP
         ACALL OPEN1
         ACALL DELAY1
         ACALL STOP
         AJMP MAIN
CLOSE_STOP:ACALL DELAY
         JB P3.3,L6
         ACALL STOP
         RET
DELAY: MOV R7,#100
D1:    MOV R6,#100
       DJNZ R6,$
       DJNZ R7,D1
       RET
OPEN1: CLR P1.3
       SETB P1.0
       SETB P1.1
       SETB P1.2
       RET
DELAY1: MOV    R4,#20 ;    2S 延时子程序
DEL2:   MOV    R3,#200
DEL3:   MOV    R2,#250
        DJNZ   R2,$
        DJNZ   R3,DEL3
        DJNZ   R4,DEL2
        RET
        END

使用特权

评论回复
9
piao520|  楼主 | 2008-8-23 10:56 | 只看该作者

I/O规划

一、I/O规划:
1.P1.0(下降的驱动信号)
2.P1.1(上升的驱动信号)
3.P1.2为(合的驱动信号)
4.P1.3(开的驱动信号)
5.P1.4遥控启动键信号输入
6.P1.5遥控停止键信号输入
7.P1.6为手动启动键信号输入
8.P1.7为手动停止键信号输入
9.P3.0备用
10.P3.1空
11.P3.2为展开到位和升起启动感器信号输入
12.P3.3为合到位感应器信号输入
13.P3.4为升到位感应器信号输入
14.P3.5为降到位和泡茶桌合起启动感应品信号输入
15.P3.6无
16.P3.7空

使用特权

评论回复
10
piao520|  楼主 | 2008-8-23 11:02 | 只看该作者

请多指教

  PT2272的D1接到P1.4
  PT2272的D3接到P1.5
  本来是当P1.5输入高电平时P1.0开始驱动电机
  但我按下遥控进.P1.0没输出,我直接接一个发光二极管到PT2272的D3脚,发光二极管灯亮.
   后面实在没办法, 我就用D3出来的信号驱动三极管,用三极管做开关,这样子就可以(D3接三极管的B +5V接C E接P1.5)

使用特权

评论回复
11
lyjian| | 2008-8-23 16:27 | 只看该作者

原来楼主连怎样使用51的io都还没搞懂

使用特权

评论回复
12
dai_weis| | 2008-8-23 20:18 | 只看该作者

贴个图看看

使用特权

评论回复
13
dcp| | 2008-8-23 20:54 | 只看该作者

有单片机情况下,2272是多余的!

用单片机直接解码

使用特权

评论回复
14
dongni| | 2008-8-24 23:12 | 只看该作者

楼主,你用51这样做遥控距离有多远,我做过距离很短的

楼主,你用51这样做遥控距离有多远,我做过距离很短的

使用特权

评论回复
15
piao520|  楼主 | 2008-8-25 11:42 | 只看该作者

lyjian 大师能不能指导一下小弟

使用特权

评论回复
16
piao520|  楼主 | 2008-8-25 11:46 | 只看该作者

lyjian 大师能不能指导一下小弟

    lyjian 大师小弟是刚刚入行的?这个是我第一次接触单片机?也是第一个自己编的程序.
    说实话我现在对单片机这个东东还是很陌生???
    lyjian 大师能不能在IO口使用上面,给我细一点的分析??
以上多谢
    dongni 你好我这个遥控距离是100米的,这个好像跟芯片还有电路有关系.

使用特权

评论回复
17
lyjian| | 2008-8-25 12:47 | 只看该作者

标准51的IO为准双向结构,做输入前需要先写“1”

这点每本讲51基础的书上都有提到的

使用特权

评论回复
18
piao520|  楼主 | 2008-8-26 08:07 | 只看该作者

谢谢lyjian 大师

  哦是这样子
  我以为是在ORG后面的几个复位,就是当是低电平输有效时先复位为高电平,如果是输入高电平有效那么要先输复位为低电平

使用特权

评论回复
19
piao520|  楼主 | 2008-8-27 11:08 | 只看该作者

这个电路是就与上面的程序相配的

    小生在这边有几个问题:
    1.当PT2272的D1为高电平时,那么请问AT89C2051的P1.7是不是可以直接接收他的信号,当D1为高电平,那么就等于开关按下然后驱动P3的一个口.
    但我这边好像不行单片机不能直接识别PT2272的信号.
   2.如果不可以那么要什么处理??
   如果您知道的话那么能不能给我一个仔细分析,最好是有程序(汇编)谢了!!!

使用特权

评论回复
20
piao520|  楼主 | 2008-8-27 11:08 | 只看该作者

不好意思图发错了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

185

帖子

0

粉丝