找回密码
 注册
关于网站域名变更的通知
查看: 195|回复: 2
打印 上一主题 下一主题

请教朋友们STC15单片机的P3.2自动检测高电平检测不出来?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-6-20 14:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
如题,如果用判断P32==1可以检测,但是P3.2有个功能,就是和T0定时器合作,当TR=1,与P32接高电平时就开始计数,试了很多次,P32无法判断高电平的存在。5 [9 p1 |% q$ K$ S% z" I1 m9 w" U) y
. X, z' k4 N0 h
( ?  G- ]  R: t# `1 O$ E; Y8 t

7 n! Q1 w) n5 R* V6 ?上边是高电平波形,下边是电路。OUT输出的波形,检测的是示波器中心的地方,明显高电平。用另一个单片机IO口写一个高低电平又可以检测出来。3 r- n7 }4 q3 o+ I

+ r+ Q- i) X; G: h3 _# B+ H4 F9 Z
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2022-6-20 14:56 | 只看该作者
    P3.2是外部中断口,P3.4才是T0外部计数输入口。
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2022-6-20 15:24 | 只看该作者
    可以参考超声波模组检测高电平的方法
    • if(!P32)//在主循环中等待低电平
    • {
    •         while(!P32);//等待高电平
    •         TR0 = 1;
    •         IT0 = 1;
    •         EX0 = 1;
    • }
    • void INT0_Interrupt() interrupt 0
    • {
    •         TR0 = 0;
    •         EX0 = 0;
    •         Timer = (u16)TH0*256;//计算高电平时间
    •         Timer |= TL0;
    •         TH0 = 0;
    •         TL0 = 0;
    • }( e4 c3 B! U$ o6 t! g% `. I3 ]

    * e. y0 ?; E  G$ G- `$ m( C- [: H
    8 o1 }# P! k. l

      U% _$ w% g: ?7 x& O% b- T5 p( W* O" k# B1 T4 m
    + G6 s! W; q* I" w
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-8-5 06:51 , Processed in 0.109375 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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