找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 938|回复: 1
打印 上一主题 下一主题

一个简单的IO程序问题!

[复制链接]

8

主题

11

帖子

92

积分

二级会员(20)

Rank: 2Rank: 2

积分
92
跳转到指定楼层
1#
发表于 2012-7-29 12:47 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您!

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

x
各位大侠帮忙看一下这个程序,为何我无法对单片机的IO口进行单独的位操作。即使按键没有按下,也就是PIND0为高电平的状态下,程序依然进入到了if里面去执行语句。按正常情况的话,它是不应该执行if里面的语句的。这是怎么回事?程序和仿真图片如下:
2 T/ \6 p' V5 g: g& Z( r#include<stdio.h>7 a  {5 r7 p0 R; _" C
#include<iom128v.h>
& [8 u1 j7 Z. H, u/ b8 E( @. k: Cvoid delayns(void)
6 b' v( G, F$ s{9 r6 V- O  T! }' Z2 b
   unsigned int i;1 g& g& ?3 w- _" X
  for(i=0;i<50;i++);
  U( a4 q1 Y- x! `( G" P7 \}
. v, n* v  w  t* a! l5 Z( E7 H+ b! X- B8 C& D; T; `. {
void main(void)1 F/ e4 K& Q: C/ l1 U" G
{
2 F) H6 ], o8 J% A. F   DDRD=0X00;
# t) f. j/ W6 w4 O# O+ c  DDRA=0XFF;, H- M% V" f9 K
  DDRE=0X04;2 L7 ?0 Q2 q5 C' H7 {9 l
  PORTD=0XFF;
. ^/ }. d$ Q$ x; F- y  PORTA=0XFF;9 ]8 [. c% U  m
  PORTE=0X04;
9 Y# ]0 D2 B6 `) A  while(1)+ {9 k2 E* a% z2 W9 `6 ^
  {% P" L8 Y$ T: H  k, M4 }
    if(PIND0==0)0 N0 K# X: _+ C8 X2 d5 z5 \5 f& ^5 z
  {5 Y: B0 Z; Z3 j3 B3 g
    delayns();
! W  k, U* D3 f: `4 Y9 m* `: d     if(PIND0==0)8 p; h" b9 c& `# L! ^5 ?+ s
    {PORTA=0XFE;}
6 {# _8 ]" M& s3 A7 {" K7 _  }2 I6 [! U8 D4 d# B) S1 R
  }
- V2 g6 w" o" f. w& J0 M5 n! v, X2 p}$ ]' X4 M$ L$ P$ Y+ D8 U( Q

1111111111.jpg (31.18 KB, 下载次数: 3)

1111111111.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

0

主题

168

帖子

2538

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2538
2#
发表于 2012-7-29 15:56 | 只看该作者
我不知道您用的是不是51单片机,我依稀记得51单片机读取端口时,先要输出高电平,然后再读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-2-22 02:18 , Processed in 0.058245 second(s), 35 queries , Gzip On.

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

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

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